Message forwarding method supporting packet retransmission between network nodes

By detecting packet loss between network nodes and performing fast retransmission, the problem of high packet loss rate and poor transmission reliability of unreliable links between network nodes is solved, and efficient and reliable data transmission is achieved.

WO2025107349A1PCT designated stage expired Publication Date: 2025-05-30CHENGDU HAIWANG NETWORK TECH CO LTD +3

Patent Information

Application Number
PCT/CN2023/135768
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-21
Filing Date
2023-12-01
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In network communication, packet loss, delay or out of order may occur during transmission of data packets, resulting in a decline in transmission quality. When the prior art deals with packet loss problem of unreliable links between two network nodes, the packet loss rate is high and the transmission reliability is poor.

Method used

A packet forwarding method that supports retransmission of packets by network nodes is proposed. By detecting packet loss on the transmission link between adjacent network nodes, and matching the RFID field of the received packets in the downstream node, for packets belonging to the same stream, packet loss detection is performed according to the RPN field, and a feedback message is constructed. The feedback message carries the message sequence number RPN, and the destination address is filled in as RSIP, and sent to the upstream node i. Based on the received feedback message, the upstream node i determines the lost message, retrieves the message from the sending buffer area, and reassigns the sequence number in sequence according to the current sequence number allocation of stream F(i,j), and modifyes the RPN field of the message header to the current sequence number value, and sets the RP field to 1, writes it to the sending buffer area and retransmits.

Benefits of technology

It realizes accurate detection and rapid retransmission of packet loss problems in transmission links between network nodes during data forwarding, improves the reliability and efficiency of data transmission, reduces the network packet loss rate, and realizes the timeliness and targetedness of fault processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023135768_30052025_PF_FP_ABST
    Figure CN2023135768_30052025_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses a message forwarding method supporting packet retransmission between network nodes, aiming to support packet loss detection and fast retransmission between network nodes during message forwarding. The message forwarding method comprises: 1) an upstream node uniformly numbers messages in the same flow, fills in message sequence numbers, a flow identifier, an upstream node network address and a retransmitted packet flag field, sequentially writes the messages into a send buffer on the basis of the sequence numbers, copies the messages from the buffer and sends the messages according to the current sending rate; 2) a downstream node performs packet loss detection on the basis of the message sequence numbers, constructs feedback information and sends same to the upstream node; and 3) the upstream node determines lost messages on the basis of the received feedback information, reassigns sequence numbers and retransmits the messages. The method of the present application can carry out packet loss detection and fast retransmission between network nodes, effectively reducing the packet loss rate in a network and enhancing the transmission reliability of data packets in the network.
Need to check novelty before this filing date? Find Prior Art

Description

A message forwarding method supporting network node retransmission of packets

[0001] Related applications

[0002] This application claims priority to Chinese patent application No. 2023115538410, entitled “A message forwarding method supporting network node retransmission of packets,” filed on November 21, 2023, which is hereby incorporated by reference. Technical Field

[0003] The present application belongs to the field of network technology and communication technology, and specifically relates to a message forwarding method that supports retransmission of packets by network nodes. Background Art

[0004] In network communications, data packets may be lost, delayed, or out of order during transmission, resulting in poor transmission quality. In traditional network communications, reliable data transmission typically utilizes end-to-end packet loss detection, fast retransmit, and timeout retransmit mechanisms. After receiving three consecutive duplicate ACKs, the sender considers the packet lost and triggers a fast retransmit. If no ACK message is received within a specified time, a timeout retransmit is triggered.

[0005] These methods for addressing packet loss also present some issues. For example, out-of-order packet transmissions can lead to unnecessary retransmissions, wasting resources and bandwidth. High network latency can lead to frequent retransmissions, reducing transmission efficiency. Timeout settings can also be difficult to adapt to changes in end-to-end network environments. These issues can negatively impact transmission performance in certain network environments.

[0006] To address the aforementioned issue of decreased transmission efficiency caused by packet loss, researchers have proposed various improvement methods. The first approach is to improve transmission protocols and mechanisms, such as congestion control retransmission mechanisms and selective retransmission, to improve the reliability and efficiency of data transmission. However, the effectiveness of these improvement mechanisms is limited to the actual transmitting and receiving ends, which may lead to delays in fault handling. The second approach is to optimize network equipment by supporting caching, multiple queues, and multiple priorities on network equipment to reduce the packet loss rate of network equipment. This method can alleviate network packet loss to a certain extent, but it still lacks a guarantee for packet loss on unreliable links between two optimized network devices.

[0007] Summary of the Invention

[0008] The purpose of this application is to overcome the defects of the prior art in processing the packet loss problem of an unreliable link between two network nodes, such as high packet loss rate and poor transmission reliability.

[0009] To achieve the above objectives, the present application proposes a message forwarding method that supports packet retransmission by network nodes, which is used to detect packet loss on a transmission link between adjacent network nodes and retransmit messages; the transmission link is used to carry message transmission between adjacent network nodes, and the transmission link includes network equipment and physical lines;

[0010] Let adjacent network nodes i and j be two network nodes reachable by one hop in the network. Define all messages sent by network node i to network node j that support inter-node retransmission as a flow F(i, j). Network node i is called the upstream node of flow F(i, j), and j is called the downstream node.

[0011] The method for forwarding a packet of a retransmission packet of a network node includes:

[0012] Step 1) For messages that need to be retransmitted and whose next-hop forwarding node is j, upstream node i uniformly numbers them to obtain a message sequence number; fills in the message header fields: the RPN field is filled with the message sequence number, the RFID field is filled with the identifier of flow F(i,j), the RSIP field is filled with the network address of i, and the RP field is filled with the set non-retransmission flag; the messages are written to the send buffer in sequence, and the messages are copied from the buffer according to the current sending rate and sent;

[0013] Step 2) Downstream node j matches the RFID field of the received message. For messages belonging to the same flow F(i, j), it performs packet loss detection based on the RPN field and constructs a feedback message. The feedback message carries the message sequence number RPN and the destination address is filled in as RSIP, and is sent to upstream node i.

[0014] Step 3) Based on the received feedback message, upstream node i determines the lost message, takes the message from the send buffer, and reassigns the sequence number in order according to the current sequence number allocation of flow F(i,j); modifies the RPN field in the message header to the current sequence number value, sets RP to the set retransmission flag, and writes it to the send buffer for retransmission.

[0015] As an improvement to the above method, the network node reachable in one hop is a network node that is calculated and determined based on routing rules to be the next hop forwarding node for a message to be forwarded;

[0016] The routing rules include: shortest path routing, random routing, link state-based routing and DHT routing.

[0017] As an improvement to the above method, the fields in the message header further include a reset packet flag RS field;

[0018] The fields of the message header are located between the network layer basic header and the application data;

[0019] The expansion method of the message header field includes: using a network layer header expansion, using a transport layer header expansion, and using both a network layer and a transport layer header expansion; the network node reads, fills in, and modifies the message header field;

[0020] in:

[0021] The RFlag field is a flag used to identify whether the message supports the retransmission capability between adjacent network nodes;

[0022] The RFID field is the flow identifier, which is the identifier of the flow in which the message is currently located. The flow identifier is used to uniquely represent a flow F(i, j);

[0023] The RPN field is the message sequence number, which is used to carry the message number in flow F(i, j). The numbering space is finite in length and is uniformly numbered by upstream node i according to the order in which the messages are sent.

[0024] The RSIP field is the network address of the upstream node. This optional field identifies the address information of the upstream node of the flow F(i, j) where the message is located. It is used as the destination address when the downstream node sends feedback information. When the downstream node maintains this information locally, it does not carry the RSIP field in the message.

[0025] The RP field is the retransmission flag, which is used to identify whether the current message is a retransmission message. When the upstream node determines that the message is to be retransmitted, it first sets the RP field in the message to the set retransmission flag. For data messages with the RP set as the set retransmission flag, the policy is implemented to prioritize the transmission of the message.

[0026] The RS field is a reset packet flag used to identify whether a flow state reset occurs. When a reset occurs, the RS field of the first message is set to the set reset flag, and the RPN is set to the set initial value. The reasons for the flow state reset include: active reset by the upstream node and restart after an upstream node failure.

[0027] As an improvement to the above method, the method for generating the flow identifier includes: directly concatenating the network addresses of the upstream node and the downstream node, or using a digest value of the concatenated addresses.

[0028] As an improvement to the above method, the RPN field numbering rule is as follows: the RPN of the first message is the set initial value, and the RPNs of subsequent messages increase successively. When the number allocation reaches the upper limit, it is cyclically used starting from the set initial value; the sequence number of the retransmitted message is reallocated.

[0029] As an improvement to the above method, the network node supports the following functions:

[0030] Support routing and forwarding functions of general network equipment;

[0031] As an upstream node, it maintains a send buffer for each flow and supports using the send buffer to cache messages in the flow. Messages are written to the buffer in sequence according to the flow forwarding rate. When the buffer is full, the buffer is deleted and updated in the order in which the messages enter. The buffer size is set according to the port forwarding rate and transmission delay parameters.

[0032] As an upstream node, it supports unified numbering of messages in the flow;

[0033] Supports reading, filling and modifying some fields in the message header; the fields include: destination address, RFlag, RFID, RPN, RSIP, RP and RS;

[0034] Support building, parsing, sending and receiving feedback messages;

[0035] Supports packet loss detection based on message sequence numbers and message retransmission based on feedback messages.

[0036] As an improvement to the above method, the packet loss detection is used by the downstream node to determine whether a packet has been lost in the transmission link based on the sequence number of the message received in the flow. The packet loss detection methods include: a timeout detection method and a message disorder detection method.

[0037] As an improvement to the above method, the feedback message is used by the downstream node j in the flow F(i, j) to notify the upstream node i of the reception status of the message, and supports the separate construction of the feedback message message and the method of carrying it in the data message; the destination address of the feedback message is filled in with the network address of node j.

[0038] As an improvement to the above method, in the event of feedback message packet loss in the transmission link, the following methods are adopted to improve transmission reliability:

[0039] 1) The feedback message uses the inter-node retransmission capability of the network. The following fields are added to the header: RFlag, RFID, RPN, RSIP, RP, and RS. The RFlag field is set to the configured retransmission flag, the RFID field is filled in with the identifier of flow F(i, j), the RPN field is filled in with the sequence number of the feedback message in F(i, j), the RSIP field is filled in with the network address of node j, the RP field is set to the configured non-retransmission flag, and the RS field is set to the configured non-reset flag.

[0040] 2) When the upstream node receives the feedback message, it sends a reply message NACKReply to the upstream node. If the downstream node does not receive the NACKReply within the set time threshold, it resends the feedback message to the upstream node.

[0041] As an improvement to the above method, when a data packet is retransmitted:

[0042] Reassign the data packet sequence number to the retransmitted message, update the RPN field, and set the RP field to the set retransmission flag;

[0043] The execution strategy makes the retransmitted message be transmitted first; the strategy includes: increasing the queue priority or adjusting the routing strategy.

[0044] Compared with the prior art, the advantages of this application are:

[0045] The method of the present application designs a message forwarding method that supports packet loss detection and rapid retransmission between network nodes, which can more accurately perform rapid data retransmission during the forwarding process, thereby facilitating timely and targeted fault handling and improving data transmission reliability and efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] FIG1 is a sequence diagram of a message forwarding method supporting retransmission of packets by network nodes;

[0047] Figure 2 shows the message structure that supports retransmission of packets by network nodes;

[0048] FIG3 shows a flow chart of message forwarding that supports retransmission of packets by network nodes;

[0049] FIG4 is a schematic diagram showing the interaction of entities supporting packet retransmission by a network node. DETAILED DESCRIPTION

[0050] The technical solution of this application is described in detail below with reference to the accompanying drawings.

[0051] To address the problem of packet loss on unreliable links between two network nodes, the applicant has discovered that timely packet loss detection and rapid retransmission between network nodes can help reduce the packet loss rate between network nodes, achieve timely and targeted troubleshooting, and effectively improve the reliability and efficiency of data transmission. Therefore, this application proposes a message forwarding method that supports packet retransmission by network nodes, which is used to assist in packet loss detection and rapid retransmission between network nodes.

[0052] The purpose of this application is to address the packet loss problem of unreliable links between two network nodes, and to propose a message forwarding method that supports network node retransmission of packets. The method can detect and retransmit packet loss problems in the transmission link between network nodes during the data forwarding process, so as to achieve timely and targeted fault handling, reduce the network packet loss rate, and improve data transmission reliability and efficiency.

[0053] In order to achieve the above objectives, the present application proposes a message forwarding method that supports network node retransmission of packets, which is used to detect packet loss on a transmission link between adjacent network nodes and retransmit messages.

[0054] Adjacent network nodes i and j are assumed to be two network nodes reachable by one hop in the network. The transmission link is used to carry the message transmission between adjacent network nodes. The transmission link can be composed of network equipment and physical lines. All messages sent by node i to node j that support inter-node retransmission capability, that is, RFlag = 1, are defined as a flow F(i, j). Network node i is called the upstream node of flow F(i, j), and j is called the downstream node.

[0055] Among them, a network node that is reachable in one hop refers to a network node that can be calculated and determined to be the next-hop forwarding node for a message to be forwarded based on routing rules; there is packet loss on the transmission link between the next-hop forwarding node and the current network node; routing rules include: shortest path routing, random routing, link state-based routing and DHT routing.

[0056] Each network node has the following functions:

[0057] 1) Possess routing and forwarding functions of general network equipment;

[0058] 2) As an upstream node, it maintains a send buffer for each flow and supports using the send buffer to cache messages in the flow. Messages are written to the buffer in sequence according to the flow forwarding rate. When the buffer is full, the buffer is deleted and updated in the order in which the messages enter. The buffer size needs to be set according to parameters such as port forwarding rate and transmission delay. The larger the buffer, the better the transmission reliability between adjacent nodes.

[0059] 3) As an upstream node, it supports unified numbering of messages in the flow;

[0060] 4) Ability to read, fill in and modify some fields in the message header, including: destination address, RFlag, RFID, RPN, RSIP, RP and RS;

[0061] 5) Construct, parse, send and receive feedback messages;

[0062] 6) Packet loss detection is performed based on the message sequence number, and message retransmission is performed based on the feedback message.

[0063] Packet loss detection is used by downstream nodes to determine whether packets have been lost in the transmission link based on the sequence numbers of the packets received in the flow. Packet loss detection methods include: timeout detection method and packet out-of-order detection method.

[0064] As shown in Figure 1, the message forwarding method includes:

[0065] Step 1) Upstream node i matches the RFlag field of the message to be forwarded. For messages with RFlag = 1 and the next-hop forwarding node is j, it uniformly numbers the message sequence number and fills in the relevant fields of the message header, where the RPN field is filled with the message sequence number, the RFID field is filled with the identifier of flow F(i, j), the RSIP field is filled with the network address of i, and the RP field is set to 0; the messages are written to the send buffer in sequence, and the messages are copied from the buffer according to the current sending rate and sent;

[0066] The message header fields include: RFlag, RFID, RPN, RSIP, RP, and RS. These fields are located between the network layer header and the application data. Extension methods include: network layer header extension, transport layer header extension, and both network layer and transport layer header extension. Network nodes read, fill in, and modify these fields.

[0067] The flag bit RFlag is used to identify whether the message supports the retransmission capability between adjacent network nodes. When RFlag = 1, it indicates support, and when RFlag = 0, it indicates non-support;

[0068] The flow identifier RFID is filled in with the identifier of the flow in which the message is currently located. This identifier is used to uniquely represent a flow F(i,j). Its generation method includes: directly splicing the network addresses of the upstream node and the downstream node to obtain [RSIP:RDIP] and using the digest value of the spliced ​​address Hash[RSIP:RDIP];

[0069] The packet sequence number (RPN) carries the number of the packet in flow F(i, j). The numbering space is finite and is uniformly numbered by upstream node i in the order in which the packets are sent. The first packet has an RPN of 0, and the RPNs of subsequent packets are incremented by 1. When the numbering limit is reached, it is recycled starting from 0. Retransmitted packets require a new sequence number.

[0070] The upstream node network address RSIP is an optional field that identifies the address of the upstream node of the flow F(i, j) to which the message belongs. It is used as the destination address when the downstream node sends feedback information. The downstream node can maintain this information locally, so it is not necessary to carry the RSIP field in the message.

[0071] The retransmission packet flag RP is used to identify whether the current message is a retransmission message. When the upstream node determines that the message is to be retransmitted, it will first set the RP field in the message to 1. For data messages with RP=1, the corresponding policy is supported to enable the message to be transmitted first.

[0072] The reset packet flag RS is used to identify whether a flow state reset occurs. When a reset occurs, the RS field of the first message needs to be set to 1 and the RPN field needs to be set to 0. The reasons for the flow state reset include: active reset by the upstream node and restart after the upstream node fails.

[0073] Step 2) Downstream node j matches the RFID field of the received message. For messages belonging to the same flow F(i, j), it performs packet loss detection based on the RPN field, constructs a feedback message with the message sequence number RPN and the destination address filled in as RSIP, and sends it to upstream node i.

[0074] Feedback messages are used by downstream node j in flow F(i,j) to notify upstream node i of the receipt status of messages. Feedback messages can be constructed independently or carried in data messages. The destination address of the feedback message NACK is filled in with the network address of node j, and the message should carry the lost data message sequence number RPN.

[0075] If feedback messages are lost during transmission, methods to improve transmission reliability include:

[0076] 1) The feedback message supports the use of the retransmission capability between network nodes. The relevant fields are added to the header, the RFlag field is set to 1, the RFID field is filled with the identifier of the flow F(i, j), the RPN field is filled with the sequence number of the feedback message in F(i, j), the RSIP field is filled with the network address of node j, the RP field is set to 0, and the RS field is set to 0.

[0077] 2) When the upstream node receives a NACK feedback message, it sends a reply message NACKReply to the upstream node. If the downstream node does not receive the NACKReply within the time threshold, it resends the NACK to the upstream node.

[0078] Step 3) Based on the received feedback message, upstream node i determines the lost message, takes the message from the send buffer, and reassigns the sequence number in order according to the current sequence number allocation of flow F(i,j); modifies the RPN field in the message header to the current sequence number value, sets the RP field to 1, writes it to the send buffer, and retransmits it.

[0079] When a data packet is retransmitted:

[0080] Reassign the data packet sequence number to the retransmitted message, update the RPN field, and set the RP field to 1;

[0081] Implement corresponding strategies to give priority to retransmitted messages. Possible methods include: increasing queue priority and adjusting routing strategies.

[0082] In order to make the technical solution of the present application clearer, the technical solution of the present application is described in detail below with reference to the accompanying drawings and embodiments.

[0083] As shown in Figure 2, an embodiment of the present application provides a method for designing a message structure based on IPv6. In this embodiment, the fast retransmit-related fields are extended using an IPv6 extension header. The Next Header field in the IPv6 basic header is filled with 0x99, indicating that the next extension header is a fast retransmit extension header. The value filled in the Next Header field of the fast retransmit extension header should point to a transport layer protocol, such as TCP or other new transport layer protocols.

[0084] In this embodiment:

[0085] RFlag: 1 bit, used to indicate whether to enable the fast retransmission level, 1: enabled, 0: disabled.

[0086] RP: 1 bit, used to mark whether the data packet is a normal packet or a retransmission packet, which can be used for RTO calculation, etc.

[0087] RS: 1 bit, used to mark whether the data packet is reset. When RPN=0, this flag bit will be checked. 1: reset sequence number, 0: cyclic use.

[0088] RFID: 4 bytes, used to carry the fast retransmit flow identifier, which is the hash value of the forwarding and second network node addresses.

[0089] RPN: 4 bytes, used to carry the sequence number of the data packet in the fast retransmit flow, with a value range of 0 to 232-1.

[0090] RSIP: 16 bytes, used to carry the IP address of the first network node of the fast retransmit flow.

[0091] As shown in Figure 3, an embodiment of the present application provides a flow chart for packet forwarding that supports network node retransmission. Network nodes i and j are the upstream and downstream nodes of flow F(i, j), respectively. If packet loss occurs on the transmission link between nodes i and j, the steps for implementing packet loss detection and fast retransmission between nodes i and j based on the relevant fields carried in the message are as follows:

[0092] Step 1) For data packets that require the fast retransmission capability between network nodes, a fast retransmission extension header needs to be added, with the RFlag field set to 1 and the RP and RS fields set to 0;

[0093] Step 2) Upstream node i detects all messages with RFlag = 1 and defines the messages forwarded to downstream node j as a fast retransmit flow F(i, j). The flow identifier RFID = HASH[IP(i):IP(j)] is calculated. The messages in F(i, j) are uniformly numbered to obtain the sequence number RPN. The RPN, RFID, and RSIP fields are filled in the fast retransmit extension header and written into the send buffer in sequence number order.

[0094] Step 3) Upstream node i copies the message from the buffer according to the sending rate and sends it;

[0095] Step 4) Downstream node j detects the destination address field of the received message and checks the RPN for messages whose destination address is the j network address and is RFID-related, to detect packet loss. For lost messages, a separate feedback message is constructed, adding an extension header, setting RFlag to 1, and filling the RPN field with the sequence number in F(i, j). The message is then sent to node i using the retransmission capability.

[0096] Step 5) Upstream node i determines the lost data packet based on the received feedback message; retrieves the corresponding message from the buffer, assigns a new sequence number RPN' and updates it, and sets the RP field in the message to 1, and retransmits the data packet to network node j.

[0097] Step 6) The process ends.

[0098] As shown in Figure 4, an embodiment of the present application provides a schematic diagram of entity interactions supporting message forwarding for retransmission of packets by network nodes. In this embodiment, the message feedback message NACK also uses the retransmission capability to improve transmission reliability. The following describes the interaction between network nodes i and j, taking the packet loss of the messages numbered seq(4), seq(6), and NACK[6] as an example.

[0099] The functions of network node i are as follows:

[0100] As an upstream node, it is responsible for maintaining the send buffer for flow F(i,j), assigning sequence numbers to the messages in F(i,j), and judging the packet loss in F(i,j) based on the NACK message feedback message sent by node j. It then reallocates sequence numbers to the lost messages and retransmits them.

[0101] As a downstream node, it has the ability to detect packet loss in flow F(i,j) based on the RPN of the received message, and supports constructing and sending a message feedback message NACK' to network node j.

[0102] The functions of network node j are as follows:

[0103] As a downstream node, it is responsible for detecting packet loss based on the RPN field in the received message in flow F(i,j), and supports constructing and sending a message feedback message NACK to network node j;

[0104] As an upstream node, it is responsible for maintaining the sending buffer for flow F(i,j), assigning sequence numbers to NACK messages as messages in flow F(i,j), and judging the NACK packet loss in F(i,j) based on the message feedback message NACK' sent by node i. It reallocates sequence numbers for the lost messages and retransmits them.

[0105] The specific steps for message forwarding are as follows:

[0106] Step 1) Network node i numbers the message F(i,j) uniformly, fills in the relevant fields, and writes it into the send buffer;

[0107] Step 2) Network node i copies packets seq(1) to seq(8) from the buffer in order and sends them. Assume that packets seq(4) and seq(6) are lost during the transmission process.

[0108] Step 3) Network node j uses the out-of-order packet loss detection algorithm to detect packet loss of seq(4) and seq(6) in flow F(i,j);

[0109] Step 4) Network node j constructs feedback message packets NACK[4] and NACK[6], and puts the packets in the stream F(i, j) with uniform numbering, so that NACK[4] corresponds to seq(5) in stream F(i, j), and NACK[6] corresponds to seq(7) in stream F(i, j);

[0110] Step 5) Network node j copies packets seq(3) to seq(8) from the buffer in order and sends them. Assume that packet seq(7) is lost during the transmission.

[0111] Step 6) Network node i receives NACK[4], takes out the corresponding message from the cache, renumbers the message into seq(10), and updates the RPN and RP fields in the message;

[0112] Step 7) Network node i uses the out-of-order packet loss detection algorithm to detect packet loss of seq(7) in stream F(i,j), constructs a feedback message packet NACK'[7], puts the message in stream F(i,j) and uniformly numbers it, and obtains NACK'[7] corresponding to seq(11) in stream F(i,j);

[0113] Step 8) Network node i copies messages seq(9) to seq(12) from the buffer in order and sends them;

[0114] Step 9) Network node j receives NACK'[7], takes out the corresponding message from the cache, renumbers the message into seq(10) in flow F(i,j), and updates the RPN and RP fields in the message;

[0115] Step 10) Network node j copies messages seq(9) to seq(13) from the buffer in order and sends them;

[0116] Step 11) Network node i receives NACK[6], takes out the corresponding message from the cache, renumbers the message into seq(13), and updates the RPN and RP fields in the message;

[0117] Step 12) Network node i copies the message seq(13) from the buffer in sequence and sends it.

[0118] The method of the present application designs a message forwarding method that supports packet loss detection and rapid retransmission between network nodes, which can more accurately perform rapid data retransmission during the forwarding process, thereby facilitating timely and targeted fault handling and improving data transmission reliability and efficiency.

[0119] Finally, it should be noted that the above embodiments are intended only to illustrate the technical solutions of this application and are not intended to limit the scope of the present invention. Although this application has been described in detail with reference to the embodiments, it should be understood by those skilled in the art that modifications or equivalent substitutions to the technical solutions of this application do not depart from the spirit and scope of the technical solutions of this application and should be encompassed by the claims of this application.

Claims

1. A packet forwarding method for supporting network node retransmission packets, which is used to detect packet loss on the transmission link between adjacent network nodes and retransmit packets; the transmission link is used to carry packet transmission between adjacent network nodes, and the transmission link includes network devices and physical lines; Set adjacent network nodes i and j, which are two network nodes that are one-hop reachable in the network routing; all packets sent by network node i to network node j that support the use of the inter-node retransmission ability are defined as a flow F(i,j), network node i is called the upstream node of flow F(i,j), and j is called the downstream node; The packet forwarding method for the network node to retransmit packets includes: Step 1) The upstream node i uniformly numbers the packets that need to be retransmitted and whose next-hop forwarding node is j to obtain a packet sequence number; fill in the packet header fields: the RPN field is filled with the packet sequence number, the RFID field is filled with the identifier of flow F(i,j), the RSIP field is filled with the network address of i, and the RP field is filled with a set non-retransmission identifier; write the packets into the send buffer in sequence, and copy the packets from the buffer according to the current sending rate and send them; Step 2) The downstream node j matches the RFID field of the received packet. For packets belonging to the same flow F(i,j), packet loss detection is performed according to the RPN field, and a feedback message is constructed; the feedback message carries the packet sequence number RPN, and the destination address is filled with RSIP and sent to the upstream node i; Step 3) The upstream node i determines the lost packets based on the received feedback message, retrieves the packets from the send buffer, reallocates the sequence numbers in sequence according to the current sequence number allocation situation of flow F(i,j); modify the RPN field in the packet header to the current sequence number value, and set RP to the set retransmission identifier, write it into the send buffer for retransmission.

2. The packet forwarding method for supporting network node retransmission packets according to claim 1, characterized in that, The network nodes that are one-hop reachable in the routing refer to the network nodes that are calculated and determined to be the next-hop forwarding node of a certain packet to be forwarded based on the routing rules; The routing rules include: shortest path routing, random routing, link state-based routing, and DHT routing.

3. The packet forwarding method for supporting network node retransmission packets according to claim 1, characterized in that, The fields of the packet header further include a reset packet flag RS field; The fields of the packet header are located between the network layer base header and the application data; The extension methods of the fields of the packet header include: using network layer header extension, using transport layer header extension, and using common extension of network layer and transport layer headers; network nodes read, fill in, and modify the fields of the packet header; Among them: The RFlag field is a flag bit used to identify whether the packet supports the use of the inter-adjacent network node retransmission ability; The RFID field is a flow identifier, which is the identifier of the current flow where the packet is located; the identifier of the flow is used to uniquely represent a flow F(i,j); The RPN field, which is the message sequence number, is used to carry the number of the message in the flow F(i,j); the space of the number is of finite length and is uniformly numbered by the upstream node i in the message sending order; The RSIP field, which is the network address of the upstream node, is an optional field that identifies the address information of the upstream node of the flow F(i,j) where the message is located; when the downstream node sends feedback information, it is filled as the destination address; when the downstream node maintains this information locally, the RSIP field is not carried in the message; The RP field, which is the retransmission packet flag, is used to identify whether the current message is a retransmission message. When the upstream node determines to retransmit a message, it first sets the RP field in the message to the set retransmission identifier; for a data message with RP being the set retransmission identifier, a support execution policy enables the message to be preferentially transmitted; The RS field, which is the reset packet flag, is used to identify whether a flow state reset has occurred. When a reset occurs, the RS field of the first message is set to the set reset identifier, and the RPN is set to the set initial value; the reasons for the flow state reset include: the upstream node actively resets and the upstream node restarts after a failure.

4. The message forwarding method for supporting retransmission packets by network nodes according to claim 3, characterized in that, the method for generating the identifier of the flow includes: directly splicing the network addresses of the upstream node and the downstream node, or using the digest value of the spliced address.

5. The message forwarding method for supporting retransmission packets by network nodes according to claim 3, characterized in that, the numbering rule of the RPN field is: the RPN of the first message is the set initial value, the RPN of subsequent messages increases sequentially. When the numbering reaches the upper limit, it starts to be cyclically used from the set initial value; the sequence number of the retransmitted message is reallocated.

6. The message forwarding method for supporting retransmission packets by network nodes according to claim 3, characterized in that, the network node supports the following functions: supporting the routing and forwarding function of general network devices; as an upstream node, maintaining a transmission buffer for each flow and supporting caching messages in the flow using the transmission buffer; writing messages into the buffer in sequence according to the flow forwarding rate. When the buffer is full, deleting and updating the buffer in the order in which the messages enter; the size of the buffer is set according to the port forwarding rate and the transmission delay parameter; as an upstream node, supporting uniformly numbering the messages in the flow; supporting reading, filling, and modifying some fields of the message header; the some fields include: destination address, RFlag, RFID, RPN, RSIP, RP, and RS; supporting constructing, parsing, sending, and receiving feedback messages; supporting packet loss detection based on the message sequence number and message retransmission based on the feedback message.

7. The message forwarding method for supporting retransmission packets by network nodes according to claim 1, characterized in that, the packet loss detection is used for the downstream node to judge whether a packet is lost in the transmission link based on the sequence number situation of the messages received in the flow. The methods of packet loss detection include: the timeout detection method and the message out-of-order detection method.

8. The message forwarding method for supporting retransmission packets by network nodes according to claim 1, characterized in that, The feedback message is used for the downstream node j in the flow F(i, j) to notify the upstream node i of the reception status of the message, and supports the methods of separately constructing the feedback message packet and carrying it in the data packet; the destination address of the feedback message is filled with the network address of node j.

9. The message forwarding method for supporting retransmission of packets by a network node according to claim 8, characterized in that for the case where the feedback message is lost in the transmission link, the methods for improving transmission reliability include: 1) The feedback message packet uses the retransmission capability between network nodes, and fields are added to the header: RFlag, RFID, RPN, RSIP, RP, and RS; among them, the RFlag field is set to the set retransmission usage identifier, RFID is filled with the identifier of the flow F(i, j), RPN is filled with the sequence number of the feedback message packet in F(i, j), RSIP is filled with the network address of node j, RP is set to the set non-retransmission identifier, and RS is set to the set non-reset identifier; 2) When the upstream node receives the feedback message, it sends a reply message NACKReply to the upstream node. If the downstream node does not receive NACKReply within the set time threshold, it resends the feedback message to the upstream node.

10. The message forwarding method for supporting retransmission of packets by a network node according to claim 1, characterized in that when retransmitting the data packet: reassigning the data packet sequence number for the retransmitted packet, updating the RPN field, and at the same time setting the RP field to the set retransmission identifier; executing a policy to give priority to the retransmitted packet; the policy includes: increasing the queue priority or adjusting the routing policy.

Citation Information

Patent Citations

  • HFC network downlink data multi-channel packaging and transmitting method

    CN103916375A

  • Efficient multimedia transmission method for spatial information network

    CN108173851A

  • Data retransmission method, network equipment and computer readable storage medium

    CN113872916A

  • Reliable, out-of-order receipt of packets

    US20170187846A1

Cited By

  • Selective retransmission function test method, device and system for remote direct memory access, medium and product

    CN121441800A

  • Earthquake data real-time monitoring and backhaul method and system based on Beidou short message

    CN122533643A