Disclosure of Invention
The purpose of the invention is as follows: the invention aims to provide an inter-satellite routing method in a low earth orbit satellite communication network, which can calculate a proper routing path in real time under the influence of dynamic change of a constellation topological structure of a low earth orbit satellite, further can dynamically select the proper routing path aiming at emergent conditions such as network congestion, node failure and the like, and increases the robustness of the routing method.
The technical scheme is as follows: in order to achieve the purpose, the inter-satellite routing method in the low-orbit satellite communication network provided by the invention fully utilizes the periodicity and regularity of the low-orbit satellite motion to deal with the dynamic change characteristic of a low-orbit satellite constellation. The satellite nodes in the low-earth-orbit satellite communication network form a low-earth-orbit constellation through inter-satellite links, and real-time communication is provided in a more flexible mode. The method comprises the following steps:
(1) before the low earth orbit satellite communication network is started, all satellite nodes in the network are initialized, and the actual physical address of the satellite is mapped into a logical address, so that each satellite node has a fixed logical address (i, j); wherein (i, j) represents the jth satellite node of the ith orbital plane; when the network starts to be started, each satellite node in the network can perform periodic and regular ground winding movement, and the satellite constellation topology formed by the satellite nodes with the logical addresses dynamically changes; each satellite periodically sends a hello packet to a neighbor node, and locally records link state information through the data of the hello packet, wherein the link state information comprises transmission delay of a corresponding inter-satellite link, a logical address of a corresponding satellite node in a network and node failure and congestion information in the network; the neighbor node selects a proper path for data packet forwarding according to the link state information stored locally so as to cope with the influence caused by node failure and network congestion;
(2) for any routing request in a low earth orbit satellite communication network, in the multi-hop routing from a source node S to a destination node D, the routing scheduling method comprises the following steps:
(2.1) at the start of each routing request, the source node S bases on its own logical address (S)i,Sj) And the logical address of the destination node D (D)i,Dj) Determining the number of in-track jumps Hintr aAnd the number of inter-track jumps Hinter(ii) a When the source node calculates the routing hop count information, the following steps are executed:
calculating the number of in-track jumps Hintr aBecause the satellites in the same orbit can be regarded as different nodes on one ring, and two routes are arranged before different points on the same ring, the route hop counts are | S respectivelyj-DjI and N-Sj-DjL, where N is the total number of satellite nodes within an orbital plane; considering the length of the intra-track link as a fixed value, we prefer to select the routing hop count to be small, i.e., the intra-track hop count Hintr a=mmin{|Sj-Dj|,N-|Sj-Dj|};
Calculating the number of inter-track hops HinterThe orbital plane of the source node S is SiThe track surface of the destination node D is DiThen the number of inter-track jumps Hinter=|Si-Di|;
(2.2) number of in-track hops H when a routing request is madeintr aAnd the number of inter-track jumps HinterAfter the determination is good, the source node continues to determine the horizontal transmission direction d according to the relative position informationhAnd a vertical transport direction dv(ii) a I.e. perpendicular to the direction of transport dvTo make SiSize is close to DiIn the horizontal transport direction dhTo make SjSize is close to DjThe direction of (a);
the routing information calculation method is summarized as follows: maintaining a constellation network formed by a logical address, adopting a hello packet mechanism, storing link state information at each satellite node, and obtaining the required hop count H in the orbit according to the relative position information of a source node and a destination node when a routing request existsintr aAnd the number of inter-track jumps HinterAnd a horizontal transport direction dhAnd a vertical transport direction dv;
(3) According to the step (2), the number H of in-track hops required for routing forwarding is obtainedintr aAnd the number of inter-track jumps HinterAnd a horizontal transport direction dhAnd a vertical transport direction dvThereafter, priorities of horizontal transmission and vertical transmission are determined. The method for calculating the horizontal and vertical transmission priorities includes the steps of:
(3.1) passing the parameter SiAnd DiJudging whether the source node S and the destination node D are in the same track plane, if so, the priority of the vertical transmission direction is high, and the in-track data transmission is preferentially carried out; if not, executing the step (3.2);
(3.2) judging whether the source node S and the destination node D are over the same polar region, if so, transmitting data between orbits to a relay node outside the polar region through the data in the orbits firstly and then transmitting the data between the orbits to a track surface where the destination node is located because the satellite moves at high speed and is influenced by Doppler frequency offset in the polar region; if not, executing step (3.3);
(3.3) judging whether the source node S and the destination node D pass through the upper air of the polar region, if so, preferentially performing intra-track data transmission, and when reaching a node which is out of the polar region and closest to the polar region, performing inter-track data transmission; if not, executing the step (3.4);
(3.4) judging the relationship between the distance between the source node tracks and the distance between the destination node tracks, if the distance between the source node tracks is small, preferentially transmitting data between the tracks, and if not, preferentially transmitting data in the tracks; the inter-track distance of the nodes is related to the latitude where the nodes are located, and the higher the latitude where the nodes are located, the smaller the inter-track distance.
Furthermore, link failure and network congestion information can be flooded in the satellite network, and when link failure and other conditions exist in a routing path, an evasion algorithm is implemented, and a proper route is selected, so that the aim of coping with dynamic change is fulfilled. For different situations in steps (3.1) - (3.4), the evasive algorithm is specifically as follows:
for the case of step (3.1), when there is a link failure in the routing path, there are two options; the first is that the node with the shortest inter-track link length among the nodes from the source node to the failure node is firstly relayed to the adjacent track and then trackedThe rail is transported in the rail and finally returns to the original rail surface; secondly, because the track surface is a closed ellipse, a reverse walking mode can be adopted; the number of routing hops for both cases is | Sj-DjL +2 and N-Sj-DjAnd taking the smaller of the two as a routing path for avoiding the link failure.
For the case of (3.2), because the data transmission in the track needs to be carried out first, if there is a link failure in the path, the relay node in the track in the reverse direction is preferentially selected for transmission to the extrapolar relay node, and then the data transmission between the tracks is carried out to the node D along the horizontal transmission directioniAnd the track surface is used as a routing path for avoiding the link failure.
For the case of (3.3), if at the source node (S)i,Sj) If a link fault exists in a path before reaching the polar region, selecting a node with the shortest inter-track link between a source node and a fault node, firstly carrying out inter-track transmission along the horizontal transmission direction, and then calculating a route from the current node to a destination node according to the step (2). If it is after the polar region to the destination node (D)i,Dj) In the path (D), there is a link failure and the link failure is transmitted to D firstiAnd selecting the node with the shortest inter-track link from the fault node to the destination node to perform inter-track data transmission. If a link failure exists in a path in the polar region, before entering the polar region, a track surface which does not fail in the polar region is selected for in-track data transmission.
For the case of step (3.4), the data transmission between tracks and the data transmission in tracks can be divided into two cases. In the first case, if the failure occurs in the inter-track link, it is transmitted to the previous node of the failed node, then an intra-track data transmission is performed, and then the route from the current node to the destination node is calculated according to step (2). If the fault occurs in the in-track link, it is first transmitted to DiThe track surface before the track surface, and then the node with the shortest inter-track link between the fault node and the destination node is selectedAnd performing inter-track data transmission. In the second case, if the failure occurs in the inter-track link, the inter-track data is performed at the node where the inter-track link between the source node and the previous node of the destination node is shortest until the track plane where the next node of the failed link is located is reached, and then the route from the current node to the destination node is calculated according to step (2). And if the fault occurs in the intra-track link, selecting the node with the shortest inter-track link between the source node and the fault node, firstly carrying out inter-track transmission along the horizontal transmission direction, and then calculating the route from the current node to the destination node according to the step (2).
Has the advantages that: the existing inter-satellite communication routing methods can be divided into two types, one is based on virtual topology, and the other is based on virtual node technology. The routing method based on the virtual topology assumes that the topological structure of the satellite constellation network is unchanged, calculates a routing table in advance, has high requirement on-satellite storage, and is difficult to calculate in real time. In a general routing method based on a virtual node technology, satellites correspond to ground services one by one, each satellite corresponds to a ground service area, namely a virtual node, the surface of the earth is divided into a plurality of areas, the satellites and the areas are mapped, mapping errors exist, and meanwhile service switching between different areas needs to be done. In addition, the routing method using the virtual node technique does not always provide an optimal route by using local information when performing route calculation. The invention provides a routing method based on intersatellite link state information, which is characterized in that a fixed number is distributed to each satellite node, no mapping error exists, the link state information of adjacent nodes and the number of a neighbor node can be obtained through a hello packet mechanism, when a routing request exists, the hop number, the direction and the priority of transmission between tracks and in the tracks can be determined by using the number and the actual position information of the number and the number, and a proper path can be calculated in real time. When a link fault occurs, the link fault is notified to other nodes through a flooding method, and an avoidance algorithm can be adopted during routing request, so that the influence on the link fault can be effectively responded, the globally optimal route is selected, and the method has considerable application prospect.
Detailed Description
The technical solution of the present invention is further explained with reference to the accompanying drawings and specific embodiments.
The embodiment of the invention provides an inter-satellite routing method in a low earth orbit satellite communication network, which is a routing method based on inter-satellite link state information. Each satellite node sends a hello packet to a neighbor node, and locally records link state information through data of the hello packet, wherein the link state information comprises transmission delay of a corresponding inter-satellite link, a logical address of the corresponding satellite node in a network and node fault and congestion information in the network. The node will select the appropriate routing path based on the locally stored link state information. As shown in fig. 1, the method comprises the following processes:
(1) a logic address establishing stage: before a low-orbit satellite communication network is started, initializing all satellite nodes in the network, and mapping actual physical addresses of satellites into logical addresses to enable each satellite node to have a fixed logical address; each satellite periodically sends a hello packet to a neighbor node, and locally records link state information through the data of the hello packet, wherein the link state information comprises transmission delay of a corresponding inter-satellite link, a logical address of a corresponding satellite node in a network and node failure and congestion information in the network; the neighbor node selects a proper path for forwarding the data packet according to the link state information stored locally so as to cope with the influence caused by node failure and network congestion;
(2) for any routing request in a low earth orbit satellite communication network, in the multi-hop routing from a source node S to a destination node D, the routing scheduling method comprises the following steps:
(2.1) at the start of each routing request, the source node S bases on its own logical address (S)i,Sj) And the logical address of the destination node D (D)i,Dj) Determining the number of in-track jumps Hintr aAnd the number of inter-track hops HinterWherein the number of in-track jumps Hintr a=min{|Sj-Dj|,N-|Sj-DjL, inter-track hop count Hinter=|Si-Di|;
(2.2) when the number of the intra-track hops and the number of the inter-track hops of one routing request are determined, the source node continues to determine the horizontal transmission direction d according to the relative position informationhAnd a vertical transport direction dv(ii) a I.e. perpendicular to the transport direction dvSo that SjSize is close to DjDirection of size, horizontal direction of transport dhTo make SiSize is close to DiThe direction of (a);
wherein d ish0 stands for no horizontal transmission, d h1 stands for horizontal transmission direction right, dh-1 represents horizontal transmission direction to the left; dv0 stands for no vertical transmission, d v1 stands for vertical transport direction up, dv-1 represents a vertical transport direction of down;
(3) according to the step (2), the number H of in-track hops required for routing forwarding is obtainedintr aAnd the number of inter-track jumps HinterAnd a horizontal transport direction dhAnd a vertical transport direction dv(ii) a Next, it is also necessary to determine the priority of good horizontal transmission and vertical transmission. The method for calculating the horizontal and vertical transmission priority comprises the following steps:
(3.1) passing the parameter SiAnd DiJudging whether the source node S and the destination node D are in the same track plane, if so, the priority of the vertical transmission direction is high, and the in-track data transmission is preferentially carried out; if not, executing the step (3.2);
(3.2) judging whether the source node S and the destination node D are over the same polar region, if so, transmitting data between orbits to a relay node outside the polar region through the data in the orbits firstly and then transmitting the data between the orbits to a track surface where the destination node is located because the satellite moves at high speed and is influenced by Doppler frequency offset in the polar region; if not, executing step (3.3);
(3.3) judging whether the source node S and the destination node D pass through the upper air of the polar region, if so, preferentially performing intra-track data transmission, and when reaching a node which is out of the polar region and closest to the polar region, performing inter-track data transmission; if not, executing the step (3.4);
(3.4) judging the relationship between the distance between the source node tracks and the distance between the destination node tracks, if the distance between the source node tracks is small, preferentially transmitting data between the tracks, and if not, preferentially transmitting data in the tracks; the inter-track distance of the nodes is related to the latitude where the nodes are located, and the higher the latitude where the nodes are located, the smaller the inter-track distance is; the data transmission priority can be directly determined according to the latitude of the source node and the destination node.
Furthermore, link failure and network congestion information can be flooded in the satellite network, so that the aim of coping with dynamic changes is fulfilled; and when link failure and other conditions exist in the routing path, implementing an avoidance algorithm, avoiding the failed link and the congested link, and selecting a proper route. The avoidance algorithm is specifically as follows:
aiming at the condition of the step (3.1), when a link fault exists in a routing path, two options are available; the first is that the node with the shortest inter-track link length in the nodes from the source node to the fault node is firstly relayed to the adjacent track, then the intra-track transmission is carried out, and finally the original track surface is returned; secondly, because the track surface is a closed ellipse, a reverse walking mode can be adopted; the number of routing hops for both cases is | Sj-Dj| +2 and N- | Sj-DjAnd taking the smaller one of the two methods as a routing path for avoiding the link failure.
For the case of (3.2), if there is a chain in the path, since the intra-track data transfer needs to be done firstThe road fault is transmitted to the extrapolar relay node in the reverse direction track preferentially, and then is transmitted to the D through the inter-track data along the horizontal transmission directioniAnd the track surface is used as a routing path for avoiding the link failure.
For the case of (3.3), if at the source node (S)i,Sj) If a link fault exists in a path before reaching the polar region, selecting a node with the shortest inter-track link between a source node and a fault node, firstly carrying out inter-track transmission along the horizontal transmission direction, and then calculating a route from the current node to a destination node according to the step (2). If it is after the polar region to the destination node (D)i,Dj) In the path (D), there is a link failure and the link failure is transmitted to D firstiAnd selecting the node with the shortest inter-track link from the fault node to the destination node to perform inter-track data transmission. If a link failure exists in a path in the polar region, before entering the polar region, a track surface which does not fail in the polar region is selected for in-track data transmission.
For the case of step (3.4), the data transmission between tracks and the data transmission in tracks can be divided into two cases. In the first case, if the failure occurs in the inter-track link, the data is transmitted to the previous node of the failed node, and then the intra-track data transmission is performed, and then the route from the current node to the destination node is calculated according to the step (2). If the fault occurs in the in-track link, it is first transmitted to DiAnd selecting the node with the shortest inter-track link from the fault node to the destination node to perform inter-track data transmission. In the second case, if the failure occurs in the inter-track link, the inter-track data is performed at the node where the inter-track link between the source node and the previous node of the destination node is shortest until the track plane where the next node of the failed link is located is reached, and then the route from the current node to the destination node is calculated according to step (2). If the fault occurs in the intra-track link, selecting the node with the shortest inter-track link from the source node to the fault node, and firstly following the waterAnd (4) horizontally transmitting the direction, performing inter-track transmission once, and then calculating a route from the current node to the destination node according to the step (2).
In the invention, a routing method based on inter-satellite link state information is designed, a logic address is fixed for each satellite node, and adjacent link state information is continuously updated through hello packets, so that the influence caused by dynamic topology can be effectively responded. When the link fails, the flooding method is adopted to transmit the link failure and the network congestion information to each satellite node, so that the failed link and the congested link can be effectively avoided in the routing path, and the transmission success rate is improved.
As shown in fig. 2, in an iridium low-earth satellite constellation network, each satellite is fixed with 4 neighboring satellite nodes, two are in adjacent orbital planes and two are in the same orbital plane, an inter-satellite link in the same orbital plane is an intra-orbital link, and an inter-orbital link is an inter-orbital link. Before the low-orbit satellite communication network is started, all satellite nodes in the network are initialized, and the actual physical address of a satellite is mapped into a logical address (i, j), wherein i is 1.
As shown in fig. 3, each satellite node has a logical address (i, j) and there may be an inter-satellite link with 4 adjacent satellite nodes. The set of inter-satellite links can be written as:
L={l1,l2,l3,l4in which l1And l3For inter-track links,/2And l4Is an in-track link.
In-track link2And l4Under the condition that the link does not fail, the method can be always used for data transmission, and the length of the link in the track is a fixed value and can be calculated by the following formula
Wherein, R represents the radius of the current orbit plane, and N represents the number of the satellite nodes in the current orbit plane.
Inter-track link1And l3The method is not always available, and in polar regions, satellites move at high speed, are influenced by Doppler frequency offset, and cannot transmit data between orbits, so that the method1And l3A link does not exist. Because the inter-track links are constantly changing and decrease as the latitude in which the inter-track links are located increases, the node with the highest latitude outside the polar region is preferentially selected for inter-track data transmission.
In the example of fig. 4, a topology of a satellite constellation network composed of logical addresses of satellite nodes at a certain time is given, assuming that the logical address of the source node in the network is (1, 7), and its x coordinate and y coordinate respectively represent the 7 th satellite node of the current node in the 1 st orbital plane.
According to the steps of the specific implementation, first, each node and the neighbor nodes send hello packets to each other, wherein the source node with the logical address of (1, 7) has four neighbor nodes, namely (1, 6), (1, 8), (2, 7), (6, 7), and wherein (6, 7) and the source node are located on both sides of the backstitch, and no inter-track link exists. The source node (1, 7) and the other three nodes periodically send hello packets, and the nodes locally record link state information. Other nodes in the network also periodically send hello packets with the neighbor nodes respectively to detect the link state.
When the logical address of the destination node is (3, 5), we can calculate the number of in-track hops H firstintr aAnd the number of inter-track jumps HinterRespectively 2 and 2. Then, let SiSize is close to DiIn the right direction, i.e. d v1, such that SjSize is close to DjIn a downward direction, i.e. dhIs-1. Next, we need to determine the priority of horizontal transmission and vertical transmission according to the topology of the satellite constellation network at this time.
Further, the method for calculating the horizontal and vertical transmission priorities includes the steps of:
(1) by a parameter SiAnd DiDetermining whether the source node S and the destination node D are within the same orbital plane, S for the given examplei≠DiIf S and D are not on the same track surface, executing step (2);
(2) judging whether the source node S and the destination node D are in polar regions or not, and executing the step (3) if the source node S and the destination node D are not in polar regions for a given example;
(3) judging whether the source node S to the destination node D pass through the polar region or not, and executing the step (4) if the source node S to the destination node D do not pass through the polar region for the given example;
(4) the relationship between the distance between the source node tracks and the distance between the destination node tracks is judged, and the destination node is closer to the polar region and is positioned outside the polar region, so that the distance between the tracks of the destination node is smaller, and therefore, intra-track data transmission is firstly carried out, and inter-track transmission is carried out at the (1, 5) nodes until the destination is reached.
Through the above steps, it can be obtained that at this time, the routing path from the source node (1, 7) to the destination node (3, 5) is (1, 7) → (1, 6) → (1, 5) → (2, 5) → (3, 5) on the premise that all the nodes in the routing path are operating normally.
When the link in the path has a fault, according to an evasion method in a routing algorithm, information of the link fault can be flooded in the network, and assuming that the link between the nodes (1, 7) and (1, 6) has a fault, the source node can only forward the data packet to the node (2, 7), and then the subsequent routing path is selected continuously according to the step (3.4).
Through the above steps, it can be found that at this time, in the case of a link failure between the nodes (1, 7) and (1, 6), the backup routing path from the source node (1, 7) to the destination node (3, 5) is (1, 7) → (2, 7) → (2, 6) → (2, 5) → (3, 5), and the routing hop count of this path coincides with the optimal path.
And repeating the steps for each routing request in the whole routing process, and dynamically selecting a proper routing path.
The above description is only a preferred embodiment of the present invention, and the scope of the present invention is not limited to the above embodiment, but equivalent modifications or changes made by those skilled in the art according to the present disclosure should be included in the scope of the present invention as set forth in the appended claims.