Satellite distributed network coding multipath routing method and device based on packet loss estimation
By using a satellite distributed network coded multipath routing method based on packet loss estimation, the packet forwarding strategy is dynamically adjusted, which solves the problems of high packet redundancy and poor topology adaptability in satellite communication networks, and achieves more flexible and timely packet transmission and a higher successful delivery rate.
Patent Information
- Application Number
- CN202511094372.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-08-06
AI Technical Summary
Existing dynamic network multipath routing methods in satellite communication networks have problems such as high packet redundancy, large algorithm overhead and poor adaptability to sudden changes in satellite network topology.
A satellite distributed network coding multipath routing method based on packet loss estimation is adopted. By determining the node's neighbor node set and attribute information, random linear network coding and probabilistic forwarding mechanism are used to dynamically adjust the packet forwarding strategy, reduce protocol complexity and algorithm overhead, and improve the successful delivery rate of data packets.
It achieves more flexible and timely data packet transmission in the satellite dynamic network, reduces bandwidth resource waste, improves the data packet success rate and decoding rate, and adapts to changes in satellite network topology.
Smart Images

Figure CN120602409A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of satellite communications, and in particular to a satellite distributed network coded multipath routing method and device based on packet loss estimation. Background Art
[0002] In the prior art, the dynamic network multipath routing method used in satellite communication networks is a satellite multipath routing algorithm with integrated network coding. This algorithm introduces the concept of virtual topology, transforming the dynamic topology of the low-orbit satellite network into a static topology. Based on the periodicity and predictability of the network, K shortest paths between any pair of nodes are pre-calculated at the gateway station, and the routing table is then loaded onto each satellite. However, this algorithm requires calculating K paths between any pair of nodes offline, resulting in high computational complexity, high satellite routing table storage overhead, and poor adaptability to sudden changes in satellite network topology. Furthermore, multiple paths transmit data in parallel without relying on network status information, resulting in high redundancy and significant waste of bandwidth resources. Summary of the Invention
[0003] The purpose of the present invention is to provide a satellite distributed network coded multipath routing method and apparatus based on packet loss estimation, so as to alleviate the technical problems of the prior art dynamic network multipath routing methods, such as high data packet redundancy, large algorithm overhead, and poor adaptability to sudden changes in satellite network topology.
[0004] In a first aspect, the present invention provides a satellite distributed network coded multipath routing method based on packet loss estimation, comprising: determining a set of neighbor nodes of each node in a satellite communication network at a current moment and attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between other nodes; when a target node in the satellite communication network receives a data packet, extracting source node information and destination node information of the data packet; wherein the target node represents any node in the satellite communication network; when the target node is determined to be the source node of the data packet, splitting the data packet into m data packets to be encoded of equal size and with the same group number, and executing a target processing flow; wherein the target processing flow includes: determining a set of downstream nodes to which the target node forwards the data packet, and calculating the data packet forwarding priority and data packet forwarding probability of each downstream node based on the attribute information of each downstream node. , m data packets to be encoded are encoded based on random linear network coding to obtain m+n encoded data packets, and the encoded data packets are forwarded based on the data packet forwarding priority and data packet forwarding probability of all downstream nodes; the downstream node represents a node in the combination of neighbor nodes whose shortest path transmission delay between the node and the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set; when the target node is determined to be an intermediate forwarding node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, then the m data packets with the same group number are used as the data packets to be encoded, and the target processing flow is executed; when the target node is determined to be the destination node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, then the original data packet sent by the source node is restored based on the m data packets with the same group number.
[0005] In an optional embodiment, determining the queue packet loss probability of each neighbor node includes: obtaining the current queue length, expected queue length, current queue packet loss probability, update time of the current queue packet loss probability and minimum time interval for updating the queue packet loss probability of the target neighbor node; wherein, the target neighbor node represents any node in the neighbor node set; based on the current time and the update time of the current queue packet loss probability, calculating the effective duration of the current queue packet loss probability; when it is determined that the effective duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, then adding a first probability value to the current queue packet loss probability to obtain an updated queue packet loss probability; if the current queue length of the target neighbor node is 0, then reducing the second probability value based on the current queue packet loss probability to obtain an updated queue packet loss probability.
[0006] In an optional embodiment, the packet forwarding priority and packet forwarding probability of each downstream node are calculated based on the attribute information of each downstream node, including: determining the shortest path transmission delay between the target downstream node and the destination node based on the attribute information of the target downstream node and the destination node information, and obtaining the target shortest path transmission delay; wherein the target downstream node represents any node in the downstream node set; calculating the packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node and the average sending queue length; determining the number of packets to be sent to each downstream node in the packet queue of the target node; and calculating the packet forwarding probability of each downstream node based on the number of packets to be sent to each downstream node and the packet forwarding priority of each downstream node.
[0007] In an optional embodiment, m data packets to be encoded are encoded based on random linear network coding to obtain m+n encoded data packets, including: calculating the average of the queue packet loss probabilities of all downstream nodes in the downstream node set to obtain the average queue packet loss probability; calculating the product of the average queue packet loss probability and m to obtain the value of n; randomly selecting m+n groups of coding coefficients in a preset finite field to encode the m data packets to be encoded respectively to obtain m+n encoded data packets; wherein, a group of coding coefficients includes m coding coefficients.
[0008] In an optional embodiment, the coded data packet is forwarded based on the data packet forwarding priority and data packet forwarding probability of the downstream node, including: when determining the downstream node corresponding to the coded data packet to be sent in the data packet queue of the target node, sorting all downstream nodes in descending order based on the data packet forwarding priority of all downstream nodes in the downstream node set to obtain a polling order of all downstream nodes; polling each downstream node in the downstream node set in turn based on the polling order, and randomly generating a reference probability when it is the turn of the target downstream node; when it is determined that the data packet forwarding probability of the target downstream node is greater than or equal to the reference probability, determining that the coded data packet is forwarded by the target downstream node; when it is determined that the data packet forwarding probability of the target downstream node is less than the reference probability, judging whether the next downstream node forwards the coded data packet based on the polling order.
[0009] In an optional embodiment, the packet forwarding priority of the target downstream node is calculated based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node and the average sending queue length, including: using the formula Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream nodes The probability of packet loss in the queue is Indicates downstream nodes The average send queue length, Indicates downstream nodes With the destination node The shortest path transmission delay between Indicates downstream nodes The packet forwarding priority.
[0010] In an optional embodiment, based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node, the data packet forwarding probability of each downstream node is calculated, including: using the formula Calculate the packet forwarding probability of the downstream node; where, Indicates the target node The data packets are in the queue waiting to be sent to the downstream node The number of packets sent, Indicates downstream nodes The packet forwarding priority.
[0011] In a second aspect, the present invention provides a satellite distributed network coded multipath routing device based on packet loss estimation, comprising: a determination module for determining a set of neighbor nodes of each node in a satellite communication network at a current moment and attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length and shortest path transmission delay between other nodes; an extraction module for extracting source node information and destination node information of a data packet when a target node in the satellite communication network receives a data packet; wherein the target node represents any node in the satellite communication network; a first execution module for, when determining that the target node is the source node of the data packet, splitting the data packet into m data packets to be encoded of equal size and with the same group number, and executing a target processing flow; wherein the target processing flow includes: determining a set of downstream nodes to which the target node forwards the data packet, calculating the data packet forwarding priority and data packet forwarding priority of each downstream node based on the attribute information of each downstream node The invention discloses a method for transmitting a packet to be encoded based on a random linear network coding, encoding m packets to be encoded based on random linear network coding to obtain m+n encoded packets, and forwarding the encoded packets based on the packet forwarding priority and packet forwarding probability of all downstream nodes; the downstream node represents a node whose shortest path transmission delay between the neighbor node and the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set; the second execution module is used to, when it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of caching m packets with the same group number, then the m packets with the same group number are used as the packets to be encoded and the target processing flow is executed; the recovery module is used to, when it is determined that the target node is the destination node of the data packet, if the target node just meets the condition of caching m packets with the same group number, then the original data packet sent by the source node is restored based on the m packets with the same group number.
[0012] In a third aspect, the present invention provides an electronic device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, it implements the satellite distributed network coded multipath routing method based on packet loss estimation described in any one of the aforementioned embodiments.
[0013] In a fourth aspect, the present invention provides a computer-readable storage medium storing computer instructions, which, when executed by a processor, implement the satellite distributed network coded multipath routing method based on packet loss estimation described in any one of the aforementioned embodiments.
[0014] The present invention provides a satellite distributed network coding multipath routing method based on packet loss estimation. This method does not require nodes to obtain full network topology information to calculate and maintain fixed multipaths. Instead, each node only needs to maintain a set of neighboring nodes and their attribute information to select an appropriate next hop. This distributed routing is more flexible and responsive, better adapting to dynamic satellite networks, and reducing protocol complexity and algorithm overhead. Furthermore, after non-destination nodes receive data packets, random linear network coding of the nodes and redundant packet transmission based on the average queue loss probability of the downstream node set can effectively compensate for congestion loss, improve the successful delivery rate of data packets under the same redundancy, and effectively avoid wasting bandwidth resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. 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 any creative work.
[0016] Figure 1 A flowchart of a satellite distributed network coded multipath routing method based on packet loss estimation provided by an embodiment of the present invention; Figure 2 A schematic diagram of a dynamic probabilistic forwarding model provided by an embodiment of the present invention; Figure 3 A functional module diagram of a satellite distributed network coded multipath routing device based on packet loss estimation provided by an embodiment of the present invention; Figure 4 A schematic diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0017] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.
[0018] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but rather merely represents selected embodiments of the present invention. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort shall fall within the scope of protection of the present invention.
[0019] The following embodiments of the present invention are described in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments may be combined with each other.
[0020] Example 1 Figure 1 A flowchart of a satellite distributed network coded multipath routing method based on packet loss estimation is provided in an embodiment of the present invention, such as Figure 1 As shown, the method specifically includes the following steps: Step S102: determining the neighbor node set of each node in the satellite communication network at the current moment and the attribute information of each neighbor node.
[0021] The attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between nodes.
[0022] Considering the dynamic topology of satellite communication networks, the packet loss estimation-based satellite distributed network coding multipath routing method proposed in embodiments of the present invention eliminates the need for individual nodes in the network to establish and maintain multiple paths in advance during data packet transmission. Instead, each node only needs to maintain a set of neighboring nodes and obtain attribute information for each neighbor in the set. This allows for timely detection of link failures, regional congestion, and other conditions, thereby selecting an appropriate next-hop node. This distributed forwarding process allows data packets to avoid congested areas, reducing latency and achieving algorithm adaptability to dynamic networks with minimal latency and packet loss. Because each node can promptly change the forwarding strategy of downstream nodes without requiring any response from the source node, it effectively reduces protocol complexity and algorithm overhead. Compared to centralized routing algorithms, this distributed routing algorithm is more flexible and responsive, making it better suited to dynamic satellite networks.
[0023] In an embodiment of the present invention, the queue packet loss probability represents the probability of a data packet in a node's queue of data packets to be sent being discarded. In an initial state, the node's queue packet loss probability is 0. As the number of data packets in the node's data packet queue changes, the embodiment of the present invention adjusts the node's queue packet loss probability according to a preset mechanism to manage and control congestion notifications of the node queue.
[0024] The average send queue length of a node is also called the smoothed queue length and can be calculated by taking the weighted average of the node's queue lengths at historical times. Alternatively, the average send queue length can be calculated as: ,in, Indicates the preset queue weight. Representation node The average sending queue length at the last moment, Representation node The queue length at the current moment (i.e., the current queue length), Representation node The average send queue length at the current time.
[0025] Each node in a satellite communication network can periodically update its transmission delay information to all other nodes in the network based on the ephemeris. Based on this, the shortest path transmission delay between nodes can be determined. In order to accurately calculate the end-to-end delay, the embodiment of the present invention defines neighbor nodes. and The formula for the one-hop delay between hops is: ,in, Represents neighbor nodes and The link between Indicates a link The transmission delay, Representation node The sending queue delay, express, Indicates the average packet length. The average packet length indicates how many bytes a packet occupies on average, that is, the size of the packet or the length of the packet. Indicates link bandwidth.
[0026] Step S104: When the target node in the satellite communication network receives the data packet, the source node information and the destination node information of the data packet are extracted.
[0027] The target node represents any node in the satellite communication network.
[0028] That is to say, when a data packet arrives, the target node can obtain its source and destination node information by parsing the data packet. However, in the embodiment of the present invention, the way the target node processes the data packet varies depending on the "role" played by the target node in the data packet transmission process. The following will specifically introduce the data processing flow when the target node is the source node, the intermediate forwarding node and the destination node.
[0029] To reduce packet loss, embodiments of the present invention incorporate network coding, which includes random linear network coding at the source node, random linear network coding at intermediate forwarding nodes, and random linear network decoding at the destination node. Furthermore, when performing random linear network coding, non-destination nodes (i.e., source nodes and intermediate forwarding nodes) must generate n additional redundant encoded data packets based on the average queue loss probability of their downstream nodes to compensate for congestion-related packet loss.
[0030] Random Linear Network Decoding is a distributed code construction method. Each node randomly selects coefficients in a Galois field (also known as a finite field) without requiring any information about other nodes, resulting in excellent scalability and feasibility. The basic idea behind this encoding is that all messages are linearly combined during encoding, with coefficients uniformly selected randomly in the Galois field (also known as a finite field). During decoding, Gaussian elimination is used to solve the linear equations and recover the original message.
[0031] Step S106 , when it is determined that the target node is the source node of the data packet, the data packet is split into m data packets to be encoded of equal size and with the same group number, and the target processing flow is executed.
[0032] Among them, the target processing flow includes: determining the set of downstream nodes to which the target node forwards data packets, calculating the data packet forwarding priority and data packet forwarding probability of each downstream node based on the attribute information of each downstream node, encoding m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and data packet forwarding probability of all downstream nodes; the downstream node represents a node in the combination of neighbor nodes whose shortest path transmission delay with the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set.
[0033] If the destination node is the source node of a data packet, then after receiving the data packet, the destination node first splits the data packet into m equal-sized to-be-encoded data packets with the same group number. These m to-be-encoded data packets are then encoded using random linear network coding and then forwarded. As described above, the number n of redundant encoded data packets for the destination node is determined based on the average queue loss probability of its downstream node set. Therefore, before encoding, the set of downstream nodes to which the destination node forwards the current data packet must be determined.
[0034] In the embodiment of the present invention, there is no isolated node in the satellite communication network, that is, all nodes have neighbor nodes. Send to the destination node , we must determine the set of downstream nodes of the target node. Based on the definition of downstream nodes above, the set of downstream nodes is expressed as ,in, Representation node The set of neighbor nodes of Indicates downstream nodes With the destination node The shortest path transmission delay between Indicates the target node With the destination node The shortest path transmission delay between Representation node The set of downstream nodes.
[0035] Next, based on the attribute information of each downstream node in the set of downstream nodes, the packet forwarding priority and packet forwarding probability of each downstream node, as well as the average queue loss probability of the downstream node set, are calculated. Based on the average queue loss probability, the number n of redundant coded packets to be output to compensate for congestion loss is determined. Clearly, outputting m+n coded packets by the destination node effectively avoids packet retransmissions due to congestion loss, improving the network's packet delivery and decoding rates. Furthermore, in-stream network coding reduces the correlation between redundant coded packets and the original packet, thereby increasing the successful delivery rate of packets with the same level of redundancy.
[0036] After the target node completes data packet encoding, it forwards the encoded data packet based on the data packet forwarding priority and data packet forwarding probability of all downstream nodes. This can effectively divert traffic to the current node (i.e., the target node) through the downstream nodes, thereby reducing local congestion.
[0037] Step S108, when it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, then the m data packets with the same group number are used as the data packets to be encoded, and the target processing flow is executed.
[0038] If the target node is an intermediate forwarding node of the data packet, then after receiving the current data packet, the target node first determines whether there is a data packet with the same group number as the current data packet in its cached data packets. If there is but the total number of data packets does not reach m, it continues to wait; if after receiving the current data packet, there are just m data packets with the same group number, then the intermediate forwarding node will use the above m data packets with the same group number as the data packets to be encoded, and then execute the same target processing flow as the source node in the above text, which encodes the data packet to be encoded and then forwards it. Please refer to the above text for details and will not be repeated here.
[0039] The intermediate forwarding node re-encodes the received encoded data packets, which can further reduce the correlation between the encoded data packets and improve the decoding success rate of the destination node. In the embodiment of the present invention, in order to reduce the cache pressure of the node, the intermediate forwarding node clears the cache after a time interval T after completing the encoding and forwarding of the data packet.
[0040] Step S110, when the target node is determined to be the destination node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, then the original data packet sent by the source node is restored based on the m data packets with the same group number.
[0041] If the target node is the destination node of the data packet, then after receiving the current data packet, the target node will also first determine whether there is a data packet with the same group number as the current data packet in its cached data packets. If there is but the total number of data packets has not reached m, it will continue to wait; if after receiving the current data packet, there are exactly m data packets with the same group number , then given that the non-destination node uses random linear network coding to encode the data packet, and has a very high probability of ensuring that the decoding matrix corresponding to the coding coefficient vector Full rank, therefore, the destination node can recover the original data packet sent by the source node based on the m received data packets with the same group number through Gaussian elimination method, which is expressed as: ,in, Indicates the original data packet.
[0042] Embodiments of the present invention provide a satellite distributed network coding multipath routing method based on packet loss estimation. This method does not require nodes to obtain full network topology information to calculate and maintain fixed multipaths. Instead, each node only needs to maintain a set of neighboring nodes and their attribute information to select an appropriate next hop. This distributed routing is more flexible and responsive, better adapting to dynamic satellite networks, and reducing protocol complexity and algorithm overhead. Furthermore, after non-destination nodes receive data packets, random linear network coding and redundant packet transmission based on the average queue loss probability of the downstream node set can effectively compensate for congestion loss, improve the successful delivery rate of data packets with the same redundancy, and effectively avoid wasting bandwidth resources.
[0043] In an optional implementation manner, in the above step S102, determining the queue packet loss probability of each neighboring node specifically includes the following steps: Step S201 , obtaining the current queue length, expected queue length, current queue packet loss probability, update time of the current queue packet loss probability, and minimum time interval for updating the queue packet loss probability of the target neighbor node; wherein the target neighbor node represents any node in the neighbor node set.
[0044] Step S202 : Calculate the validity duration of the current queue packet loss probability based on the current time and the update time of the current queue packet loss probability.
[0045] Step S203 : When it is determined that the validity duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, then the first probability value is added to the current queue packet loss probability to obtain an updated queue packet loss probability.
[0046] Step S204: If the current queue length of the target neighbor node is 0, then the second probability value is reduced based on the current queue packet loss probability to obtain an updated queue packet loss probability.
[0047] As can be seen from the description of steps S201-S204 above, the embodiment of the present invention essentially determines the queue packet loss probability of each node based on the two events of packet loss and queue idleness, thereby managing and controlling the node's congestion notification. Specifically, the queue packet loss probability of a neighboring node is determined based on the following formula: ,in, Indicates the target neighbor node The current queue packet loss probability, Represents the first probability value, that is, the increment of packet loss probability when the queue overflows, Indicates the second probability value, that is, the decrement of the queue packet loss probability when the queue is idle. Indicates the target neighbor node The expected queue length, Indicates the target neighbor node The current queue length, , Indicates the effective duration of the packet loss probability of the current queue. Indicates the current moment, Indicates the update time of the current queue packet loss probability, Indicates the minimum time interval for updating the queue packet loss probability, that is, the minimum time interval between two consecutive updates of the queue packet loss probability. Optionally, set , to speed up the relief of queue congestion.
[0048] In an optional implementation, in the above step S106, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets specifically includes the following steps: Step S401 : Calculate the average of the queue packet loss probabilities of all downstream nodes in the downstream node set to obtain the average queue packet loss probability.
[0049] Step S402: Calculate the product of the average queue packet loss probability and m to obtain the value of n.
[0050] Step S403 : randomly selecting m+n groups of coding coefficients in a preset finite field to encode the m data packets to be encoded respectively, to obtain m+n encoded data packets; wherein a group of coding coefficients includes m coding coefficients.
[0051] The algorithm for calculating the queue packet loss probability of a node has been introduced above. Therefore, after determining the set of downstream nodes of the target node, the average queue packet loss probability of all downstream nodes in the set is calculated to obtain the average queue packet loss probability. Based on this, in order to compensate for the packet loss caused by network congestion, the embodiment of the present invention adds n redundant coded data packets on the basis of the target node's original plan to output m coded data packets, where After this processing, even if the downstream node loses n data packets due to congestion, it can still ensure that m linearly independent encoded data packets are received, so that the destination node can decode m original data packets, thus overcoming the impact of packet loss due to congestion.
[0052] Among them, random linear network coding can be expressed as: ,in, represents the i-th data packet to be encoded, represents the jth group of coding coefficients, that is, the jth coding coefficient vector, In the embodiment of the present invention, each coded data packet carries: a group number, a coding coefficient, and coded data, and all coded data packets have the same size, wherein the group number and coding coefficient are stored in the data packet header.
[0053] The embodiment of the present invention randomly selects m+n groups of coding coefficients in a preset finite field, and the range of the finite field is The correlation with the coding coefficient vector is shown in Table 1 below. As can be seen from Table 1, the size of the finite field determines the probability of linear independence of the coding coefficient vector, which in turn affects the decoding performance of random linear network coding. Increasing the power of 2 increases the probability of successful decoding, but the coding coefficient vector occupies more bytes, resulting in high storage overhead. Alternatively, using a power of 2 of 8 means that the coding coefficient only occupies one byte. This significantly reduces storage overhead while ensuring a high probability of linear independence between the two coding coefficient vectors.
[0054] Table 1 Probability of linear independence of coefficient vectors under different finite field ranges
[0055] In an optional implementation, in step S106, calculating the data packet forwarding priority and data packet forwarding probability of each downstream node based on the attribute information of each downstream node specifically includes the following steps: Step S301 : Based on the attribute information of the target downstream node and the destination node information, the shortest path transmission delay between the target downstream node and the destination node is determined to obtain the target shortest path transmission delay; wherein the target downstream node represents any node in the downstream node set.
[0056] Step S302 : Calculate the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length.
[0057] It is known that the attribute information of each node includes the shortest path transmission delay between it and the rest of the nodes in the network. Therefore, after obtaining the destination node information, the shortest path transmission delay between the target downstream node and the destination node can be matched from the attribute information of the target downstream node, which is recorded as the target shortest path transmission delay.
[0058] Next, the packet forwarding priority of the target downstream node is calculated based on the queue packet loss probability, the average transmit queue length, and the target shortest path transmission delay. In this embodiment of the present invention, the shorter the shortest path transmission delay from the target downstream node to the destination node, the higher the packet forwarding priority of the target downstream node.
[0059] In an optional embodiment, calculating the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length includes: Using formula Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream nodes The probability of packet loss in the queue is Indicates downstream nodes The average send queue length, Indicates downstream nodes With the destination node The shortest path transmission delay between them, that is, the target shortest path transmission delay, Indicates downstream nodes The packet forwarding priority.
[0060] Step S303: Determine the number of data packets in the data packet queue of the target node to be sent to each downstream node.
[0061] Step S304 : Calculating the data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node.
[0062] Specifically, the embodiment of the present invention calculates the dynamic forwarding probability of each downstream node for the encoded data packet, that is, the data packet forwarding probability, based on the normalized ratio of the product of the data packet forwarding priority of the downstream node and the number of data packets to be sent.
[0063] In an embodiment of the present invention, calculating the packet forwarding probability of each downstream node based on the number of packets to be sent to each downstream node and the packet forwarding priority of each downstream node includes: Using formula Calculate the packet forwarding probability of the downstream node; where, Indicates the target node The data packets are in the queue waiting to be sent to the downstream node The number of packets sent, Indicates downstream nodes The packet forwarding priority.
[0064] According to the above formula for packet forwarding probability, the downstream node The higher the forwarding priority of the data packet, the Send to Queued waiting packets The more, the more encoded data packets are received by downstream nodes. The greater the probability of forwarding. Figure 2 A schematic diagram of a dynamic probability forwarding model provided by an embodiment of the present invention is provided. Figure 2 In the target node have upstream nodes and k downstream nodes.
[0065] In an optional implementation, in step S106, forwarding the encoded data packet based on the data packet forwarding priority and data packet forwarding probability of the downstream node specifically includes the following steps: Step S501, when determining the downstream node corresponding to the encoded data packet to be sent in the data packet queue of the target node, all downstream nodes in the downstream node set are sorted in descending order based on the data packet forwarding priorities of all downstream nodes to obtain the polling order of all downstream nodes.
[0066] Step S502 : polling each downstream node in the downstream node set in turn based on the polling order, and randomly generating a reference probability when it is the turn of the target downstream node.
[0067] Step S503 : When it is determined that the packet forwarding probability of the target downstream node is greater than or equal to the reference probability, it is determined that the target downstream node forwards the encoded packet.
[0068] Step S504 : When it is determined that the data packet forwarding probability of the target downstream node is less than the reference probability, it is determined based on the polling order whether the next downstream node forwards the encoded data packet.
[0069] Specifically, when a target node forwards a coded data packet (denoted as the currently pending coded data packet), its downstream nodes are polled sequentially based on the packet forwarding priority, from highest to lowest. Specifically, a reference probability is first randomly generated in the interval (0, 1). If the packet forwarding probability of the first-ranked downstream node is greater than or equal to the reference probability, the first-ranked downstream node is determined to forward the coded data packet. Otherwise, a second reference probability is randomly generated in the interval (0, 1) and compared with the packet forwarding probability of the second-ranked downstream node. If it is greater than or equal to the reference probability, the second-ranked downstream node is determined to forward the coded data packet. Otherwise, the third-ranked downstream node is polled, and so on, until the downstream node for forwarding the coded data packet is determined.
[0070] In summary, the embodiments of the present invention have the following advantages: 1. Combining random linear network coding with a probabilistic forwarding mechanism, the average packet loss probability of node queues is used to control intra-stream redundant coding, and the sending probability is dynamically adjusted based on downstream node status information to improve the network packet delivery rate.
[0071] 2. Based on queue management events (packet loss and queue idleness), the packet loss mechanism and packet loss probability are determined, effectively controlling the rate at which congestion notification messages are sent. This queue management algorithm uses these two events to manage congestion, maintaining a consistent packet loss probability. When a queue overflows, resulting in continuous packet loss, the queue loss probability is increased; conversely, when a queue becomes empty, the queue loss probability is decreased. Therefore, this queue management algorithm effectively controls the rate at which congestion notification messages are sent.
[0072] 3. Determine the forwarding priority level of the downstream node based on the average sending queue length, queue packet loss probability, and shortest path transmission delay of the downstream node, that is, the packet forwarding priority mentioned above. At the same time, considering the queue length of the packet sent to the downstream node, forward the packet using the weighted probability of the downstream node multiplied by the queue length of the packet to be forwarded. This allows the downstream node to more effectively divert traffic to the current node and reduce local congestion.
[0073] 4. Redundant linear network coding and transmission are performed based on the average queue packet loss probability of downstream nodes. Redundant network coding of data packets offsets congestion packet loss to avoid packet retransmission caused by congestion packet loss, improve network packet delivery rate and decoding rate, and reduce the correlation between redundant packets and original packets through intra-stream network coding, thereby improving the successful delivery rate of data packets with the same redundancy.
[0074] 5. During path calculation, the present invention eliminates the need for nodes to obtain network-wide topology information to calculate and maintain fixed multipaths. Nodes only need information from neighboring nodes to determine link failures, congestion, and other conditions and select the appropriate next path, reducing protocol complexity and algorithm overhead.
[0075] Example 2 An embodiment of the present invention further provides a satellite distributed network coded multipath routing device based on packet loss estimation. The device is mainly used to execute the satellite distributed network coded multipath routing method based on packet loss estimation provided in the first embodiment above. The satellite distributed network coded multipath routing device based on packet loss estimation provided in an embodiment of the present invention is specifically introduced below.
[0076] Figure 3 A functional module diagram of a satellite distributed network coding multipath routing device based on packet loss estimation provided by an embodiment of the present invention is shown as follows: Figure 3 As shown, the device mainly includes: a determination module 10, an extraction module 20, a first execution module 30, a second execution module 40, and a recovery module 50, wherein: The determination module 10 is used to determine the neighbor node set of each node in the satellite communication network at the current moment and the attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length and shortest path transmission delay between other nodes.
[0077] The extraction module 20 is used to extract the source node information and the destination node information of the data packet when the target node in the satellite communication network receives the data packet; wherein the target node represents any node in the satellite communication network.
[0078] The first execution module 30 is used to split the data packet into m data packets of equal size and with the same group number when determining that the target node is the source node of the data packet, and execute the target processing flow; wherein the target processing flow includes: determining the set of downstream nodes to which the target node forwards the data packet, calculating the data packet forwarding priority and data packet forwarding probability of each downstream node based on the attribute information of each downstream node, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and data packet forwarding probability of all downstream nodes; the downstream node represents a node in the combination of neighbor nodes whose shortest path transmission delay with the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set.
[0079] The second execution module 40 is used to, when it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, treat the m data packets with the same group number as the data packets to be encoded and execute the target processing flow.
[0080] The recovery module 50 is used to recover the original data packet sent by the source node based on the m data packets with the same group number if the target node is determined to be the destination node of the data packet and the target node just meets the condition of caching m data packets with the same group number.
[0081] Embodiments of the present invention provide a satellite distributed network coding multipath routing device based on packet loss estimation. This device does not require nodes to obtain full network topology information to calculate and maintain fixed multipaths. Instead, each node only needs to maintain a set of neighboring nodes and their attribute information to select an appropriate next hop. This distributed routing is more flexible and responsive, better adapting to dynamic satellite networks, and reducing protocol complexity and algorithm overhead. Furthermore, after non-destination nodes receive data packets, random linear network coding and redundant packet transmission based on the average queue loss probability of the downstream node set can effectively compensate for congestion loss, improve the successful delivery rate of data packets with the same redundancy, and effectively avoid wasting bandwidth resources.
[0082] Optionally, the determining module 10 is specifically configured to: Obtain the current queue length, expected queue length, current queue packet loss probability, update time of the current queue packet loss probability, and minimum time interval for updating the queue packet loss probability of the target neighbor node; wherein the target neighbor node represents any node in the neighbor node set.
[0083] Calculate the effective duration of the packet loss probability of the current queue based on the current time and the update time of the packet loss probability of the current queue.
[0084] When it is determined that the effective duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, the first probability value is added to the current queue packet loss probability to obtain an updated queue packet loss probability.
[0085] If the current queue length of the target neighbor node is 0, the second probability value is reduced based on the current queue packet loss probability to obtain an updated queue packet loss probability.
[0086] Optionally, the first execution module 30 includes: The first determining unit is configured to determine the shortest path transmission delay between the target downstream node and the destination node based on the attribute information of the target downstream node and the destination node information, thereby obtaining the target shortest path transmission delay; wherein the target downstream node represents any node in the downstream node set.
[0087] The first calculation unit is used to calculate the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node and the average sending queue length.
[0088] The second determining unit is configured to determine the number of data packets in the data packet queue of the target node to be sent to each downstream node.
[0089] The second calculation unit is configured to calculate the data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node.
[0090] Optionally, the first execution module 30 is further configured to: The average of the queue packet loss probabilities of all downstream nodes in the downstream node set is calculated to obtain the average queue packet loss probability.
[0091] Calculate the product of the average queue packet loss probability and m to obtain the value of n.
[0092] m+n groups of coding coefficients are randomly selected in a preset finite field to encode m data packets to be encoded respectively, thereby obtaining m+n coded data packets; wherein, one group of coding coefficients includes m coding coefficients.
[0093] Optionally, the first execution module 30 is further configured to: When determining the downstream node corresponding to the currently to-be-sent encoded data packet in the data packet queue of the target node, all downstream nodes in the downstream node set are sorted in descending order based on their data packet forwarding priorities to obtain a polling order for all downstream nodes.
[0094] Each downstream node in the downstream node set is polled in turn based on the polling order, and when it is the turn of the target downstream node, a reference probability is randomly generated.
[0095] When it is determined that the data packet forwarding probability of the target downstream node is greater than or equal to the reference probability, it is determined that the target downstream node forwards the encoded data packet.
[0096] When it is determined that the packet forwarding probability of the target downstream node is less than the reference probability, whether the next downstream node forwards the encoded packet is determined based on the polling order.
[0097] Optionally, the first computing unit is specifically configured to: Using formula Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream nodes The probability of packet loss in the queue is Indicates downstream nodes The average send queue length, Indicates downstream nodes With the destination node The shortest path transmission delay between Indicates downstream nodes The packet forwarding priority.
[0098] Optionally, the second computing unit is specifically configured to: Using formula Calculate the packet forwarding probability of the downstream node; where, Indicates the target node The data packets are in the queue waiting to be sent to the downstream node The number of packets sent, Indicates downstream nodes The packet forwarding priority.
[0099] Example 3 See also Figure 4 An embodiment of the present invention provides an electronic device, which includes: a processor 60, a memory 61, a bus 62 and a communication interface 63, wherein the processor 60, the communication interface 63 and the memory 61 are connected via the bus 62; the processor 60 is used to execute an executable module stored in the memory 61, such as a computer program.
[0100] Memory 61 may include high-speed random access memory (RAM) and may also include non-volatile memory, such as at least one disk drive. Communication between the system network element and at least one other network element is achieved via at least one communication interface 63 (which may be wired or wireless), and may utilize the Internet, a wide area network, a local area network, a metropolitan area network, or the like.
[0101] The bus 62 may be an ISA bus, a PCI bus, or an EISA bus. The bus may be divided into an address bus, a data bus, a control bus, and the like. For ease of representation, Figure 4 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0102] Among them, the memory 61 is used to store programs, and the processor 60 executes the program after receiving the execution instruction. The method executed by the device defined by the process disclosed in any embodiment of the above-mentioned embodiment of the present invention can be applied to the processor 60 or implemented by the processor 60.
[0103] The processor 60 may be an integrated circuit chip with signal processing capabilities. During implementation, the steps of the above method may be performed by hardware integrated logic circuits or software instructions within the processor 60. The processor 60 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It may implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of the present invention may be directly executed by a hardware decoding processor or by a combination of hardware and software modules within the decoding processor. The software modules may be located in storage media well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or the like. The storage medium is located in the memory 61 , and the processor 60 reads the information in the memory 61 and completes the steps of the above method in combination with its hardware.
[0104] Embodiments of the present invention provide a computer program product for a satellite distributed network coded multipath routing method and apparatus based on packet loss estimation, including a computer-readable storage medium storing processor-executable non-volatile program code. The program code includes instructions that can be used to execute the methods described in the preceding method embodiments. For specific implementations, refer to the method embodiments and are not further described herein.
[0105] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0106] If the functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage media include various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks.
[0107] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.
[0108] In the description of the present invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer" and the like indicate positions or locations based on the positions shown in the accompanying drawings, or the positions or locations in which the inventive product is typically placed when in use. These terms are intended solely to facilitate the description of the present invention and to simplify the description, and are not intended to indicate or imply that the devices or components referred to must have a specific orientation, be constructed, or operate in a specific orientation. Therefore, they should not be construed as limitations on the present invention. Furthermore, the terms "first," "second," and "third," etc., are used solely to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0109] Furthermore, terms such as "horizontal," "vertical," and "overhanging" do not necessarily imply that a component must be absolutely horizontal or overhanging, but rather that it can be slightly tilted. For example, "horizontal" simply means that its direction is more horizontal than "vertical," and does not mean that the structure must be completely horizontal, but rather that it can be slightly tilted.
[0110] In the description of the present invention, it should also be noted that, unless otherwise expressly specified or limited, the terms "disposed," "installed," "connected," and "connected" should be understood in a broad sense. For example, they may refer to fixed connections, detachable connections, or integral connections; they may refer to mechanical connections or electrical connections; they may refer to direct connections or indirect connections through an intermediate medium; and they may refer to internal communication between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on the specific circumstances.
[0111] 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 above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A satellite distributed network coding multipath routing method based on packet loss estimation, characterized in that: include: Determine a set of neighbor nodes for each node in the satellite communication network at the current moment and attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between the node and other nodes; extracting source node information and destination node information of the data packet when the target node in the satellite communication network receives the data packet; wherein the target node represents any node in the satellite communication network; In the case where the target node is determined to be the source node of the data packet, the data packet is split into m data packets to be encoded of equal size and with the same group number, and a target processing flow is executed; wherein the target processing flow includes: determining a set of downstream nodes to which the target node forwards the data packet, calculating the data packet forwarding priority and data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and data packet forwarding probability of all downstream nodes; the downstream node represents a node in the combination of neighbor nodes whose shortest path transmission delay with the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set; In the case where it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, the m data packets with the same group number are used as data packets to be encoded, and the target processing flow is executed; When the target node is determined to be the destination node of the data packet, if the target node just meets the condition of caching m data packets with the same group number, the original data packet sent by the source node is restored based on the m data packets with the same group number.
2. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 1, characterized in that: Determine the queue packet loss probability of each neighbor node, including: Obtaining a current queue length, an expected queue length, a current queue packet loss probability, an update time of the current queue packet loss probability, and a minimum time interval for updating the queue packet loss probability of a target neighbor node; wherein the target neighbor node represents any node in the set of neighbor nodes; Calculate the validity duration of the packet loss probability of the current queue based on the current time and the update time of the packet loss probability of the current queue; When it is determined that the effective duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, adding a first probability value to the current queue packet loss probability to obtain an updated queue packet loss probability; If the current queue length of the target neighbor node is 0, the second probability value is reduced based on the current queue packet loss probability to obtain an updated queue packet loss probability.
3. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 1, characterized in that: Calculate the packet forwarding priority and packet forwarding probability of each downstream node based on the attribute information of each downstream node, including: Determine, based on the attribute information of the target downstream node and the destination node information, the shortest path transmission delay between the target downstream node and the destination node, to obtain a target shortest path transmission delay; wherein the target downstream node represents any node in the set of downstream nodes; Calculating the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length; Determining the number of data packets in the data packet queue of the target node to be sent to each of the downstream nodes; The data packet forwarding probability of each downstream node is calculated based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node.
4. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 1, characterized in that: Based on random linear network coding, m data packets to be encoded are encoded to obtain m+n encoded data packets, including: Calculating an average of queue packet loss probabilities of all downstream nodes in the downstream node set to obtain the average queue packet loss probability; Calculate the product of the average queue packet loss probability and m to obtain the value of n; m+n groups of coding coefficients are randomly selected in a preset finite field to encode the m data packets to be encoded respectively, to obtain the m+n coded data packets; wherein a group of coding coefficients includes m coding coefficients.
5. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 1, characterized in that: Forwarding the encoded data packet based on the data packet forwarding priority and the data packet forwarding probability of the downstream node, comprising: When determining the downstream node corresponding to the currently to-be-sent encoded data packet in the data packet queue of the target node, sorting all the downstream nodes in the downstream node set in descending order based on the data packet forwarding priorities of all the downstream nodes to obtain a polling order for all the downstream nodes; polling each downstream node in the set of downstream nodes in sequence based on the polling order, and randomly generating a reference probability when it is the turn of the target downstream node; When it is determined that the packet forwarding probability of the target downstream node is greater than or equal to the reference probability, determining that the target downstream node forwards the encoded packet; When it is determined that the data packet forwarding probability of the target downstream node is less than the reference probability, it is determined whether the next downstream node forwards the encoded data packet based on the polling order.
6. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 3, characterized in that: Calculating the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length, including: Using formula Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream nodes The probability of packet loss in the queue is Indicates downstream nodes The average send queue length, Indicates downstream nodes With the destination node The shortest path transmission delay between Indicates downstream nodes The packet forwarding priority.
7. The satellite distributed network coding multipath routing method based on packet loss estimation according to claim 3, characterized in that: Calculating a data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node includes: Using formula Calculate the packet forwarding probability of the downstream node; where, Indicates the target node The data packets are in the queue waiting to be sent to the downstream node The number of packets sent, Indicates downstream nodes The packet forwarding priority.
8. A satellite distributed network coding multipath routing device based on packet loss estimation, characterized in that: include: A determination module is configured to determine a set of neighbor nodes of each node in the satellite communication network at the current moment and attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between the node and other nodes; an extraction module, configured to extract source node information and destination node information of a data packet when a target node in the satellite communication network receives the data packet; wherein the target node represents any node in the satellite communication network; A first execution module is configured to, upon determining that the target node is the source node of the data packet, split the data packet into m data packets to be encoded of equal size and with the same group number, and execute a target processing flow; wherein the target processing flow includes: determining a set of downstream nodes to which the target node forwards the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priorities and data packet forwarding probabilities of all downstream nodes; the downstream node represents a node in the combination of neighboring nodes whose shortest path transmission delay with the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on an average queue packet loss probability of the set of downstream nodes; a second execution module, configured to, when it is determined that the target node is an intermediate forwarding node of the data packet, use the m data packets with the same group number as data packets to be encoded and execute the target processing flow if the target node just meets the condition of caching m data packets with the same group number; A recovery module is used to recover the original data packet sent by the source node based on the m data packets with the same group number when it is determined that the target node is the destination node of the data packet and if the target node just meets the condition of caching m data packets with the same group number.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, wherein: When the processor executes the computer program, the satellite distributed network coded multipath routing method based on packet loss estimation according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the satellite distributed network coded multipath routing method based on packet loss estimation according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Satellite distributed dynamic multi-path routing method based on network coding
CN106954242A
A satellite routing algorithm with strong link constraints
CN108989223A
Low-orbit satellite distributed dynamic multipath routing method based on network coding
CN113131982A
Routing method and node
US20100265951A1
Method for congestion relief with network coding
WO2017161148A1