Low-orbit satellite distributed dynamic multipath routing method based on network coding
Technical Field
The invention relates to a network coding-based multipath routing method, which is suitable for the field of low-orbit satellite networks.
Background
The network coding technology integrates two concepts of coding and routing, and codes information transmitted in different data links and forwards the coded information in a broadcast mode, so that communication nodes in a network have double functions of coding and routing.
The multipath routing is applied to the satellite communication network, and compared with a single-path routing algorithm, the multipath routing has the unique advantages of high bandwidth utilization rate, strong congestion and burst processing capability and the like. However, when the multi-path routing is applied to the satellite network, on one hand, a plurality of paths transmit data messages in parallel, and due to different hop counts and bandwidths of the paths, the difference of message transmission delay is large, and a message disorder phenomenon can be caused at a destination end; on the other hand, packet loss is easily caused due to network topology change and link failure. The network coding can well supplement the multipath routing technology according to own advantages. The multi-path routing technology based on network coding needs less redundant data packets when the same reliability is achieved, and the consumption of network energy is greatly reduced.
1) Improved MORE protocol based on network coding
Most of the previous research on the MORE protocol is based on terrestrial networks, and is concerned MORE about transmission quality problems, and requires that nodes can detect other nodes, and this strategy is not suitable for use in resource-tight satellite networks, so an improved MORE routing protocol, a path scalable network coding Protocol (PSNC), is proposed.
To apply the MORE policy to the satellite network and improve bandwidth utilization, the algorithm reduces the number of transmission paths by introducing an opportunistic routing policy. In the network, the source node selects the optimal path in the MEO as the primary path and selects the backup path in the LEO. The nodes still transmit information in a broadcasting mode, so that each node can receive the information, but only the nodes connected with the MEO link and the LEO link carry out coding forwarding, and not all intermediate nodes carry out coding operation, thereby greatly optimizing the performance of the algorithm and reducing the complexity of the algorithm. The algorithm has good effect on improving the bandwidth utilization rate and the correct delivery rate of the data packets. Although effective to some extent, this algorithm is not based entirely on LEO's multi-path routing strategy.
2) Opportunistic routing algorithm based on network coding
The opportunistic routing algorithm based on the network coding combines the network coding with opportunistic routing, and utilizes respective advantages to better serve the dynamic satellite network. The algorithm can be seen as an extension of on-demand routing based on location information. The algorithm mainly aims to improve the bandwidth utilization rate on the premise of ensuring lower end-to-end delay, delay jitter and smaller signaling overhead. The method comprises three stages of route discovery, coding opportunity calculation and data packet forwarding. The route discovery is used for searching N paths, the coding machine can calculate through node buffer area information, and data packets are coded and forwarded according to coding opportunities. In the algorithm, the data packet can be transmitted through a path with more hops, so that congestion is avoided, and meanwhile, when the network load is larger, the data packet delivery rate is higher. However, each stage of the algorithm needs to perform calculation judgment, including routing selection and coding opportunity waiting, so that the calculation amount of the algorithm is large, and the implementation difficulty is high for non-broadcast satellites. The algorithm is based on inter-stream network coding and is not suitable for unicast scenarios.
3) Satellite multipath routing algorithm of integrated network coding
Aiming at the time-varying property, the unreliability and the discontinuity of a satellite network link and the problem that messages are out of order easily caused by applying multipath routing in a satellite network, the algorithm utilizes a network coding algorithm based on the traditional multipath routing to solve the problem. The algorithm introduces a concept of virtual topology, converts a dynamic topological structure of an LEO satellite network into a static topological structure, calculates K shortest paths between any pair of nodes in advance at a gateway station according to the periodicity and predictability of the network, and loads a routing table onto each satellite. The algorithm improves the successful delivery rate through data packet redundancy. Simulation shows that the successful delivery rate of the data packet can be greatly improved by introducing the network coding under the condition of equal redundancy.
Although the algorithm plays a certain role in forwarding the data packet, the robustness is poor and the data packet is not paid for. In an off-line state, K paths between any pair of nodes are calculated, so that the computation amount is large, the storage cost of a satellite routing table is large, and the adaptability to the sudden change of the satellite network topology is poor; the multiple paths do not rely on network state information to send data in parallel, the redundancy is high, and large bandwidth resource waste is caused; the multiple paths do not intersect so that the coding effect of the intermediate nodes is not obvious.
SUMMARY OF THE PATENT FOR INVENTION
Aiming at the problems, the patent provides a satellite distributed dynamic multipath routing algorithm NC-DDMR, and the method does not need nodes to obtain the topology information of the whole network to calculate and maintain fixed multipath. The node can judge the conditions of link failure, congestion and the like only by the information provided by the neighbor node, and select a proper next path, thereby reducing the protocol complexity and the algorithm overhead. When the data packet is forwarded, the algorithm dynamically allocates the forwarding probability according to the state of the downstream node, so that the network congestion is reduced; redundancy compensation is carried out on the forwarding failure probability of the data packet, and the successful delivery rate of the data packet is improved; finally, the algorithm reduces the correlation between the redundant packet and the original data packet through network coding in the stream, thereby improving the successful delivery rate of the data packet under the same redundancy.
In particular, at the beginning of the time interval Δ t, i.e. at the time t0,t1,…,tnAnd each node updates the transmission delay information from the node to all other nodes according to the ephemeris. When the data packet is transmitted, the algorithm does not need to establish and maintain a plurality of paths in advance, and the data packet is directly delivered according to the information of the neighbor nodes. The algorithm can utilize the feedback information of the neighbor nodes to timely detect the conditions of link failure, area congestion and the like, and timely change the forwarding strategy of the downstream node without any response of the source node. The distributed forwarding process enables data to well avoid a congestion area, reduces time delay, and realizes the adaptability of the algorithm to a dynamic network with minimum time delay and packet loss cost.
In order to reduce the packet loss rate, the algorithm introduces network coding and proposes a dynamic probability forwarding algorithm (DPF) in a coded packet forwarding strategy. The source node splits a data packet into m data packets with the same size, wherein the m data packets have the same group number, and the data packets are coded by adopting random linear coding and then forwarded. When receiving a new data packet, the intermediate node recodes and forwards the same group of data packets cached originally, and empties the cache after a time interval T. Each downstream node has a forwarding opportunity when forwarding the encoded packet. When initializing, the node firstly distributes priority to the downstream node according to the time delay information of the downstream node, and then dynamically distributes forwarding probability to the downstream node according to the priority and other information when forwarding the data packet. When the data packet is forwarded through a certain downstream node, the failure probability exists, the algorithm can carry out compensation forwarding according to the failure probability and with a certain probability, and the successful delivery rate of the data packet is improved.
Drawings
FIG. 1 is a flow chart of a dynamic probability forwarding algorithm of the present invention;
Detailed Description
1) Satellite distributed dynamic multipath routing algorithm
The specific implementation process of the satellite distributed dynamic multipath routing algorithm can be divided into three steps: algorithm initialization, same-group data packet coding and probability compensation forwarding. Only when the first packet of a new source-destination node pair arrives, the node needs to be initialized, including parameter definition, downstream node selection, and downstream node sequencing.
The algorithm distributes forwarding priority to a plurality of downstream nodes, and the smaller the time delay from the node to the destination node, the higher the priority. And the nodes dynamically allocate forwarding probabilities to the downstream nodes according to the information of the downstream nodes. When the data packet is forwarded, the downstream nodes are polled in sequence from high to low according to the priority. When the data packet is determined to be forwarded through a certain downstream node, the data packet has a certain failure probability. In order to reduce the packet loss rate, the algorithm dynamically performs "compensation forwarding" on the data packet, that is, forwards the duplicated data packet with a certain probability.
After the initialization process is completed, a communication sub-graph G ' (V ', E ') can be obtained. The remaining two steps will be performed in a sub-graph, where each node has the possibility to forward packets. When congestion occurs locally, the probability of failure in forwarding the coded packet is increased, and the algorithm can increase the probability of compensation forwarding; when the downstream link e (i, j) fails, the set of downstream nodes of node vi removes node vj and updates the set. The algorithm has good dynamic adaptability to network emergency, and ensures higher successful delivery rate of the data packet under the condition of lower redundancy.
2) Dynamic probabilistic forwarding algorithm
The algorithm transmits the probability forwarding of the coded packet according to the queue information sent by the downstream node, as shown in the figure. Suppose node viThere are I downstream nodes, each having an initial parameter pj∈[0,1]J is 0, 1, …, I, and pIThe higher the priority, the smaller the index.
When an encoded packet needs to be forwarded, the downstream nodes are polled starting at 1. When node vjWhen polled, its forwarding probability Pi(j) Is calculated as follows:
first consider node vjRelative weight of (1), denoted as rj. The definition is as follows:
r1=p1 (1.1)
when the downstream node send queue is not full, node vjThe normalized relative weight of (a) is defined as:
where BQ is a non-full set of queues. When sigma
k∈BQr
kWhen the normalized relative weight of the last downstream node is 1 and the normalized relative weights of the other nodes are 0, the normalized relative weight of the downstream node whose transmission queue is full is set to be 1
The node forwarding probability may be expressed as:
in DPF, two thresholds min are set for each transmit queuethAnd maxth. When average transmission queue length Qavg(j) Less than minthParameter p of time queuejNo change occurs; when the average queue length is larger than maxthWhen the parameter pjIs 0; parameter p when the average queue length is between two thresholdsjThe linearity decreases. p is a radical ofjThe variation Δ p is:
Δp=pj(minth-Qavg(j))/(maxth-minth) (1.5)
when the coded packet passes through the node v
jWhen forwarding, its failure probability is set as P
i' (j). There are two cases of transmission failure: link packet loss, node v
jAnd the sending queue loses packets. Without loss of generality, the average link loss rate is assumed as
Maximum packet drop probability max for transmit queue
p. When Q is
avg(j) Greater than min
thLess than max
thThe transmit queue packet drop probability P is the current average queue length Q
avg(j) Function of (c):
probability of failure Pi' (j) can be expressed as:
Pi′(j)=1-(1-P)(1-pa) (1.7)
algorithm with Pi′(j)~5Pi' j, the random probability determines whether the duplicated coded packet is forwarded, and if so, the forwarding process is the same as above. It can be seen that the larger the failure probability of the coded packet forwarding, the larger the compensation forwarding probability.