Inter-satellite shortest path multi-forwarding routing method of low-orbit constellation network

By proposing the multi-forwarding routing method between stars in the low-orbit constellation network, the problems of high routing computing complexity and redundant backup paths are solved, and efficient routing computing and network performance improvement are achieved.

CN119496549APending Publication Date: 2025-02-21CHINA ACADEMY OF SPACE TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411454412.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-17
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

The problems of high computational complexity of the routing of the middle and low rail constellation network in the prior art and no redundant backup paths.

Method used

A method of multi-forwarding routing between stars in low-orbit constellations networks is proposed. By judging whether the source node and the destination node are on the same orbit plane, the number of path hops is calculated, and the shortest path multi-forwarding routing is calculated based on the relationship between the number of paths hops.

Benefits of technology

It effectively improves the computing efficiency of constellation network routing, realizes fast path switching and load balancing design, and improves network performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119496549A_ABST
    Figure CN119496549A_ABST
Patent Text Reader

Abstract

The invention discloses an inter-satellite shortest path multi-forwarding routing method for a low-orbit constellation network, and belongs to the technical field of aerospace communication and space networking. The method comprises the following steps: firstly, judging whether a source node and a destination node in a low-orbit constellation are on the same orbit plane, and if so, determining the position of a next-hop node according to the positions of the two nodes; if not, respectively calculating the path hop counts of the source node and the destination node under the condition of not crossing different-rail connection between the first rail surface and the last rail surface and the condition of crossing different-rail connection between the first rail surface and the last rail surface, and calculating the path hop counts of the source node and the destination node according to the size relation of the two obtained path hop counts. And respectively calculating a shortest path multi-forwarding route. According to the method, the symmetry of the low-orbit constellation network topology is fully utilized, the hop count is taken as the measurement, the shortest path routing table item number facing the destination node and the next hop node information can be quickly obtained, and the routing calculation efficiency of the constellation network is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an inter-satellite shortest path multi-forwarding routing method of a low-orbit constellation network, and belongs to the technical field of aerospace communications and space networking. Background Art

[0002] The low-orbit constellation network has the characteristics of a large number of nodes and a large network scale. Typical ground routing calculation methods such as Dijkstra algorithm and Floyd algorithm have a time complexity of O(n 2 ) and O(n 3 ), considering the limited computing power of satellite networks, when the constellation is large, the routing calculation time and the routing convergence time when the network status changes will be greatly increased, making it impossible for the constellation network to communicate normally. Therefore, the typical routing calculation method in the ground network is difficult to directly apply to the low-orbit constellation network.

[0003] On the other hand, through traditional ground routing methods, only one shortest path can be obtained between any pair of source nodes and destination nodes. Considering the long communication distance between satellite nodes, the high accuracy of communication link capture and tracking, the inter-satellite link is prone to short-term interruption, and considering phenomena such as solar eclipse, multiple backup paths are often required to ensure the overall performance of the constellation network, and ground routing methods are difficult to meet the requirements.

[0004] Existing satellite network routing technologies focus on the system design level, and lack research on specific routing and forwarding algorithms. Most of them use the OSPF protocol and RIP protocol of the ground network, and the routing method still uses typical algorithms such as the Dijkstra algorithm and the Floyd algorithm, which have the above two problems. For the typical low-orbit constellation configuration, the topological characteristics and good symmetry characteristics of the satellite network are not fully utilized. Summary of the invention

[0005] The technical problem solved by the present invention is: to overcome the shortcomings of the prior art and propose an inter-satellite shortest path multi-forwarding routing method for a low-orbit constellation network to solve the problems of high calculation complexity of low-orbit constellation network routing and no redundant backup paths in the prior art.

[0006] The technical solution of the present invention is:

[0007] An inter-satellite shortest path multi-forwarding routing method for a low-orbit constellation network, comprising:

[0008] S1: Determine whether the source node and the destination node in the low-orbit constellation are in the same orbital plane. If so, determine the next-hop node position based on the above two node positions; if not, execute S2;

[0009] S2: Calculate the number of path hops between the source node and the destination node when the first orbital plane and the Mth orbital plane are not connected across different orbits, and when the first orbital plane and the Mth orbital plane are connected across different orbits, respectively, and record them as the path hop number L1 and the path hop number L2; where M is the number of LEO constellation orbital planes;

[0010] S3: Calculate the shortest path multi-forwarding routes respectively according to the relationship between the path hop count L1 and the path hop count L2.

[0011] Furthermore, in step S1, if the source node and the destination node in the low-orbit constellation are in the same orbital plane, the next-hop node position is determined according to the above two node positions, and the specific method is as follows:

[0012] calculate:

[0013] flag=(n1-n2-(N-n1-n2))*(n1-n2)

[0014] In the formula, the source node is (m1,n1), the destination node is (m1,n2), and N is the number of satellites per orbit;

[0015] Determine the next hop node location based on the flag parameter:

[0016] 1) If flag>0, the number of routing table entries is 1, and the next hop node number is (m1,mod(n1+1,N)); where the mod operation is defined as:

[0017] mod(x,N)=x-kN,kN<x≤(k+1)N and k is an integer

[0018] 2) If flag < 0, the number of routing table entries is 1, and the next hop node number is (m1, mod (n1-1, N));

[0019] 3) If flag = 0, further determine:

[0020] If n1=n2, the destination node is the source node itself;

[0021] If n1≠n2, the number of routing table entries is 2, and the next-hop node numbers are (m1,mod(n1+1,N)) and (m1,mod(n1-1,N)) respectively.

[0022] Furthermore, in step S2, the number of path hops L1 between the source node and the destination node without crossing the different track connection between the first track plane and the Mth track plane is calculated:

[0023] L1=min{m1-m2+n1-n2,m1-m2+N-n1-n2}

[0024] Wherein, the source node is (m1, n1), the destination node is (m2, n2), and N is the number of satellites per orbit;

[0025] Calculate the number of path hops L2 between the source node and the destination node in the case of cross-orbit connection between the first orbital plane and the Mth orbital plane:

[0026] L2 = min{M - m1 - m2 + q2 - n1, M - m1 - m2 + N - q2 - n1}

[0027]

[0028] Wherein, the source node is (m1, n1), the destination node is (m2, n2), N is the number of satellites per orbit, F is the phase factor, and the mod operation is defined as:

[0029] mod(x, N) = x - kN, kN < x ≤ (k + 1)N and k is an integer.

[0030] Furthermore, in step S3, if the number of path hops L1 is less than the number of path hops L2, calculate the shortest path multi-hop routing, and the calculation method is:

[0031] According to the source node position (m1, n1) and the destination node position (m2, n2), perform the following calculations:

[0032] If n1 = n2, the number of routing table entries is 1, and then compare m1 and m2: if m1 < m2, the next-hop node number is (m1 + 1, n1); otherwise, the next-hop number is (m1 - 1, n1);

[0033] If n1 ≠ n2, compare n1 - n2 and N - n1 - n2, and it is divided into the following two cases:

[0034] If |n1 - n2| = N - |n1 - n2|, the number of routing table entries is 3; compare m1 and m2: if m1 < m2, the next three-hop node numbers are (m1 + 1, n1), (m1, mod(n1 + 1, N)), and (m1, mod(n1 - 1, N)) in sequence; otherwise, the next three-hop node numbers are (m1 - 1, n1), (m1, mod(n1 + 1, N)), and (m1, mod(n1 - 1, N)) in sequence; wherein, the mod operation is defined as: mod(x, N) = x - k·N, k·N < x ≤ (k + 1)·N and k is an integer;

[0035] If n1 - n2 ≠ N - n1 - n2, the number of routing table entries is 2; compare m1 and m2: if m1 < m2, the number of the next-hop node 1 is (m1 + 1, n1); otherwise, the number of the next-hop node 1 is (m1 - 1, n1); then judge (n1 - n2 - (N - n1 - n2)) × (n1 - n2), if (n1 - n2 - (N - n1 - n2)) × (n1 - n2) > 0, the number of the next-hop node 2 is (m1, mod(n1 + 1, N)), otherwise the number of the next-hop node 2 is (m1, mod(n1 - 1, N)).

[0036] Further, in step S3, if the path hop count L1 is greater than the path hop count L2, and n1 = q2, calculate the shortest path multi-forwarding route:

[0037] The number of routing table entries is 1, compare m1 and m2, and the next-hop node is divided into the following two cases:

[0038] 1) If m1 < m2, judge the value of m1:

[0039] If m1 = 1, the number of the next-hop node is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node is (m1 - 1, n1);

[0040] 2) If m1 > m2, judge the value of m1:

[0041] If m1 = M, the number of the next-hop node is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node is (m1 + 1, n1).

[0042] Further, in step S3, if the path hop count L1 is greater than the path hop count L2, and n1 ≠ q2, calculate the shortest path multi-forwarding route:

[0043] Compare n1 - q2 and N - n1 - q2, and it is divided into the following two cases:

[0044] 1) n1 - q2 = N - n1 - q2, the number of routing table entries is 3; among them, the numbers of the next-hop nodes 1 and 2 are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively;

[0045] Then compare m1 and m2, and the next-hop node 3 is divided into the following two cases:

[0046] If m1 < m2, judge the value of m1: if m1 = 1, the number of the next-hop node 3 is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node 3 is (m1 - 1, n1);

[0047] If m1 > m2, determine the value of m1: If m1 = M, then the number of the next-hop node 3 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 3 is (m1 + 1, n1);

[0048] 2) n1 - q2 ≠ N - n1 - q2, and the number of routing tables is 2;

[0049] If (n1 - q2 - (N - n1 - q2)) × (n1 - q2) > 0, then the number of the next-hop node 1 is (m1, mod(n1 + 1, N)); otherwise, the number of the next-hop node 1 is (m1, mod(n1 - 1, N));

[0050] Then compare m1 and m2. The next-hop node 2 is divided into the following two cases:

[0051] If m1 < m2, determine the value of m1: If m1 = 1, then the number of the next-hop node 2 is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node 2 is (m1 - 1, n1);

[0052] If m1 > m2, determine the value of m1: If m1 = M, then the number of the next-hop node 2 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 2 is (m1 + 1, n1).

[0053] Further, in step S3, if the path hop count L1 is equal to the path hop count L2, calculate the shortest path multi-forwarding route:

[0054] Calculate four state parameters:

[0055] flag1 = |n1 - n2| - (N - |n1 - n2|)

[0056] flag2 = |n1 - q2| - (N - |n1 - q2|)

[0057] flag3 = n1 - n2

[0058] flag4 = n1 - q2

[0059] Calculate the shortest path multi-forwarding route according to the numerical relationship of the above state parameters.

[0060] Further, according to the state parameter values, if flag1 = 0 or flag2 = 0 or flag1 × flag2 × flag3 × flag4 < 0 is satisfied, the number of routing table entries is 4;

[0061] The numbers of the next-hop nodes 1 and 2 are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively;

[0062] Based on the value of m1, next hop nodes 3 and 4 are divided into the following three situations:

[0063] 1) If m1=1, the next hop nodes 3 and 4 are numbered (M, mod (n1-F, N)) and (2, n1) respectively;

[0064] 2) If m1 = M, the next hop nodes 3 and 4 are numbered (M-1, n1) and (1, mod (n1 + F, N)) respectively;

[0065] 3) If m1≠1 and m1≠M, the next-hop nodes 3 and 4 are numbered (m1-1,n1) and (m1+1,n1) respectively.

[0066] Furthermore, according to the state parameter value, if flag1×flag2×flag3×flag4>0 is satisfied, the number of routing table entries is 3;

[0067] Based on the value of m1, next hop nodes 1 and 2 are divided into the following three situations:

[0068] 1) If m1=1, the next hop nodes 1 and 2 are numbered (M, mod (n1-F, N)) and (2, n1) respectively;

[0069] 2) If m1 = M, the next hop nodes 1 and 2 are numbered (M-1, n1) and (1, mod (n1 + F, N)) respectively;

[0070] 3) If m1≠1 and m1≠M, the next hop nodes 1 and 2 are numbered (m1-1, n1) and (m1+1, n1) respectively;

[0071] Then determine the value of flag1×flag3. If flag1×flag3>0, the next hop node 3 is (m1,mod(n1+1,N)). Otherwise, the next hop node 3 is (m1,mod(n1-1,N)).

[0072] Furthermore, according to the state parameter value, if flag3×flag4=0 is satisfied, then according to flag3 and flag4, it is divided into the following three cases:

[0073] 1) If flag3=0 and flag4=0, the number of routing table entries is 2, and the next hop node numbers are (mod(m1+1,M),n1) and (mod(m1-1,M),n1) respectively;

[0074] 2) If flag3=0 and flag4≠0, the number of routing table entries is 3; according to the value of m1, the next hop nodes 1 and 2 are divided into the following three cases:

[0075] If m1 = 1, the numbers of the next-hop nodes 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively;

[0076] If m1 = M, the numbers of the next-hop nodes 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively;

[0077] If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively;

[0078] Then compare m1 and m2, and it is divided into the following two cases: If m1 < m2, the number of the next-hop node 3 is (m1, mod(n1 + 1, N)); if m1 > m2, the number of the next-hop node 3 is (m1, mod(n1 - 1, N));

[0079] 3) If flag3 ≠ 0 and flag4 = 0, the number of routing table entries is 3; according to the value of m1, it is divided into the following three cases:

[0080] If m1 = 1, the numbers of the next-hop nodes 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively;

[0081] If m1 = M, the numbers of the next-hop nodes 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively;

[0082] If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively;

[0083] Then compare m1 and m2, and it is divided into the following two cases: If m1 < m2, the number of the next-hop node 3 is (m1, mod(n1 - 1, N)); if m1 > m2, the number of the next-hop node 3 is (m1, mod(n1 + 1, N)).

[0084] The advantages of the present invention compared with the prior art are as follows:

[0085] (1) The present invention comprehensively considers constellation parameters such as the number of orbital planes, the number of satellites per orbit, and the constellation phase factor, makes full use of the symmetry of the low-earth orbit constellation network topology, and takes the number of hops as a metric, and can quickly obtain the number of shortest path routing table entries and the next-hop node information for the destination node, effectively improving the routing calculation efficiency of the constellation network.

[0086] (2) The present invention proposes a multi-forwarding routing method for the characteristics of the constellation network scenario. Compared with the single shortest path calculation of the existing network protocol, the multi-forwarding routing can achieve fast path switching when the inter-satellite link is interrupted, and has good robustness.

[0087] (3) The routing calculation method proposed by the present invention can obtain multiple bearer paths between the source node and the destination node, give multiple next-hop routing nodes, and load balancing design can be carried out accordingly, which can effectively improve network performance. Description of the Drawings

[0088] By reading the detailed description of the preferred embodiments below, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present invention. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:

[0089] Figure 1 is the flowchart of the same-orbit plane state judgment and routing calculation in the embodiment of the present invention;

[0090] Figure 2 is the schematic diagram of multiple forwarding paths between satellites in the embodiment of the present invention;

[0091] Figure 3 is the flowchart of multi-forwarding routing calculation when L1 < L2 in the embodiment of the present invention;

[0092] Figure 4 is the flowchart of multi-forwarding routing calculation when L1 > L2 in the embodiment of the present invention;

[0093] Figure 5 is the flowchart of multi-forwarding routing calculation when L1 = L2 in the embodiment of the present invention. Detailed Embodiments

[0094] Hereinafter, exemplary embodiments of the present disclosure will be described in more detail with reference to the drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be fully conveyed to those skilled in the art.

[0095] The present invention proposes an inter-satellite shortest path multi-forwarding routing method for a low-earth orbit constellation network, which is described by embodiments. The embodiment scenario is: the low-earth orbit constellation configuration is a Walker-Delta constellation, the number of orbital planes is M, the number of satellites per orbit is N, and the phase factor is F.

[0096] The nth satellite in the mth orbital plane in the low-earth orbit constellation network is represented as (m, n). Let the source node among the two satellite nodes communicating in the low-earth orbit constellation network be (m1, n1), and the destination node be (m2, n2). At the same time, the following definitions are made:

[0097]

[0098] The mod operation is defined as:

[0099] mod(x,N)=xk·N,k·N<x≤(k+1)·N and k is an integer

[0100] The off-track connection between the 1st track surface and the Mth track surface is defined as M-1 connection.

[0101] Except for the first and last orbits, the inter-orbit links between adjacent orbits are established according to the links between satellites in the same orbital position, and the inter-orbit links between the first and last orbits are established according to (1,n) and (M,mod(nF,N)).

[0102] The present invention is used to perform inter-satellite shortest path multi-forwarding routing setting, and the specific steps include:

[0103] Step 1: Same track surface status judgment and route calculation

[0104] Compare m1 and m2, and divide them into the following two cases and handle them separately. For details, see Figure 1 .

[0105] 1. If m1=m2, calculate flag=(n1-n2-(N-n1-n2))*(n1-n2)

[0106] It can be divided into the following three situations:

[0107] 1) If flag>0, the number of routing table entries is 1, and the next hop node number is (m1,mod(n1+1,N)).

[0108] 2) If flag<0, the number of routing table entries is 1, and the next hop node number is (m1,mod(n1-1,N)).

[0109] 3) If flag = 0,

[0110] If n1=n2, the destination node is the source node itself;

[0111] If n1≠n2, the number of routing table entries is 2, and the next-hop node numbers are (m1,mod(n1+1,N)) and (m1,mod(n1-1,N)) respectively.

[0112] 2. If m1≠m2, go to step 2.

[0113] Step 2: Multipath hop count calculation

[0114] In the low-orbit constellation network, the routing path between any two satellite nodes can be divided into four cases, such as Figure 2 As shown, there are two cases for the path length, which are calculated as follows:

[0115] Without crossing the M-1 connection, the hop count of the path is:

[0116] L1 = min{m1 - m2 + n1 - n2, m1 - m2 + N - n1 - n2}

[0117] When crossing the M-1 connection, the hop count of the path is:

[0118] L2 = min{M - m1 - m2 + q2 - n1, M - m1 - m2 + N - q2 - n1}

[0119] Step 3: Multi-path status judgment

[0120] Compare L1 and L2, and the classification operations are as follows:

[0121] 1. If L1 < L2, go to Step 4.

[0122] 2. If L1 > L2, go to Step 5.

[0123] 3. If L1 = L2, go to Step 6.

[0124] Step 4: When L1 < L2, calculate the shortest path multi-forwarding routing

[0125] The processing flow is as Figure 3 shown. Compare n1 and n2, and it is divided into the following two cases:

[0126] 1. If n1 = n2, the number of routing table entries is 1.

[0127] If m1 < m2, the next-hop node number is (m1 + 1, n1); otherwise, the next-hop number is (m1 - 1, n1).

[0128] 2. If n1 ≠ n2,

[0129] Compare n1 - n2 and N - n1 - n2, and it is divided into the following two cases:

[0130] 1) n1 - n2 = N - n1 - n2, the number of routing table entries is 3.

[0131] If m1 < m2, the next-hop node numbers are (m1 + 1, n1), (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)); otherwise, the next-hop node numbers are (m1 - 1, n1), (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N));

[0132] 2) n1 - n2 ≠ N - n1 - n2, the number of routing table entries is 2.

[0133] If m1 < m2, the number of the next-hop node 1 is (m1 + 1, n1); otherwise, the number of the next-hop node 1 is (m1 - 1, n1).

[0134] If (n1 - n2 - (N - n1 - n2)) × (n1 - n2) > 0, the number of the next-hop node 2 is (m1, mod(n1 + 1, N)); otherwise, the number of the next-hop node 2 is (m1, mod(n1 - 1, N)).

[0135] Step Five: Shortest Path Multipath Routing Calculation When L1 > L2

[0136] The processing flow is as Figure 4 shown. Compare n1 and q2, and it is divided into the following two cases:

[0137] 1. If n1 = q2, the number of routing table entries is 1.

[0138] Compare m1 and m2, and the next-hop node is divided into the following two cases:

[0139] 1) If m1 < m2

[0140] If m1 = 1, the number of the next-hop node is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node is (m1 - 1, n1).

[0141] 2) If m1 > m2

[0142] If m1 = M, the number of the next-hop node is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node is (m1 + 1, n1).

[0143] 2. If n1 ≠ q2

[0144] Compare n1 - q2 and N - n1 - q2, and it is divided into the following two cases:

[0145] 1) n1 - q2 = N - n1 - q2, the number of routing table entries is 3. The numbers of the next-hop nodes 1 and 2 are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively.

[0146] Then compare m1 and m2, and the next-hop node 3 is divided into the following two cases:

[0147] If m1 < m2, then: If m1 = 1, the number of the next-hop node 3 is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node 3 is (m1 - 1, n1).

[0148] If m1 > m2, then: If m1 = M, the number of the next-hop node 3 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 3 is (m1 + 1, n1).

[0149] 2) n1 - q2 ≠ N - n1 - q2, and the number of routing tables is 2.

[0150] If (n1 - q2 - (N - n1 - q2)) × (n1 - q2) > 0, then the number of the next-hop node 1 is (m1, mod(n1 + 1, N)); otherwise, the number of the next-hop node 1 is (m1, mod(n1 - 1, N)).

[0151] Then compare m1 and m2, and the next-hop node 2 is divided into the following two cases:

[0152] If m1 < m2, then: if m1 = 1, the number of the next-hop node 2 is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node 2 is (m1 - 1, n1).

[0153] If m1 > m2, then: if m1 = M, the number of the next-hop node 2 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 2 is (m1 + 1, n1).

[0154] Step Six: Calculation of the shortest path multi-forwarding route when L1 = L2

[0155] The processing flow is as Figure 5 shown, and calculate the following four state parameters:

[0156] flag1 = |n1 - n2| - (N - |n1 - n2|)

[0157] flag2 = |n1 - q2| - (N - |n1 - q2|)

[0158] flag3 = n1 - n2

[0159] flag4 = n1 - q2

[0160] It is divided into the following three cases:

[0161] 1. flag1 = 0 or flag2 = 0 or flag1 × flag2 × flag3 × flag4 < 0

[0162] The number of routing table entries is 4. The numbers of the next-hop nodes 1 and 2 are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively.

[0163] According to the value of m1, the next-hop nodes 3 and 4 are divided into the following three cases:

[0164] 1) If m1 = 1, the numbers of the next-hop nodes 3 and 4 are (M, mod(n1 - F, N)) and (2, n1) respectively.

[0165] 2) If m1=M, the next-hop nodes 3 and 4 are numbered (M-1, n1) and (1, mod (n1+F, N)) respectively.

[0166] 3) If m1≠1 and m1≠M, the next-hop nodes 3 and 4 are numbered (m1-1,n1) and (m1+1,n1) respectively.

[0167] 2. flag1×flag2×flag3×flag4>0

[0168] The number of routing table entries is 3.

[0169] Based on the value of m1, next hop nodes 1 and 2 are divided into the following three situations:

[0170] 1) If m1=1, the next hop nodes 1 and 2 are numbered (M, mod (n1-F, N)) and (2, n1) respectively.

[0171] 2) If m1=M, the next hop nodes 1 and 2 are numbered (M-1, n1) and (1, mod (n1+F, N)) respectively.

[0172] 3) If m1≠1 and m1≠M, the next-hop nodes 1 and 2 are numbered (m1-1, n1) and (m1+1, n1) respectively.

[0173] If flag1×flag3>0, the next hop node 3 is (m1,mod(n1+1,N)), otherwise the next hop node 3 is (m1,mod(n1-1,N)).

[0174] 3. flag3×flag4=0

[0175] There are three situations:

[0176] 1) If flag3=0 and flag4=0, the number of routing table entries is 2, and the next hop node numbers are (mod(m1+1,M),n1) and (mod(m1-1,M),n1) respectively.

[0177] 2) If flag3=0 and flag4≠0, according to the value of m1, the next hop nodes 1 and 2 are divided into the following three cases:

[0178] If m1=1, the next hop nodes 1 and 2 are numbered (M, mod (n1-F, N)) and (2, n1) respectively;

[0179] If m1=M, the next hop nodes 1 and 2 are numbered (M-1,n1) and (1,mod(n1+F,N)) respectively;

[0180] If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively.

[0181] Then compare m1 and m2, which are divided into the following two cases: If m1 < m2, the number of the next-hop node 3 is (m1, mod(n1 + 1, N)); if m1 > m2, the number of the next-hop node 3 is (m1, mod(n1 - 1, N)).

[0182] 3) If flag3 ≠ 0 and flag4 = 0, according to the value of m1, it is divided into the following three cases:

[0183] If m1 = 1, the numbers of the next-hop nodes 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively;

[0184] If m1 = M, the numbers of the next-hop nodes 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively;

[0185] If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively.

[0186] Then compare m1 and m2, which are divided into the following two cases: If m1 < m2, the number of the next-hop node 3 is (m1, mod(n1 - 1, N)); if m1 > m2, the number of the next-hop node 3 is (m1, mod(n1 + 1, N)).

[0187] The above-described embodiments are only relatively preferred specific embodiments of the present invention, and the usual changes and substitutions made by those skilled in the art within the scope of the technical solution of the present invention should be included in the protection scope of the present invention.

Claims

1. A shortest path multi-forwarding routing method for inter-satellite networks in a low-orbit constellation network, characterized in that: include: S1: Determine whether the source node and the destination node in the low-orbit constellation are in the same orbital plane. If so, determine the next-hop node position based on the above two node positions; if not, execute S2; S2: Calculate the number of path hops between the source node and the destination node when the first orbital plane and the Mth orbital plane are not connected across different orbits, and when the first orbital plane and the Mth orbital plane are connected across different orbits, respectively, and record them as the path hop number L1 and the path hop number L2; where M is the number of LEO constellation orbital planes; S3: Calculate the shortest path multi-forwarding routes respectively according to the relationship between the path hop count L1 and the path hop count L2.

2. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 1, characterized in that: In step S1, if the source node and the destination node in the low-orbit constellation are in the same orbital plane, the next-hop node position is determined according to the above two node positions. The specific method is as follows: calculate: flag=(|n1-n2|-(N-|n1-n2|))*(n1-n2) In the formula, the source node is (m1,n1) and the destination node is (m1,n2), which represent the n1th and n2th satellites in the m1th orbital plane respectively, and N is the number of satellites in each orbit; Determine the next hop node location based on the flag parameter: 1) If flag>0, the number of routing table entries is 1, and the next hop node number is (m1,mod(n1+1,N)); where the mod operation is defined as: mod(x,N)=xk·N,k·N<x≤(k+1)·N and k is an integer 2) If flag < 0, the number of routing table entries is 1, and the next hop node number is (m1, mod (n1-1, N)); 3) If flag = 0, further determine: If n1=n2, the destination node is the source node itself; If n1≠n2, the number of routing table entries is 2, and the next-hop node numbers are (m1,mod(n1+1,N)) and (m1,mod(n1-1,N)) respectively.

3. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 1, characterized in that: In step S2, the number of path hops L1 between the source node and the destination node without crossing the different track connection between the first track plane and the Mth track plane is calculated: L1=min{m1-m2|+|n1-n2|,|m1-m2|+N-|n1-n2|} Where, the source node is (m1, n1) and the destination node is (m2, n2), which represent the n1th satellite in the m1th orbital plane and the n2th satellite in the m2th orbital plane, respectively. N is the number of satellites in each orbit. Calculate the number of path hops L2 between the source node and the destination node in the case of cross-track connection between the first track plane and the Mth track plane: L2=min{M-|m1-m2|+|q2-n1|,M-|m1-m2|+N-|q2-n1|} Where, the source node is (m1, n1), the destination node is (m2, n2), N is the number of satellites per orbit, F is the phase factor, and the mod operation is defined as: mod(x,N)=xk·N, k·N<x≤(k+1)·N and k is an integer.

4. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 1, characterized in that: In step S3, if the path hop count L1 is less than the path hop count L2, the shortest path multi-forwarding route is calculated, and the calculation method is: According to the source node position (m1, n1) and the destination node position (m2, n2), the following calculation is performed: If n1 = n2, the number of routing table entries is 1. Then compare m1 and m2: If m1 < m2, the next-hop node number is (m1 + 1, n1); otherwise, the next-hop number is (m1 - 1, n1). If n1 ≠ n2, compare |n1 - n2| and N - |n1 - n2|, which can be divided into the following two cases: If |n1 - n2| = N - |n1 - n2|, the number of routing table entries is 3; compare m1 and m2: If m1 < m2, the next three-hop node numbers are (m1 + 1, n1), (m1, mod(n1 + 1, N)), and (m1, mod(n1 - 1, N)) in sequence; otherwise, the next three-hop node numbers are (m1 - 1, n1), (m1, mod(n1 + 1, N)), and (m1, mod(n1 - 1, N)) in sequence; where the mod operation is defined as: mod(x, N) = x - k·N, k·N < x ≤ (k + 1)·N and k is an integer; If |n1 - n2| ≠ N - |n1 - n2|, the number of routing table entries is 2; compare m1 and m2: If m1 < m2, the number of the first next-hop node is (m1 + 1, n1); otherwise, the number of the first next-hop node is (m1 - 1, n1); then judge (|n1 - n2| - (N - |n1 - n2|)) × (n1 - n2). If (|n1 - n2| - (N - |n1 - n2|)) × (n1 - n2) > 0, the number of the second next-hop node is (m1, mod(n1 + 1, N)), otherwise, the number of the second next-hop node is (m1, mod(n1 - 1, N)).

5. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 3, characterized in that: In step S3, if the path hop count L1 is greater than the path hop count L2 and n1 = q2, calculate the shortest path multi-forwarding route: The number of routing table entries is 1. Compare m1 and m2. The next-hop node is divided into the following two cases: 1) If m1 < m2, judge the value of m1: If m1 = 1, the next-hop node number is (M, mod(n1 - F, N)); otherwise, the next-hop node number is (m1 - 1, n1); 2) If m1 > m2, judge the value of m1: If m1 = M, the next-hop node number is (1, mod(n1 + F, N)); otherwise, the next-hop node number is (m1 + 1, n1).

6. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 3, characterized in that: In step S3, if the path hop count L1 is greater than the path hop count L2 and n1 ≠ q2, calculate the shortest path multi-forwarding route: Compare |n1 - q2| and N - |n1 - q2|, which can be divided into the following two cases: 1) |n1 - q2| = N - |n1 - q2|, the number of routing table entries is 3; where the numbers of the first and second next-hop nodes are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively; Then compare m1 and m2. The third next-hop node is divided into the following two cases: If m1 < m2, judge the value of m1: If m1 = 1, the number of the third next-hop node is (M, mod(n1 - F, N)); otherwise, the number of the third next-hop node is (m1 - 1, n1); If m1 > m2, determine the value of m1: If m1 = M, then the number of the next-hop node 3 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 3 is (m1 + 1, n1); 2) |n1 - q2| ≠ N - |n1 - q2|, and the number of routing tables is 2; If (|n1 - q2| - (N - |n1 - q2|)) × (n1 - q2) > 0, then the number of the next-hop node 1 is (m1, mod(n1 + 1, N)); otherwise, the number of the next-hop node 1 is (m1, mod(n1 - 1, N)); Then compare m1 and m2. The next-hop node 2 is divided into the following two cases: If m1 < m2, determine the value of m1: If m1 = 1, then the number of the next-hop node 2 is (M, mod(n1 - F, N)); otherwise, the number of the next-hop node 2 is (m1 - 1, n1); If m1 > m2, determine the value of m1: If m1 = M, then the number of the next-hop node 2 is (1, mod(n1 + F, N)); otherwise, the number of the next-hop node 2 is (m1 + 1, n1).

7. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 3, characterized in that: In step S3, if the path hop count L1 is equal to the path hop count L2, calculate the shortest path multi-forwarding route: Calculate four state parameters: flag1 = |n1 - n2| - (N - |n1 - n2|) flag2 = |n1 - q2| - (N - |n1 - q2|) flag3 = n1 - n2 flag4 = n1 - q2 According to the numerical relationship of the above state parameters, calculate the shortest path multi-forwarding route.

8. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 7, characterized in that: According to the state parameter values, if flag1 = 0 or flag2 = 0 or flag1 × flag2 × flag3 × flag4 < 0 is satisfied, the number of routing table entries is 4; The numbers of the next-hop nodes 1 and 2 are (m1, mod(n1 + 1, N)) and (m1, mod(n1 - 1, N)) respectively; According to the value of m1, the next-hop nodes 3 and 4 are divided into the following three cases: 1) If m1 = 1, the numbers of the next-hop nodes 3 and 4 are (M, mod(n1 - F, N)) and (2, n1) respectively; 2) If m1 = M, the numbers of the next-hop nodes 3 and 4 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively; 3) If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 3 and 4 are (m1 - 1, n1) and (m1 + 1, n1) respectively.

9. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 7, characterized in that: According to the state parameter values, if flag1 × flag2 × flag3 × flag4 > 0 is satisfied, the number of routing table entries is 3; According to the value of m1, the next-hop nodes 1 and 2 are divided into the following three cases: 1) If m1 = 1, the numbers of the next-hop nodes 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively; 2) If m1 = M, the numbers of the next-hop nodes 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively; 3) If m1 ≠ 1 and m1 ≠ M, the numbers of the next-hop nodes 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively; Then judge the value of flag1 × flag3. If flag1 × flag3 > 0, the next-hop node 3 is (m1, mod(n1 + 1, N)); otherwise, the next-hop node 3 is (m1, mod(n1 - 1, N)).

10. The inter-satellite shortest path multi-forwarding routing method of the low-orbit constellation network according to claim 7, characterized in that: According to the state parameter values, if flag3 × flag4 = 0 is satisfied, then according to flag3 and flag4, it is divided into the following three cases: 1) If flag3 = 0 and flag4 = 0, the number of routing table entries is 2, and the next-hop node numbers are (mod(m1 + 1, M), n1) and (mod(m1 - 1, M), n1) respectively; 2) If flag3 = 0 and flag4 ≠ 0, the number of routing table entries is 3; according to the value of m1, the next-hop nodes 1 and 2 are divided into the following three cases: If m1 = 1, the next-hop node numbers 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively; If m1 = M, the next-hop node numbers 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively; If m1 ≠ 1 and m1 ≠ M, the next-hop node numbers 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively; Then compare m1 and m2, and it is divided into the following two cases: If m1 < m2, the next-hop node 3 number is (m1, mod(n1 + 1, N)); if m1 > m2, the next-hop node 3 number is (m1, mod(n1 - 1, N)); 3) If flag3 ≠ 0 and flag4 = 0, the number of routing table entries is 3; according to the value of m1, it is divided into the following three cases: If m1 = 1, the next-hop node numbers 1 and 2 are (M, mod(n1 - F, N)) and (2, n1) respectively; If m1 = M, the next-hop node numbers 1 and 2 are (M - 1, n1) and (1, mod(n1 + F, N)) respectively; If m1 ≠ 1 and m1 ≠ M, the next-hop node numbers 1 and 2 are (m1 - 1, n1) and (m1 + 1, n1) respectively; Then compare m1 and m2, and it is divided into the following two cases: If m1 < m2, the next-hop node 3 number is (m1, mod(n1 - 1, N)); if m1 > m2, the next-hop node 3 number is (m1, mod(n1 + 1, N)).