CN109041154B - Contact graph routing method based on random linear network coding in deep space communication - Google Patents

Contact graph routing method based on random linear network coding in deep space communication Download PDF

Info

Publication number
CN109041154B
CN109041154B CN201810758604.0A CN201810758604A CN109041154B CN 109041154 B CN109041154 B CN 109041154B CN 201810758604 A CN201810758604 A CN 201810758604A CN 109041154 B CN109041154 B CN 109041154B
Authority
CN
China
Prior art keywords
node
coding
packet
data
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810758604.0A
Other languages
Chinese (zh)
Other versions
CN109041154A (en
Inventor
梁花
徐鑫
朱珠
李洋
韩世海
晏尧
雷娟
张森
戴豪礽
张伟
景钰文
於舰
徐瑞林
陈涛
宫林
胡晓锐
籍勇亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electric Power Research Institute of State Grid Chongqing Electric Power Co Ltd
State Grid Corp of China SGCC
State Grid Chongqing Electric Power Co Ltd
Original Assignee
Electric Power Research Institute of State Grid Chongqing Electric Power Co Ltd
State Grid Corp of China SGCC
State Grid Chongqing Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electric Power Research Institute of State Grid Chongqing Electric Power Co Ltd, State Grid Corp of China SGCC, State Grid Chongqing Electric Power Co Ltd filed Critical Electric Power Research Institute of State Grid Chongqing Electric Power Co Ltd
Priority to CN201810758604.0A priority Critical patent/CN109041154B/en
Publication of CN109041154A publication Critical patent/CN109041154A/en
Application granted granted Critical
Publication of CN109041154B publication Critical patent/CN109041154B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1816Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of the same, encoded, message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • H04W40/125Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality using a measured number of retransmissions as a link metric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/246Connectivity information discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a contact graph routing algorithm based on random linear network coding in deep space communication, which comprises the following steps: the source node processes the data packet to be sent by adopting random linear network coding; the source node selects a plurality of link disjoint paths according to a predicted contact graph and transmits the encoded packet on the plurality of paths; directly forwarding the received data packet at the intermediate node, recoding and then forwarding; and the target node performs decoding prejudgment after receiving the data packet, feeds back the data packet which cannot be successfully decoded to the previous hop node set, and sends the coding packet which is beneficial to decoding of the target node by the previous hop node set, so that the target node can decode quickly, and the transmission delay is reduced. The invention adopts the random linear network to encode the original data and then sends the encoded original data, and controls the redundant data packet number in the network through the link state, thereby ensuring that the target node can decode, reducing the waste of network resources and reducing the decoding waiting time delay of the node.

Description

Contact graph routing method based on random linear network coding in deep space communication
Technical Field
The invention relates to the technical field of communication, in particular to a contact graph routing method based on random linear network coding in deep space communication.
Background
In the radio rule established by the world radio administration society, 2X 10 distances from the earth6The space within km is called near space and the space outside this distance is called deep space. The navigation universe of China directly defines the vast space from the earth to the moon as a deep space. The deep space communication covers all communication among the detectors and among the planets in the space, and compared with ground communication, the deep space communication is mainly characterized by comprising the following steps:
(1) the distance between the nodes is far away, and the propagation delay is huge and time-varying. The satellite periodically moves, so that the propagation delay between nodes is time-varying, and a link is intermittently interrupted. Except for the moon, the one-way propagation delay from the earth to other celestial bodies is different from 2.2min to 7h, and compared with the propagation delay from a plurality of milliseconds to a plurality of seconds of ground communication, the huge delay brings huge challenges to the reliable transmission of deep space communication data.
(2) The link is intermittently interrupted. Link outages in deep air are divided into predictable outages and unpredictable outages. The link interruption caused by the regularity factors such as planet shielding, node movement out of the communication range and the like is predictable, and the link interruption caused by the emergencies such as solar storm, node power limitation and time desynchronization is unpredictable. Under the influence of the interruptions, nodes in deep space have less possibility of communication, the communication duration is even shorter than one-way propagation delay, and end-to-end real-time paths do not exist among the nodes. Therefore, the predictable link interruption information is effectively utilized in the path calculation process, the influence of the unpredictable link interruption condition on data transmission is reduced, and the reliable transmission of data is ensured.
(3) The transmission rates of the forward and reverse links in deep space are severely asymmetric. The forward link mainly transmits scientific data and images acquired by the planetary detector nodes, and the reverse link mainly transmits control instructions of the ground command station for remote control, remote measurement, tracking and the like of each detector node. The asymmetric ratio of forward and reverse link transmission rates is sometimes as high as 1000: 1, or even only one-way channels. Such asymmetric links make reliable interaction between nodes very difficult, making it difficult to obtain network topology change information in real time.
(4) The node resources are limited. The nodes in the deep space are sparse, the communication opportunity is less, the satellite nodes are influenced by the weight, the size, the power supply facility, the manufacturing cost and other factors, and the number, the storage space and the processing capacity of the nodes are severely limited.
(5) The path loss is serious, the signal-to-noise ratio of a receiving end is extremely low, and the error rate is high. The path loss caused by the far propagation distance is the main reason of the deep space communication signal attenuation, the attenuation intensity is in positive correlation with the transmission distance, and the signal error rate is increased sharply due to the serious signal attenuation, sometimes even up to 10-1
In summary, the deep space communication environment is extremely harsh, and is not favorable for reliable data transmission. Therefore, in order to complete the deep space exploration task, it is imperative to research and propose a routing method for reducing the influence of long propagation delay, intermittent interruption of links and high bit error rate.
Disclosure of Invention
In view of the above-mentioned defects in the prior art, an object of the present invention is to provide a contact graph routing method based on random linear network coding in deep space communication, where a plurality of non-intersecting earliest arrival paths of links are selected based on a contact graph of a node, original data is coded by using the random linear network and then transmitted, and the number of redundant data packets in a network is controlled by a link state, so that the target node is guaranteed to be decodable while the waste of network resources is reduced, the data processing amount of the intermediate node is reduced by a partial intermediate node recoding mechanism, and the decoding waiting delay of the node is reduced by a target decoding prejudging mechanism.
The invention is realized by the technical scheme, a contact graph routing method based on random linear network coding in deep space communication comprises the following steps:
s1: the source node processes the data packets to be sent by adopting random linear network coding and limits the number of the sent coding packets according to the link state information;
s2: the source node selects a plurality of link disjoint paths according to a predicted contact graph and transmits the encoded packet on the plurality of paths;
s3: directly forwarding the received data packet at the intermediate node with the degree of income greater than 1, recoding the data packet and then forwarding the data packet;
s4: and the target node performs decoding prejudgment after receiving a certain number of data packets, feeds back the data packets which cannot be successfully decoded to the previous hop node set, and the previous hop node set preferentially sends the coding packets which are beneficial to decoding of the target node, so that the target node can quickly decode and the transmission delay is reduced.
Further, the step S2 includes multipath routing, and the specific operation of the multipath routing is as follows:
s21: when data is to be sent, multiple link disjoint paths from a source node to a destination node are established;
s22: the source node constructs a contact graph reflecting the relationship between the nodes according to the predicted network topology information;
s23: the source node calculates the earliest arriving path meeting the capacity constraint relation at the current moment by adopting a time-varying Dijkstra algorithm based on the contact graph of the node, and records the path as beta1
S24: the source node deletes all paths beta in the contact graph1The earliest path beta is calculated by adopting a time-varying Dijkstra algorithm based on the deleted contact graph2And until the first beta earliest paths from the source node to the destination node are calculated or the deleted contact graph does not form the paths from the source node to the destination node any more.
Further, the step S24 further includes:
s241: after a source node selects a front beta disjoint paths of the earliest arriving link, random linear network coding operation needs to be carried out on an original data packet, and the coded packet is transmitted on the selected beta paths;
s242: equally dividing a file to be sent into a plurality of data segments with the same size, wherein each data segment comprises k data packets, and numbering the k data packets in each data segment from a first data packet to be 1,2,3, L and k in sequence; before data is sent each time, the link packet loss rate needs to be predicted to determine the number of sent coding packets.
Further, in step S242, the step of determining the number of the coded packets sent by the node according to the link packet loss ratio and the number k of the original data packets is as follows:
s2421: predicting the packet loss rate P of a channel by adopting a formula (1); wherein, P1Packet loss rate of a certain hop link, P, for the last feedback2Lambda is an adjustable parameter and the value range is (0,1) for the link packet loss rate fed back by the hop last time;
P=(1-λ)P1+λP2 (1);
s2422: calculating the sending redundancy epsilon of the source node according to a formula (2), wherein epsilon' is a parameter for controlling the node coding redundancy, and the value range is (0, 1); with the increase of the packet loss rate, the transmission redundancy is gradually increased;
Figure GDA0002974393140000031
s2423: the number of the coding packets sent by the node can be obtained by the formula (3);
Figure GDA0002974393140000032
further, the method also comprises the following steps:
s243: after determining the number of the coding packets to be forwarded according to the link packet loss rate, the source node performs coding iteration on k original data packets in the same data segment by adopting random linear network coding;
s244: from a finite field GF (2)i) Selecting N groups of local coding vectors consisting of k coding arrays at random, and recording the local coding vectors as gi1,gi2,gi3...gikCombining k original data and code vector into N (N > k) new code data packets Y by random linear combination1,Y2,…,YNThe encoding process is shown in formula (4):
Figure GDA0002974393140000041
s245: after encoding, the source node adds the group identifier and the encoding vector to the packet head of the encoding data packet and then combines and transmits the packet head;
s246: after sending a data segment encoding packet, the source node enters a waiting state until receiving feedback information of a next hop node set;
s247: when the source node receives the retransmission information, the source node extracts the packet loss rate information in the retransmission information to update the packet loss rate of the link and retransmits the lost coding packet;
s248: and when the message that the next hop node set successfully receives is received, the data of the next data segment is transmitted after being encoded until the data packets of all the data segments are transmitted.
Further, the step S3 includes:
s31: in order to reduce the linear correlation between the coded packets, recoding is carried out at an intermediate node with the degree of entry of 1;
s32: judging whether the received coding packet is linearly independent of the coding packet in the node cache or not by the intermediate node, and discarding the linearly dependent data packet;
s33: after the intermediate node receives m unrelated code packets with the same group mark sent by the previous hop node, recoding the received m code packets by adopting a coding method similar to that of the source node;
s34: determining the sending redundancy epsilon of the node according to the link packet loss rate information, and sending N' coding packets shown in a formula (5) to a next hop node;
Figure GDA0002974393140000042
s35: and updating the coding coefficient in the received coding packet structure into a new coding vector and then forwarding the new coding vector.
Further, the step S4 further includes:
s41: if the destination node receives P coded packets at time t1,P2,P3The composition is shown in the following formulas (6), (7) and (8):
P1=α11X112X2 (6);
P2=α21X122X223X3 (7);
P3=α32X233X334X4 (8);
wherein, X1,X2.., the original data packet, alphaijRepresenting the original data packet X randomly selected from the finite field for the ith code packetjThe coding coefficient of (2);
s42: from P1,P2,P3The generated coding coefficient matrix is shown in the following formula (9):
Figure GDA0002974393140000051
s43: if the destination node receives the encoded packet P as shown in equation (10)4After that, the air conditioner is started to work,
P4=α41X142X243X344X4 (10);
the destination node can decode X1,X2,X3,X4
S44: if the destination node receives the coded packet P shown in formula (11)5When the temperature of the water is higher than the set temperature,
P5=α53X354X455X556X6 (11);
then the original packet X cannot be decoded at this time1,X2,X3,X4
Further, Matlab software is adopted to compare the node disjoint K shortest path with an MRANC Routing method (A Multi-path Routing Algorithm based on Network Coding, MRANC, namely a Multi-path Routing method based on random linear Network Coding, MRANC Routing method for short) from three aspects of delivery rate, redundancy and transmission delay.
Due to the adoption of the technical scheme, the invention has the following advantages:
(1) the first transmission reliability of data is improved through the forward error correction capability of network coding, the retransmission times are reduced, and the network robustness is enhanced. In the source node encoding process, the number of redundant encoding packets in the network is limited according to the link state information, and the waste of network resources is reduced under the condition that a target node can successfully decode;
(2) in order to improve network performance and prevent network congestion, a method for transmitting data by using a link disjoint multipath routing method and re-encoding only in part of intermediate nodes is provided, so that the data processing amount of the intermediate nodes is reduced;
(3) in order to reduce the decoding waiting time delay of the destination node, a destination node decoding prejudgment mechanism is provided, the previous hop node set preferentially sends a coding packet beneficial to the decoding of the destination end, and useless data packets in the network are cleared in time after the decoding is successful.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention.
Drawings
The drawings of the invention are illustrated as follows:
fig. 1 is a flow chart diagram of a contact graph routing method based on random linear network coding in deep space communication.
Fig. 2 is a schematic diagram of node disjoint multipath routing.
Fig. 3 is a schematic diagram of link disjoint multipath routing.
Fig. 4 is a schematic diagram of intersecting multipath routing.
Fig. 5 is a diagram of a common node network topology for link disjoint multipath routing.
Fig. 6 is a schematic diagram of a network simulation scenario.
Fig. 7 is a diagram illustrating a relationship between a delivery rate and a link packet loss rate.
Fig. 8 is a schematic diagram of a relationship between redundancy and link packet loss rate.
Fig. 9 is a schematic diagram of a relationship between a delay and a link packet loss rate.
Fig. 10 is a schematic diagram of an encoding process of random linear network encoding.
Detailed Description
The invention is further illustrated by the following figures and examples.
Example 1: as shown in fig. 1-10; a contact graph routing method based on random linear network coding in deep space communication comprises the following steps:
s1: the source node processes the data packets to be sent by adopting random linear network coding and limits the number of the sent coding packets according to the link state information;
s2: the source node selects a plurality of link disjoint paths according to a predicted contact graph and transmits the encoded packet on the plurality of paths;
s3: directly forwarding the received data packet at the intermediate node with the degree of income greater than 1, recoding the data packet and then forwarding the data packet;
s4: and the target node performs decoding prejudgment after receiving a certain number of data packets, feeds back the data packets which cannot be successfully decoded to the previous hop node set, and the previous hop node set preferentially sends the coding packets which are beneficial to decoding of the target node, so that the target node can quickly decode and the transmission delay is reduced.
The step S2 includes multipath routing, which specifically operates as follows:
s21: when data is to be sent, multiple link disjoint paths from a source node to a destination node are established;
s22: the source node constructs a contact graph reflecting the relationship between the nodes according to the predicted network topology information;
s23: the source node calculates the earliest arriving path meeting the capacity constraint relation at the current moment by adopting a time-varying Dijkstra algorithm based on the contact graph of the node, and records the path as beta1
S24: the source node deletes all paths beta in the contact graph1The earliest path beta is calculated by adopting a time-varying Dijkstra algorithm based on the deleted contact graph2And until the first beta earliest paths from the source node to the destination node are calculated or the deleted contact graph does not form the paths from the source node to the destination node any more.
The step S24 further includes:
s241: after a source node selects a front beta disjoint paths of the earliest arriving link, random linear network coding operation needs to be carried out on an original data packet, and the coded packet is transmitted on the selected beta paths;
s242: equally dividing a file to be sent into a plurality of data segments with the same size, wherein each data segment comprises k data packets, and numbering the k data packets in each data segment from a first data packet to be 1,2,3, L and k in sequence; before data is sent each time, the link packet loss rate needs to be predicted to determine the number of sent coding packets.
In step S242, the step of determining the number of the coded packets sent by the node according to the link packet loss ratio and the number k of the original data packets is as follows:
s2421: predicting the packet loss rate P of a channel by adopting a formula (1); wherein, P1Packet loss rate of a certain hop link, P, for the last feedback2Lambda is an adjustable parameter and the value range is (0,1) for the link packet loss rate fed back by the hop last time;
P=(1-λ)P1+λP2 (1);
s2422: calculating the sending redundancy epsilon of the source node according to a formula (2), wherein epsilon' is a parameter for controlling the node coding redundancy, and the value range is (0, 1); with the increase of the packet loss rate, the transmission redundancy is gradually increased;
Figure GDA0002974393140000081
s2423: the number of the coding packets sent by the node can be obtained by the formula (3);
Figure GDA0002974393140000082
also includes:
s243: after determining the number of the coding packets to be forwarded according to the link packet loss rate, the source node performs coding iteration on k original data packets in the same data segment by adopting random linear network coding;
s244: from a finite field GF (2)i) Selecting N groups of local coding vectors consisting of k coding arrays at random, and recording the local coding vectors as gi1,gi2,gi3...gikCombining k original data and code vector into N (N > k) new code data packets Y by random linear combination1,Y2,…,YNThe encoding process is shown in formula (4):
Figure GDA0002974393140000083
s245: after encoding, the source node adds the group identifier and the encoding vector to the packet head of the encoding data packet and then combines and transmits the packet head;
s246: after sending a data segment encoding packet, the source node enters a waiting state until receiving feedback information of a next hop node set;
s247: when the source node receives the retransmission information, the source node extracts the packet loss rate information in the retransmission information to update the packet loss rate of the link and retransmits the lost coding packet;
s248: and when the message that the next hop node set successfully receives is received, the data of the next data segment is transmitted after being encoded until the data packets of all the data segments are transmitted.
The step S3 includes:
s31: in order to reduce the linear correlation between the coded packets, recoding is carried out at an intermediate node with the degree of entry of 1;
s32: judging whether the received coding packet is linearly independent of the coding packet in the node cache or not by the intermediate node, and discarding the linearly dependent data packet;
s33: after the intermediate node receives m unrelated code packets with the same group mark sent by the previous hop node, recoding the received m code packets by adopting a coding method similar to that of the source node;
s34: determining the sending redundancy epsilon of the node according to the link packet loss rate information, and sending N' coding packets shown in a formula (5) to a next hop node;
Figure GDA0002974393140000091
s35: and updating the coding coefficient in the received coding packet structure into a new coding vector and then forwarding the new coding vector.
The step S4 further includes:
s41: if the destination node receives P coded packets at time t1,P2,P3The composition is shown in the following formulas (6), (7) and (8):
P1=α11X112X2 (6);
P2=α21X122X223X3 (7);
P3=α32X233X334X4 (8);
wherein, X1,X2.., the original data packet, alphaijRepresenting the original data packet X randomly selected from the finite field for the ith code packetjThe coding coefficient of (2);
s42: from P1,P2,P3The generated coding coefficient matrix is shown in the following formula (9):
Figure GDA0002974393140000092
s43: if the destination node receives the encoded packet P as shown in equation (10)4After that, the air conditioner is started to work,
P4=α41X142X243X344X4 (10);
the destination node can decode X1,X2,X3,X4
S44: if the destination node receives the coded packet P shown in formula (11)5When the temperature of the water is higher than the set temperature,
P5=α53X354X455X556X6 (11);
then the original packet X cannot be decoded at this time1,X2,X3,X4
The method also comprises the step of comparing the node disjoint K shortest path with an MRANC Routing method (A Multi-path Routing Algorithm based on Network Coding, MRANC, namely a Multi-path Routing method based on random linear Network Coding, which is called MRANC Routing method for short) by adopting Matlab software from three aspects of delivery rate, redundancy and transmission delay.
The invention improves the first transmission reliability of data, reduces retransmission times and enhances the network robustness through the forward error correction capability of network coding. In the source node encoding process, the number of redundant encoding packets in the network is limited according to the link state information, and the waste of network resources is reduced under the condition that the destination node can successfully decode. In order to improve network performance and prevent network congestion, the invention provides a method for transmitting data by using a link disjoint multipath routing method and recoding only part of intermediate nodes, thereby reducing the data processing amount of the intermediate nodes. The invention provides a target node decoding prejudgment mechanism for reducing the decoding waiting time delay of a target node, wherein a previous hop node set preferentially sends a coding packet beneficial to decoding of a target end, and a useless data packet in a network is timely eliminated after the decoding is successful.
Example 2: as shown in fig. 1-9; a contact graph routing method based on random linear network coding in deep space communication comprises the following steps: multipath routing, source node encoding, partial intermediate node recoding and destination node decoding prejudgment.
Firstly, a source node processes a data packet to be sent by adopting random linear network coding, and limits the number of sent coding packets according to link state information, thereby ensuring that a target node can successfully decode and simultaneously reducing the waste of network resources.
Secondly, the source node selects a plurality of link disjoint paths according to a predicted contact graph, transmits the coded packet on the plurality of paths, and effectively utilizes contact opportunities among the nodes.
And thirdly, adopting a direct forwarding mode for the received data packets at the intermediate node with the degree of income greater than 1 to reduce the data processing amount of the intermediate node and avoid network congestion caused by overlarge data amount processed by the intermediate node, and in order to reduce the linear correlation among the coding packets, re-encoding and then forwarding the coding packets at the intermediate node with the degree of income of 1.
And finally, the destination node receives a certain number of data packets and performs decoding prejudgment, the data packets which cannot be successfully decoded are fed back to the previous hop node set, and the previous hop node set preferentially sends the coding packets which are most beneficial to the decoding of the destination node, so that the destination node can quickly decode and the transmission delay is reduced.
The MRANC method uses random linear network coding to improve the fault tolerance of the network, utilizes path redundancy and network coding redundancy to ensure that packets are transmitted quickly and reliably, and reduces the waste of network resources by limiting the number of redundant coding packets in the network.
The MRANC method is described in detail by the following mechanisms of multipath routing, source node encoding, partial intermediate node recoding and destination node decoding prejudgment respectively:
(I) multipath routing
The conventional wireless network multipath routing method can be classified into an intersecting multipath routing method and an non-intersecting multipath routing method according to the relationship between paths. The link or node among the paths in the intersecting multipath routing method has a common part, the disjoint route can be divided into link disjoint route and node disjoint route, the node disjoint represents that no common node or link exists among the paths, the link disjoint route can have a common node but no common link exists, and the requirement of the node disjoint route is stricter than that of the link disjoint route. Due to the independence among paths, the fault tolerance of node disjoint routes is strongest, link disjoint routes are second, and multiple paths may be interrupted due to failure of one link or one node in the intersected multipath routes. The schematic diagrams of the routing of each multipath are shown in fig. 2 to 4.
In a deep space network with sparse nodes and less chance of communication, the link disjoint multipath routing has the following advantages: on one hand, link disjoint multipath routing can avoid selecting nodes disjoint links and deliberately selecting paths with poorer performance. On the other hand, link disjoint multipath routing can effectively utilize the coding packets from a plurality of nodes of the previous hop, and the utilization rate of the data packets is improved. Finally, in a deep space network with a small number of nodes, a plurality of node disjoint paths may not exist, and due to the influence of intermittent link interruption, the communicable opportunities of the link disjoint multipaths are far greater than those of the node disjoint multipaths. However, the link disjoint multipath routing method also has its disadvantages, and because the amount of information borne by a common node in the link disjoint multipath routing is large, node congestion may be caused to cause the common node to fail, and further, multiple paths passing through the node all fail. Therefore, if the information amount processed by the common node can be reduced by taking certain measures, the performance of the link disjoint multipath routing method is better and more suitable for the deep space communication environment than the node disjoint multipath routing method.
When data is to be sent, in order to establish a plurality of link disjoint paths from a source node to a destination node, firstly, the source node constructs a contact graph reflecting the relationship between nodes according to pre-known network topology information, and the contact graph not only reflects the topology information at the current moment, but also obtains the future topology state of the network by utilizing the regularity of node motion. Secondly, the source node calculates the earliest arriving path meeting the capacity constraint relation at the current moment by adopting a time-varying Dijkstra algorithm based on the contact graph of the node, and marks the path as beta1. Third, the source node deletes all paths β in the contact graph1The earliest path beta is calculated by adopting a time-varying Dijkstra algorithm based on the deleted contact graph2And until the first beta earliest paths from the source node to the destination node are calculated or the deleted contact graph does not form the paths from the source node to the destination node any more. Different from the method provided by the third chapter, in order to reduce the calculation amount of subsequent nodes, the invention adopts the first non-intersected and earliest arriving path of the beta-chain from the source node to the destination node to forward different coded packets, and the path number for forwarding the coded packets is constant. The method has the advantages that the number of sent redundant coding packets is dynamically determined according to the link state information in the source node coding and partial intermediate node recoding processes, and the influences of high bit error rate and link intermittent interruption in deep space communication are effectively resisted.
(II) Source node encoding
After the source node selects the first β link disjoint paths that arrive earliest, it needs to perform random linear network coding operation on the original data packet and transmit the coded packet on the selected β paths. In order to ensure the reliable transmission of data and reduce the waste of network resources, in the process of sending data, random linear network coding is used for increasing coding redundancy to improve the success rate of the first transmission of data packets, the number of coding packets sent by nodes is calculated according to the link packet loss rate, and the coding redundancy in the network is limited while the reliable transmission of data is ensured.
Firstly, a file to be sent is equally divided into a plurality of data segments with the same size, each data segment comprises k data packets, and the k data packets in each data segment are numbered as 1,2,3, L and k in sequence from the first data packet. Before data is sent each time, the link packet loss rate needs to be predicted to determine the number of sent coding packets. The step of determining the number of the coding packets sent by the node according to the link packet loss rate and the number k of the original data packets is as follows:
(1) the packet loss rate of the channel is predicted by using equation (12). Wherein, P1Packet loss rate of a certain hop link, P, for the last feedback2Lambda is an adjustable parameter and the value range is (0,1) for the link packet loss rate fed back by the hop last time;
P=(1-λ)P1+λP2 (12);
(2) calculating the sending redundancy epsilon of the source node according to a formula (13), wherein epsilon' is a parameter for controlling the node coding redundancy, and the value range is (0, 1); as the packet loss rate increases, the transmission redundancy gradually increases.
Figure GDA0002974393140000121
(3) The number of the coded packets sent by the node can be obtained by the formula (14).
Figure GDA0002974393140000122
And after determining the number of the coding packets to be forwarded according to the link packet loss rate, the source node performs coding iteration on k original data packets in the same data segment by adopting random linear network coding. From a finite field GF (2)i) Selecting N groups of local coding vectors consisting of k coding arrays at random, and recording the local coding vectors as gi1,gi2,gi3...gikCombining k original data and code vector into N (N > k) new code data packets Y by random linear combination1,Y2,…,YNThe encoding process is shown in the following formula (15):
Figure GDA0002974393140000131
after encoding, the source node adds the group identifier and the encoding vector to the header of the encoding data packet and then combines and transmits the packet. And after the source node sends the coding packet of one data segment, the source node enters a waiting state until receiving the feedback information of the next hop node set. When receiving the retransmission information, the source node extracts the packet loss rate information in the retransmission information to update the packet loss rate of the link and retransmits the lost coding packet. And when the message that the next hop node set successfully receives is received, the data of the next data segment is transmitted after being encoded until the data packets of all the data segments are transmitted.
(III) partial intermediate node recoding
The existing method for reducing the information amount of the intermediate node mainly limits the number of data packets received by the intermediate node, and once a certain number of data packets with the same group mark are received, the intermediate node does not receive the group of data packets any more. In order to further reduce the data processing amount of the intermediate nodes, the invention adopts a partial intermediate node recoding mechanism, which is different from the recoding of all the intermediate nodes in the network coding on the coding packet, and the MRANC method only recodes the intermediate nodes with the degree of entry of 1.
The deep space network is a directed circulation network, and the recoding of the intermediate node tends to introduce a large amount of calculation into the public node, so that a large pressure is brought to satellite nodes with limited processing capacity and storage space on the satellite. Therefore, in order to reduce the data processing amount of the intermediate nodes, the invention adopts a partial intermediate node recoding mechanism, only the intermediate nodes with the in-degree and the out-degree of 1 are recoded, and the linear correlation among the coded data packets is eliminated by adopting a direct forwarding mode at the common nodes with the intersected paths.
A network topology diagram of a common node for multiple paths in a link-disjoint multipath route is shown in fig. 5: the node C is a common node of two link disjoint paths, and the number of upstream nodes of the node C is equal to the number of downstream nodes. At this time, if the encoded packet received by the upstream node is re-encoded at node C, a relatively large encoding delay and data throughput are introduced. Because the failure of the intermediate node C causes both paths passing through the node to fail, the intermediate node C has an important meaning for reliable transmission of data. And a direct forwarding mode is adopted at the node C, so that the data processing amount of the node is reduced, the caching and calculating pressure of the node C is reduced, and the improvement of the whole network performance is facilitated.
To reduce the linear correlation between the encoded packets, re-encoding is performed at intermediate nodes with an in-degree of 1. Firstly, the intermediate node judges whether the received coding packet is linearly independent from the coding packet in the buffer memory of the node, and discards the linearly dependent data packet. Then, after the intermediate node receives m irrelevant code packets with the same group mark sent by the previous hop node, the intermediate node re-encodes the received m code packets by adopting a coding method similar to that of the source node. And determining the sending redundancy epsilon of the node according to the link packet loss rate information, and sending N' coded packets shown as the following formula (16) to the next hop node.
Figure GDA0002974393140000141
The intermediate node recoding still randomly selects a group of numbers from a finite field to generate local coding coefficients, and the coded data packet and the original data packet are in a linear relation, but the coding coefficients are changed. And updating the coding coefficient in the received coding packet structure into a new coding vector and then forwarding the new coding vector.
The invention only recodes the coding packet received by the intermediate node with the entry degree of 1, on one hand, reduces the linear correlation of the data packet, and simultaneously reduces the data amount processed by the intermediate node, thereby preventing the failure of a plurality of paths passing through the node caused by the network congestion of the intermediate node. On the other hand, the network coding has higher requirements on the operation processing capacity and the storage space of the nodes, and the method can allow intermediate nodes with low processing capacity and limited storage space to participate in the data forwarding process. And finally, the intermediate node with the entry degree of 1 has to receive m coded packets of the previous hop of node and then carries out recoding, so that long waiting time delay is needed, the waiting time delay can be reduced by adopting a direct forwarding mode for the intermediate node with the entry degree of more than 1, and the occupied time of the storage space of the intermediate node is reduced.
(IV) destination node decoding anticipation
Aiming at the problem of longer decoding waiting time of a target node in the data decoding process, the invention provides a target node decoding prejudging mechanism. When a destination node receives a certain number of data packets, the decoded data packets are utilized to perform decoding prejudgment on the data packets which are not decoded in the cache, the data packets which cannot be decoded are fed back to a previous hop node set of the destination node, and the previous hop node set preferentially sends an encoding packet which is most beneficial to decoding of the destination node, so that the destination node can decode original data packets in time, and the decoding delay of the data packets is reduced. The following analyzes the superiority of the decoding anticipation mechanism.
If the destination node is at time tReceived coded packet is P1,P2,P3The composition of the compound is shown in the following formulas (17), (18) and (19):
P1=α11X112X2 (17);
P2=α21X122X223X3 (18);
P3=α32X233X334X4 (19);
wherein, X1,X2.., the original data packet, alphaijRepresenting the original data packet X randomly selected from the finite field for the ith code packetjThe coding coefficients of (1). From P1,P2,P3The generated coding coefficient matrix is expressed by the following equation (20):
Figure GDA0002974393140000151
at this time, if the destination node receives the encoded packet P as shown in the following formula (21)4After that, the air conditioner is started to work,
P4=α41X142X243X344X4 (21);
the destination node can decode X1,X2,X3,X4. If the destination node receives the encoded packet P shown in formula (22)5When the temperature of the water is higher than the set temperature,
P5=α53X354X455X556X6 (22);
at this time, not only the original packet X cannot be decoded1,X2,X3,X4And due to data packet X5,X6The introduction of (2) needs to wait for a longer time before decoding is successful. Therefore, a target node decoding prejudgment mechanism is adopted, the coded packet beneficial to decoding is preferentially sent to the target node, and the end-to-end decoding delay is reducedAnd the time for the coding packet to occupy network resources is shortened, so that the successful delivery rate of the coding packet can be intermittently improved.
When the destination node can completely decode the original data packet, the destination node sends a global variable deletion acknowledgement (D-ACK) message to inform each intermediate node and the source node to release the successfully decoded coded data packet, and the redundant packet in the network is cleared in time, the cache space of the node is released, and unnecessary resource consumption is reduced.
In summary, the steps of the mrac method are as follows:
step 1: when a source node has a data packet to send, calculating the first beta earliest arriving paths from the source node to a destination node which meet the capacity constraint relation based on the contact graph of the nodes, wherein the cost function of the method is the sum of the propagation delay and the waiting delay of the contact to which the source node belongs.
Step 2: the source node averagely divides original data into a plurality of data segments each comprising k data packets according to a random linear coding rule, and the data segments are sequentially numbered from 1 to k, and the size of each data packet is L;
and step 3: node slave finite field GF (2)8) The method comprises the steps of randomly selecting coefficients to distribute local coding vectors, carrying out linear combination on k data packets in the same data segment, placing the coding vectors formed by the coding coefficients at the head of a corresponding coding packet for combined transmission, determining the number of the coding packets by the coding redundancy epsilon of a source end, and dynamically adjusting the size of the coding redundancy according to the link state. The source node transmits N coded packets on the beta link respectively, and enters a waiting state after the transmission is finished; until receiving the feedback information of the next hop node set. When receiving the retransmission information, the source node extracts the packet loss rate information stored in the information to update the packet loss rate of the link and retransmits the lost coding packet. And when the message that the next hop node set successfully receives is received, the data packet of the next data segment is transmitted after being encoded until the data packets of all the data segments are transmitted.
And 4, step 4: after the intermediate node with the degree of income of 1 receives m coded packets of the same group of identifiers of the previous hop node, in order to reduce the linear correlation between the coded packets, the received coded packets are recoded by adopting the method the same as that of the source node, N' coded packets are sent to the next hop node and then enter a waiting state, and the intermediate node with the degree of income greater than 1 adopts a direct forwarding mode and does not carry out recoding operation until the intermediate node reaches the destination node. Meanwhile, the intermediate node counts the number k' of the correctly received code packets, calculates the packet loss rate of the link and feeds the packet loss rate back to the previous hop node, so that the node is facilitated to calculate the number of the transmitted redundant code packets in the next data forwarding process.
And 5: and the destination node checks whether the received coding packets are linearly related or not, stores the linearly independent coding packets, extracts related coding vectors, calculates the rank R of a coding coefficient matrix consisting of the coding vectors and performs decoding prejudgment. If R is larger than or equal to k, jumping to step 7, otherwise, jumping to step 6;
step 6: and if the coding coefficient matrix in the node cache is not full rank, the target node performs decoding prejudgment on the coding packet in the cache. Sending the coding coefficient matrix to a previous hop node set, and after receiving the coding coefficient matrix, preferentially sending a coding packet which can enable a target node to decode as early as possible to the target node;
and 7: and the destination node starts decoding operation and decodes k original data packets by adopting a Gaussian decoding method. If the original data packet can be decoded, the destination node quickly clears the redundant coding packet in a mode of broadcasting and sending deletion confirmation information, and the problem that the successfully delivered message is still retained in the network to continue coding, which causes waste of network resources, is prevented. If the destination node cannot receive enough encoded data packets after the timer is ended due to the high packet loss rate, the destination node can send feedback to the previous hop node set to request retransmission of the related encoded packets;
and 8: if the destination node successfully decodes the data packets of all the data segments sent by the source node, executing the step 9, otherwise, jumping back to the step 7, and starting the decoding of the next segment of data packets;
and step 9: the method ends.
(V) Performance simulation
Firstly, defining an index which needs to be used subsequently: redundancy. Sending redundant data packets may improve the reliability of data transmission, but too many redundant packets waste node resources and even cause network congestion. The redundancy represents the proportion of the number of redundant data packets sent in the network, including retransmission, to the total sent data packets, and the redundancy reflects the energy loss in the network.
In order to effectively verify the superiority of the MRANC routing method, Matlab software is adopted to compare the node disjoint K shortest path with the MRANC routing method respectively from the delivery rate, the redundancy and the transmission delay. Simulation parameters of the simulation scene and the contact relation between the nodes are shown in fig. 6, table 1 and table 2, file transmission between the simulation ground station and the mars detector through the lagrangian relay satellite is simulated, the simulation parameters are set as shown in table 3, wherein lambda is set to be 0.25, and epsilon' is 30% in order to ensure that the destination node successfully decodes and reduce the number of redundant coding packets in the network.
TABLE 1 contact relationship simulation parameters between nodes
Contact with Start time (min) End time (min) Rate of speed
1–4 0 30 1Mbps
1–5 30 60 1Mbps
2–4 10 30 1Mbps
3–5 10 30 1Mbps
2–5 30 60 1Mbps
3–4 30 60 1Mbps
2–6 20 50 1Mbps
3–6 20 50 1Mbps
Table 2 system simulation parameters 1
Parameter(s) Numerical value
File size 1Mbyte
Packet length 1000bit
Channel error code model Random error code model
Packet loss rate in hop-to-hop 0,0.05,0.1,0.15,0.2,0.25,0.3
P',a',b,λ 0.3,3,100,0.25
Number of times of simulation 1000 times of simulation, average value
Maximum number of retransmissions 2
One-way propagation delay of ground fire(s) 280
Table 3 system simulation parameters 2
Parameter(s) Numerical value
File size 1Mbyte
Packet length 1000bit
Channel error code model Random error code model
Packet loss rate in hop-to-hop 0,0.05,0.1,0.15,0.2,0.25,0.3
Number of times of simulation 1000 times of simulation, average value
Maximum number of retransmissions 2
β,K 2
The node disjoint K shortest path algorithm can be described as: when the source node has data to send, a network topological graph is obtained according to the contact condition between the nodes at the current time of the network and in a period of time in the future, and a time-varying Dijkstra algorithm is adopted to calculate an earliest arriving path K from the source node to the destination node1Then, delete the path K in the contact map1The intermediate node and the link connecting the node, and then the time-varying Dijkstra algorithm is adopted to calculate the second earliest arriving path K based on the deleted contact graph2Calculating a forwarding path after continuously deleting intermediate nodes of a secondary short path in the network topology until the earliest arriving path of K nodes which are not intersected is calculated or a source node cannot be formed in the network topologyA path to a destination node.
The delivery rates of the K shortest path algorithm reflecting node disjointness and the MRANC method are shown in fig. 7, and as the packet loss rate increases, the performance curves of the two methods decrease, but the rate of decrease of the K shortest path algorithm reflecting node disjointness is more obvious, and the MRANC method decreases more slowly. Compared with a node disjoint K shortest path algorithm, the delivery rate of the MRANC method is improved by 9.2%.
This occurs primarily because: on the one hand, the node-disjoint K shortest path algorithm is simply a superposition of multiple paths. MRANC adopts random linear network coding to carry out coding iteration on the original data packet, and the original data packet can be restored as long as a receiving end receives enough coding packets, so that the MRANC has strong fault-tolerant capability. On the other hand, under the influence of factors such as intermittent communication of links among nodes, rare node number in deep space and the like, the communicable opportunity between a source node and a destination node in node disjoint paths is far less than that of link disjoint multipath transmission.
Fig. 8 is a relationship between redundancy of data packets and packet loss rate in the transmission process, where the redundancy reflects a ratio of the number of redundant data packets including retransmission to the total number of data packets in the network. As can be seen from the figure, since the node disjoint K shortest path algorithm uses two paths to transmit the same data packet, when the packet loss rate is 0, the number of redundant data packets in the method is half of the total data packets, while the number of redundant data packets in the mrac method is only 23% of the total encoded data packets, and the difference between the two is 27%. With the increase of the packet loss rate, the redundancy of the two methods is always in an ascending trend due to the packet loss retransmission of a large number of data packets, but the redundancy of the K shortest path algorithm is always higher than that of the mrac method, and the increase speed is slower than that of the mrac method. When the packet loss rate is 0.3, the redundancy of the K shortest path algorithm is about 0.67, while the redundancy of the MRANC method is about 0.47, the difference between the two is 20%, and the difference between the two is smaller and smaller.
The MRANC method transmits different code packets on two link disjoint paths, and the number of code packets transmitted by the source node and part of intermediate nodes is gradually increased along with the increase of the link error rate, so that the redundancy rate is increased faster than that of a K shortest path algorithm. The K shortest path algorithm does not consider the influence of the link state, and improves the reliability of data transmission through path redundancy in the whole sending process, so that the redundancy is very high when the link packet loss rate is low, and huge waste of network resources is caused. The MRANC method increases coding redundancy step by step according to the increase of the packet loss rate. Therefore, the redundancy of the MRANC method is reduced by 41.6% compared with the node disjoint K shortest path. When the redundancy is the same, the MRANC method can successfully transmit more data packets to reach the destination node, so that more scientific data can be transmitted by effectively utilizing the limited deep space resources.
Fig. 9 is a relationship between total file transmission delay and link packet loss rate. As can be seen from the figure, when the packet loss ratio is less than 0.15, the transmission delay of the mrac method is higher than that of the K-shortest path algorithm, and as the packet loss ratio increases, the total transmission delay of the K-shortest path algorithm increases rapidly, while the delay increase of the mrac method is slower. When the packet loss rate is 0.25, the time delay of the MRANC method is reduced by 26.6% compared with the time delay of the K shortest path algorithm, and when the packet loss rate is 0.3, the time delay of the MRANC method is reduced by 33.4%.
This is mainly because: when the packet loss rate is low, the K shortest path algorithm introduces large redundancy by transmitting the same data packet on two paths, and the delivery rate of the data packet is high. When the link packet loss rate increases, packet loss retransmission of a plurality of data packets occurs in two independent paths, the reliability of data transmission gradually decreases, and the retransmission causes rapid increase of file transmission delay. The MRANC method has a large transmission delay when the packet loss rate is small, mainly because: on one hand, the MRANC method needs to perform source node encoding, intermediate node recoding and destination node decoding operation on data packets in the file transmission process, and the intermediate node recoding process needs to wait until m data packets of the previous hop of node are received to start recoding; on the other hand, in the random linear network coding process, a file is divided into a plurality of data segments to be transmitted respectively, and a source node needs to wait until feedback information of a next hop node set is received to start transmission of the next data segment, so that long waiting time delay is introduced, and the file transmission time delay is larger than the node disjoint K shortest path algorithm when the packet loss rate is small. With the gradual increase of the packet loss rate, the MRANC method properly increases the data transmission redundancy according to the link condition and ensures that the destination node can be successfully decoded due to the strong fault-tolerant performance of the random linear network coding, so that the increase of the file transmission delay is slow.
The embodiment is a preferred embodiment, and in order to enhance reliability of data transmission in deep space and effectively utilize network resources, the invention provides a contact graph routing method based on random linear network coding. The method selects a plurality of link disjoint earliest arriving paths based on a contact graph of nodes, encodes and transmits original data by adopting a random linear network, controls the number of redundant data packets in the network through a link state, ensures that a target node can be decoded, reduces the waste of network resources, reduces the data processing amount of the intermediate node through a partial intermediate node recoding mechanism, and reduces the decoding waiting time delay of the node through a target terminal decoding prejudging mechanism. Simulation results show that the delivery rate of the MRANC method is improved by 9.2%, and the redundancy rate is reduced by 41.6% compared with the shortest path K. The packet loss rate of the link in the deep space is high, the performance of the MRANC method is superior to that of the K shortest path, and the advantages of the MRANC method are more obvious along with the deterioration of the link environment. In a word, the method can be well suitable for the deep space communication environment with dynamic change of network topology, intermittent interruption of links and high bit error rate.
In embodiment 3, network coding is largely divided into intra-stream coding and inter-stream coding. The stream inner coding mainly codes the data generated by the same source node, the data packet of the same data stream is divided into the sections with the same size, each section is divided into m data packets with the same size, and the coding iteration is carried out on the data packets, the receiving end only needs to receive more than m linear irrelevant coding packets to completely decode the original data packet of the section with higher probability, the fault tolerance performance of the network is improved, and the reliability of data transmission is exchanged by the calculation complexity of the method. Inter-stream coding refers to coding a plurality of data packets generated by different data streams at an intermediate node, and multicasting the coded packets, so that a plurality of receiving nodes can decode the data packets required by the receiving nodes, the number of data transmission times is reduced, and the throughput of a network is improved.
The coding and decoding functions used in the coding process can be classified into linear network coding and nonlinear network coding according to whether the coding and decoding functions are linear functions or not. The linear network coding can be divided into deterministic linear network coding and random linear network coding according to whether the coding coefficients are determined. The method comprises the steps that a linear coding scheme is determined, a determined coding vector is selected for nodes according to network topology, and the original data packet can be decoded only by knowing a topological graph of the whole network and coding processes of all the nodes in advance. The random linear network code does not need to know the topological structure of the whole network before sending the code, so that the problem that the nodes in the network cannot acquire the dynamic change condition of the topology in real time is well solved.
As shown in fig. 1-10; a contact graph routing method based on random linear network coding in deep space communication comprises the following steps: source node encoding, partial intermediate node re-encoding and destination node decoding.
Source node encoding
The source node coding mainly comprises three aspects: grouping the original data packets, selecting coding coefficients and finally packaging and sending. The source node divides the original data packet into m data packets X with equal length1,X2...Xm. From a finite field GF (2)i) Selecting N groups of local coding vectors consisting of m coding arrays at random, and recording the local coding vectors as gi1,gi2,gi3...gimRandomly and linearly combining m original data and code vector into N (N > m) new code data packets Y1,Y2,…,YNThe encoding process is shown as the following formula (23):
Figure GDA0002974393140000201
the source node adds the group identifier and the coding vector to the header of the coding packet, and then combines and transmits the group identifier and the coding vector, and the random linear network coding process is shown in fig. 10. Before receiving the acknowledgement information of the destination node, the source node continuously sends the coded packet of the current data segment, and the source node does not start to send the coded packet of the next data segment until receiving the acknowledgement information.
(II) intermediate node encoding
In order to further reduce the linear correlation between the encoded packets, the intermediate node re-encodes the encoded packets by using an encoding method similar to that of the source node. In order to save network resources, the intermediate node judges whether the received coding packet is linearly independent of the coding packet in the cache of the node, discards the linearly dependent data packet and stores the linearly independent coding packet in the cache. Suppose k identical group-identified packets Y in the node r cache1,Y2,…,YkAre linearly independent and correspond to vectors gi1,gi2,gi3...gikThe intermediate node recoding still randomly selects k numbers from the finite field to generate local coding coefficients
Figure GDA0002974393140000211
The encoding process is shown as equation (24), thereby obtaining k new data packets
Figure GDA0002974393140000212
Figure GDA0002974393140000213
The encoded packet is linear with the original packet, but the coding coefficient is changed, as shown in equation (25),
Figure GDA0002974393140000214
representing newly generated encoded packets and coefficients g before re-encodingijThe relationship between them is shown in formula (26). And finally, updating the coding coefficient in the coding packet structure into a new coding vector and then forwarding the new coding vector.
Figure GDA0002974393140000215
Figure GDA0002974393140000216
(III) destination node coding
The destination node receives and stores the linear irrelevant coded packets according to the same group identifier, and starts decoding when the number of the coded packets receiving the same group identifier is larger than the number m of the original data packets, wherein the decoding process is as follows:
(1) when the destination node receives k coding packets which are linearly independent from the same group identification, a coding vector is extracted from the packet head of the data packet, and the size of k and the number m of the original data packets is judged.
If k is less than m, decoding can not be carried out, and data transmission fails;
if k is larger than or equal to m, respectively extracting the code vector and the data packet carried by k code packets with the same group identification, and respectively recording the data packet as Y1,Y2,L YkAnd the coding coefficient vector corresponding to the ith data packet is as follows: gi1,gi2L gimProceed to step (2).
(2) M linearly uncorrelated coded vectors are selected from the k coded packets, and if the m linearly uncorrelated coded vectors can be selected, a vector coefficient matrix T is formed, and as shown in the following expression (27), the procedure proceeds to step (3), and if the m linearly uncorrelated coded vectors cannot be selected, decoding fails.
Figure GDA0002974393140000221
(3) Because the m selected linear vectors are not related, the coefficient matrix T is full-rank, the inverse matrix of the coefficient matrix is solved and is decoded by adopting a Gaussian decoding method, the original data packet is restored by adopting a formula (2.6), and the decoding process is finished.
Figure GDA0002974393140000222
According to the decoding process, whether the receiving end can successfully decode depends on the rank of the coding matrix, and the nodes randomly select from the finite field GF (2)i) The coefficients are selected to allocate local code vectors, so that linear correlation code vectors are inevitably introduced, and therefore, the design of finite fields becomes very important. If it isIf the range of the finite field is too small, the linear correlation degree of the coding vector is high, the receiving end cannot decode successfully, and the network resources are wasted by transmitting the relevant coding packets. If the range of the finite field is too large, the bit number occupied by the coding vector is increased, the proportion of effective bits in the coding packet is reduced, and the storage cost is increased.
TABLE 4 Linear independence of coefficients in finite fields of different sizes
q Linear independent possibility
21 0.288788
22 0.688538
23 0.859406
24 0.922595
25 0.967773
26 0.984131
27 0.992126
28 0.996078
29 0.998043
TABLE 4 Limited Domain q 2iIs linearly independent of the coding coefficient. As shown in the table, when q is 28When in use, the probability of linear independence of the coding coefficient of the receiving end is as high as 99.6%, the required storage cost is only one byte, compared with the packet loss caused by other conditions such as link interruption, high bit error rate and the like, the packet loss caused by the size of the finite field is negligible, the original data packet can be recovered with higher probability, and the decoding requirement is basically met, wherein the value of the finite field is 28
The random linear network coding has the advantages of being applied to a deep space communication environment, including: on one hand, the random linear network coding has strong fault-tolerant capability, and when the rank of the coding packet coefficient matrix received by the target node is equal to the number of the original data packets, even if partial nodes or links in the network fail to cause a certain number of packet losses or error codes, the original data packets can be correctly decoded with a high probability. On the other hand, the reliability of the data is improved through network coding, and the retransmission times are effectively reduced, so that the huge transmission delay caused by retransmission is reduced. Meanwhile, the main energy loss in deep air is the transmission energy loss in the data transmission process, and the energy loss of the whole network can be reduced by reducing the retransmission times. Therefore, the appropriate network coding scheme can ensure the reliable transmission of data and reduce the consumption of network resources.
It should be understood that parts of the specification not set forth in detail are well within the prior art. Finally, the above embodiments are only intended to illustrate the technical solutions of the present invention and not to limit the present invention, and although the present invention has been described in detail with reference to the preferred embodiments, it will be understood by those skilled in the art that modifications or equivalent substitutions may be made on the technical solutions of the present invention without departing from the spirit and scope of the technical solutions, and all of them should be covered by the claims of the present invention.

Claims (5)

1. A contact graph routing method based on random linear network coding in deep space communication is characterized by comprising the following steps:
s1: the source node processes the data packets to be sent by adopting random linear network coding and limits the number of the sent coding packets according to the link state information;
s2: the source node selects a plurality of link disjoint paths according to a predicted contact graph and transmits the encoded packet on the plurality of paths;
the specific operation of the multipath routing is as follows:
s21: when data is to be sent, multiple link disjoint paths from a source node to a destination node are established;
s22: the source node constructs a contact graph reflecting the relationship between the nodes according to the predicted network topology information;
s23: the source node calculates the earliest arriving path meeting the capacity constraint relation at the current moment by adopting a time-varying Dijkstra algorithm based on the contact graph of the node, and records the path as beta1
S24: the source node deletes all paths beta in the contact graph1The earliest path beta is calculated by adopting a time-varying Dijkstra algorithm based on the deleted contact graph2Until the first beta earliest paths from the source node to the destination node are calculated or the deleted contact graph does not form the paths from the source node to the destination node any more;
s241: after a source node selects a front beta disjoint paths of the earliest arriving link, random linear network coding operation needs to be carried out on an original data packet, and the coded packet is transmitted on the selected beta paths;
s242: equally dividing a file to be sent into a plurality of data segments with the same size, wherein each data segment comprises k data packets, and numbering the k data packets in each data segment from a first data packet to be 1,2,3, L and k in sequence; before data is sent each time, the link packet loss rate needs to be predicted to determine the number of sent coding packets; in step S242, the step of determining the number of the coded packets sent by the node according to the link packet loss ratio and the number k of the original data packets is as follows:
s2421: predicting the packet loss rate P of a channel by adopting a formula (1); wherein, P1Packet loss rate of a certain hop link, P, for the last feedback2Lambda is an adjustable parameter and the value range is (0,1) for the link packet loss rate fed back by the hop last time;
P=(1-λ)P1+λP2 (1);
s2422: calculating the sending redundancy epsilon of the source node according to a formula (2), wherein epsilon' is a parameter for controlling the node coding redundancy, and the value range is (0, 1); with the increase of the packet loss rate, the transmission redundancy is gradually increased;
Figure FDA0002974393130000021
s2423: the number of the coding packets sent by the node can be obtained by the formula (3);
Figure FDA0002974393130000022
s3: directly forwarding the received data packet at the intermediate node with the degree of income greater than 1, recoding the data packet and then forwarding the data packet;
s4: and the target node performs decoding prejudgment after receiving a certain number of data packets, feeds back the data packets which cannot be successfully decoded to the previous hop node set, and the previous hop node set preferentially sends the coding packets which are beneficial to decoding of the target node, so that the target node can quickly decode and the transmission delay is reduced.
2. The contact graph routing method based on random linear network coding in deep space communication according to claim 1, further comprising:
s243: after determining the number of the coding packets to be forwarded according to the link packet loss rate, the source node performs coding iteration on k original data packets in the same data segment by adopting random linear network coding;
s244: from a finite field GF (2)i) Selecting N groups of local coding vectors consisting of k coding arrays at random, and recording the local coding vectors as gi1,gi2,gi3...gikCombining k original data and code vector into N (N > k) new code data packets Y by random linear combination1,Y2,…,YNThe encoding process is shown in formula (4):
Figure FDA0002974393130000023
s245: after encoding, the source node adds the group identifier and the encoding vector to the packet head of the encoding data packet and then combines and transmits the packet head;
s246: after sending a data segment encoding packet, the source node enters a waiting state until receiving feedback information of a next hop node set;
s247: when the source node receives the retransmission information, the source node extracts the packet loss rate information in the retransmission information to update the packet loss rate of the link and retransmits the lost coding packet;
s248: and when the message that the next hop node set successfully receives is received, the data of the next data segment is transmitted after being encoded until the data packets of all the data segments are transmitted.
3. The method for routing contact graph based on random linear network coding in deep space communication according to claim 1, wherein the step S3 includes:
s31: in order to reduce the linear correlation between the coded packets, recoding is carried out at an intermediate node with the degree of entry of 1;
s32: judging whether the received coding packet is linearly independent of the coding packet in the node cache or not by the intermediate node, and discarding the linearly dependent data packet;
s33: after the intermediate node receives m unrelated code packets with the same group mark sent by the previous hop node, recoding the received m code packets by adopting a coding method similar to that of the source node;
s34: determining the sending redundancy epsilon of the node according to the link packet loss rate information, and sending N' coding packets shown in a formula (5) to a next hop node;
Figure FDA0002974393130000031
s35: and updating the coding coefficient in the received coding packet structure into a new coding vector and then forwarding the new coding vector.
4. The method for routing contact graph based on random linear network coding in deep space communication according to claim 1, wherein said step S4 further comprises:
s41: if the destination node receives P coded packets at time t1,P2,P3The composition is shown in the following formulas (6), (7) and (8):
P1=α11X112X2 (6);
P2=α21X122X223X3 (7);
P3=α32X233X334X4 (8);
wherein, X1,X2.., the original data packet, alphaijRepresenting the original data packet X randomly selected from the finite field for the ith code packetjThe coding coefficient of (2);
s42: from P1,P2,P3The generated coding coefficient matrix is shown in the following formula (9):
Figure FDA0002974393130000041
s43: if the destination node receives the encoded packet P as shown in equation (10)4After that, the air conditioner is started to work,
P4=α41X142X243X344X4 (10);
the destination node can decode X1,X2,X3,X4
S44: if the destination node receives the coded packet P shown in formula (11)5When the temperature of the water is higher than the set temperature,
P5=α53X354X455X556X6 (11);
then the original packet X cannot be decoded at this time1,X2,X3,X4
5. The method for routing contact maps based on stochastic linear network coding in deep space communication of claim 1, further comprising comparing node-disjoint K shortest paths with MRANC routing methods by using Matlab software from three aspects of delivery rate, redundancy and transmission delay.
CN201810758604.0A 2018-07-11 2018-07-11 Contact graph routing method based on random linear network coding in deep space communication Active CN109041154B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810758604.0A CN109041154B (en) 2018-07-11 2018-07-11 Contact graph routing method based on random linear network coding in deep space communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810758604.0A CN109041154B (en) 2018-07-11 2018-07-11 Contact graph routing method based on random linear network coding in deep space communication

Publications (2)

Publication Number Publication Date
CN109041154A CN109041154A (en) 2018-12-18
CN109041154B true CN109041154B (en) 2021-05-11

Family

ID=64641809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810758604.0A Active CN109041154B (en) 2018-07-11 2018-07-11 Contact graph routing method based on random linear network coding in deep space communication

Country Status (1)

Country Link
CN (1) CN109041154B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110035395A (en) * 2019-04-10 2019-07-19 浙江工商大学 A kind of multiuser cooperative transmission based on random linear network encoding
CN110120853B (en) * 2019-05-24 2021-12-10 中国科学院计算机网络信息中心 Data transmitting and receiving device and method under multilink environment
CN110474713B (en) * 2019-07-01 2022-05-03 华南师范大学 Communication system for improving coding and decoding process of RRNS code
US11463372B2 (en) * 2020-04-23 2022-10-04 Code On Network Coding, Llc Method and apparatus for coded multipath networking using path management and protocol translation
CN112153693B (en) * 2020-09-23 2024-05-10 南京邮电大学 Dual-path transmission method based on random linear network coding
CN112436920B (en) * 2020-11-23 2021-10-26 南通大学 Network coding and decoding method suitable for multi-hop relay communication
CN112803988B (en) * 2021-01-25 2022-08-02 哈尔滨工程大学 Hybrid contact graph routing method based on link error rate prediction
CN113067669B (en) * 2021-03-03 2022-08-09 伍仁勇 Network coding method and security network
CN113115397A (en) * 2021-05-13 2021-07-13 郑州轻工业大学 Directional routing method in deep space optical communication network
CN115550349B (en) * 2022-09-29 2024-07-05 南京邮电大学 File transmission method based on random linear network coding and Kalman filtering algorithm

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780637A (en) * 2012-08-14 2012-11-14 虞万荣 Routing method for data transmission in space delay/disruption tolerant network
WO2014057595A1 (en) * 2012-10-09 2014-04-17 日本電気株式会社 Method for exchanging information between communication terminals, and communication terminal
WO2014186614A3 (en) * 2013-05-17 2015-01-08 Raytheon Bbn Technologies Corp. Disrupted adaptive routing
CN106888492A (en) * 2017-01-23 2017-06-23 西安电子科技大学 The satellite network method for routing of the limited discontinuously connection of Load-aware caching

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102780637A (en) * 2012-08-14 2012-11-14 虞万荣 Routing method for data transmission in space delay/disruption tolerant network
WO2014057595A1 (en) * 2012-10-09 2014-04-17 日本電気株式会社 Method for exchanging information between communication terminals, and communication terminal
WO2014186614A3 (en) * 2013-05-17 2015-01-08 Raytheon Bbn Technologies Corp. Disrupted adaptive routing
CN106888492A (en) * 2017-01-23 2017-06-23 西安电子科技大学 The satellite network method for routing of the limited discontinuously connection of Load-aware caching

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于容量约束的深空接触图路由算法;赵辉,梁花;《科学技术与工程》;20160630;全文 *
基于网络编码的空间DTN中CGR改进算法;万鹏,张胜利,宋世杰;《飞行器测控学报》;20161031;全文 *
社会性DTN路由机制及网络编码应用研究;张茜;《中国优秀硕士论文全文数据库》;20120715;全文 *

Also Published As

Publication number Publication date
CN109041154A (en) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109041154B (en) Contact graph routing method based on random linear network coding in deep space communication
Guo et al. On applying network coding to underwater sensor networks
CN103209435B (en) Congestion control based wireless multi-hop network multicast method
CN101895376A (en) Transmission method for realizing data broadcasting in multi-hop wireless network
Peng et al. Fault-tolerant routing mechanism based on network coding in wireless mesh networks
CN113141207B (en) Time-sensitive service-oriented spatial information network data transmission method
Lu et al. Performance improvement in DTNs by packet size optimization
Guo et al. Efficient error recovery using network coding in underwater sensor networks
Rezende et al. The selective use of redundancy for video streaming over Vehicular Ad Hoc Networks
JP2008148299A (en) Method for route selection in cooperative relay network
Gandikota et al. Adaptive FEC-based packet loss resilience scheme for supporting voice communication over ad hoc wireless networks
CN110138432A (en) DTN data transmission method based on network code and relaying caching auxiliary
CN114095418A (en) Reliable transmission method for industrial Internet of things data in wireless optical fiber hybrid network scene
Ali et al. Learning-based adaptive sliding-window RLNC for high bandwidth-delay product networks
CN102970111A (en) Redundant-coding-based multi-channel access method for satellite network communication
Yu et al. Research of multi-path routing based on network coding in space information networks
Tan et al. PNCRM: a novel real-time multicast scheme in MANETs based on partial network coding
Jiang et al. Packet size optimization in delay tolerant networks
CN110958078B (en) Low-delay stream code packet transmission method for high-loss link
Kumar et al. Hybrid loss recovery technique for multipath load balancing in MANETs
Barać et al. Towards reliable and lightweight communication in industrial wireless sensor networks
Gu et al. RCLTP: A rateless coding-based Licklider transmission protocol in space delay/disrupt tolerant network
Feng et al. AoI minimization in broadcast channels with channel state information
Ouyang et al. Network Coding-Based Multi-Path Transmission for LEO Satellite Networks With Domain Cluster
Matthew et al. The use and performance of LT codes for multicast with relaying

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant