Network reliability guarantee method and device based on self-adaptive hop-by-hop cache

By cache and sorting packets on network nodes, maintaining packet loss record queues and batch retransmitting lost packets, the problem of high packet loss delay in the prior art is solved, and network reliability and efficiency are improved.

CN119155000AActive Publication Date: 2024-12-17BEIJING UNIV OF POSTS & TELECOMM

Patent Information

Application Number
CN202410979937.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-07-22
Publication Date
2024-12-17
Estimated Expiration
2044-07-22

AI Technical Summary

Technical Problem

The retransmission method in the prior art when packet loss has a high latency problem, especially in large-scale networks or harsh communication environments, resulting in limited network reliability and efficiency.

Method used

Adopting the network reliability guarantee method based on adaptive hop-by-hop cache, by cacheing data packets on network nodes, sorting and confirming packet serial numbers, maintaining packet loss record queues, periodically retransmitting lost packets, reducing retransmission paths and Delay.

Benefits of technology

Shorten the retransmission path in harsh network environments, improve the reliability and efficiency of data transmission, reduce server load, and improve data availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119155000A_ABST
    Figure CN119155000A_ABST
Patent Text Reader

Abstract

The invention provides a network reliability guarantee method and device based on adaptive hop-by-hop caching. The method comprises the following steps: acquiring upstream nodes and downstream nodes in a network; sorting the data packets needing to be cached through the upstream node, and sending the data packets to the downstream node; when the downstream node receives the data packet, determining the serial number of the data packet and caching the data packet; when the serial number of the data packet is a discontinuous serial number, judging the data packet as a lost data packet; in a preset time sequence period, determining a data packet serial number of a lost data packet meeting a preset condition in the packet loss record queue as a receiving queue expected serial number of the entrance receiving virtual queue; sending a packet loss request to the upstream node through the downstream node based on the receiving queue expected sequence number; and matching the expected data packet corresponding to the expected sequence number of the receiving queue in the local exit entity queue of the upstream node through the upstream node, and retransmitting the expected data packet. According to the invention, the transmission reliability can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data transmission, and in particular to a network reliability assurance method and device based on adaptive hop-by-hop cache. Background Art

[0002] The retransmission mechanism is one of the important means to ensure network reliability. When a data packet is lost or erroneous during transmission, the mechanism can request the sender to resend the data packet.

[0003] In existing transmission control protocol networks or Internet protocol networks, once a packet is lost, the destination or intermediate node can only request the lost packet from the source. This is fine in an environment with excellent network communication quality, and even performs well. However, in large-scale networks or networks with poor or even harsh communication quality, the delay caused by discovering packet loss and requesting retransmission from the source may be quite high, or even impossible to obtain.

[0004] It can be seen that the retransmission method for lost data packets in the related art has a technical problem of high delay. Summary of the invention

[0006] The present invention provides a network reliability assurance method and device based on adaptive hop-by-hop caching, which are used to solve the defect of high delay in the retransmission method for lost data packets in the prior art, realize hop-by-hop caching, and improve the reliability of data transmission.

[0007] The present invention provides a network reliability guarantee method based on adaptive hop-by-hop caching, comprising the following steps: obtaining an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol, and the upstream node and the downstream node have set a cache function and a confirmation function hop by hop; sorting data packets that need to be cached through the upstream node; when the downstream node receives a data packet that needs to be cached, determining the sequence number of the data packet and caching the data packet; when the sequence number of the data packet is a non-continuous sequence number, determining the data packet as a lost data packet; caching the data packet sequence number of the lost data packet to a packet loss record queue of the downstream node; within a preset time series period, determining the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue as the expected sequence number of the receiving queue of the inlet receiving virtual queue; sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue through the downstream node; matching the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress physical queue of the upstream node through the upstream node, and retransmitting the expected data packet.

[0008] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the network interface of the downstream node includes an egress cache real queue, an ingress receiving virtual queue and the packet loss record queue, wherein the egress cache real queue is used to cache the received data packets, the ingress receiving virtual queue is used to record the latest received data packet sequence number, and the packet loss record queue is used to cache the data packet sequence number of the lost data packet.

[0009] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue is determined as the expected sequence number of the receiving queue of the entry receiving virtual queue, including: determining the retransmission type of the lost data packet according to the retransmission flag in the lost data packet; when the lost data packet is a retransmission data packet, deleting the data packet sequence number of the retransmission data packet in the packet loss record queue; determining the sum of the latest data packet sequence number of the entry receiving virtual queue and a preset constant as the expected sequence number of the receiving queue; when the lost data packet is a non-retransmission data packet, deleting the data packet sequence number of the retransmission data packet in the packet loss record queue; determining the sum of the latest data packet sequence number of the entry receiving virtual queue and a preset constant as the expected sequence number of the receiving queue; when the lost data packet is a non-retransmission data packet, The data packet sequence number is compared with the expected sequence number of the receiving queue: when the data packet sequence number of the non-retransmitted data packet is the same as the expected sequence number of the receiving queue, the latest data packet sequence number of the inlet receiving virtual queue is updated; when the data packet sequence number of the non-retransmitted data packet is less than the expected sequence number of the receiving queue, the data packet sequence number of the non-retransmitted data packet in the packet loss record queue is deleted; when the data packet sequence number of the non-retransmitted data packet is greater than the expected sequence number of the receiving queue, the sequence number between the expected sequence number of the receiving queue and the data packet sequence number is stored in the packet loss record queue; based on the packet loss record queue, the receiving queue expected sequence number of the inlet receiving virtual queue is updated.

[0010] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the packet loss request is sent to the upstream node by the downstream node based on the expected sequence number of the receiving queue, including: according to a preset retransmission interval, periodically sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue, wherein the retransmission interval is greater than the round-trip delay of the data packet transmission; when the number of retransmissions of any of the data packet sequence numbers in the expected sequence number of the receiving queue is greater than a preset number threshold, deleting the data packet sequence number in the packet loss record queue.

[0011] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the method further includes: when it is detected that the packet loss request is lost, doubling the interval length of the preset retransmission interval.

[0012] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the retransmission of the expected data packet includes: batch encoding and transmitting the expected data packet through the upstream node; after the batch encoding and transmitting the expected data packet through the upstream node, the method further includes: caching the received expected data packet through the downstream node; when there is a missing intermediate sequence number in the data packet sequence number of the expected data packet, waiting for the batch encoding and transmission of the expected data packet to be completed; when there is a duplicate sequence number in the data packet sequence number of the expected data packet, removing the expected data packet corresponding to the duplicate sequence number; and delivering the expected data packet in sequence according to the data packet sequence number of the expected data packet.

[0013] The present invention also provides a network reliability assurance device based on adaptive hop-by-hop caching, comprising the following modules: an acquisition module, used to acquire an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol, and the upstream node and the downstream node have set a hop-by-hop cache function and a confirmation function; a sorting module, used to sort the data packets that need to be cached through the upstream node; a first determination module, used to determine the sequence number of the data packet and cache the data packet when the downstream node receives the data packet that needs to be cached; a determination module, used to determine the data packet as a lost data packet when the sequence number of the data packet is a non-continuous sequence number. a cache module, used for caching the data packet sequence number of the lost data packet into the packet loss record queue of the downstream node; a second determination module, used for determining the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue within a preset time series period, as the expected sequence number of the receiving queue of the inlet receiving virtual queue; a sending module, used for sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue through the downstream node; a transmission module, used for matching the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress physical queue of the upstream node through the upstream node, and retransmitting the expected data packet.

[0014] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, a network reliability assurance method based on adaptive hop-by-hop caching as described above is implemented.

[0015] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the network reliability assurance method based on adaptive hop-by-hop cache as described in any one of the above is implemented.

[0016] The present invention also provides a computer program product, including a computer program, wherein when the computer program is executed by a processor, the network reliability assurance method based on adaptive hop-by-hop cache as described above is implemented.

[0017] The network reliability assurance method and device based on adaptive hop-by-hop caching provided by the present invention cache data on each node in the network, convert disordered network data packets into locally ordered data packets, and ensure the reliable transmission of network data by maintaining upstream and downstream queues and packet loss information. The downstream nodes in the network confirm the packet loss situation according to the packet loss record queue and periodically notify the upstream node in batches of the retransmission of lost packets, thereby shortening the retransmission path in a harsh network environment and improving transmission reliability. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced one by one below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0019] Figure 1 It is a flow chart of a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention.

[0020] Figure 2 It is a schematic diagram of the overall structure of the hop-by-hop cache provided by the present invention.

[0021] Figure 3 It is a flowchart of a receiving module provided by the present invention.

[0022] Figure 4 It is a flow chart of the sending module provided by the present invention.

[0023] Figure 5 It is a flow chart of the upstream node retransmission module provided by the present invention.

[0024] Figure 6 This is the custom NACK frame structure provided by the present invention.

[0025] Figure 7 It is a schematic diagram of the sequence number cycle algorithm provided by the present invention.

[0026] Figure 8 It is a sequence number comparison flow chart provided by the present invention.

[0027] Fig. 9 It is a schematic diagram of a network reliability assurance device based on adaptive hop-by-hop cache provided by the present invention.

[0028] Fig.10It is a schematic diagram of the physical structure of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0029] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0030] The retransmission mechanism is one of the important means to ensure network reliability. When a data packet is lost or an error occurs during transmission, the mechanism can request the sender to resend the data packet. According to the different working levels of the retransmission mechanism, it can be roughly divided into the link layer retransmission mechanism and the transport layer retransmission mechanism. The link layer retransmission mechanism mainly handles data transmission between direct physical connections, especially in high bit error rate environments such as wireless links. The link layer needs to provide reliable transmission services. Common mechanisms include forward error correction code (FEC) and automatic repeat request (ARQ) mechanisms, such as the stop-and-wait protocol and the back-N frame protocol. These mechanisms mainly ensure data integrity through the frame check sequence (FCS) and the automatic repeat request mechanism. The transport layer retransmission mechanism mainly uses the transmission control protocol (TCP) to provide connection-oriented reliable transmission services. TCP ensures end-to-end data transmission through confirmation and retransmission mechanisms, flow control, and congestion control. At the network layer, data transmission is often based on the Internet Protocol (IP), which provides a connectionless, unreliable best-effort service. Its retransmission mechanism mainly relies on the retransmission mechanism of the transport layer to ensure reliable data transmission indirectly.

[0031] In existing TCP / IP networks, once data packet loss occurs, the destination or intermediate node can only request the lost data packet from the source, which is not a problem in an environment with excellent network communication quality, and even performs well. However, in large-scale networks or network environments with poor or even harsh communication quality, the delay caused by discovering packet loss and requesting retransmission from the source may be quite high, or even impossible to obtain. The hop-by-hop cache function proposed in the present invention is used in large-scale, highly confrontational networks or network environments with poor or even harsh communication quality, such as high-delay deep space communications or satellite communications, frequently interrupted underwater acoustic networks, and intermittently connected sensor networks. It should be noted that in traditional networks, after packet loss occurs, end-to-end data retransmission can be achieved with the help of the transport layer or application layer, while in the present invention, a hop-by-hop retransmission mechanism is adopted.

[0032] The network reliability guarantee mechanism based on adaptive hop-by-hop cache proposed in the present invention is a network layer reliability guarantee mechanism, the core idea of ​​which is to use the multi-dimensional resources of network elements such as cache, computing, etc., by caching data on each intermediate node in the network, converting disordered network data packets into locally ordered data packets, and by maintaining upstream and downstream queues and packet loss information, to ensure reliable transmission of network data, reduce network delay, reduce source server load, optimize bandwidth usage and improve data availability. The embodiments of the present invention can at least achieve the following technical effects.

[0033] By caching data, the delay of data transmission is reduced, so that when users need a node to retransmit data, they can directly obtain data from the previous hop, thereby reducing the frequency of requests to the source server, reducing server load, and improving data transmission efficiency.

[0034] Improve data availability. Once data is transmitted to the network, even if the source sender is unavailable, the intermediate node can still provide cached data within a certain period of time to ensure reliable data delivery.

[0035] refer to Figure 1 , Figure 1 It is a flow chart of a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, and the method comprises the following steps.

[0036] Step 101, obtaining an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol, and the upstream node and the downstream node have been set with a cache function and a confirmation function hop by hop.

[0037] In the embodiment of the present invention, the hop-by-hop cache function can be divided into an upstream node (retransmission module) and a downstream node (storage module), wherein the above-mentioned nodes are generally routers with routing forwarding functions.

[0038] It should be noted that the upstream node and the downstream node are relative. For example, the second node is the upstream node of the third node and is also the downstream node of the first node. The specific details can be determined according to the actual application scenario, and this application does not limit it here.

[0039] Step 102: sort the data packets that need to be cached through the upstream node, and send the data packets to the downstream node.

[0040] In computer networks or data processing systems, data packets that need to be cached are usually sorted to optimize cache efficiency, reduce cache pollution, or improve the efficiency of subsequent processing (such as data transmission, data analysis, etc.).

[0041] For example, if packets are assigned unique sequence numbers when they are sent, they can be sorted based on the sequence numbers. This approach is very common in transmission control protocols (such as TCP) to ensure the order and integrity of packets.

[0042] For example, if the data packet contains timestamp information, it can be sorted according to the order of timestamps. This sorting method is suitable for scenarios where data needs to be processed in chronological order, such as real-time data analysis, log processing, etc.

[0043] Step 103: When the downstream node receives the data packet, it determines the sequence number of the data packet and caches the data packet.

[0044] A data packet is the basic unit of transmission in a computer network, especially in the network layer (such as the IP layer in the TCP / IP protocol stack). It is a piece of data in network communication, which contains the data message and the control information required for transmission, such as the destination address, source address, checksum, etc.

[0045] In the embodiment of the present invention, after the hop-by-hop confirmation and retransmission function is started, the upstream node will assign a sequence number to each data packet, and will subsequently cache and retransmit based on the sequence number. After receiving the data packet, the downstream node first determines whether to cache the data packet based on the cache flag bit in the data packet header. If caching is not required, the conventional data processing model is entered. If caching is required, confirmation is performed and storage is performed based on the sequence number in the data packet.

[0046] Step 104: When the sequence number of the data packet is a non-continuous sequence number, the data packet is determined to be a lost data packet.

[0047] Step 105: Cache the data packet sequence number of the lost data packet in the packet loss record queue of the downstream node.

[0048] In the embodiment of the present invention, each data packet with a discontinuous sequence number is determined to be lost and its sequence number is put into a packet loss record queue (NACK_list).

[0049] Step 106, within a preset time series period, determine the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue, and use it as the receiving queue expected sequence number of the inlet receiving virtual queue.

[0050] Step 107: Send a packet loss request to the upstream node based on the expected sequence number of the receiving queue through the downstream node.

[0051] In the embodiment of the present invention, the downstream node periodically processes lost data packets in batches, selects lost data packets that meet the conditions, and sends a packet loss request to the upstream node, wherein the packet loss request includes the sequence number of the lost data packet.

[0052] Step 108: The upstream node matches the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress entity queue of the upstream node, and retransmits the expected data packet.

[0053] In the embodiment of the present invention, after the upstream node monitors the request (packet loss request), it searches for the lost data packet according to the corresponding data packet sequence number in the local egress real queue and retransmits it.

[0054] refer to Figure 2 , Figure 2 The present invention provides a schematic diagram of the overall structure of a hop-by-hop cache, which includes a message (data packet) cache (including an egress real queue, in which there are packet sequence numbers and packet data 2), a packet loss check (including an ingress virtual queue, in which there are packet sequence numbers 1), multiple nodes (including node 1, node 2 (upload node), node 3 (downstream node) and node 4), and message (data packet) hop-by-hop numbering (for example, 1021, 1022, 1023), wherein the data packet includes a fixed header, a source or destination IP address, a hop-by-hop sequence number, an extended header and a data portion; a packet loss record queue (NACK_list) stores the packet loss sequence number and the number of retransmissions; the packet loss data packet in the packet loss record queue includes a target MAC address, a source MAC address, a type, a sequence number list bitmap that meets the conditions in the data (NACK_list) and a check code; and T represents a preset time series period.

[0055] Among them, the downstream node can determine the packet loss sequence number based on the sequence number continuity of the data packet; and a sequence number list bitmap in the NACK represents the loss of multiple data packets; then, the downstream node sends a packet loss request based on the expected sequence number of the receiving queue to notify the upstream node to return the expected data packet corresponding to the expected sequence number of the receiving queue (that is, the expected data packet sequence number).

[0056] Through the embodiment of the present invention, a TCP / IP-based hop-by-hop cache reliability transmission mechanism is proposed. The mechanism is based on the existing TCP / IP protocol and uses network elements (network nodes) in the network to act as cache confirmation nodes to actively cache data packets. When a network element finds packet loss, it will send a request message to the upstream cache confirmation node, and the lost data packet information will be retransmitted directly from the upstream node without retransmission from the source end. Hop-by-hop cache confirmation plays an important role in improving communication efficiency.

[0057] Through the above steps provided by the embodiment of the present invention, upstream nodes and downstream nodes in the network are obtained, wherein the network is based on the Transmission Control Protocol or the Internet Protocol; when the downstream node receives a data packet that needs to be cached, the sequence number of the data packet is determined and the data packet is cached; when the sequence number of the data packet is a non-continuous sequence number, the data packet is determined as a lost data packet, thereby, by caching data on each node in the network, disordered network data packets are converted into locally ordered data packets, and by maintaining upstream and downstream queues and packet loss information, reliable transmission of network data is ensured.

[0058] The packet sequence number of the lost data packet is cached in the packet loss record queue of the downstream node; within a preset time series period, the packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue is determined as the expected sequence number of the receiving queue of the inlet receiving virtual queue; the downstream node sends a packet loss request to the upstream node based on the expected sequence number of the receiving queue; the upstream node matches the expected data packet corresponding to the expected sequence number of the receiving queue in the local export physical queue of the upstream node, and retransmits the expected data packet, thereby, the downstream node in the network confirms the packet loss situation according to the packet loss record queue and periodically batch-notifies the upstream node of the retransmission of the lost packet, thereby shortening the retransmission path in a harsh network environment and improving transmission reliability.

[0059] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the network interface of the downstream node includes an egress cache real queue, an ingress receiving virtual queue and a packet loss record queue, wherein the egress cache real queue is used to cache received data packets, the ingress receiving virtual queue is used to record the latest received data packet sequence number, and the packet loss record queue is used to cache the data packet sequence number of the lost data packet.

[0060] In the embodiment of the present invention, each network interface of each node maintains three queues: an egress cache real queue, an ingress receiving virtual queue, and a packet loss record queue (NACK_list). Among them, the egress cache real queue is used to cache received data packets, and its storage contains the complete content of the data packet, specifically including the data packet header and the data packet data payload; the ingress receiving virtual queue is used to record the latest received data packet sequence number, and it does not cache other parts of the data packet; the packet loss record queue (NACK_list) is used to cache the sequence number of the data packet that is considered to be lost.

[0061] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue is determined as the expected sequence number of the receiving queue of the inlet receiving virtual queue, including: Determine the retransmission type of the lost data packet according to the retransmission flag bit in the lost data packet; When the lost data packet is a retransmitted data packet, the data packet sequence number of the retransmitted data packet in the packet loss record queue is deleted; Determine the sum of the latest data packet sequence number of the inlet receiving virtual queue and a preset constant as the expected sequence number of the receiving queue; When the lost data packet is a non-retransmitted data packet, comparing the data packet sequence number of the non-retransmitted data packet with the expected sequence number of the receiving queue; When the data packet sequence number of the non-retransmitted data packet is the same as the expected sequence number of the receiving queue, the latest data packet sequence number of the ingress receiving virtual queue is updated; When the data packet sequence number of the non-retransmitted data packet is less than the expected sequence number of the receiving queue, the data packet sequence number of the non-retransmitted data packet in the packet loss record queue is deleted; When the data packet sequence number of the non-retransmitted data packet is greater than the expected sequence number of the receiving queue, the sequence number between the expected sequence number of the receiving queue and the data packet sequence number is stored in the packet loss record queue; The receiving queue expected sequence number of the inlet receiving virtual queue is updated based on the packet loss record queue.

[0062] In an embodiment of the present invention, if a data packet received by a downstream node has a retransmission flag, it is a lost data packet; if there is no retransmission flag, it is a normally received data packet. At this time, it is necessary to determine the relationship between the sequence number of the data packet and the expected sequence number of the receiving queue.

[0063] refer to Figure 3 , Figure 3 It is a schematic diagram of the receiving module flow provided by the present invention; In the embodiment of the present invention, after receiving a data packet, the downstream node determines whether to perform hop-by-hop caching processing by searching the cache flag bit of the extension header in the data packet. For example, when the cache flag bit of the extension header in the data packet is 1, the hop-by-hop caching processing is performed, and when the cache flag bit of the extension header in the data packet is 0, the hop-by-hop caching processing is not performed.

[0064] After determining that the received data packet needs to be buffered, the retransmission flag is used to determine whether the data packet is a retransmission data packet. If the data packet is a retransmission data packet, no retransmission is required, and the NACK_list is queried to delete the sequence number. If the data packet is not a retransmission data packet, it is necessary to compare the relationship between the data packet sequence number and the expected sequence number of the inlet receiving virtual queue. By determining the size relationship between the data packet sequence number and the expected sequence number of the inlet receiving virtual queue (the sum of the latest data packet sequence number of the inlet receiving virtual queue and 1), it is determined whether the data packet is an expected packet, a packet stranded in the network, or an out-of-order packet after packet loss.

[0065] If the data packet sequence number is the same as the expected sequence number of the inlet receiving virtual queue (the sum of the latest data packet sequence number of the inlet receiving virtual queue and 1), it means that the data packet is the expected data packet, indicating that the data packet is successfully received, and the data packet sequence number of the receiving queue is updated.

[0066] If the data packet sequence number is less than the expected sequence number of the receiving queue (the sum of the latest data packet sequence number of the ingress receiving virtual queue and 1), it means that the data packet is a packet stranded in the network, and the sequence number previously saved in the NACK_list is deleted.

[0067] If the data packet sequence number is greater than the expected sequence number of the receiving queue (the sum of the latest data packet sequence number of the ingress receiving virtual queue and 1), then the data packet is an out-of-order packet after loss. It is necessary to record all the lost packet sequence numbers between the expected sequence number and the data packet sequence number and store them in NACK_list and update the expected sequence number of the receiving queue.

[0068] After processing the data packet, the downstream node will find the packet sending exit according to the matching next hop address, obtain the new data packet number from the exit and update the data packet sequence number. The final node copies and stores the data packet and then forwards it to the next hop. In addition, the node periodically obtains the packet loss sequence number in the NACK_list and notifies its upstream node of the packet loss information.

[0069] refer to Figure 4 , Figure 4 It is a flow chart of the sending module provided by the present invention, which specifically includes: searching for the data packet sequence number in the NACK_list; encapsulating the NACK message (data packet), the data part of which is the offset bitmap of the message list in the NACK_list; sending the NACK message (data packet) to the upstream node; wherein the above steps are executed periodically.

[0070] Here, NACK (Negative Acknowledgement) is an important message confirmation mechanism in computer networks, which is used to indicate that the received message is incorrect or has not been received. The use of NACK messages can ensure that the message transmission between the sender and the receiver is correct and avoid data transmission problems caused by message loss or errors.

[0071] It should be noted that, in the embodiment of the present invention, the NACK message is used to indicate a packet loss request returned by a downstream node to an upstream node.

[0072] It should be noted that NACK_list is a bitmap (offset bitmap) that records the lost data packet sequence number. For example, NACK_list is 100 bits, and each bit represents whether the data packet with sequence numbers 1 to 100 is lost. 1 means lost, and 0 means successful transmission. For the received retransmitted data packet, it is matched in NACK_list according to its data packet sequence number. If the match is successful, it means that the lost data packet is successfully retransmitted, and the sequence number is set to 0 in NACK_list.

[0073] refer to Figure 5 , Figure 5 It is a flow chart of the upstream node retransmission module provided by the present invention.

[0074] like Figure 5 As shown. This module includes monitoring downstream requests, checking packet loss according to the request sequence number, and retransmitting the lost packet. Specifically, it includes: receiving a packet loss notification request NACK message; extracting the request sequence number in the message, finding the data packet corresponding to the sequence number in the egress real queue of the corresponding port; and retransmitting the data packet.

[0075] In this scheme, the upstream node is mainly responsible for maintaining the cached data packets and responding to the NACK message. After receiving the NACK message, the node extracts the request sequence number list in the message. The upstream node finds the data packet corresponding to the sequence number in the request sequence number list in the egress real queue of the corresponding port of the link, sets the retransmission flag, and retransmits the data packet to the next hop.

[0076] It should be noted that the main body of the embodiment of the present invention is a cumulative retransmission NACK mechanism based on serialization. Compared with the traditional retransmission scheme, this scheme adopts a more efficient way to retransmit lost packets. When receiving data, the downstream node compares the data packet sequence number. After the packet loss occurs, the downstream node does not immediately notify the retransmission, but puts the detected lost packet sequence number into the packet loss queue. The downstream node periodically checks the packet loss queue and processes the lost data packets in batches.

[0077] When a node receives a data packet that needs to be cached, the node's receiving port uses the inlet virtual queue to determine the packet loss situation. If the received data packet sequence number is equal to the expected data packet sequence number, it means that the data packet has arrived normally, and the data packet is cached in the egress cache real queue. If the received data packet sequence number is greater than the expected data packet sequence number, it means that there may be data packet loss before the data packet. At this time, the sequence number between the expected data packet sequence number and the received data packet sequence number will be added to the NACK_list, and the expected received packet sequence number will be updated to the received packet sequence number. If the received data packet sequence number is less than the expected data packet sequence number, it means that the data packet may be stranded in the network or a retransmitted data packet. In this case, the node will not update the expected received packet sequence number, but will search for the corresponding sequence number in the NACK_list and delete it.

[0078] The NACK retransmission request packet can be constructed using the link layer frame structure or based on the network layer data packet. In this scheme, the downstream node does not send a NACK retransmission request packet for each packet lost, but records the sequence numbers of a batch of lost packets in the data part of the NACK packet and uses a bitmap to record, reducing additional overhead and network load.

[0079] Through the embodiment of the present invention, a scheme of batch notification of packet loss requests using NACK is used. The scheme maintains the orderliness of data packets by constructing a queue. The downstream network element node of the link can directly know the packet loss sequence number and notify the upstream node by a bitmap in the NACK to indicate the loss of multiple data packets, which can effectively reduce the number of confirmation retransmission messages, reduce network overhead, and ensure network stability.

[0080] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, a packet loss request is sent to an upstream node by a downstream node based on an expected sequence number of a receiving queue, including: According to a preset retransmission interval, a packet loss request is periodically sent to an upstream node based on the expected sequence number of the receiving queue, wherein the retransmission interval is greater than the round-trip delay of the data packet transmission; When the number of retransmissions of any data packet sequence number in the expected sequence number of the receiving queue is greater than a preset number threshold, the data packet sequence number in the packet loss record queue is deleted.

[0081] In an embodiment of the present invention, the packet loss record queue records the sequence number of the lost data packet, and the queue is periodically batch processed to generate a packet loss request NACK message. In a network congestion state, in addition to the data packet itself being lost, the retransmitted packet loss request NACK message may also be lost, so it is necessary to resend the packet loss request NACK message. The retransmission interval of the packet loss request NACK message should be slightly longer than the round-trip time (RTT) of the data packet transmission. Because the data cache time and space are limited, in order to prevent the packet loss request NACK message from being continuously retransmitted, resulting in the continuous retransmission of the lost data packet, each lost data packet sequence number should be set with an upper limit on the number of retransmissions. When the number of retransmissions of a lost data packet sequence number reaches the upper limit, the sequence number will be deleted from the packet loss record queue record (NACK_list). In actual packet loss scenarios, the loss of data packets is often caused by network congestion. When faced with packet loss caused by network congestion, the strategy of adjusting the packet loss retransmission interval can help optimize network performance and improve transmission efficiency.

[0082] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, the method further includes: When a packet loss request is detected, the preset retransmission interval is doubled.

[0083] The embodiment of the present invention proposes a new packet loss retransmission interval adjustment strategy to adapt to the transmission of NACK. The strategy dynamically adjusts the retransmission interval according to network feedback information and the exponential backoff principle to achieve a more effective packet loss retransmission mechanism.

[0084] Specifically, the strategy first adopts an exponential backoff method after packet loss occurs, that is, the retransmission interval is doubled after each packet loss to avoid more packet loss in congestion. At the same time, the strategy monitors network feedback information, such as ACK or NACK from the receiving end, and adjusts the retransmission interval according to the feedback information. If the receiving end continues to fail to receive retransmitted data packets, it indicates that the network may be severely congested. At this time, the strategy will appropriately extend the retransmission interval according to the exponential backoff principle to reduce network load and relieve congestion; conversely, if the receiving end receives retransmitted data packets, it indicates that network congestion may have been alleviated. At this time, the strategy can appropriately shorten the retransmission interval to improve the efficiency and speed of data transmission. This strategy can more flexibly adapt to different degrees of network congestion, and while improving network transmission efficiency, it effectively reduces the incidence of packet loss and improves network reliability and performance.

[0085] Through the embodiment of the present invention, an adaptive retransmission strategy is provided for adjusting the retransmission period based on the network situation. The strategy adopts an exponential backoff method after packet loss occurs, that is, the packet loss notification interval is doubled after each packet loss to avoid more packet loss in congestion. On the contrary, if the receiver receives the retransmitted data packet, it indicates that the network congestion may have been alleviated, and the strategy can appropriately shorten the retransmission interval. The strategy can more flexibly adapt to different degrees of network congestion, thereby improving the reliability and performance of the network.

[0086] According to a network reliability assurance method based on adaptive hop-by-hop caching provided by the present invention, a desired data packet is retransmitted, comprising: Bulk encoding and transmitting of the expected data packets through the upstream node; After the upstream node performs batch encoding transmission of the expected data packets, the method further includes: Buffering the received expected data packets by the downstream nodes; When there is a missing middle sequence number in the data packet sequence number of the expected data packet, waiting for the batch encoding transmission of the expected data packet to be completed; When there are duplicate sequence numbers in the data packet sequence number of the expected data packet, the expected data packet corresponding to the duplicate sequence number is removed; Deliver in order according to the packet sequence number of the expected packets.

[0087] In the embodiment of the present invention, in order to ensure the orderliness of the data packets after retransmission, two out-of-order reordering mechanisms are proposed.

[0088] Cache reordering mechanism: Cache data packets at downstream nodes and deliver them in order according to the sequence numbers. If there are any missing packets, wait for retransmission before delivering them. If there are redundant data packets, that is, the data packet sequence numbers are repeated, the duplicate data packets are removed.

[0089] Coding transmission mechanism: When sending data packets, the upstream node uses the network coding mechanism to batch encode and transmit the data packets. The network coding mechanism actively adds redundancy and uses calculations to eliminate loss and reordering overhead.

[0090] Through the embodiment of the present invention, a disorder reordering mechanism is proposed, which solves the disorder problem of data packets by caching and sorting the retransmitted data packets or calculating and sorting them by using network coding.

[0091] Through the above-mentioned embodiments of the present invention, a network reliability guarantee mechanism based on hop-by-hop caching is used. This mechanism stores data packets through intermediate network element nodes and retransmits them in time when packet loss is found, which can effectively shorten the retransmission path and improve the efficiency and reliability of network transmission. For example, under high packet loss conditions, timely retransmission through hop-by-hop caching can reduce the link packet loss rate from 20%-30% to close to 0.

[0092] The following is an application of an embodiment of the present invention in a high-adversarial network.

[0093] In disaster relief scenarios, the network topology changes rapidly, and nodes (such as drones and vehicles) may frequently move or join / leave the network, causing link interruptions. Hop-by-hop caching can reduce the reliance on specific source nodes and maintain data transmission even when some links are interrupted through temporary cache forwarding between nodes.

[0094] Experimental plan: Build a network topology consisting of 50 nodes. Configure the sending and receiving terminals, and configure the IPv4 and IPv6 network addresses for each network node to make the whole network connected, and deploy the kernel hop-by-hop cache module.

[0095] refer to Figure 6 , Figure 6 It is a custom NACK frame structure provided by the present invention, which includes a target MAC address (6 bytes), a source MAC address (6 bytes), a type (2 bytes), data: a lost packet sequence number or list, and a check code (4 bytes), wherein the data: the lost packet sequence number or list includes a PID (16 bits), a LEN (16 bits), and multiple BLPs (8 bits).

[0096] The lost packet sequence number (PID) is the sequence number of the first lost data packet, obtained from the head of the packet loss record queue. The length (LEN) indicates the number of subsequent BLPs. The lost packet bitmap (BLP, bitmask offollowing lost packets) indicates the loss of n packets after the first sequence number, expressed in the form of a bitmap, 1 for loss, and 0 for normal receipt.

[0097] Experimental design: This example uses the IPv6 extension header as the cache mechanism bearer point. The NACK retransmission request packet is constructed using the link layer frame structure. Its format is as follows: Figure 6 As shown in the figure. Most NACK retransmission mechanisms usually need to send the sequence number of each lost packet separately, which will increase the extra data packet overhead and network load. In this scheme, the downstream node does not send a NACK retransmission request packet for each lost packet, but records a batch of lost packet sequence numbers in the data part of the NACK packet and uses a bitmap to record, reducing the extra data packet overhead and network load.

[0098] Each NACK packet consists of a fixed frame structure and a frame data part. The functions of each field are shown in Table 1: Table 1 Meaning of NACK frame fields

[0099] In addition, the packet number in this scheme is represented by 16 bits, which can represent 0-65535. When the amount of data is large, the packet number will be exhausted and the next round of circulation will begin. Since this scheme uses the size relationship between packet numbers to determine the packet loss situation, the circulation problem of packet numbers cannot be ignored.

[0100] refer to Figure 7 , Figure 7 It is a schematic diagram of the sequence number cycle algorithm provided by the present invention.

[0101] The packet sequence number size judgment is not a simple numerical comparison. This solution uses the "increment" idea to judge the size relationship between two data to determine the update of the receiving sequence number. The algorithm is shown as follows Figure 7 As shown. The algorithm assumes that in a short period of time when receiving data packets, even if packet loss occurs, the difference between the sequence numbers of the new and old data packets is still within an acceptable range. Taking the serial numbers a and b of the continuously received data packets as an example, it is stipulated that the interval of the serial number increment cannot exceed half of the value range, so as to judge the relative order of the serial numbers. Specifically, if you want to judge whether the serial number b is larger than the serial number a, you only need to judge whether the increment from b to a exceeds half. If the increment is less than half, it is considered that b is larger than a; if the increment is more than half, it is considered that a is larger than b because the sequence number has a loop.

[0102] When the increment is positive, it indicates a forward increment; when the increment is negative, it indicates a backward increment (b needs to go backward to reach a). In an unsigned system, a negative number will be converted to a positive number after being processed by the unsigned operation system, which is equivalent to being added to a circle to become a positive number. In this algorithm, the backward increment needs to be converted to a forward increment before calculation.

[0103] refer to Figure 8 , Figure 8 is a sequence number comparison flow chart provided by the present invention, and the specific algorithm flow is as follows Figure 8 shown.

[0104] seq_number_limit is the upper limit of the data packet sequence number range, which is 65535 in this solution. a and b are the received data packet sequence numbers. If the algorithm function returns true, it is considered that sequence number a is greater than sequence number b, and the sequence number of the received data packet should be updated.

[0105] Experimental steps: (1) Send a file of a specified size from the sender and test the file reception status of the receiver when the network status is good.

[0106] (2) Set the specified link packet loss rate to 20% and the delay to 10ms to simulate a highly hostile network environment.

[0107] (3) Send a file of a specified size from the sender and test the file reception status of the receiver under a highly adversarial network.

[0108] (4) Enable the hop-by-hop cache module function of the network element node.

[0109] (5) Send a file of a specified size from the sender and test the file reception status of the receiver under a highly adversarial network.

[0110] (6) Adjust the packet loss rate and delay and repeat the above steps.

[0111] (7) Compare the reception conditions and obtain the hop-by-hop cache performance.

[0112] It should be noted that the embodiments of the present invention can also be applied to satellite communication systems and underwater acoustic sensor networks.

[0113] Satellite links are long distances, have expensive bandwidth, and have large delays. The hop-by-hop cache mechanism can be deployed at ground stations or transit stations between satellites to store and forward data, reduce repeated retransmission requests to geostationary orbit or deep space satellites, reduce overall communication costs, and improve response speed.

[0114] Due to the characteristics of underwater acoustic communication (low bandwidth, long latency), the hop-by-hop cache mechanism can be deployed on buoys or submersibles to optimize data collection, shorten the retransmission path, and reduce the probability of packet loss through relay transmission until the data reaches the research ship or shore base station. This solution reduces energy consumption, extends network life, and improves the integrity of data collection. The particularity of the underwater environment requires that the cache strategy needs to consider node energy management, data priority sorting, etc.

[0115] The caching of data packets in the network is one of the key technologies for ensuring network reliability. When the source server is unreachable or the network fails, the cached data packets can be used as a temporary data source to ensure service continuity and provide a certain degree of fault tolerance. In the existing TCP / IP network, once a data packet is lost, the destination or intermediate node can only request the lost data packet from the source. This is not a problem in an environment with excellent network communication quality, and even performs well. However, in a large-scale network or a network environment with poor or even harsh communication quality, the delay caused by discovering packet loss and requesting retransmission from the source may be quite high or even unavailable. Although technologies such as CDN provide distributed server systems that can store content on multiple geographically dispersed servers to speed up content delivery, they are still based on traditional network protocols at the data transmission level and do not provide a reliability guarantee mechanism at the network layer.

[0116] Technologies related to the present invention include typical cache networks NDN, DTN, and other cache technologies in TCP / IP networks.

[0117] Named Data Networking (NDN) uses unique names to identify content objects, rather than unique IP addresses to identify hosts. In NDN networks, a forwarding model based on content names is adopted, and users use a request-response model to obtain data. The data forwarding mode is to propagate the interest packet until a matching data packet is found and then return. It uses interest packet forwarding and caches the nodes on the return path of the data packet.

[0118] Content names in NDN are represented as path-like representations separated by " / ". Large content objects (such as videos) are divided into blocks, and the names of the blocks are also appended with block numbers. Nodes interested in a specific content object send interest packets specifying the content name. For packet forwarding, each node in the network has three main data structures: pending interest table (PIT), forwarding information base (FIB), and content store (CS). After receiving the interest packet, the node checks its CS for the requested content. If so, it sends the packet back to the original requester. Otherwise, the node adds a new PIT entry, which includes the interest name and the interface on which the interest packet was received, and then forwards it to the data source using the FIB. When the data is found, the packet is forwarded back to the requester using the PIT table entry and cached according to the reactive caching strategy adopted by the node. Nodes use different strategies to decide which packets need to be cached and for how long, such as least recently used (LRU) and random replacement strategies. NDN proposes innovative ideas in the management and dissemination of network data, emphasizing the role and potential of caching in routing.

[0119] The problems with NDN include: efficiency issues: although NDN attempts to alleviate this problem through content caching and multi-path data delivery, in actual deployment, efficient content caching strategies and the pairing management of interest packets and data packets have brought new complexities; scalability issues: the design goal of NDN is to improve the scalability of the network, but due to its data-centric nature, it needs to deal with a large number of data naming, caching and security verification issues, which may introduce new complexities when deployed on a large scale; implementation and transition issues: migrating from the existing TCP / IP architecture to the NDN architecture involves huge technical and infrastructure changes, including router design, network management protocols, application programming interfaces (APIs), and support for end-user devices, which are major obstacles that need to be overcome in actual deployment; standardization and protocol maturity: as an emerging network architecture, NDN's standard setting, protocol maturity, and compatibility with existing network standards still need to be continuously improved and developed to promote wider industry acceptance and application.

[0120] Delay-tolerant network (DTN) is also a cache-based network. In DTN, a store-and-forward model is adopted, and users obtain data using a delay-tolerant data transmission model. The data forwarding mode is to store and forward data packets hop by hop between nodes. It uses a bundle format for data forwarding and caches it at each node. DTN is suitable for any environment where network connections are unstable, have high latency or are intermittent. Bundle is a data unit used to transmit data in a discontinuous, unreliable, and high-latency network environment. Bundle is one of the core concepts in the DTN protocol stack. It provides a store-and-forward messaging mechanism that allows data to be transmitted between intermittently connected network nodes.

[0121] DTN is characterized by its dynamic and intermittent connections, resulting in the absence of end-to-end communication paths. In DTN, a message is called a bundle. DTN nodes contain storage. They store these bundles until a link is available and then forward them. The DTN communication framework runs on a host-centric IP architecture and provides data packets identified by the target endpoint. Many IP-based DTN routing solutions have been developed to support opportunistic data delivery, which usually use store-and-carry functions to allow randomly encountered nodes to pass data packets to each other so that the data packets eventually reach the destination. Among the existing solutions, Epidemic Routing (ER) is a well-known solution that introduces some basic design principles for data transmission under intermittent connections. The data-centric feature enhances the point-to-point, store-and-forward packet transmission function of IP, mainly by assigning a unique identifier to each packet in addition to the IP destination address, so that IP nodes can identify each stored packet and perform opportunistic packet forwarding in a random encounter manner, thereby achieving store-and-forward.

[0122] Problems with DTN include: High latency and unpredictability: One of the basic characteristics of DTN is the ability to tolerate long delays, but this also means that the real-time nature of data transmission is greatly reduced. In some application scenarios, such as telemedicine and emergency response, this high latency may be unacceptable; Congestion control and data redundancy: Data in DTN may be forwarded through multiple paths, which can easily cause data redundancy and network congestion. Effective congestion control and data replication control mechanisms are crucial to optimizing network performance, but designing such mechanisms is very complex; Challenges of routing algorithms: Challenges of routing algorithms: Network connections in DTN are usually intermittent and unpredictable, which requires efficient routing algorithms to determine the best forwarding path for data packets. Traditional routing algorithms based on the shortest path or minimum cost may not be applicable in DTN, and developing new routing algorithms that adapt to the characteristics of DTN is a major challenge.

[0123] The packet-by-packet confirmation mechanism based on ACK usually means that during the data transmission process, each intermediate node (router or switch) will check the integrity of the data packet after receiving it, and send a confirmation signal (ACK) to the sender or the previous hop node, indicating that the data packet has been received correctly. If the confirmation is not received, the sender or the previous hop node may retransmit the data packet. This method attempts to reduce data loss and ensure end-to-end data transmission quality by increasing the reliability mechanism of the network layer. The packet-by-packet confirmation mechanism based on NACK is a feedback mechanism used in communication networks to notify the sender that the data packet it sent was not successfully received or there is an error. When the receiver detects that the data packet is erroneous or lost, it sends a NACK to the sender. After receiving the NACK, the sender will resend the corresponding data packet to ensure the integrity and reliability of the data.

[0124] The problems of the packet-by-packet confirmation mechanism based on ACK / NACK include: increased network delay: each time a network node is passed, it is necessary to wait for the ACK confirmation of the node, which directly increases the total delay time from sending to receiving the data packet. For applications with high real-time requirements, such as video calls and online games, this may cause a significant decline in user experience; bandwidth occupation: the packet-by-packet confirmation mechanism not only needs to transmit data packets, but also allocate bandwidth for the confirmation information of each data packet, which will occupy additional network resources, especially in high-traffic scenarios, which may aggravate network congestion; high maintenance complexity: the router maintains and stores each data packet and each ACK packet for each node and each network port, and the maintenance and synchronization complexity of both ends of the link is high; terminal-based retransmission will cause ACK packet loss when the network scale is large or the network status is poor, making it difficult to complete data packet retransmission.

[0125] Different from the above-mentioned current mechanism, the network reliability assurance mechanism and method based on adaptive hop-by-hop caching proposed in the present invention are mainly implemented at the network layer and are compatible with the existing network. By caching data packets at each network node, hop-by-hop caching effectively reduces the data transmission distance and frequency, thereby improving the overall network transmission efficiency.

[0126] The network reliability assurance device based on adaptive hop-by-hop cache provided by the present invention is described below. The network reliability assurance device based on adaptive hop-by-hop cache described below and the network reliability assurance method based on adaptive hop-by-hop cache described above can be referred to each other.

[0127] refer to Fig. 9 , Fig. 9It is a schematic diagram of a network reliability assurance device based on adaptive hop-by-hop caching provided by the present invention, which includes an acquisition module 901, a first determination module 902, a judgment module 903, a cache module 904, a second determination module 905, a sending module 906 and a transmission module 907.

[0128] An acquisition module 901 is used to acquire an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol; a first determination module 902 is used to determine the sequence number of the data packet and cache the data packet when the downstream node receives a data packet that needs to be cached; a determination module 903 is used to determine the data packet as a lost data packet when the sequence number of the data packet is a non-continuous sequence number; a cache module 904 is used to cache the data packet sequence number of the lost data packet to the packet loss record queue of the downstream node; a second determination module 905 is used to determine the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue within a preset time series period as the expected sequence number of the receiving queue of the inlet receiving virtual queue; a sending module 906 is used to send a packet loss request to the upstream node based on the expected sequence number of the receiving queue through the downstream node; a transmission module 907 is used to match the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress physical queue of the upstream node through the upstream node, and retransmit the expected data packet.

[0129] Specifically, the network reliability assurance device based on adaptive hop-by-hop cache provided by the present invention can implement all the method steps implemented by the above-mentioned network reliability assurance method embodiment based on adaptive hop-by-hop cache, and can achieve the same technical effect. The parts and beneficial effects that are the same as those in the method embodiment will not be described in detail here.

[0130] Fig.10 is a schematic diagram of the physical structure of the electronic device provided by the present invention, such as Fig.10As shown, the electronic device may include: a processor (processor) 1010 , a communication interface (Communications Interface) 1020 , a memory (memory) 1030 and a communication bus 1040 , wherein the processor 1010 , the communication interface 1020 , and the memory 1030 communicate with each other via the communication bus 1040 . The processor 1010 can call the logic instructions in the memory 1030 to execute a network reliability assurance method based on adaptive hop-by-hop caching, the method comprising: obtaining an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol; when the downstream node receives a data packet that needs to be cached, determining the sequence number of the data packet and caching the data packet; when the sequence number of the data packet is a non-continuous sequence number, determining the data packet as a lost data packet; caching the data packet sequence number of the lost data packet into a packet loss record queue of the downstream node; within a preset time series period, determining the data packet sequence number of the lost data packet that meets preset conditions in the packet loss record queue as the expected sequence number of the receiving queue of the inlet receiving virtual queue; sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue through the downstream node; matching the expected data packet corresponding to the expected sequence number of the receiving queue in the local export physical queue of the upstream node through the upstream node, and retransmitting the expected data packet.

[0131] In addition, the logic instructions in the above-mentioned memory 1030 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0132] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the network reliability assurance method based on adaptive hop-by-hop caching provided by the above methods, the method including: obtaining an upstream node and a downstream node in the network, wherein the network is based on a transmission control protocol or an Internet protocol; when the downstream node receives a data packet that needs to be cached, determining the sequence number of the data packet and caching the data packet; when the sequence number of the data packet is a non-continuous sequence number, determining the data packet as a lost data packet; caching the data packet sequence number of the lost data packet into a packet loss record queue of the downstream node; within a preset time series period, determining the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue as the queue expected sequence number of the entry receiving virtual queue; sending a packet loss request to the upstream node based on the queue expected sequence number through the downstream node; matching the expected data packet corresponding to the queue expected sequence number in the local export physical queue of the upstream node through the upstream node, and retransmitting the expected data packet.

[0133] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the network reliability assurance method based on adaptive hop-by-hop caching provided by the above-mentioned methods, the method comprising: obtaining an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol; when a downstream node receives a data packet that needs to be cached, determining the sequence number of the data packet and caching the data packet; when the sequence number of the data packet is a non-continuous sequence number, determining the data packet as a lost data packet; caching the data packet sequence number of the lost data packet into a packet loss record queue of the downstream node; within a preset time series period, determining the data packet sequence number of the lost data packet that meets preset conditions in the packet loss record queue as the queue expected sequence number of the entry receiving virtual queue; sending a packet loss request to the upstream node based on the queue expected sequence number through the downstream node; matching the expected data packet corresponding to the queue expected sequence number in the local export physical queue of the upstream node through the upstream node, and retransmitting the expected data packet.

[0134] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0135] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0136] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A network reliability assurance method based on adaptive hop-by-hop caching, characterized in that: include: Acquire an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol, and the upstream node and the downstream node have a cache function and a confirmation function set hop by hop; Sort the data packets that need to be cached by the upstream node, and send the data packets to the downstream node; When the downstream node receives the data packet, determining the sequence number of the data packet and buffering the data packet; When the sequence number of the data packet is a non-continuous sequence number, determining the data packet as a lost data packet; Cache the data packet sequence number of the lost data packet in the packet loss record queue of the downstream node; Within a preset time series period, determining the data packet sequence number of the lost data packet that meets the preset conditions in the packet loss record queue as the expected sequence number of the receiving queue of the inlet receiving virtual queue; Sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue by the downstream node; The upstream node matches the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress entity queue of the upstream node, and retransmits the expected data packet.

2. The network reliability guarantee method based on adaptive hop-by-hop cache according to claim 1 is characterized in that: The network interface of the downstream node includes an egress cache real queue, an ingress receiving virtual queue and the packet loss record queue, wherein the egress cache real queue is used to cache the received data packets, the ingress receiving virtual queue is used to record the latest received data packet sequence number, and the packet loss record queue is used to cache the data packet sequence number of the lost data packet.

3. The network reliability guarantee method based on adaptive hop-by-hop cache according to claim 1, characterized in that: The step of determining the data packet sequence number of the lost data packet that meets the preset condition in the packet loss record queue as the expected sequence number of the receiving queue of the inlet receiving virtual queue comprises: Determining a retransmission type of the lost data packet according to a retransmission flag in the lost data packet; When the lost data packet is a retransmitted data packet, deleting the data packet sequence number of the retransmitted data packet in the packet loss record queue; Determine the sum of the latest data packet sequence number of the inlet receiving virtual queue and a preset constant as the expected sequence number of the receiving queue; When the lost data packet is a non-retransmission data packet, the data packet sequence number of the non-retransmission data packet is compared with the expected sequence number of the receiving queue: When the data packet sequence number of the non-retransmitted data packet is the same as the expected sequence number of the receiving queue, updating the latest data packet sequence number of the inlet receiving virtual queue; When the data packet sequence number of the non-retransmitted data packet is less than the expected sequence number of the receiving queue, deleting the data packet sequence number of the non-retransmitted data packet in the packet loss record queue; When the data packet sequence number of the non-retransmitted data packet is greater than the expected sequence number of the receiving queue, storing the sequence number between the expected sequence number of the receiving queue and the data packet sequence number in the packet loss record queue; The expected sequence number of the receiving queue of the inlet receiving virtual queue is updated based on the packet loss record queue.

4. The network reliability guarantee method based on adaptive hop-by-hop cache according to claim 1, characterized in that: The sending, by the downstream node, a packet loss request to the upstream node based on the expected sequence number of the receiving queue includes: Periodically sending a packet loss request to the upstream node based on the expected sequence number of the receiving queue according to a preset retransmission interval, wherein the retransmission interval is greater than the round-trip delay of the data packet transmission; When the number of retransmissions of any of the data packet sequence numbers in the expected sequence numbers of the receiving queue is greater than a preset number threshold, the data packet sequence number in the packet loss record queue is deleted.

5. The network reliability guarantee method based on adaptive hop-by-hop cache according to claim 4 is characterized in that: The method further comprises: When it is detected that the packet loss request is lost, the preset retransmission interval is doubled.

6. The network reliability guarantee method based on adaptive hop-by-hop cache according to claim 1, characterized in that: The retransmitting the expected data packet comprises: Performing batch encoding transmission on the expected data packets through the upstream node; After the upstream node performs batch encoding transmission on the expected data packets, the method further includes: caching the received expected data packet through the downstream node; When there is a missing intermediate sequence number in the data packet sequence number of the expected data packet, waiting for the batch encoding transmission of the expected data packet to be completed; When there are duplicate sequence numbers in the data packet sequence number of the expected data packet, removing the expected data packet corresponding to the duplicate sequence number; Deliver in sequence according to the data packet sequence numbers of the expected data packets.

7. A network reliability assurance device based on adaptive hop-by-hop cache, characterized in that: include: An acquisition module, used for acquiring an upstream node and a downstream node in a network, wherein the network is based on a transmission control protocol or an Internet protocol, and the upstream node and the downstream node have a cache function and a confirmation function set hop by hop; A sorting module, used to sort the data packets that need to be cached through the upstream node and send the data packets to the downstream node; A first determining module, configured to determine the sequence number of a data packet and cache the data packet when the downstream node receives the data packet to be cached; A determination module, configured to determine the data packet as a lost data packet when the sequence number of the data packet is a non-continuous sequence number; A cache module, used for caching the data packet sequence number of the lost data packet into the packet loss record queue of the downstream node; A second determination module is used to determine, within a preset time series period, the data packet sequence number of the lost data packet in the packet loss record queue that meets the preset conditions as the receiving queue expected sequence number of the inlet receiving virtual queue; A sending module, configured to send a packet loss request to the upstream node through the downstream node based on the expected sequence number of the receiving queue; The transmission module is used to match the expected data packet corresponding to the expected sequence number of the receiving queue in the local egress entity queue of the upstream node through the upstream node, and retransmit the expected data packet.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the network reliability assurance method based on adaptive hop-by-hop cache as described in any one of claims 1 to 6 is implemented.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the network reliability assurance method based on adaptive hop-by-hop cache as claimed in any one of claims 1 to 6 is implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the network reliability assurance method based on adaptive hop-by-hop cache as claimed in any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Autonomous queue management method based on context awareness

    CN101860475A

  • Method for quickly recovering TCP congestion

    CN112688876A

  • Reliable transmission system of time series data in untrusted network and reliable transmission method thereof

    CN117318895A

  • Timely Delivery of Real-Time Media Problem When TCP Must Be Used

    US20170048296A1

  • Data transmitting method, data receiving method, and device

    US20210203434A1

Cited By

  • Network routing method

    CN119788588A

  • Network layer data plane reliable transmission method and device based on hop-by-hop acknowledgement

    CN119945959A

  • Hop-by-hop reliable transmission layer data transmission method and system

    CN120074764A

  • Rapid packet loss recovery method for multi-path network of data center

    CN122204247A