Data transmission method, device, equipment and medium
By determining the overall optimal header field order in a multi-hop connection scenario, network equipment logically processes and reorganizes and forwards data packets, solving the network link delay problem and achieving more efficient data transmission.
Patent Information
- Application Number
- CN202111364159.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-17
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2041-11-17
AI Technical Summary
In the multi-hop connection scenario, the logical processing delay and waiting delay caused by inconsistent order of head fields of network devices increase the overall delay of the network link, and the existing transformation methods fail to effectively reduce the overall delay.
By determining the overall optimal header field order, the network device logically processes the data packets according to its own processing logic, and reorganizes and forwards them in the overall optimal header field order. The control node or network device negotiates to determine the order to optimize link delay.
It reduces the transmission delay of the entire network link and improves data transmission efficiency.
Smart Images

Figure CN116137615B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data transmission technology, and in particular to a data transmission method, apparatus, device and medium. Background Art
[0002] In a multi-hop connection scenario, the network device at each node receives a data message, performs logical processing on the data message according to the field order corresponding to its own processing logic, and then forwards the data message to the next-hop network device.
[0003] Because different network devices have different processing logics corresponding to different fields, the order of the header fields in the datagram determines the forwarding behavior of the network device. If the order of the header fields in the datagram is consistent with the order of the fields corresponding to the network device's processing logic, the network device can forward the datagram using cut-through forwarding. If the order of the header fields in the datagram is inconsistent with the order of the fields corresponding to the network device's processing logic, the network device must wait until the fields required by the processing logic are processed before performing logical processing. In this case, store and forward (Store and Forward) or fragment-free forwarding can be used.
[0004] For network devices that use store-and-forward or fragment-free forwarding, there are processing delays for the logical processing of data packets and waiting delays for logical processing, resulting in a large overall delay in the network link. To reduce the overall delay of the network link, a method has been proposed in which the network device modifies the order of the header fields of the data packet, that is, reorganizes the order of the header fields. Although this method can reduce the delay in processing the same data packet by different network devices in a multi-hop network, it only considers the processing delay of the next-hop network device, and multiple network devices may reassemble the packet on the network link, which increases the reassembly delay and is not very effective in reducing the delay of the overall link. Summary of the Invention
[0005] The present application provides a data transmission method, apparatus, device and medium, which can reduce the transmission delay of the entire link and improve transmission efficiency.
[0006] According to a first aspect of an embodiment of the present application, a data transmission method is provided, applied to a network device, the method comprising:
[0007] Determine the overall optimal header field order as configured or issued by the control node or negotiated;
[0008] The data message is received, and after logically processing the data message according to the field sequence corresponding to its own processing logic, the data message is reassembled and forwarded according to the overall optimal header field sequence.
[0009] In a possible implementation, before determining the overall optimal header field sequence sent by the control node, at least one of the following steps is further included:
[0010] Report the field order corresponding to its own processing logic to the control node;
[0011] Reporting to the control node the field sequence corresponding to its own processing logic and the processing delay of logically processing the data message according to the field sequence corresponding to its own processing logic;
[0012] Report to the control node the header field sequence of the same data message forwarded last time and the field sequence corresponding to its own processing logic;
[0013] Reports the delay of the last time the same data packet was forwarded to the control node.
[0014] In one possible implementation, the overall optimal header field order is determined based on the field overlap of the field orders corresponding to the processing logic of different network devices on the network link; or is determined based on the sum of the delays when the same data message was forwarded on the network link last time; or is determined by permuting and combining the header fields to obtain multiple alternative header field orders, and calculating the sum of the delays corresponding to forwarding data messages using each alternative header field order on the network link.
[0015] In one possible implementation, the overall optimal header field order is determined based on the degree of field overlap of field orders corresponding to processing logic of different network devices on a network link:
[0016] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0017] If the field sequence with the highest degree of overlap does not completely overlap, the total delay when the data message is forwarded using the field sequence with the highest degree of overlap on the network link is calculated, and the field sequence with the smallest total delay is determined as the overall optimal header field sequence.
[0018] In one possible implementation, the overall optimal header field order is determined based on a sum of delays in a previous forwarding of the same data packet on a network link. If the sum of delays is less than an overall delay measurement and a difference between the sum of delays and the overall delay measurement is greater than a set threshold, the header field order in the previous forwarding of the same data packet is the overall optimal header field order.
[0019] The overall delay measurement is the sum of the node delays corresponding to each network device on the network link using the store-and-forward method.
[0020] In one possible implementation, the overall optimal header field order is determined by permuting and combining the header fields to obtain multiple alternative header field orders, and calculating the sum of delays corresponding to forwarding data packets using each alternative header field order on the network link. The header field order corresponding to the calculated minimum sum of delays is the overall optimal header field order.
[0021] In one possible implementation, determining the negotiated overall optimal header field order includes:
[0022] When determining to be the head device, it notifies the next-hop network device of the field sequence corresponding to its own processing logic;
[0023] When determining to act as an intermediate device, the device receives a first field sequence notified by the previous-hop network device, obtains a second field sequence corresponding to the processing logic of the next-hop network device, calculates a minimum processing delay corresponding to logical processing by the device according to the first field sequence and the second field sequence, and notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0024] When determining to be the tail device, it receives the first field sequence notified by the previous hop network device and reports it to the control node, which determines the overall optimal header field sequence and sends it to each network device.
[0025] In a possible implementation, notifying all network devices connected to the network device of the sequence of fields corresponding to the minimum processing delay includes:
[0026] When it is determined that the difference between the minimum processing delay and the own processing delay is less than a threshold, notifying all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0027] When it is determined that the difference between the minimum processing delay and the own processing delay is not less than a threshold, notifying the next-hop network device of the field sequence corresponding to the minimum processing delay and a negotiation failure message;
[0028] The self-processing delay is the processing delay of receiving the field sequence corresponding to the self-processing logic and processing the data message according to the self-processing logic.
[0029] In a possible implementation, when determining to be a tail device, receiving the first field sequence notified by the previous-hop network device and reporting it to the control node includes:
[0030] When receiving the first field sequence notified by the previous hop network device and not receiving the negotiation failure message, reporting the first field sequence to the control node;
[0031] When receiving the first field sequence and the negotiation failure message notified by the previous-hop network device, the negotiation failure message is reported to the control node.
[0032] In a possible implementation, when determining to act as an intermediate device, notifying all network devices connected to the network device of the sequence of fields corresponding to the minimum processing delay includes:
[0033] When it is determined that the processing delays corresponding to the logical processing performed by the network device according to the first field sequence and the second field sequence are the same, the field sequences corresponding to the same processing delays are notified to all network devices connected to the network device.
[0034] In a possible implementation, when determining to be a tail device, receiving the first field sequence notified by the previous-hop network device and reporting it to the control node includes:
[0035] When determining to be a tail device, when the first field sequence notified by the previous hop network device is multiple field sequences, randomly select one from the multiple field sequences as the overall optimal header field sequence and report it to the control node, or report the multiple field sequences to the control node.
[0036] In a possible implementation, the configured overall optimal header field sequence is multiple, and after reorganizing the header fields in the data packet according to the overall optimal header field sequence, forwarding the data packet to the next network device includes:
[0037] According to the service type of the data message and the priorities of multiple overall optimal header field sequences configured for the service type, the overall optimal header field sequence with the highest priority is selected;
[0038] The data message is reassembled according to the selected overall optimal header field sequence and then forwarded to the next network device.
[0039] According to a second aspect of an embodiment of the present application, a data transmission method is provided, applied to a control node, the method comprising:
[0040] Determine the same overall optimal header field order for all network devices forwarding data packets on a network link;
[0041] The overall optimal header field sequence is sent to each network device, so that the network device reassembles and forwards data packets according to the overall optimal header field sequence.
[0042] In one possible implementation, determining a common overall optimal header field sequence for forwarding data packets by all network devices on a network link includes any of the following steps:
[0043] Determine the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to the processing logic of different network devices on the network link;
[0044] Determine the optimal header field order based on the sum of the delays of the previous forwarding of the same data packet on the network link;
[0045] By permuting and combining the header fields, multiple alternative header field orders are obtained, and the sum of the delays corresponding to forwarding data packets using each alternative header field order on the network link is calculated to determine the overall optimal header field order.
[0046] In one possible implementation, determining the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to processing logic of different network devices on a network link includes:
[0047] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0048] If the field sequence with the highest degree of overlap does not completely overlap, calculate the total delay corresponding to forwarding data packets using the field sequence with the highest degree of overlap on the network link, and determine the field sequence with the smallest total delay as the overall optimal header field sequence.
[0049] In one possible implementation, determining the optimal header field order based on the sum of the previous delays when the same data packet was forwarded on the network link includes:
[0050] Determine the total delay of the last time the same data packet was forwarded on the network link;
[0051] When it is determined that the total delay is less than the overall delay measurement value, and the difference between the total delay and the overall delay measurement value is greater than a set threshold, determining that the header field order in the last forwarding of the same data message is the overall optimal header field order;
[0052] The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
[0053] In one possible implementation, multiple candidate header field orders are obtained by permuting and combining header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field order on a network link is calculated to determine the optimal overall header field order. This includes:
[0054] Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field sequence on the network link is calculated.
[0055] The alternative header field sequence with the smallest total delay is selected as the overall optimal header field sequence.
[0056] In one possible implementation, determining a common overall optimal header field sequence for forwarding data packets by all network devices on a network link includes:
[0057] When determining the field sequence corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, determining the field sequence as the overall optimal header field sequence and sending it to each network device;
[0058] Among them, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
[0059] In a possible implementation, at least one of the following steps is further included:
[0060] The order of fields corresponding to the processing logic reported by the receiving network device;
[0061] The field sequence corresponding to the processing logic of the receiving network device and the processing delay of the data message according to the field sequence corresponding to the processing logic of the receiving network device;
[0062] The order of header fields in the last forwarded packet of the same data reported by the receiving network device and the order of fields corresponding to its own processing logic;
[0063] The latency of the last time the network device forwarded the same data packet, as reported by the receiving network device.
[0064] According to a third aspect of an embodiment of the present application, a data transmission device is provided, the device comprising:
[0065] A field order determination module is used to determine the overall optimal header field order configured or issued by the control node or negotiated through the network device;
[0066] The reassembly and forwarding module is used to receive data messages through the network device, perform logical processing on the data messages according to the field order corresponding to its own processing logic, and then reassemble and forward the data messages according to the overall optimal header field order.
[0067] According to a fourth aspect of an embodiment of the present application, a data transmission device is provided, the device comprising:
[0068] A field sequence determination module is used to determine, through a control node, the same overall optimal header field sequence used by all network devices on the network link to forward data packets;
[0069] The field sequence sending module is used to send the overall optimal header field sequence to each network device through the control node, so that the network device reassembles and forwards data messages according to the overall optimal header field sequence.
[0070] According to a fifth aspect of an embodiment of the present application, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor implements the steps of the above-mentioned data transmission method by running the executable instructions.
[0071] According to a sixth aspect of an embodiment of the present application, a computer-readable storage medium is provided, on which computer instructions are stored, and when the instructions are executed by a processor, the steps of the above-mentioned data transmission method are implemented.
[0072] In addition, the technical effects brought about by any implementation method in the third to sixth aspects can be referred to the first aspect, or the technical effects brought about by different implementation methods in the second aspect, and will not be repeated here.
[0073] The technical solutions provided by the embodiments of this application bring at least the following beneficial effects:
[0074] In a network link composed of different network devices, a header field order exists that minimizes the latency of data packets transmitted across the entire link. This header field order is the overall optimal order. Transmitting data using this optimal header field order across the entire link reduces latency and improves transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0076] Figure 1 is a schematic diagram of an application scenario according to an exemplary embodiment;
[0077] Figure 2 is a flow chart showing a data transmission method applied to a network device according to an exemplary embodiment;
[0078] Figure 3 This is a flowchart illustrating a control node determining and issuing an overall optimal header field sequence based on information reported by a network device according to an exemplary embodiment;
[0079] Figure 4is a flow chart showing a network device obtaining an optimal header field sequence through negotiation according to an exemplary embodiment;
[0080] Figure 5 is a flowchart illustrating a data transmission method applied to a control node according to an exemplary embodiment;
[0081] Figure 6 This is a flowchart showing a sequence of a control node configuring and issuing an overall optimal header field according to an exemplary embodiment;
[0082] Figure 7 is a schematic diagram showing the module structure of a data transmission device according to an exemplary embodiment;
[0083] Figure 8 is a schematic diagram showing the module structure of a data transmission device according to an exemplary embodiment;
[0084] Figure 9 is a schematic diagram of an electronic device showing a data transmission method applied to a network device according to an exemplary embodiment;
[0085] Figure 10 is a schematic diagram of an electronic device illustrating a data transmission method applied to a control node according to an exemplary embodiment;
[0086] Figure 11 The figure is a schematic diagram of a program product showing a data transmission method according to an exemplary embodiment. DETAILED DESCRIPTION
[0087] To make the objectives, technical solutions, and advantages of this application more clear, this application will be further described in detail below with reference to the accompanying drawings. Obviously, the embodiments described are only some of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of this application.
[0088] The following are explanations of some of the words that appear in the text:
[0089] In the embodiments of this application, the term "and / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.
[0090] The application scenarios described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Persons skilled in the art will appreciate that, as new application scenarios emerge, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems. In the description of this application, unless otherwise specified, "multiple" means two or more.
[0091] In existing technologies, network devices that use store-and-forward or fragment-free forwarding methods experience logical processing delays and message waiting delays, resulting in significant overall network link latency. To reduce overall network link latency, two methods have been proposed for network devices to modify the order of data packet header fields in different scenarios:
[0092] 1) Single-hop protocol transformation method. For a network device, when receiving a data message, the header field of the data message can be analyzed in combination with the business scenario and processing logic to determine the field in the data message header information that can determine the forwarding behavior of the data message; then, on the basis of equivalence with the original protocol logic, the order of the data message header fields is rearranged. For example, the order of the message header fields is field 3, field 2, and field 1, and its own processing logic is field 2, field 3, and field 1. After receiving field 2, the receiving end can directly forward the subsequently received field 3 to the next-hop network device, which is equivalent to reorganizing the data message to be forwarded to the next hop. The receiving end can execute the processing logic, so that the network device that supports direct forwarding can obtain the fields that need to be processed first earlier and determine the processing behavior of the data message earlier.
[0093] 2) For each hop, packets are forwarded optimally. If the processing logic sequence of the data packet header fields of the current network device differs from the processing sequence of the data packet header fields of the next-hop network device, the data packet header fields sent by the current network device are modified. By manipulating the sending timing or reassembly method, the modified network device can transmit according to the optimal header field sequence of the next-hop network device. For example, if the packet header fields of the current network device are in the order of field 1, field 2, and field 3, and the processing logic of the next-hop network device is field 1, field 3, and field 2, the order of the packet header fields of the current network device is reassembled into the data packet header field sequence corresponding to the processing logic of the next-hop network device.
[0094] The premise of the above method 1) is that the order of the data packet header fields received by the current network device is the order of the data packet header fields corresponding to the processing logic of the current network device. If there is a network device with different processing logic in the network link, the above method 1) cannot be used.
[0095] Although the above 2) can reduce the delay of different network devices in a multi-hop network processing the same data message, it increases the delay of the reassembly of each hop network device, and the delay reduction effect on the overall link is not very good.
[0096] To solve the above problems, the present application provides a data transmission method, apparatus, device, and medium. The present application can be adapted to various data messages, such as IPv4 messages (Internet Protocol version 4), IPv6 messages (Internet Protocol version 6), and other data messages.
[0097] Figure 1 According to the application scenario diagram shown in an exemplary embodiment, the present application is applied in a multi-hop scenario, that is, multiple network devices, and the types of these network devices are different.
[0098] In an embodiment of the present application, the network device determines the overall optimal header field order configured or issued by the control node or negotiated. When the network device determines to send a data packet as a head device, the header fields in the data packet are reorganized according to the overall optimal header field order, and the data packet is forwarded to the next network device; when the network device determines to receive a data packet as an intermediate device, the data packet is logically processed according to the field order corresponding to the processing logic, and the data packet with the header field using the overall optimal header field order is reorganized according to the overall optimal header field order and forwarded to the next hop network device.
[0099] In an embodiment of the present application, a data transmission method is provided. Based on the same concept, a data transmission device, an electronic device, and a computer-readable storage medium are also provided.
[0100] Example 1
[0101] The following describes a data transmission method provided by the present application through a specific embodiment. This method is applied to network devices, such as Figure 2 Shown, including:
[0102] Step 201: Determine the overall optimal header field sequence configured or issued by the control node or negotiated;
[0103] The above-mentioned overall optimal header field sequence is a header field sequence determined with reference to the overall delay corresponding to the header field sequence adopted by network devices on the entire network link.
[0104] When the configured overall optimal header field order is used, the overall optimal header field order determined with reference to the overall delay may be determined in different ways.
[0105] When the overall optimal header field sequence issued by the control node is adopted, the control node may be a controller, a network management center, or a special network device in the current network, wherein the special network device may be any pre-set decision-making network device.
[0106] When the negotiated overall optimal header field order is adopted, the network devices on the network link determine the header field order in a distributed negotiation manner, and the control node determines the overall optimal header field order and issues it.
[0107] Step 202: Receive a data message, perform logical processing on the data message according to the field sequence corresponding to its own processing logic, and then reassemble and forward the data message according to the overall optimal header field sequence.
[0108] When the head device sends a data message, it determines whether the header field of the data message is the overall optimal header field. If not, it needs to reassemble the header field of the data message and forward the data message to the next network device after reassembly.
[0109] When an intermediate device receives a data packet with header fields in the overall optimal header field order sent by a head device, after logically processing the data packet according to the field order corresponding to its own processing logic, the header field order of the data packet changes and needs to be reorganized to ensure that the header field order of the data packet to the next-hop network device is the overall optimal header field order.
[0110] In a multi-hop connection scenario, by using the overall optimal data packet forwarding order, the transmission delay of the entire link can be reduced and the transmission efficiency can be improved.
[0111] The overall optimal header field order can be determined by the control node, or determined by the control node through the result of negotiation between network devices, or determined by the network devices themselves. The following describes various possible implementation methods for determining the overall optimal header field order.
[0112] Implementation Method 1
[0113] In this embodiment, the overall optimal header field order is determined by a centralized determination method. When the overall optimal header field order can be determined by the control node, such as Figure 3 As shown, each network device reports information to the control node and obtains the overall optimal header field sequence issued by the control node. Each network device reports information to the control node including at least one of the following steps:
[0114] Reporting the field sequence corresponding to its own processing logic to the control node allows the control node to determine the field overlap of the field sequences reported by each network device and all fields in the data message header field, and to calculate the total delay when forwarding the data message on the network link using the field sequence reported by each network device. The delay of each network device includes the processing delay of the data message logic processing and the waiting delay of the waiting logic processing;
[0115] Reporting to the control node the field sequence corresponding to its own processing logic and the processing delay of logically processing the data message according to the field sequence corresponding to its own processing logic. This allows the control node to determine the field overlap of the field sequence reported by the network device and all fields in the header field of the data message, and to calculate the total delay of each network device when forwarding the data message on the network link using the field sequence reported by each network device;
[0116] Reports the header field sequence of the last forwarded data packet and the corresponding field sequence in its own processing logic to the control node. This allows the control node to calculate the total delay of the last forwarding of the same data packet on the network link and determine all the fields in the header field of the data packet;
[0117] The control node reports the delay of the last time the same data message was forwarded. This delay includes the processing delay of the data message logical processing and the waiting delay of the waiting logical processing. This allows the control node to determine the total delay of the last time the same data message was forwarded on the network link by calculating the sum of the delays reported by each network device. The overall delay measurement is the sum of the estimated delays corresponding to each network device using the store-and-forward method on the network link.
[0118] The above-mentioned overall optimal header field order is determined by the control node based on the content reported by the network device to the control node in the following manner:
[0119] Mode 1: Determined based on the degree of field overlap of field sequences corresponding to the processing logic of different network devices on the network link, where the degree of overlap refers to the number of consecutively overlapping fields.
[0120] Method 2: Determined based on the sum of the delays of the last time the same data packet was forwarded on the network link;
[0121] Method 3: Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the total delay corresponding to forwarding the data message using each candidate header field sequence on the network link is calculated and determined.
[0122] When using method 1 above, the overall optimal header field order is obtained by the control node in the following manner:
[0123] Report the field sequence corresponding to its own processing logic to the control node, or report the field sequence corresponding to its own processing logic and the processing delay of the data message logic processing to the control node;
[0124] The above-mentioned overall optimal header field order is determined based on the degree of overlap of the field orders corresponding to the processing logic of different network devices on the network link:
[0125] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0126] If the field sequence with the highest degree of overlap does not completely overlap, the total delay when the data message is forwarded using the field sequence with the highest degree of overlap on the network link is calculated, and the field sequence with the smallest total delay is determined as the overall optimal header field sequence.
[0127] For example, if there are three network devices in a network link, and the processing logic of two of them corresponds to the field order of field 1, field 2, field 3, and field 4, then this field order is completely overlapping. The processing logic of the other network device corresponds to the field order of field 3, field 2, field 1, and field 4. In this case, field 1, field 2, field 3, and field 4 are the overall optimal header field order. If there are three network devices in a network link that do not completely overlap, the field order of network device 1 is field 1, field 2, field 3, field 4, and field 5; the field order of network device 2 is field 1, field 2, field 4, field 3, and field 5; and the field order of network device 3 is field 1, field 2, field 5, field 3, and field 4. Only field 1 and field 2 overlap among these three network devices. In this case, the field order that minimizes the total latency when these three field orders are used for data packet forwarding on this network link needs to be calculated separately. This is the overall optimal header field order.
[0128] When using the above method 2, the above-mentioned overall optimal header field order is obtained by the control node through the following method:
[0129] Reporting to the control node the header field sequence of the last forwarded identical data message and the field sequence corresponding to its own processing logic, or reporting the delay of the last forwarding of the same data message, including the processing delay of the data message logic processing and the waiting delay of the waiting logic processing;
[0130] The above-mentioned overall optimal header field order is determined based on the sum of delays when the same data packet was last sent on the network link. If the sum of delays is less than the overall delay measurement value and the difference between the sum of delays and the overall delay measurement value is greater than a set threshold, the header field order in the last forwarding of the same data packet is the overall optimal header field order.
[0131] The overall delay measurement amount is the sum of the delays corresponding to the storage and forwarding mode adopted by each network device on the network link. The overall delay measurement amount is the maximum delay generated by each network device on the network link when forwarding data packets.
[0132] If the difference between the sum of the delays and the overall delay measurement is no greater than the set threshold, it indicates that the sum of the delays corresponding to forwarding data packets using the header field order in the previous forwarding of the same data packet does not fall within the set fluctuation range. In other words, there is no significant decrease compared to the overall delay measurement. In this case, the above-mentioned method 3 can be used to obtain the overall optimal header field order.
[0133] When using the above method 3, multiple alternative header field orders are obtained by permuting and combining the header fields, and the total delay corresponding to forwarding data packets using each alternative header field order on the network link is calculated respectively. The header field order corresponding to the calculated minimum total delay is the overall optimal header field order.
[0134] For example, if the header field order of a data packet is field 1, field 2, and field 3, then all permutations and combinations of the fields in this data packet's header yield five other field orders: the first field order is field 1, field 3, and field 2; the second field order is field 2, field 1, and field 3; the third field order is field 2, field 3, and field 1; the fourth field order is field 3, field 1, and field 2; and the fifth field order is field 3, field 2, and field 1. The optimal header field order is the field order that minimizes the total latency when network links use these six field orders to forward data packets.
[0135] Implementation Method 2
[0136] In this embodiment, the overall optimal header field order is determined through distributed negotiation. The specific negotiation method can be implemented by adding a direct interaction module, i.e., a negotiation module, to each network device, and the negotiation modules of each network device interact with each other before data packets are transmitted.
[0137] When the overall optimal header field order is determined through negotiation among network devices, the specific implementation of the embodiment of the present application is as follows:
[0138] First, when determining to be the head device, it notifies the next-hop network device of the field sequence corresponding to its own processing logic;
[0139] Secondly, when determining to act as an intermediate device, it receives the first field sequence notified by the previous-hop network device, obtains the second field sequence corresponding to the processing logic of the next-hop network device, calculates the minimum processing delay corresponding to the logical processing performed by itself according to the first field sequence and the second field sequence, and notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0140] Among them, the first field order received by the intermediate device from the previous hop head device is the field order corresponding to the head device's own processing logic, and the first field order received by the intermediate device from the previous hop non-head device is the field order corresponding to the minimum processing delay; the second field order is the field order corresponding to the next hop network device of the current intermediate device's own processing logic.
[0141] When calculating the minimum processing delay corresponding to the logical processing performed by this intermediate device according to the first field sequence and the second field sequence respectively, the following method can be used to ensure that the difference between the minimum processing delay and the self-processing delay is small: when it is determined that the difference between the minimum processing delay and the self-processing delay is less than a set threshold, the field sequence corresponding to the minimum processing delay is notified to all network devices connected to the network device, and the threshold can be set according to actual conditions; when it is determined that the difference between the minimum processing delay and the self-processing delay is not less than the threshold, the field sequence corresponding to the minimum processing delay and the negotiation failure message are notified to the next-hop network device; the self-processing delay is the processing delay of receiving the field sequence corresponding to the self-processing logic and processing the data message according to the self-processing logic.
[0142] When it is determined that the processing delays corresponding to the logical processing performed according to the first field sequence and the second field sequence are the same, the field sequences corresponding to the same processing delays are notified to all network devices connected to the network device.
[0143] Finally, when it is determined to be the tail device, it receives the first field sequence notified by the previous hop network device and reports it to the control node. The control node determines the overall optimal header field sequence and sends it to each network device.
[0144] When the tail device receives the first field sequence notified by the previous-hop network device and does not receive a negotiation failure message, it reports the first field sequence to the control node, and the control node determines that the first field sequence is the overall optimal header field sequence and sends it to the network device;
[0145] When the tail device receives the first field sequence and negotiation failure message notified by the previous hop network device, it reports the negotiation failure message to the control node, which determines the overall optimal header field sequence according to the method in implementation mode 1 and sends it to the network device.
[0146] When the first field sequence notified by the previous-hop network device received by the tail device is multiple field sequences, it can randomly select one from the multiple field sequences as the overall optimal header field sequence and report it to the control node, which will then send the overall optimal header field sequence to the network device. It can also report the multiple field sequences to the control node, which will then randomly select one as the overall optimal header field sequence and send it to the network device.
[0147] When the intermediate device notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay, it may also notify all network devices connected to the network device of the delay information using the first field sequence and the second field sequence.
[0148] like Figure 4 As shown, there are three network devices in the network link. When the network devices negotiate, network device 1 is determined to be the head device, and the field sequence corresponding to its own processing logic is notified to network device 2 as the first field sequence; network device 2 is the intermediate device, which receives the first field sequence notified by network device 1, and obtains the second field sequence corresponding to the processing logic of network device 2, and calculates the minimum processing delay corresponding to the logical processing performed by network device 2 according to the first field sequence and the second field sequence respectively.
[0149] If the processing delay for the first field sequence is the smallest, the difference between this smallest processing delay and the processing delay of network device 2 itself is compared with a set threshold. If this difference is less than the set threshold, network device 2 notifies network device 1 and network device 3, to which it is connected, of the first field sequence. If this difference is not less than the threshold, network device 3 is notified of the field sequence corresponding to the smallest processing delay and a negotiation failure message. The corresponding tail device, network device 3, receives the message in the following two situations:
[0150] When network device 3 receives the first field sequence notified by previous-hop network device 2 and does not receive a negotiation failure message, it reports the first field sequence to the control node, which determines that the first field sequence is the overall optimal header field sequence and sends it to the network device;
[0151] When network device 3 receives the first field sequence and negotiation failure message notified by previous-hop network device 2, it reports the negotiation failure message to the control node, which determines the overall optimal header field sequence according to the method in implementation mode 1 and sends it to the network device.
[0152] If the processing delays corresponding to the logical processing performed by network device 2 according to the first field sequence and the second field sequence are the same, the first field sequence and the second field sequence are notified to network device 1 and network device 3 connected to network device 2. Other intermediate devices operate in the same manner as network device 2 until it is determined that the tail device has finished. In this network link, network device 3 is the tail device. When network device 3 receives multiple field sequences notified by the previous-hop network device 2, network device 2 can randomly select one from the multiple field sequences as the overall optimal header field sequence and report it to the control node, which will then send the overall optimal header field sequence to the network device. Network device 3 can also report the multiple field sequences to the control node, which will then randomly select one as the overall optimal header field sequence and send it to the network device. Alternatively, network device 3 can determine the overall optimal header field sequence based on the received field sequence and report the overall optimal header field sequence to the control node.
[0153] Implementation 3
[0154] In this embodiment, the overall optimal header field order is determined by configuration.
[0155] When the overall optimal header field order is determined by the network device's own configuration, the specific implementation of the embodiment of the present application is as follows:
[0156] Network devices can obtain the overall optimal header field order through methods such as administrator calculations and configure it before data transmission.
[0157] Based on the header field sequence of the data message and the type of each network device in the network link, the administrator can calculate the total delay corresponding to different header field sequences on the network link. The header field sequence corresponding to the minimum total delay is the overall optimal header field sequence. A relevant model can also be established to obtain the overall optimal header field sequence through the model. The overall optimal header field sequence can also be obtained through other methods.
[0158] As an optional implementation manner, the configured overall optimal header field sequence is multiple, and after reorganizing the header fields in the data message according to the overall optimal header field sequence, forwarding the data message to the next network device includes:
[0159] Based on the service type of the data packet and the priorities of multiple globally optimal header field sequences configured for that service type, the globally optimal header field sequence with the highest priority is selected. In other words, when a network device calculates the latency caused by different globally optimal header field sequences, if the latency is the same, the globally optimal header field sequence with the highest priority is selected.
[0160] The data message is reassembled according to the selected overall optimal header field sequence and then forwarded to the next network device.
[0161] The embodiment of the present application provides a data transmission method, which is applied to a control node, such as Figure 5 Shown, including:
[0162] Step 501, determining the same overall optimal header field sequence used by all network devices on the network link to forward data packets;
[0163] In step 502, the overall optimal header field sequence is sent to each network device, so that the network device reassembles data packets according to the overall optimal header field sequence when acting as a head device, and forwards data packets when acting as an intermediate device.
[0164] In a multi-hop connection scenario, by using the overall optimal data packet forwarding order, the transmission delay of the entire link can be reduced and the transmission efficiency can be improved.
[0165] The control node can obtain the overall optimal header field order by receiving the content reported by the network device and send it to each network device; the control node can obtain the overall optimal header field order through management personnel and other means and send it to each network device. The following describes various possible implementation methods for determining the overall optimal header field order.
[0166] In the above-mentioned embodiment 1, the overall optimal header field order is determined in a centralized manner.
[0167] When the control node receives content reported by the network device and obtains the overall optimal header field sequence, it includes at least one of the following steps:
[0168] The order of fields corresponding to the processing logic reported by the receiving network device;
[0169] The field sequence corresponding to the processing logic of the receiving network device and the processing delay of the data message according to the field sequence corresponding to the processing logic of the receiving network device;
[0170] The order of header fields in the last forwarded packet of the same data reported by the receiving network device and the order of fields corresponding to its own processing logic;
[0171] The delay of the last time the network device forwarded the same data message reported by the receiving network device includes the processing delay of the logical processing of the data message and the waiting delay of the logical processing.
[0172] When using method 1 above, the overall optimal header field order is obtained as follows:
[0173] Receiving the field sequence corresponding to the processing logic of the network device as reported, or receiving the field sequence corresponding to the processing logic of the network device as reported and the processing delay of logically processing the data message according to the field sequence corresponding to the processing logic, and determining the overlap of the field sequence;
[0174] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0175] If the field sequence with the highest degree of overlap does not completely overlap, calculate the total delay corresponding to forwarding data packets using the field sequence with the highest degree of overlap on the network link, and determine the field sequence with the smallest total delay as the overall optimal header field sequence.
[0176] When using method 2 above, the overall optimal header field order is obtained as follows:
[0177] The receiving network device reports the header field sequence of the last forwarded packet of the same data and the field sequence corresponding to its own processing logic, or reports the latency of the last forwarded packet of the same data;
[0178] Determining the total delay of the last forwarding of the same data message on the network link can be determined by calculating based on the order of header fields in the last forwarded same data message reported by the receiving network device and the order of fields corresponding to the processing logic of the network device itself, or by summing the delay of the last forwarding of the same data message itself, where the delay includes the processing delay of the logical processing of the data message and the waiting delay of the waiting logical processing;
[0179] When it is determined that the sum of the node delays is less than the overall delay measurement value, and the difference between the sum of the node delays and the overall delay measurement value is greater than a set threshold, determining that the header field order in the last forwarding of the same data packet is the overall optimal header field order; and when the difference between the sum of the delays and the overall delay measurement value is not greater than the set threshold, the above-mentioned method 3 can be used to determine the overall optimal header field order;
[0180] The overall delay measurement is the sum of the node delays corresponding to each network device on the network link using the store-and-forward method.
[0181] When using method 3 above, the overall optimal header field order is obtained as follows:
[0182] Determine all fields in the header of the data message by receiving the content reported by the network device;
[0183] Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field sequence on the network link is calculated.
[0184] The header field sequence with the smallest total delay is selected as the overall optimal header field sequence.
[0185] In the above-mentioned embodiment 2, the overall optimal header field order is determined through distributed negotiation.
[0186] The content received by the control node is divided into the following situations:
[0187] When determining the field sequence corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, determining the field sequence as the overall optimal header field sequence and sending it to each network device;
[0188] Among them, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
[0189] Determine that a negotiation failure message reported by the tail device is received, determine the overall optimal header field sequence according to the method in implementation mode 1, and send it to each network device;
[0190] When determining the multiple field orders reported by the tail device, randomly select one as the overall optimal header field order and send it to each network device. In the above embodiment 3, the overall optimal header field order is determined by configuration.
[0191] When the control node calculates and decides the overall optimal header field order, such as Figure 6 As shown, the control node can obtain the overall optimal header field sequence not through the content reported by the network device, but through calculation by the management personnel, and send this overall optimal header field sequence to each network device before data transmission.
[0192] Example 2
[0193] Based on the same inventive concept, an embodiment of the present application also provides a data transmission device. Since the device is the device in the method in the embodiment of the present application, and the principle of solving the problem by the device is similar to that of the method, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0194] like Figure 7 As shown, the above device includes the following modules:
[0195] A field order determination module 701 is configured to determine, through a network device, an overall optimal header field order configured, issued by a control node, or negotiated;
[0196] The reassembly and forwarding module 702 is configured to receive data packets through a network device, perform logical processing on the data packets according to the field sequence corresponding to its own processing logic, and then reassemble and forward the data packets according to the overall optimal header field sequence.
[0197] As an optional implementation manner, the field order determination module, before determining, through the network device, the overall optimal header field order sent by the control node, further includes at least one of the following steps:
[0198] Report the field order corresponding to its own processing logic to the control node;
[0199] Reporting to the control node the field sequence corresponding to its own processing logic and the processing delay of logically processing the data message according to the field sequence corresponding to its own processing logic;
[0200] Report to the control node the header field sequence of the same data message forwarded last time and the field sequence corresponding to its own processing logic;
[0201] Reports the delay of the last time the same data packet was forwarded to the control node.
[0202] As an optional implementation, the overall optimal header field order is determined based on the field overlap of the field orders corresponding to the processing logic of different network devices on the network link; or it is determined based on the total delay when the same data message was forwarded on the network link last time; or it is determined by arranging and combining the header fields to obtain multiple alternative header field orders, and calculating the total delay corresponding to forwarding data messages using each alternative header field order on the network link.
[0203] As an optional implementation, the overall optimal header field order is determined based on the degree of field overlap of field orders corresponding to processing logic of different network devices on the network link:
[0204] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0205] If the field sequence with the highest degree of overlap does not completely overlap, the total delay when the data message is forwarded using the field sequence with the highest degree of overlap on the network link is calculated, and the field sequence with the smallest total delay is determined as the overall optimal header field sequence.
[0206] As an optional implementation manner, the overall optimal header field order is determined based on the sum of delays when the same data packet was last forwarded on the network link. If the sum of delays is less than the overall delay measurement value and the difference between the sum of delays and the overall delay measurement value is greater than a set threshold, the header field order in the last forwarding of the same data packet is the overall optimal header field order.
[0207] The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
[0208] As an optional embodiment, the overall optimal header field order is determined by permuting and combining header fields to obtain multiple alternative header field orders, and calculating the sum of delays corresponding to forwarding data packets using each alternative header field order on a network link. The header field order corresponding to the calculated minimum sum of delays is the overall optimal header field order. As an optional embodiment, the field order determination module is used to determine the negotiated overall optimal header field order through a network device, including:
[0209] When determining to be the head device, it notifies the next-hop network device of the field sequence corresponding to its own processing logic;
[0210] When determining to act as an intermediate device, the device receives a first field sequence notified by the previous-hop network device, obtains a second field sequence corresponding to the processing logic of the next-hop network device, calculates a minimum processing delay corresponding to logical processing by the device according to the first field sequence and the second field sequence, and notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0211] When determining to be the tail device, it receives the first field sequence notified by the previous hop network device and reports it to the control node, which determines the overall optimal header field sequence and sends it to each network device.
[0212] As an optional implementation manner, the field order determination module is configured to notify all network devices connected to the network device of the field order corresponding to the minimum processing delay through the network device, including:
[0213] When it is determined that the difference between the minimum processing delay and the own processing delay is less than a threshold, notifying all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0214] When it is determined that the difference between the minimum processing delay and the own processing delay is not less than a threshold, notifying the next-hop network device of the field sequence corresponding to the minimum processing delay and a negotiation failure message;
[0215] The self-processing delay is the processing delay of receiving the field sequence corresponding to the self-processing logic and processing the data message according to the self-processing logic.
[0216] As an optional implementation manner, the field order determination module is configured to receive the first field order notified by the previous hop network device and report it to the control node when the network device determines that the network device is the tail device, including:
[0217] When receiving the first field sequence notified by the previous hop network device and not receiving the negotiation failure message, reporting the first field sequence to the control node;
[0218] When receiving the first field sequence and the negotiation failure message notified by the previous-hop network device, the negotiation failure message is reported to the control node.
[0219] As an optional implementation manner, the field order determination module is configured to notify all network devices connected to the network device of the field order corresponding to the minimum processing delay when the network device is determined to be an intermediate device, including:
[0220] When it is determined that the processing delays corresponding to the logical processing performed by the network device according to the first field sequence and the second field sequence are the same, the field sequences corresponding to the same processing delays are notified to all network devices connected to the network device.
[0221] As an optional implementation manner, the field order determination module is configured to receive the first field order notified by the previous hop network device and report it to the control node when the network device determines that the network device is the tail device, including:
[0222] When determining to be a tail device, when the first field sequence notified by the previous hop network device is multiple field sequences, randomly select one from the multiple field sequences as the overall optimal header field sequence and report it to the control node, or report the multiple field sequences to the control node.
[0223] As an optional implementation manner, the configured overall optimal header field sequence is multiple, and the intermediate device reassembly and forwarding module is used to reassemble the header fields in the data message according to the overall optimal header field sequence through the network device and then forward the data message to the next network device, including:
[0224] According to the service type of the data message and the priorities of multiple overall optimal header field sequences configured for the service type, the overall optimal header field sequence with the highest priority is selected;
[0225] The data message is reassembled according to the selected overall optimal header field sequence and then forwarded to the next network device.
[0226] The present application also provides a data transmission device, such as Figure 8 As shown, the device includes:
[0227] A field sequence determination module 801 is configured to determine, through a control node, the same overall optimal header field sequence used by all network devices on a network link to forward data packets;
[0228] The field sequence sending module 802 is used to send the overall optimal header field sequence to each network device through the control node, so that the network device reassembles and forwards data packets according to the overall optimal header field sequence.
[0229] As an optional implementation, the field order determination module is configured to determine, through the control node, the same overall optimal header field order used by all network devices on the network link to forward data packets, including any of the following steps:
[0230] Determine the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to the processing logic of different network devices on the network link;
[0231] Determine the optimal header field order based on the sum of the delays of the previous forwarding of the same data packet on the network link;
[0232] By permuting and combining the header fields, multiple alternative header field orders are obtained, and the sum of the delays corresponding to forwarding data packets using each alternative header field order on the network link is calculated to determine the overall optimal header field order.
[0233] As an optional implementation, a field order determination module is configured to determine the overall optimal header field order based on the degree of overlap of field orders corresponding to processing logic of different network devices on a network link through a control node, including:
[0234] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0235] If the field sequence with the highest degree of overlap does not completely overlap, calculate the total delay corresponding to forwarding data packets using the field sequence with the highest degree of overlap on the network link, and determine the field sequence with the smallest total delay as the overall optimal header field sequence.
[0236] As an optional implementation, the field order determination module is configured to determine, through the control node, the overall optimal header field order based on the sum of delays when the same data message was last forwarded on the network link, including:
[0237] Determine the total delay of the last time the same data packet was forwarded on the network link;
[0238] When it is determined that the total delay is less than the overall delay measurement value, and the difference between the total delay and the overall delay measurement value is greater than a set threshold, determining that the header field order in the last forwarding of the same data message is the overall optimal header field order;
[0239] The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
[0240] As an optional implementation, a field order determination module is configured to obtain multiple candidate header field orders by permuting and combining header fields through a control node, and to calculate the sum of delays corresponding to forwarding data packets using each candidate header field order on a network link to determine the overall optimal header field order, including:
[0241] Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field sequence on the network link is calculated.
[0242] The alternative header field sequence with the smallest total delay is selected as the overall optimal header field sequence.
[0243] As an optional implementation, the field order determination module is configured to determine, through the control node, the same overall optimal header field order used by all network devices on the network link to forward data packets, including:
[0244] When determining the field sequence corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, determining the field sequence as the overall optimal header field sequence and sending it to each network device;
[0245] Among them, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
[0246] As an optional embodiment, the device further includes at least one of the following steps:
[0247] The order of fields corresponding to the processing logic reported by the receiving network device;
[0248] The field sequence corresponding to the processing logic of the receiving network device and the processing delay of the data message according to the field sequence corresponding to the processing logic of the receiving network device;
[0249] The order of header fields in the last forwarded packet of the same data reported by the receiving network device and the order of fields corresponding to its own processing logic;
[0250] The latency of the last time the network device forwarded the same data packet, as reported by the receiving network device.
[0251] Example 3
[0252] Based on the same inventive concept, an electronic device is also provided in the embodiment of the present application. Since the electronic device is the electronic device in the method in the embodiment of the present application, and the principle of solving the problem by the electronic device is similar to that of the method, the implementation of the electronic device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0253] Refer to the following Figure 9 An electronic device 90 according to this embodiment of the present application will be described. Figure 9 The electronic device 90 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0254] like Figure 9 As shown, electronic device 90 can be implemented as a general-purpose computing device, such as a terminal device. Components of electronic device 90 may include, but are not limited to, the at least one processor 91 described above, the at least one memory 92 storing processor-executable instructions, and a bus 93 connecting different system components (including memory 92 and processor 91). The processors are processors of various network devices in a multi-hop connection scenario.
[0255] The processor can implement the following steps by running the executable instructions:
[0256] Determine the overall optimal header field order as configured or issued by the control node or negotiated;
[0257] The data message is received, and after logically processing the data message according to the field sequence corresponding to its own processing logic, the data message is reassembled and forwarded according to the overall optimal header field sequence.
[0258] As an optional implementation manner, before determining the overall optimal header field sequence sent by the control node, the processor further performs at least one of the following steps:
[0259] Report the field order corresponding to its own processing logic to the control node;
[0260] Reporting to the control node the field sequence corresponding to its own processing logic and the processing delay of logically processing the data message according to the field sequence corresponding to its own processing logic;
[0261] Report to the control node the header field sequence of the same data message forwarded last time and the field sequence corresponding to its own processing logic;
[0262] Reports the delay of the last time the same data packet was forwarded to the control node.
[0263] As an optional implementation, the overall optimal header field order is determined based on the field overlap of the field orders corresponding to the processing logic of different network devices on the network link; or it is determined based on the total delay when the same data message was forwarded on the network link last time; or it is determined by arranging and combining the header fields to obtain multiple alternative header field orders, and calculating the total delay corresponding to forwarding data messages using each alternative header field order on the network link.
[0264] As an optional implementation, the overall optimal header field order is determined based on the degree of field overlap of field orders corresponding to processing logic of different network devices on the network link:
[0265] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0266] If the field sequence with the highest degree of overlap does not completely overlap, the total delay when the data message is forwarded using the field sequence with the highest degree of overlap on the network link is calculated, and the field sequence with the smallest total delay is determined as the overall optimal header field sequence.
[0267] As an optional implementation manner, the overall optimal header field order is determined based on the sum of delays when the same data packet was last forwarded on the network link. If the sum of delays is less than the overall delay measurement value and the difference between the sum of delays and the overall delay measurement value is greater than a set threshold, the header field order in the last forwarding of the same data packet is the overall optimal header field order.
[0268] The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
[0269] As an optional implementation, the overall optimal header field order is obtained by arranging and combining the header fields to obtain multiple alternative header field orders, and calculating the total delay corresponding to forwarding data packets using each alternative header field order on the network link. The header field order corresponding to the calculated minimum total delay is the overall optimal header field order.
[0270] As an optional implementation, determining the negotiated overall optimal header field order includes:
[0271] When determining to be the head device, it notifies the next-hop network device of the field sequence corresponding to its own processing logic;
[0272] When determining to act as an intermediate device, the device receives a first field sequence notified by the previous-hop network device, obtains a second field sequence corresponding to the processing logic of the next-hop network device, calculates a minimum processing delay corresponding to logical processing by the device according to the first field sequence and the second field sequence, and notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0273] When determining to be the tail device, it receives the first field sequence notified by the previous hop network device and reports it to the control node, which determines the overall optimal header field sequence and sends it to each network device.
[0274] As an optional implementation manner, notifying all network devices connected to the network device of the sequence of fields corresponding to the minimum processing delay includes:
[0275] When it is determined that the difference between the minimum processing delay and the own processing delay is less than a threshold, notifying all network devices connected to the network device of the field sequence corresponding to the minimum processing delay;
[0276] When it is determined that the difference between the minimum processing delay and the own processing delay is not less than a threshold, notifying the next-hop network device of the field sequence corresponding to the minimum processing delay and a negotiation failure message;
[0277] The self-processing delay is the processing delay of receiving the field sequence corresponding to the self-processing logic and processing the data message according to the self-processing logic.
[0278] As an optional implementation manner, when determining to act as a tail device, receiving the first field sequence notified by the previous-hop network device and reporting it to the control node includes:
[0279] When receiving the first field sequence notified by the previous hop network device and not receiving the negotiation failure message, reporting the first field sequence to the control node;
[0280] When receiving the first field sequence and the negotiation failure message notified by the previous-hop network device, the negotiation failure message is reported to the control node.
[0281] As an optional implementation, when determining to act as an intermediate device, the sequence of fields corresponding to the minimum processing delay is notified to all connected network devices, including:
[0282] When it is determined that the processing delays corresponding to the logical processing performed by the network device according to the first field sequence and the second field sequence are the same, the field sequences corresponding to the same processing delays are notified to all network devices connected to the network device.
[0283] In a possible implementation, when determining to be a tail device, receiving the first field sequence notified by the previous-hop network device and reporting it to the control node includes:
[0284] When determining to be a tail device, if the first field sequence received from the previous-hop network device is multiple field sequences, randomly selecting one of the multiple field sequences as the overall optimal header field sequence and reporting it to the control node, or reporting the multiple field sequences to the control node. As an optional embodiment, the configured overall optimal header field sequence is multiple, and after reorganizing the header fields in the data message according to the overall optimal header field sequence, forwarding the data message to the next network device, including:
[0285] According to the service type of the data message and the priorities of multiple overall optimal header field sequences configured for the service type, the overall optimal header field sequence with the highest priority is selected;
[0286] The data message is reassembled according to the selected overall optimal header field sequence and then forwarded to the next network device.
[0287] Bus 93 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a processor or local bus using any of a variety of bus architectures.
[0288] The memory 92 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 921 and / or a cache memory 922 , and may further include a read-only memory (ROM) 923 .
[0289] The memory 92 may also include a program / utility 925 having a set (at least one) of program modules 924, such program modules 924 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0290] The electronic device 90 can also communicate with one or more external devices 94 (e.g., a keyboard, pointing device, etc.), one or more devices that enable a user to interact with the electronic device 90, and / or any device that enables the electronic device 90 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 95. Furthermore, the electronic device 90 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 96. As shown, the network adapter 96 communicates with other modules of the electronic device 90 via a bus 93. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with the electronic device 90, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0291] Refer to the following Figure 10 The electronic device 100 according to this embodiment of the present application is described. Figure 10 The electronic device 100 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0292] like Figure 10 As shown, the electronic device 100 can be expressed in the form of a general-purpose computing device, for example, it can be a terminal device. The components of the electronic device 100 may include, but are not limited to: the at least one processor 101 mentioned above, the at least one memory 102 storing processor-executable instructions, and a bus 103 connecting different system components (including the memory 102 and the processor 101). The processor is the processor of the control node in the multi-hop connection scenario.
[0293] The processor may further implement the following steps by executing the executable instructions:
[0294] Determine the same overall optimal header field order for all network devices forwarding data packets on a network link;
[0295] The overall optimal header field sequence is sent to each network device, so that the network device reassembles and forwards data packets according to the overall optimal header field sequence.
[0296] As an optional implementation, determining that each network device on the network link uses the same overall optimal header field sequence for forwarding data packets, the processor performs any of the following steps:
[0297] Determine the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to the processing logic of different network devices on the network link;
[0298] Determine the optimal header field order based on the sum of the delays of the previous forwarding of the same data packet on the network link;
[0299] By permuting and combining the header fields, multiple alternative header field orders are obtained, and the sum of the delays corresponding to forwarding data packets using each alternative header field order on the network link is calculated to determine the overall optimal header field order.
[0300] As an optional implementation, determining the overall optimal header field order based on the degree of field overlap of field orders corresponding to the processing logic of different network devices on the network link includes:
[0301] If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence;
[0302] If the field sequence with the highest degree of overlap does not completely overlap, calculate the total delay corresponding to forwarding data packets using the field sequence with the highest degree of overlap on the network link, and determine the field sequence with the smallest total delay as the overall optimal header field sequence.
[0303] As an optional implementation, determining the overall optimal header field order based on the sum of the delays of the previous forwarding of the same data message on the network link includes:
[0304] Determine the total delay of the last time the same data packet was forwarded on the network link;
[0305] When it is determined that the total delay is less than the overall delay measurement value, and the difference between the total delay and the overall delay measurement value is greater than a set threshold, determining that the header field order in the last forwarding of the same data message is the overall optimal header field order;
[0306] The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
[0307] As an optional implementation, multiple candidate header field orders are obtained by permuting and combining header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field order on a network link is calculated to determine the overall optimal header field order, including:
[0308] Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field sequence on the network link is calculated.
[0309] The alternative header field sequence with the smallest total delay is selected as the overall optimal header field sequence.
[0310] As an optional implementation, determining a common overall optimal header field sequence used by all network devices on a network link to forward data packets includes:
[0311] When determining the field sequence corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, determining the field sequence as the overall optimal header field sequence and sending it to each network device;
[0312] Among them, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
[0313] As an optional implementation manner, the processor further performs at least one of the following steps:
[0314] The order of fields corresponding to the processing logic reported by the receiving network device;
[0315] The field sequence corresponding to the processing logic of the receiving network device and the processing delay of the data message according to the field sequence corresponding to the processing logic of the receiving network device;
[0316] The order of header fields in the last forwarded packet of the same data reported by the receiving network device and the order of fields corresponding to its own processing logic;
[0317] The latency of the last time the network device forwarded the same data packet, as reported by the receiving network device.
[0318] Bus 103 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a processor or local bus using any of a variety of bus architectures.
[0319] The memory 102 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 1021 and / or a cache memory 1022 , and may further include a read-only memory (ROM) 1023 .
[0320] Memory 102 may also include a program / utility 1025 having a set (at least one) of program modules 1024, such program modules 1024 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0321] The electronic device 100 may also communicate with one or more external devices 104 (e.g., a keyboard, pointing device, etc.), one or more devices that enable a user to interact with the electronic device 100, and / or any device that enables the electronic device 100 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication may occur via an input / output (I / O) interface 105. Furthermore, the electronic device 100 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 106. As shown, the network adapter 106 communicates with other modules of the electronic device 100 via a bus 103. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 100, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0322] Example 4
[0323] In some possible implementations, various aspects of the present application may also be implemented in the form of a program product, which includes program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of each module in the positioning service device according to various exemplary implementations of the present application described in the above "Exemplary Method" section of this specification. For example, the terminal device can be used to determine the overall optimal header field order configured or issued or negotiated by the control node; receive a data message, logically process the data message according to the field order corresponding to its own processing logic, and then reassemble and forward the data message according to the overall optimal header field order.
[0324] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0325] like Figure 11As shown, a program product 110 for data transmission according to an embodiment of the present application is described. The program product 110 may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present application is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0326] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0327] Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0328] The program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0329] It should be noted that although several modules or submodules of the system are mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, depending on the embodiment of the application, the features and functions of two or more modules described above can be embodied in one module. Conversely, the features and functions of one module described above can be further divided and embodied by multiple modules.
[0330] Furthermore, although the operations of the various modules of the present system are described in a specific order in the accompanying drawings, this does not require or imply that the operations must be performed in this specific order, or that all illustrated operations must be performed to achieve the desired results. Additionally or alternatively, certain operations may be omitted, multiple operations may be combined into one operation, and / or one operation may be decomposed into multiple operations.
[0331] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) that contain computer-usable program code.
[0332] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that performs the functions specified in one or more boxes.
[0333] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0334] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1The present invention is a block or a plurality of blocks. After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily come to other embodiments of the present application. This application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary techniques in the art not disclosed in this application. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present application are indicated by the following claims.
[0335] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A data transmission method, characterized in that: Applied to a network device, the method includes: Determining an overall optimal header field sequence configured, issued by a control node, or negotiated; the overall optimal header field sequence is determined based on the degree of field overlap between field sequences corresponding to processing logic of different network devices on a network link; or based on the summed latency of the previous forwarding of the same data message on the network link; or by permuting and combining header fields to obtain multiple candidate header field sequences and calculating the summed latency corresponding to forwarding the data message on the network link using each candidate header field sequence; The data message is received, and after logically processing the data message according to the field sequence corresponding to its own processing logic, the data message is reassembled and forwarded according to the overall optimal header field sequence.
2. The method according to claim 1, characterized in that Before determining the overall optimal header field sequence sent by the control node, at least one of the following steps is also included: Report the field order corresponding to its own processing logic to the control node; Reporting to the control node the field sequence corresponding to its own processing logic and the processing delay when logically processing the data message according to the field sequence corresponding to its own processing logic; Report to the control node the header field sequence of the same data message forwarded last time and the field sequence corresponding to its own processing logic; Reports the delay of the last time the same data packet was forwarded to the control node.
3. The method according to claim 1, characterized in that The overall optimal header field order is determined based on the degree of overlap of field orders corresponding to the processing logic of different network devices on the network link: If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence; If the field sequence with the highest degree of overlap does not completely overlap, the total delay when the data message is forwarded using the field sequence with the highest degree of overlap on the network link is calculated, and the field sequence with the smallest total delay is determined as the overall optimal header field sequence.
4. The method according to claim 1, wherein The overall optimal header field order is determined based on a sum of delays in a previous forwarding of the same data packet on a network link. If the sum of delays is less than an overall delay measurement and a difference between the sum of delays and the overall delay measurement is greater than a set threshold, the header field order in the previous forwarding of the same data packet on the network link is the overall optimal header field order. The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
5. The method according to claim 1, wherein The overall optimal header field order is determined by permuting and combining the header fields to obtain multiple alternative header field orders, and calculating the sum of delays corresponding to forwarding data packets using each alternative header field order on the network link. The header field order corresponding to the calculated minimum sum of delays is the overall optimal header field order.
6. The method according to claim 1, characterized in that Determine the overall optimal header field order for negotiation, including: When determining to be the head device, it notifies the next-hop network device of the field sequence corresponding to its own processing logic; When determining to act as an intermediate device, the device receives a first field sequence notified by the previous-hop network device, obtains a second field sequence corresponding to the processing logic of the next-hop network device, calculates a minimum processing delay corresponding to logical processing by the device according to the first field sequence and the second field sequence, and notifies all network devices connected to the network device of the field sequence corresponding to the minimum processing delay; When determining to be the tail device, it receives the first field sequence notified by the previous hop network device and reports it to the control node, which determines the overall optimal header field sequence and sends it to each network device.
7. The method according to claim 6, characterized in that Notifying all network devices connected to the network device of the sequence of fields corresponding to the minimum processing delay, including: When it is determined that the difference between the minimum processing delay and the own processing delay is less than a threshold, notifying all network devices connected to the network device of the field sequence corresponding to the minimum processing delay; When it is determined that the difference between the minimum processing delay and the own processing delay is not less than a threshold, notifying the next-hop network device of the field sequence corresponding to the minimum processing delay and a negotiation failure message; The self-processing delay is the processing delay of receiving the field sequence corresponding to the self-processing logic and processing the data message according to the self-processing logic.
8. The method according to claim 6, characterized in that When determining to be a tail device, receiving the first field sequence notified by the previous hop network device and reporting it to the control node includes: When receiving the first field sequence notified by the previous hop network device and not receiving the negotiation failure message, reporting the first field sequence to the control node; When receiving the first field sequence and the negotiation failure message notified by the previous-hop network device, the negotiation failure message is reported to the control node.
9. The method according to claim 6, characterized in that When determining to be an intermediate device, the sequence of fields corresponding to the minimum processing delay is notified to all network devices connected to the network device, including: When it is determined that the processing delays corresponding to the logical processing performed by the network device according to the first field sequence and the second field sequence are the same, the field sequences corresponding to the same processing delays are notified to all network devices connected to the network device.
10. The method according to claim 6, characterized in that When determining to be a tail device, receiving the first field sequence notified by the previous hop network device and reporting it to the control node includes: When determining to be a tail device, when the first field sequence notified by the previous hop network device is multiple field sequences, randomly select one from the multiple field sequences as the overall optimal header field sequence and report it to the control node, or report the multiple field sequences to the control node.
11. The method according to claim 1, wherein The configured overall optimal header field sequence is multiple, and after reorganizing the header fields in the data message according to the overall optimal header field sequence, the data message is forwarded to the next network device, including: According to the service type of the data message and the priorities of multiple overall optimal header field sequences configured for the service type, the overall optimal header field sequence with the highest priority is selected; The data message is reassembled according to the selected overall optimal header field order with the highest priority and then forwarded to the next network device.
12. A data transmission method, characterized in that: Applicable to control nodes, including: Determine the same overall optimal header field order for all network devices forwarding data packets on a network link; Sending the overall optimal header field sequence to each network device, so that the network device reassembles and forwards data packets according to the overall optimal header field sequence; Determining that all network devices on a network link use the same optimal header field sequence for forwarding data packets may include any of the following steps: Determine the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to the processing logic of different network devices on the network link; Determine the optimal header field order based on the sum of the delays of the previous forwarding of the same data packet on the network link; By permuting and combining the header fields, multiple candidate header field orders are obtained. The sum of the delays corresponding to forwarding data packets using each candidate header field order on the network link is calculated to determine the overall optimal header field order. When determining the field order corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, the field order is determined to be the overall optimal header field order; wherein, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order, respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
13. The method according to claim 12, characterized in that The optimal header field sequence is determined based on the degree of overlap between the field sequences corresponding to the processing logic of different network devices on the network link, including: If the field sequence with the highest degree of overlap completely overlaps, the completely overlapping field sequence is the overall optimal header field sequence; If the field sequence with the highest degree of overlap does not completely overlap, calculate the total delay corresponding to forwarding data packets using the field sequence with the highest degree of overlap on the network link, and determine the field sequence with the smallest total delay as the overall optimal header field sequence.
14. The method according to claim 12, characterized in that The optimal header field order is determined based on the sum of the previous delays when the same data packet was forwarded on the network link. This includes: Determine the total delay of the last time the same data packet was forwarded on the network link; When it is determined that the total delay is less than the overall delay measurement value, and the difference between the total delay and the overall delay measurement value is greater than a set threshold, determining that the header field order in the last forwarding of the same data message is the overall optimal header field order; The overall delay measurement is the sum of the delays corresponding to each network device on the network link adopting the store-and-forward method.
15. The method according to claim 12, characterized in that Multiple candidate header field orders are obtained by permuting and combining the header fields. The sum of the delays corresponding to forwarding data packets using each candidate header field order on the network link is calculated to determine the optimal overall header field order, including: Multiple candidate header field sequences are obtained by permuting and combining the header fields, and the sum of the delays corresponding to forwarding data packets using each candidate header field sequence on the network link is calculated. The alternative header field sequence with the smallest total delay is selected as the overall optimal header field sequence.
16. The method according to any one of claims 12 to 15, characterized in that: It also includes at least one of the following steps: The order of fields corresponding to the processing logic reported by the receiving network device; The field sequence corresponding to the processing logic of the receiving network device and the processing delay of the data message according to the field sequence corresponding to the processing logic of the receiving network device; The order of header fields in the last forwarded packet of the same data reported by the receiving network device and the order of fields corresponding to its own processing logic; The latency of the last time the network device forwarded the same data packet, as reported by the receiving network device.
17. A data transmission device, characterized in that: The device comprises: A field sequence determination module is configured to determine, through a network device, an overall optimal header field sequence configured, issued by a control node, or negotiated; the overall optimal header field sequence is determined based on the degree of field overlap of field sequences corresponding to the processing logic of different network devices on a network link; or based on the sum of the delays when the same data message was previously forwarded on the network link; or by permuting and combining header fields to obtain multiple alternative header field sequences and calculating the sum of the delays corresponding to forwarding data messages using each alternative header field sequence on the network link; The reassembly and forwarding module is used to receive data messages through the network device, perform logical processing on the data messages according to the field order corresponding to its own processing logic, and then reassemble and forward the data messages according to the overall optimal header field order.
18. A data transmission device, characterized in that: The device comprises: A field sequence determination module is used to determine, through a control node, the same overall optimal header field sequence used by all network devices on the network link to forward data packets; A field sequence sending module, configured to send the overall optimal header field sequence to each network device through a control node, so that the network device reassembles and forwards data packets according to the overall optimal header field sequence; The field order determination module is specifically configured to perform any of the following steps: Determine the overall optimal header field sequence based on the degree of overlap of field sequences corresponding to the processing logic of different network devices on the network link; Determine the optimal header field order based on the sum of the delays of the previous forwarding of the same data packet on the network link; By permuting and combining the header fields, multiple candidate header field orders are obtained. The sum of the delays corresponding to forwarding data packets using each candidate header field order on the network link is calculated to determine the overall optimal header field order. When determining the field order corresponding to the minimum processing delay reported by the tail device and no negotiation failure message is received, the field order is determined to be the overall optimal header field order; wherein, the minimum processing delay is the smaller value corresponding to the logical processing performed by the network device according to the first field order and the second field order, respectively, the first field order is the field order notified by the previous hop network device, and the second field order is the field order corresponding to the obtained next hop network device processing logic.
19. An electronic device, characterized in that: include: processor; A memory for storing processor-executable instructions; wherein the processor implements the method according to any one of claims 1 to 11, or implements the method according to any one of claims 12 to 16 by running the executable instructions.
20. A computer readable and writable storage medium having computer instructions stored thereon, characterized in that: When the instruction is executed by a processor, the method described in any one of claims 1 to 11 or the method described in any one of claims 12 to 16 is implemented.
Citation Information
Patent Citations
Message processing apparatus, communication system and message processing method
JP2002223261A