Data transmission method and apparatus in a data transmission network
By customizing and extending the data frame format, custom fields corresponding to the data transmission scenario are generated, solving the problem of low data frame payload in the existing technology and improving data transmission efficiency.
Patent Information
- Application Number
- CN202310535425.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-09
- Publication Date
- 2026-01-13
- Estimated Expiration
- 2043-05-09
AI Technical Summary
The existing Internet protocols IPv4 and IPv6 achieve functionality by adding extra fields or extending headers when facing different application areas, resulting in low data frame payload and reduced data transmission efficiency.
By expanding the preset fields in the data frame format, custom fields corresponding to the data transmission scenario are generated, and custom transmission control information is added to the custom fields to generate the target data frame.
This increases the payload ratio of data frames, thereby improving data transmission efficiency.
Smart Images

Figure CN116668551B_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of computer technology, and in particular to a data transmission method and apparatus in a data transmission network. Background Technology
[0002] Currently, the internet technology uses Internet Protocol version 4 (IPv4), defined in 1980. However, with the rapid development of the internet, IPv4 technology has encountered problems such as IPv4 address exhaustion and low forwarding efficiency, severely restricting the application and development of the internet. Therefore, the Internet Engineering Task Force (IETF) designed Internet Protocol version 6 (IPv6) to replace IPv4. IPv6 has made many improvements to IPv4, such as using 128-bit addresses and using extended headers.
[0003] Both IPv4 and IPv6 are universal Internet protocols. However, when faced with different application domains, they can only achieve the required functionality by adding extra fields or extending headers. For example, IPv4 requires an options field to achieve the functionality needed for a specific application domain. IPv6 requires an extended header added after the IPv6 header via a next header field to achieve the same functionality. This results in a relatively low data frame payload, thus reducing data transmission efficiency.
[0004] Therefore, how to improve the payload ratio of data frames, thereby improving the efficiency of data transmission, is an urgent problem to be solved. Summary of the Invention
[0005] This specification provides a data transmission method, apparatus, electronic device, and machine-readable storage medium in a data transmission network to improve the payload ratio of data frames, thereby improving data transmission efficiency.
[0006] The following technical solution is adopted in this specification:
[0007] This specification provides a data transmission method in a data transmission network, including:
[0008] Obtain the target data to be transmitted in the data transmission network, as well as the custom transmission control information related to the data transmission scenario of the target data;
[0009] Custom configuration is performed on the data frame format corresponding to the network layer protocol adopted by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, and the custom transmission control information is added to the custom fields;
[0010] Based on the target data and the data frame format with the added custom transmission control information, a target data frame corresponding to the target data is generated, and the target data frame is transmitted in the data transmission network.
[0011] Optionally, custom transmission control information related to the data transmission scenario of the target data is obtained, including:
[0012] The target data is parsed, and custom transmission control information related to the data transmission scenario of the target data is determined based on the data parsing results.
[0013] Optionally, the data frame format includes: a custom message header and a message payload;
[0014] The custom header includes a version field; the version field contains bits corresponding to preset fields that are not related to data transmission control and are already present in the data frame format; the values corresponding to the bits include a first value and a second value, the first value being used to indicate that the custom field is enabled, and the second value being used to indicate that the custom field is not enabled;
[0015] Custom configuration is performed on the data frame format corresponding to the network layer protocol used by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, including:
[0016] The value of the bit corresponding to the preset field that is unrelated to data transmission control in the data frame format, which is included in the version field, is set to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario.
[0017] Optionally, the network layer protocol is the IPv6 protocol; the preset fields include the traffic category field and the flow label field contained in the data frame format corresponding to the IPv6 protocol.
[0018] Optionally, the custom header further includes a next header field; the value of the next header field is used to indicate the header type of the next header following the custom header.
[0019] Custom configuration is performed on the data frame format corresponding to the network layer protocol used by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, including:
[0020] Based on the reserved bits in the next header field contained in the data frame format, custom fields corresponding to the data transmission scenario are extended.
[0021] Optionally, the value of the bit corresponding to a preset field in the data frame format that is unrelated to data transmission control and included in the version field is set to a first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario, including:
[0022] Determine whether the number of bits corresponding to the custom transmission control information is greater than the number of bits contained in the preset field;
[0023] If not, the value of the bit corresponding to the preset field that is not related to data transmission control in the data frame format, which is included in the version field, is further set to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario;
[0024] If so, then based on the preset fields included in the data frame format, additional bits are added to the custom transmission control information, and the value of the bit corresponding to the preset field in the data frame format that is unrelated to data transmission control and included in the version field is set to a first value, and the preset field and the added bits are expanded into a custom length field and the custom field; wherein, the value of the custom length field is used to indicate the number of bits corresponding to the custom field.
[0025] Optionally, the custom message header further includes: a destination address field;
[0026] The data frame format based on the target data and the added custom transmission control information includes:
[0027] Determine whether the number of bits corresponding to the destination network address in the target data is greater than the number of bits corresponding to the destination address field; if not, add the destination network address to the destination address field; if so, map the destination network address to an address with the same number of bits as the number of bits corresponding to the destination address field, and add the mapped address to the destination address field.
[0028] Optionally, the number of bits corresponding to the destination address field is 32 bits; the destination network address contained in the target data is an IPv4 address or an IPv6 address;
[0029] Mapping the destination network address to an address with the same number of bits as the corresponding bit length of the destination address field includes:
[0030] The destination network address is mapped from an IPv6 address to a 32-bit IPv6 address.
[0031] Optionally, the data frame format corresponding to the target data frame does not include a MAC frame; the MAC address of the transmission device in the data transmission network is pre-assigned a unique corresponding IP address;
[0032] Transmitting the target data frame in the data transmission network includes:
[0033] Obtain the IP address added to the destination address field in the data frame format corresponding to the target data frame;
[0034] A unique MAC address is determined corresponding to the IP address, and the target data frame is transmitted in the data transmission network according to the MAC address.
[0035] Optionally, the custom header further includes a checksum field; the checksum field is used to fill in a checksum for integrity verification of the custom header.
[0036] This specification provides a data transmission device in a data transmission network, comprising:
[0037] The acquisition module is used to acquire the target data to be transmitted in the data transmission network, as well as custom transmission control information related to the data transmission scenario of the target data;
[0038] The configuration module is used to perform custom configuration for the data frame format corresponding to the network layer protocol adopted by the data transmission network, so as to extend the data frame format with custom fields corresponding to the data transmission scenario, and add the custom transmission control information to the custom fields.
[0039] The transmission module is used to generate a target data frame corresponding to the target data based on the target data and the data frame format with the added custom transmission control information, and to transmit the target data frame in the data transmission network.
[0040] This specification provides an electronic device, including a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus;
[0041] The memory stores machine-readable instructions, and the processor executes the data transmission method in the aforementioned data transmission network by invoking the machine-readable instructions.
[0042] This specification provides a machine-readable storage medium storing machine-readable instructions that, when invoked and executed by a processor, implement the data transmission method in the aforementioned data transmission network.
[0043] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:
[0044] In the data transmission method of the data transmission network provided in this specification, custom fields corresponding to the data transmission scenario are obtained by expanding the existing preset fields in the data frame format. Custom transmission control information related to the data transmission scenario is then added to these custom fields. This eliminates the need to add extra fields or extend headers to achieve the required functions for different data transmission scenarios. This improves the payload ratio of the data frame, thereby increasing the efficiency of data transmission. Attached Figure Description
[0045] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:
[0046] Figure 1 This is a flowchart illustrating a data transmission method in a data transmission network, as shown in an exemplary embodiment.
[0047] Figure 2 This is a schematic diagram illustrating a data frame format as an exemplary embodiment;
[0048] Figure 3 This is a schematic diagram illustrating a data frame format in a data transmission scenario, as shown in an exemplary embodiment.
[0049] Figure 4 This is a schematic diagram illustrating a data frame format in another data transmission scenario, as shown in an exemplary embodiment.
[0050] Figure 5 This is a schematic diagram illustrating an exemplary embodiment of a data frame format with an added transport layer header;
[0051] Figure 6 This is a schematic diagram illustrating another data frame format with an added transport layer header, as shown in an exemplary embodiment.
[0052] Figure 7 This is a schematic diagram of the structure of an electronic device containing a data transmission device in a data transmission network, as shown in an exemplary embodiment.
[0053] Figure 8This is a block diagram illustrating a data transmission device in a data transmission network, as shown in an exemplary embodiment. Detailed Implementation
[0054] To enable those skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this specification, and not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this specification.
[0055] It should be noted that the steps of the corresponding methods are not necessarily performed in the order shown and described in this specification in other embodiments. In some other embodiments, the methods may include more or fewer steps than described in this specification. Furthermore, a single step described in this specification may be broken down into multiple steps in other embodiments; and multiple steps described in this specification may be combined into a single step in other embodiments.
[0056] To enable those skilled in the art to better understand the technical solutions in the embodiments of this specification, the relevant technologies involved in the embodiments of this specification will be briefly described below.
[0057] The Open Systems Interconnection (OSI) reference model is an architecture standard that defines a seven-layer framework for network interconnection (physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer). This specification mainly focuses on the data link layer and the network layer.
[0058] A data frame refers to a protocol data unit at the data link layer, consisting of three parts: a frame header, a data portion, and a frame trailer. The frame header and trailer contain transmission control information, such as synchronization information, address information, and error control information. The data portion contains network layer data, such as IP packets (composed of a header and data).
[0059] The IPv6 data frame format includes: Version, Traffic Class, Traffic Class, Payload Length, NextHeader, Hop Limit, Destination Address, and Destination Address. The data frame format described in this specification references some fields from the IPv6 data frame format.
[0060] The traffic category field identifies the data type of a data packet. The flow label field identifies packets belonging to the same data flow. When the server sends a data packet, if it identifies the packet as belonging to a specific flow, it adds the corresponding flow number to the flow label field. Data packets with a flow label field value of 0 do not belong to any flow.
[0061] In practical applications, the two common Internet protocols, IPv4 and IPv6, can only achieve the required functions for different application domains by adding extra fields or extending headers. For example, IPv4 requires an options field to achieve the functions required by the application domain. IPv6 requires an extended header added after the IPv6 header through the next header field to achieve the required functions. This results in a relatively low data frame payload, thus reducing data transmission efficiency.
[0062] Based on this, this specification proposes a technical solution that involves expanding existing preset fields in the data frame format to obtain custom fields corresponding to the data transmission scenario, and then adding custom transmission control information related to the data transmission scenario to the custom fields.
[0063] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0064] Figure 1 This is a flowchart illustrating a data transmission method in a data transmission network, as shown in an exemplary embodiment, specifically including the following steps:
[0065] S100: Obtain the target data to be transmitted in the data transmission network, and the custom transmission control information related to the data transmission scenario of the target data.
[0066] In the embodiments of this specification, the data transmission method in the data transmission network is applied to the data transmission network, and the executing entity can be a server. The physical carrier of the server is usually a server or server cluster. For ease of description, the data transmission method in the data transmission network provided in this specification will be described below with the server as the executing entity only.
[0067] In the embodiments described in this specification, the server can obtain the target data to be transmitted in the data transmission network, as well as custom transmission control information related to the data transmission scenario of the target data. The custom transmission control information mentioned here refers to the transmission control information required by the user for custom functions to be implemented in the data transmission scenario. For example, if congestion control is required in the data transmission scenario, the transmission control information can be link state information. The link state information mentioned here can refer to information related to the link state, such as network bandwidth, latency, and packet loss rate. As another example, if the data transmission scenario requires analysis of the data transmission network status, the transmission control information can be a timestamp. The timestamp can record the time it takes for a router to process a data packet, thereby estimating the time it takes for a data packet to be transmitted from one router to another, and thus analyzing the throughput and load of the data transmission network.
[0068] Furthermore, the server can perform data parsing on the target data and determine custom transmission control information related to the data transmission scenario of the target data based on the data parsing results.
[0069] Of course, custom transmission control information related to the data transmission scenario of the target data can also be set by technicians based on expert experience.
[0070] S102: Custom configuration is performed on the data frame format corresponding to the network layer protocol adopted by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, and the custom transmission control information is added to the custom fields.
[0071] In the embodiments of this specification, the server can customize the data frame format corresponding to the network layer protocol used by the data transmission network, so as to extend the data frame format with custom fields corresponding to the data transmission scenario, and add custom transmission control information to the custom fields.
[0072] In practical applications, if the target data is determined to contain custom transmission control information, the server can extend the existing preset fields in the data frame format to obtain custom fields corresponding to the data transmission scenario. If the target data is determined not to contain custom transmission control information, the server can add the target data to the existing preset fields in the data frame format.
[0073] Therefore, the server needs to determine whether to enable custom fields by using the field in the data frame format that indicates whether custom fields are enabled.
[0074] In the embodiments described in this specification, the data frame format includes a custom header and a payload. The custom header includes a version field, wherein the version field contains bits corresponding to preset fields in the data frame format that are unrelated to data transmission control. The values corresponding to the bits include a first value and a second value. The first value indicates that the custom field is enabled, and the second value indicates that the custom field is not enabled.
[0075] The first value can be 1, and the second value can be 0. Of course, technicians can also change the first and second values according to specific needs.
[0076] The server can set the value of the bit corresponding to the preset field in the data frame format that is not related to data transmission control, which is included in the version field, as the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario.
[0077] Similarly, the server can set the value of the bit corresponding to the preset field in the data frame format that is not related to data transmission control, which is included in the version field, to the second value, and apply the preset field in the data frame format.
[0078] Furthermore, the network layer protocol can be IPv6. Predefined fields include the traffic category field and flow label field contained in the data frame format corresponding to the IPv6 protocol.
[0079] In practical applications, in addition to the header types present in IPv6, the next header field also contains reserved bits. Therefore, the server can extend the reserved bits in the next header field to create custom fields corresponding to the data transmission scenario.
[0080] In the embodiments described in this specification, the custom header further includes a next header field. The value of the next header field indicates the header type of the next header following the custom header. The server can extend the custom field corresponding to the data transmission scenario based on the reserved bits in the next header field contained in the data frame format.
[0081] In practical applications, the data frame corresponding to the data link layer in the OSI seven-layer model is a MAC frame. The source and destination addresses in a MAC frame are both MAC addresses. A MAC address can refer to a physical address or a hardware address, and is programmed into the EPROM (a type of flash memory chip) of the network interface card (NIC) by the network equipment manufacturer during production. The MAC address consists of 48 bits. The data frame corresponding to the network layer in the OSI seven-layer model is an IP packet. The source and destination addresses in an IP packet are both IP addresses (IPv4 or IPv6).
[0082] IP address allocation is based on network topology. One IP address corresponds to multiple MAC addresses. During data transmission, the server needs to first determine the IP address of the data frame it sends, then use the Address Resolution Protocol (ARP) to convert the IP address to a MAC address, and finally send the data frame based on the MAC address. The Address Resolution Protocol is a TCP / IP protocol that obtains the physical address from the IP address. When the server sends information, it broadcasts an ARP request containing the target IP address to all servers on the local area network and receives the response message to determine the server's physical address.
[0083] Since the data transmission method in the data transmission network described in this specification is applied to a small-scale data transmission network, the server can assign a unique corresponding IP address to the MAC address of each transmission device in the data transmission network. During data transmission, the server can send target data frames based on IP addresses. Based on this, this specification proposes a data frame format that eliminates the MAC frame at the data link layer and sends data frames based on IP addresses. This data frame format shortens the length of data frames, thereby increasing the payload ratio of data frames and improving data transmission efficiency.
[0084] In the embodiments described in this specification, the data frame format corresponding to the target data frame does not include a MAC frame. The MAC address of the transmission device in the data transmission network is pre-assigned a unique corresponding IP address. The server can obtain the IP address added to the destination address field in the data frame format corresponding to the target data frame.
[0085] Then, the server can determine the MAC address that uniquely corresponds to the IP address, and transmit the target data frame according to the MAC address in the data transmission network.
[0086] Furthermore, since the data frame format has removed the MAC frame from the data link layer, and IPv6 does not include a checksum field, a checksum field is required in the data frame format to verify custom headers and prevent target data from being lost or altered during transmission.
[0087] In the embodiments described in this specification, the custom header may also include a checksum field. The checksum field is used to populate a checksum for integrity verification of the custom header. It should be noted that there are various methods for the checksum field to verify the custom header, such as header checksum, frame check sequence (FCS), etc. This specification does not limit the specific verification method for the checksum field.
[0088] Based on the custom fields, traffic category field, flow label field, next header field, destination address field, checksum field, and some fields in the IPv6 data frame format mentioned above, the data frame format required for the data transmission method in the data transmission network used in this specification is determined. Specifically, as follows... Figure 2 As shown.
[0089] Figure 2 This is a schematic diagram illustrating a data frame format as an exemplary embodiment.
[0090] exist Figure 2 In this configuration, the version field has 4 bits. The first bit indicates whether the flow label field is expanded to a custom field. The second bit indicates whether the traffic category field is expanded to a custom field. The third and fourth bits indicate the version protocol. For example, if the data added to the version field is "1100", the version protocol corresponding to the data frame is the version protocol corresponding to "00", and the flow label and traffic category fields are custom fields. As another example, if the data added to the version field is "0011", the version protocol corresponding to the data frame is the version protocol corresponding to "11", and the flow label and traffic category fields retain their original functions.
[0091] The version protocol is represented by two bits, and there can be four different version protocols for a data frame. If there are more than four version protocols, the server can increase the number of bits in the version field.
[0092] The Traffic Category field is 8 bits long. The value of this field identifies the data packet's category, determining its type and priority. The first three bits represent the packet's priority, defining eight service levels. For example, 111 – Network Control, 110 – Internetwork Control, 101 – Critical, 100 – Flash Override, 011 – Flash, 010 – Immediate, 001 – Priority, and 000 – Routine. The fourth to seventh bits represent the packet's category, defining latency, throughput, and reliability. For example, 0000 – Normal Service, 1000 – Minimize Delay, 0100 – Maximize Throughput, 0010 – Maximize Reliability, and 0001 – Minimize Monetary Cost. The eighth bit is reserved and has a value of 0.
[0093] The flow label field has 4 bits. The value of the flow label field can be used to identify packets belonging to the same data flow. Routers on the forwarding path can distinguish flows and process them based on the flow label.
[0094] The payload length field has 16 bits. The value of the payload length field can be used to indicate the length of the extended header and the message payload.
[0095] The Next Header field has 8 bits. The value of the Next Header field indicates the header type of the next header following a custom header. Header types in the Next Header field include: Hop-by-Hop Optional Header, Destination Optional Header, Routing Header, Fragmentation Header, Authentication Header, Encapsulated Security Payload Header, and Upper Layer Header. The specific functions of these header types are the same as those in IPv6, and will not be elaborated upon here.
[0096] The hop count limit field is 8 bits long. The value of the hop count limit field indicates the maximum number of times a data frame can be forwarded through a router during transmission. When a data frame is transmitted, the set value is added to the hop count limit field. When a data frame passes through a router, the router decrements the value in the hop count limit field by 1. If the value in the hop count limit field decreases to 0, the data frame is discarded.
[0097] The checksum field is 16 bits long. It is used to populate a checksum for integrity verification of custom headers. Because the hop count limit field value changes with each route, the router recalculates the checksum value for each passing frame.
[0098] The source address field has 32 bits. The value in the source address field represents the source address of the data frame.
[0099] The destination address field has 32 bits. The value of the destination address field is used to represent the destination address of the data frame.
[0100] In practical applications, IPv4 addresses use 32 bits. However, with the rapid development of the internet, IPv4 technology has faced the problem of address exhaustion. To address this, IPv6 addresses use 128 bits. However, since the data transmission methods in the data transmission network described in this specification are applied to smaller-scale data transmission networks, the number of bits in the IPv4 address is sufficient to meet the address quantity requirements. Therefore, the destination address field and source address field in the data frame format of this specification both use 32 bits.
[0101] However, to ensure compatibility with IPv6 addresses, the server can map a 128-bit IPv6 address to a 32-bit IPv6 address to transmit the target data frame.
[0102] In the embodiments described in this specification, the custom message header further includes a destination address field and a source address. The server can determine whether the number of bits corresponding to the destination network address in the target data is greater than the number of bits corresponding to the destination address field.
[0103] If not, add the destination network address to the destination address field.
[0104] If so, map the destination network address to an address with the same number of bits as the destination address field, and add the mapped address to the destination address field.
[0105] Furthermore, the destination address field is 32 bits long. The source address field is also 32 bits long. The destination network address contained in the destination data can be either an IPv4 or IPv6 address. The server can map the destination network address from an IPv6 address to a 32-bit IPv6 address.
[0106] It should be noted that there are multiple methods for mapping the destination network address in this specification. For example, the server can map the destination network address from the IPv6 address "2000:0:0:0:0:0:0:1" to the 32-bit IPv6 address "0:0:0:1". As another example, the server can map the destination network address from the IPv6 address "2000:0:0:0:0:0:0:1" to the 32-bit IPv6 address "2000:0:0:1". This specification does not limit the method of mapping the destination network address.
[0107] In practical applications, since the number of bits corresponding to the traffic category field and the flow label field is limited, there may be situations where the number of bits corresponding to the custom transmission control information that needs to be added is greater than the number of bits corresponding to the traffic category field and the flow label field. Therefore, the server can expand the traffic category field, the flow label field, and the newly added bits into a custom length field and a custom field.
[0108] In the embodiments of this specification, the server can determine whether the number of bits corresponding to the custom transmission control information is greater than the number of bits contained in the preset field.
[0109] If not, the server can further set the value of the bit corresponding to the preset field in the version field that is unrelated to data transmission control and is already present in the data frame format to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario. Specifically, as follows... Figure 3 As shown.
[0110] Figure 3 This is a schematic diagram illustrating a data frame format in a data transmission scenario, as shown in an exemplary embodiment.
[0111] exist Figure 3 In this context, the traffic category field and the flow label field are expanded into custom fields to add custom transmission control information.
[0112] If so, the server can add bits to the custom transmission control information based on the preset fields included in the data frame format. Furthermore, it can set the values of the bits corresponding to the preset fields in the version field that are unrelated to data transmission control in the data frame format as the first value, and expand the preset fields and the added bits into a custom length field and a custom field. The value of the custom length field indicates the number of bits corresponding to the custom field. Specifically, as follows... Figure 4 As shown.
[0113] Figure 4This is a schematic diagram illustrating a data frame format in another data transmission scenario, as shown in an exemplary embodiment.
[0114] exist Figure 4 In this process, the traffic category field, the flow label field, and the newly added bits are expanded into a custom length field and a custom field to add custom transmission control information.
[0115] S104: Based on the target data and the data frame format with the added custom transmission control information, generate a target data frame corresponding to the target data, and transmit the target data frame in the data transmission network.
[0116] In the embodiments described in this specification, the server can generate a target data frame corresponding to the target data based on the target data and a data frame format with added custom transmission control information, and transmit the target data frame in the data transmission network.
[0117] In the embodiments described in this specification, if congestion control is required in the data transmission scenario, the target data will carry link state information. The data added to the version field is "XX00," indicating that the traffic category field and flow label field have been expanded into custom fields. Link state information is added to the custom fields to transmit the target data frame in the data transmission network. Each server in the data transmission network can parse the target data frame according to the data frame format to perform operations such as updating and parsing the link state information for congestion control.
[0118] Furthermore, during data transmission, the server can add corresponding transport layer headers according to specific needs, thereby enabling support for different application networks.
[0119] For example, if the application network is Remote Direct Memory Access (RDMA), then the corresponding transport layer header data frame format is added. Specifically, as follows... Figure 5 As shown.
[0120] Figure 5 This is a schematic diagram illustrating a data frame format with an added transport layer header, as shown in an exemplary embodiment.
[0121] For example, if the application network is an overlayer network, then the corresponding transport layer header data frame format is added. Specifically, as shown below... Figure 6 As shown.
[0122] Figure 6 This is an exemplary embodiment illustrating another data frame format with an added transport layer header.
[0123] As can be seen from the above method, this approach can expand existing preset fields in the data frame format to obtain custom fields corresponding to the data transmission scenario. Then, custom transmission control information related to the data transmission scenario can be added to these custom fields. This eliminates the need to add extra fields or extend headers to achieve the required functionality for different data transmission scenarios. This improves the payload ratio of the data frame, thereby increasing data transmission efficiency.
[0124] Corresponding to the embodiments of the data transmission method in the data transmission network described above, this specification also provides an embodiment of a data transmission device in a data transmission network.
[0125] Please see Figure 7 , Figure 7 This is an exemplary embodiment illustrating the structural diagram of an electronic device housing a data transmission device in a data transmission network. At the hardware level, the device includes a processor 702, an internal bus 704, a network interface 706, memory 708, and non-volatile memory 710, and may also include other necessary hardware. One or more embodiments of this specification can be implemented in software, for example, the processor 702 reads the corresponding computer program from the non-volatile memory 710 into memory 708 and then runs it. Of course, besides software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of hardware and software, etc. That is to say, the execution entity of the following processing flow is not limited to individual logic units, but can also be hardware or logic devices.
[0126] Please see Figure 8 , Figure 8 This is a block diagram illustrating a data transmission device in a data transmission network, as shown in an exemplary embodiment. The data transmission device in this data transmission network can be applied to, for example... Figure 8 The electronic device shown implements the technical solution of this specification. The data transmission device in the data transmission network may include:
[0127] The acquisition module 800 is used to acquire the target data to be transmitted in the data transmission network, as well as the custom transmission control information related to the data transmission scenario of the target data;
[0128] The configuration module 802 is used to perform custom configuration for the data frame format corresponding to the network layer protocol adopted by the data transmission network, so as to extend the data frame format with a custom field corresponding to the data transmission scenario, and add the custom transmission control information to the custom field.
[0129] The transmission module 804 is used to generate a target data frame corresponding to the target data based on the target data and the data frame format with the added custom transmission control information, and to transmit the target data frame in the data transmission network.
[0130] Optionally, the acquisition module 800 is specifically used to perform data parsing on the target data and determine custom transmission control information related to the data transmission scenario of the target data based on the data parsing results.
[0131] Optionally, the configuration module 802, wherein the data frame format includes: a custom message header and a message payload; the custom message header includes a version field, the version field containing bits corresponding to a preset field in the data frame format that is unrelated to data transmission control, the value corresponding to the bit includes a first value and a second value, the first value being used to indicate that the custom field is enabled, and the second value being used to indicate that the custom field is not enabled. Specifically, the value of the bit corresponding to the preset field in the data frame format that is unrelated to data transmission control is contained in the version field is set to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario.
[0132] Optionally, the network layer protocol is the IPv6 protocol, and the preset fields include the traffic category field and the flow label field contained in the data frame format corresponding to the IPv6 protocol.
[0133] Optionally, the custom header further includes a next header field; the value of the next header field is used to indicate the header type of the next header following the custom header, and the configuration module 802 is specifically used to extend a custom field corresponding to the data transmission scenario based on the reserved bits in the next header field contained in the data frame format.
[0134] Optionally, the configuration module 802 is specifically used to determine whether the number of bits corresponding to the custom transmission control information is greater than the number of bits contained in the preset field. If not, it further sets the value of the bit corresponding to the preset field in the data frame format that is unrelated to data transmission control and contained in the version field to a first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario. If yes, it adds bits to the custom transmission control information based on the preset field contained in the data frame format, and further sets the value of the bit corresponding to the preset field in the data frame format that is unrelated to data transmission control and contained in the version field to a first value, and expands the preset field and the added bits into a custom length field and the custom field; wherein, the value of the custom length field is used to represent the number of bits corresponding to the custom field.
[0135] Optionally, the custom header further includes a destination address field. The configuration module 802 is specifically used to determine whether the number of bits corresponding to the destination network address contained in the target data is greater than the number of bits corresponding to the destination address field; if not, add the destination network address to the destination address field; if so, map the destination network address to an address with the same number of bits as the number of bits corresponding to the destination address field, and add the mapped address to the destination address field.
[0136] Optionally, the destination address field has 32 bits; the destination network address contained in the target data is an IPv4 address or an IPv6 address, and the configuration module 802 is specifically used to map the destination network address from an IPv6 address to a 32-bit IPv6 address.
[0137] Optionally, the data frame format corresponding to the target data frame does not include a MAC frame; the MAC address of the transmission device in the data transmission network is pre-assigned with a unique corresponding IP address, and the transmission module 804 is specifically used to obtain the IP address added to the destination address field in the data frame format corresponding to the target data frame, determine the MAC address uniquely corresponding to the IP address, and transmit the target data frame in the data transmission network according to the MAC address.
[0138] Optionally, the custom header may further include a checksum field; the checksum field is used to fill in a checksum for integrity verification of the custom header.
[0139] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.
[0140] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the solution in this specification according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0141] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, which can take the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.
[0142] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0143] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0144] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0145] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.
[0146] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0147] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0148] The terminology used in one or more embodiments of this specification is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this specification. The singular forms “a,” “described,” and “the” as used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0149] It should be understood that although the terms first, second, third, etc., may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first information may also be referred to as second information without departing from the scope of one or more embodiments of this specification, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when," "in response to a determination," or "when," or "in the event of a determination."
[0150] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit the scope of one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of one or more embodiments of this specification should be included within the protection scope of one or more embodiments of this specification.
Claims
1. A data transmission method in a data transmission network, comprising: Obtain the target data to be transmitted in the data transmission network, as well as the custom transmission control information related to the data transmission scenario of the target data; Custom configuration is performed on the data frame format corresponding to the network layer protocol adopted by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, and the custom transmission control information is added to the custom fields; Based on the target data and the data frame format with the added custom transmission control information, a target data frame corresponding to the target data is generated, and the target data frame is transmitted in the data transmission network. The data frame format includes: a custom message header and a message payload; The custom header includes a version field; the version field contains bits corresponding to preset fields that are not related to data transmission control and are already present in the data frame format; the values corresponding to the bits include a first value and a second value, the first value being used to indicate that the custom field is enabled, and the second value being used to indicate that the custom field is not enabled; Custom configuration is performed on the data frame format corresponding to the network layer protocol used by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, including: The value of the bit corresponding to the preset field that is unrelated to data transmission control in the data frame format, which is included in the version field, is set to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario.
2. The method as described in claim 1, wherein obtaining customized transmission control information related to the data transmission scenario of the target data includes: The target data is parsed, and custom transmission control information related to the data transmission scenario of the target data is determined based on the data parsing results.
3. The method as described in claim 1, wherein the network layer protocol is the IPv6 protocol; the preset fields include the traffic category field and the flow label field contained in the data frame format corresponding to the IPv6 protocol.
4. The method as described in claim 1, wherein the custom message header further includes: Next header field; The value corresponding to the next header field is used to indicate the header type of the next header located after the custom message header; Custom configuration is performed on the data frame format corresponding to the network layer protocol used by the data transmission network to extend the data frame format with custom fields corresponding to the data transmission scenario, including: Based on the reserved bits in the next header field contained in the data frame format, custom fields corresponding to the data transmission scenario are extended.
5. The method as described in claim 1, wherein the value of the bit corresponding to a preset field in the data frame format that is unrelated to data transmission control and included in the version field is set to a first value, so as to extend the preset field in the data frame format into a custom field corresponding to the data transmission scenario, comprising: Determine whether the number of bits corresponding to the custom transmission control information is greater than the number of bits contained in the preset field; If not, the value of the bit corresponding to the preset field that is not related to data transmission control in the data frame format, which is included in the version field, is further set to the first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario; If so, then based on the preset fields included in the data frame format, additional bits are added to the custom transmission control information, and the value of the bit corresponding to the preset field in the data frame format that is unrelated to data transmission control and included in the version field is set to a first value, and the preset field and the added bits are expanded into a custom length field and the custom field; wherein, the value of the custom length field is used to indicate the number of bits corresponding to the custom field.
6. The method of claim 1, wherein the custom message header further comprises: Destination address field; The data frame format based on the target data and the added custom transmission control information includes: Determine whether the number of bits corresponding to the destination network address in the target data is greater than the number of bits corresponding to the destination address field; if not, add the destination network address to the destination address field; if so, map the destination network address to an address with the same number of bits as the number of bits corresponding to the destination address field, and add the mapped address to the destination address field.
7. The method as described in claim 6, wherein the number of bits corresponding to the destination address field is 32 bits; the destination network address included in the target data is an IPv4 address or an IPv6 address; Mapping the destination network address to an address with the same number of bits as the corresponding bit length of the destination address field includes: The destination network address is mapped from an IPv6 address to a 32-bit IPv6 address.
8. The method as described in claim 7, wherein the data frame format corresponding to the target data frame does not include a MAC frame; and the MAC address of the transmission device in the data transmission network is pre-assigned a unique corresponding IP address; Transmitting the target data frame in the data transmission network includes: Obtain the IP address added to the destination address field in the data frame format corresponding to the target data frame; A unique MAC address is determined corresponding to the IP address, and the target data frame is transmitted in the data transmission network according to the MAC address.
9. The method of claim 8, wherein the custom header further includes a checksum; the checksum is used to fill in a checksum for integrity verification of the custom header.
10. A data transmission device in a data transmission network, comprising: The acquisition module is used to acquire the target data to be transmitted in the data transmission network, as well as custom transmission control information related to the data transmission scenario of the target data; The configuration module is used to perform custom configuration for the data frame format corresponding to the network layer protocol adopted by the data transmission network, so as to extend the data frame format with custom fields corresponding to the data transmission scenario, and add the custom transmission control information to the custom fields. The transmission module is used to generate a target data frame corresponding to the target data based on the target data and the data frame format with the added custom transmission control information, and to transmit the target data frame in the data transmission network. The data frame format includes: a custom message header and a message payload; the custom message header includes a version field; the version field contains bits corresponding to preset fields that are not related to data transmission control in the data frame format; the values corresponding to the bits include a first value and a second value, the first value being used to indicate that the custom field is enabled, and the second value being used to indicate that the custom field is not enabled; The configuration module is used to set the value of the bit corresponding to the preset field that is not related to data transmission control in the data frame format, which is included in the version field, to a first value, so as to expand the preset field in the data frame format into a custom field corresponding to the data transmission scenario.
11. An electronic device, comprising a communication interface, a processor, a memory, and a bus, wherein the communication interface, the processor, and the memory are interconnected via the bus; The memory stores machine-readable instructions, and the processor executes the method according to any one of claims 1 to 9 by invoking the machine-readable instructions.
12. A machine-readable storage medium storing machine-readable instructions that, when invoked and executed by a processor, implement the method of any one of claims 1 to 9.
Citation Information
Patent Citations
Network quality measurement method, device and system, electronic equipment and storage medium
CN114666243A