Data forwarding method and apparatus for avoiding satellite network routing loops

By selecting the long-side path of the region with the minimum hop count and employing a segmented routing strategy in the satellite network, the routing loop problem caused by topology changes in the satellite network is solved, achieving the effect of reducing overhead and processing burden without increasing redundant paths.

CN119966884BActive Publication Date: 2025-11-18BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510030707.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-08
Publication Date
2025-11-18
Estimated Expiration
2045-01-08

AI Technical Summary

Technical Problem

In satellite networks, frequent topology changes can lead to routing loops. Existing technologies, while avoiding loops, suffer from redundant paths and increased communication overhead.

Method used

By determining whether the minimum hop count region of multiple equivalent shortest paths in the satellite network contains the long side, the long side is selected as the target routing path. In the event of a link failure, segmented routing paths are used to avoid loops, and packet forwarding is performed using segmented routing label stacks and virtual port mapping tables.

Benefits of technology

It effectively avoids remote and near-end routing loops, reduces packet header overhead and redundant paths, lowers the onboard processing burden, and eliminates the impact of communication interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119966884B_ABST
    Figure CN119966884B_ABST
Patent Text Reader

Abstract

The application provides a data forwarding method and device for avoiding satellite network routing loop, the method comprising: if it is determined that there are multiple equivalent shortest paths between a source node and a destination node in a satellite network, judging whether a long side composed of multiple inter-satellite links is contained in a minimum hop number area formed by the two nodes, if yes, in the long side and a short side composed of only one inter-satellite link in the minimum hop number area respectively starting from the source node, selecting the equivalent shortest path corresponding to the long side as a target routing path, and forwarding a target data packet to the destination node based on the path, so as to avoid the generation of a routing loop between the source node and other satellites in the minimum hop number area when an inter-satellite link fault occurs between the other satellites in the minimum hop number area except the source node. The application can avoid the routing loop without increasing the redundant path, can reduce the data packet header overhead and the redundant path, and can eliminate the influence of the communication interruption caused by the loop.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite network data processing technology, and in particular to a data forwarding method and apparatus for avoiding routing loops in satellite networks. Background Technology

[0002] Satellite networks, as a powerful supplement to terrestrial networks, can effectively narrow the digital divide between different regions, expand network coverage, and provide more services. They are widely used in remote areas and emergency rescue scenarios, providing reliable communication guarantees. In recent years, with the rapid development of low-Earth orbit satellite technology, the application areas of satellite networks have continued to expand, playing an increasingly important role in fields such as industrial IoT, agricultural automation, and offshore drilling platforms, providing new possibilities for large-scale IoT communication services. Frequent topology changes are a significant characteristic of satellite networks. These changes include natural periodic topology changes caused by satellite movement, as well as unpredictable topology changes caused by inter-satellite link failures. When distributed routing is used between satellites, periodic and unpredictable topology changes lead to frequent topology shifts, resulting in frequent route convergence. Route convergence relies on the flooding of link state information, and the existence of flooding delays can cause inconsistencies in on-satellite topology information within a short period, leading to routing loops.

[0003] Two mechanisms are typically used to handle satellite routing loops. One mechanism actively prevents micro-loops, ensuring that packets are not sent back to their originating satellite. The other mechanism sets a TTL field in the packet header to discard packets that have been forwarded multiple times. However, these mechanisms have some problems. The first method introduces varying degrees of overhead, such as header overhead or link-state information packet overhead. The TTL field in the second method is a mechanism to mitigate the impact of loops, rather than preventing them from occurring.

[0004] Currently, many studies have contributed to addressing communication interruptions caused by satellite routing loops and further improving the stability of inter-satellite distributed routing. One existing approach avoids loops by recording all or part of the data packet traversal path in the packet header after a link failure. While this approach reduces loop occurrences to some extent, the entire forwarding path becomes lengthy as data packets are continuously forwarded, and the communication overhead in the packet header increases. Therefore, this approach is generally characterized by lengthy data packet paths and introduces additional packet header overhead. Another approach reduces the length of the data packet forwarding path by planning the optimal detour point after a failure, but this comes at the cost of requiring additional onboard calculations and maintenance of detour tables, increasing the onboard processing burden. Summary of the Invention

[0005] In view of this, embodiments of this application provide a data forwarding method and apparatus for avoiding satellite network routing loops, so as to eliminate or improve one or more defects existing in the prior art.

[0006] One aspect of this application provides a data forwarding method for avoiding routing loops in satellite networks, comprising:

[0007] If it is determined that the satellite where it is currently located, which is the source node of the target data packet to be forwarded, has multiple equivalent shortest paths with the satellite currently being the destination node of the target data packet in the satellite network, then it is determined whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links. If so, it is determined that the source node is currently the target of the remote routing loop avoidance policy.

[0008] In the minimum hop count region, among the long side starting from the source node and the short side consisting of only one inter-satellite link, the equivalent shortest path corresponding to the long side is selected as the target routing path between the source node and the destination node. The target data packet is forwarded to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

[0009] In some embodiments of this application, the data forwarding method for avoiding satellite network routing loops further includes:

[0010] If it is determined that the minimum hop count region formed by the source node and the destination node does not contain the long side, then the source node is determined to be the target of the near-end routing loop avoidance policy.

[0011] If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

[0012] In some embodiments of this application, the data forwarding method for avoiding satellite network routing loops further includes:

[0013] If it is determined that the satellite it is currently on is the source node of the target data packet to be forwarded, and there is only one shortest path between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network, then it is determined whether the shortest path contains only one inter-satellite link. If so, then it is determined that the source node is currently the target of the near-end routing loop avoidance policy.

[0014] If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

[0015] In some embodiments of this application, the data forwarding method for avoiding satellite network routing loops further includes:

[0016] If it is determined that the shortest path contains multiple inter-satellite links, the target data packet is forwarded to the next-hop satellite specified by the shortest path.

[0017] In some embodiments of this application, forwarding the target data packet to the destination node based on a preset segmented routing path includes:

[0018] A segmented routing label stack indicating the segmented routing path is added to the header of the target data packet to obtain the corresponding labeled data packet;

[0019] A preset virtual port is assigned to the marked data packet, and the backup physical port corresponding to the virtual port is determined from the preset virtual and physical port mapping table;

[0020] Based on the backup physical port, the tagged data packet is forwarded to the first satellite specified by the segmented routing path, so that the satellite currently acts as an intermediate node, and the tagged data packet is forwarded to the next-hop satellite specified by the segmented routing path according to the segmented routing label stack in the tagged data packet.

[0021] In some embodiments of this application, if the last hop satellite specified by the segmented routing path is the destination node, then the destination node performs service processing on the marked data packet after receiving the marked data packet.

[0022] In some embodiments of this application, if the last-hop satellite specified by the segmented routing path is not the destination node, then after receiving the tagged data packet, the last-hop satellite deletes the segmented routing label stack in the header of the tagged data packet to obtain the corresponding target data packet, and then forwards the target data packet to the destination node based on the preset basic routing rules.

[0023] Another aspect of this application provides a data forwarding apparatus for avoiding routing loops in a satellite network, comprising:

[0024] The object type determination module is used to determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links if it is determined that the satellite where it is located, which is currently the source node of the target data packet to be forwarded, has multiple equivalent shortest paths with the satellite currently the destination node of the target data packet in the satellite network. If so, the source node is determined to be the target of the remote routing loop avoidance policy.

[0025] The remote policy execution module is used to select the equivalent shortest path corresponding to the long side starting from the source node and the short side consisting of only one inter-satellite link in the minimum hop count region as the target routing path between the source node and the destination node, and forward the target data packet to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

[0026] A third aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor, when executing the computer program, implements the data forwarding method for avoiding satellite network routing loops.

[0027] A fourth aspect of this application provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the data forwarding method for avoiding routing loops in a satellite network.

[0028] A fifth aspect of this application provides a computer program product including a computer program that, when executed by a processor, implements the data forwarding method for avoiding routing loops in a satellite network.

[0029] The data forwarding method for avoiding satellite network routing loops provided in this application determines that if the satellite currently acting as the source node of the target data packet to be forwarded has multiple equivalent shortest paths with the satellite currently acting as the destination node of the target data packet in the satellite network, then it determines whether the minimum hop count region formed by the source node and the destination node contains a long edge composed of multiple inter-satellite links. If so, it determines that the source node is currently the target of the remote routing loop avoidance strategy. Among the long edges starting from the source node and the short edges composed of only one inter-satellite link in the minimum hop count region, the equivalent shortest path corresponding to the long edge is selected as the path between the source node and the destination node. The target routing path is determined, and the target data packet is forwarded to the destination node based on the target routing path. This avoids routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failures occur between satellites other than the source node in the minimum hop count region. It can effectively avoid remote routing loops without increasing redundant paths. It proposes a simple and effective minimum hop count region long-side selection strategy from the perspective of selecting multiple equivalent shortest paths. It can guarantee the optimal routing path without additional computation and interaction overhead, thereby reducing data packet header overhead and redundant paths, reducing the on-board processing burden, and eliminating the impact of communication interruptions caused by loops.

[0030] Additional advantages, objectives, and features of this application will be set forth in part in the description which follows, and will in part become apparent to those skilled in the art upon review of the following description, or may be learned by practice of the application. The objectives and other advantages of this application can be realized and obtained by means of the structures specifically pointed out in the specification and drawings.

[0031] Those skilled in the art will understand that the purposes and advantages that can be achieved with this application are not limited to those specifically described above, and that the above and other purposes that this application can achieve will be more clearly understood from the following detailed description. Attached Figure Description

[0032] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, do not constitute a limitation thereof. The components in the drawings are not drawn to scale but are merely for illustrating the principles of this application. For ease of illustration and description of certain parts of this application, corresponding portions in the drawings may be enlarged, i.e., may appear larger relative to other components in an exemplary device actually manufactured according to this application. In the drawings:

[0033] Figure 1 This is a schematic diagram of a first process of a data forwarding method for avoiding routing loops in a satellite network according to an embodiment of this application.

[0034] Figure 2 This is a schematic diagram of the minimum hop count region in a satellite network exemplified in this application.

[0035] Figure 3 This is an example of a satellite network constellation topology in this application.

[0036] Figure 4 This is a schematic diagram of a remote routing loop scenario corresponding to a cross-rail link failure, as illustrated in one example of this application.

[0037] Figure 5 This is a schematic diagram of a remote routing loop scenario corresponding to a co-track link failure, as illustrated in one example of this application.

[0038] Figure 6 This is a schematic diagram of a remote loop avoidance strategy as exemplified in this application.

[0039] Figure 7 This is a schematic diagram of a second process for a data forwarding method to avoid routing loops in a satellite network, according to an embodiment of this application.

[0040] Figure 8 This is a flowchart illustrating step 300 of a data forwarding method for avoiding satellite network routing loops in one embodiment of this application.

[0041] Figure 9 This is a schematic diagram of a near-end routing loop scenario corresponding to a cross-track link failure, as illustrated in one example of this application.

[0042] Figure 10 This is a schematic diagram of a near-end routing loop scenario corresponding to a failure of a co-track link in one example of this application.

[0043] Figure 11 This is a schematic diagram of a near-end loop avoidance strategy as exemplified in this application.

[0044] Figure 12 This is a schematic diagram of the near-end routing loop avoidance strategy process in one example of this application.

[0045] Figure 13 A schematic diagram of the global loop avoidance process provided for the application example of this application.

[0046] Figure 14 This is a schematic diagram of the structure of a data forwarding device for avoiding satellite network routing loops in one embodiment of this application.

[0047] Figure 15 This is a schematic diagram of the structure of the onboard control surface in one example of this application. Detailed Implementation

[0048] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the embodiments and accompanying drawings. Here, the illustrative embodiments and their descriptions are used to explain this application, but are not intended to limit it.

[0049] It should also be noted that, in order to avoid obscuring this application with unnecessary details, only the structures and / or processing steps closely related to the solution according to this application are shown in the accompanying drawings, while other details that are not closely related to this application are omitted.

[0050] It should be emphasized that the term "including / comprises" as used herein refers to the presence of a feature, element, step, or component, but does not exclude the presence or addition of one or more other features, elements, steps, or components.

[0051] It should also be noted that, unless otherwise specified, the term "connection" in this article can refer not only to a direct connection, but also to an indirect connection involving an intermediary.

[0052] In the following description, embodiments of the present application will be illustrated with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar parts, or the same or similar steps.

[0053] To address the problems of the two existing mechanisms for handling satellite routing loops, some scholars have proposed a loop avoidance mechanism and its routing protocol. Each node traversed by a data packet is recorded in the packet header. Once a satellite node receives a data packet, it checks the packet header to see if a candidate next hop has already been traversed. If so, it selects another next hop. If both candidate next hops appear in the packet header, the satellite finds the first position where its own ID appears and forwards the packet to the node preceding that position. However, this mechanism introduces additional communication overhead, as each data packet must record every node it traversed in the packet header. This overhead is particularly significant when link failures are sparse and loops are unlikely even without recording the satellite ID. To reduce the overhead of recording each node in the packet header, some scholars have proposed a loop avoidance mechanism that records only some traversed nodes. The main idea is to reduce signaling overhead by utilizing the regularity of network topology to determine multiple paths and fault recovery mechanisms.

[0054] The above research focuses on packet traversal paths, emphasizing satellite IDs and other information within these paths to achieve loop avoidance. However, this also introduces additional packet header overhead. Another approach to loop avoidance involves rationally planning rerouting paths after failures. One study proposed a Disruption-Tolerant Distributed Routing (DTDR) algorithm. When network topology changes, satellites calculate alternative paths for transmission, improving packet loss performance caused by loops. Specifically, each satellite maintains inter-satellite link information within a specified number of hops. When the inter-satellite link status changes within this specified number of hops, the corresponding satellite calculates and switches to a rerouting path. Other research introduces fast rerouting and selective flooding in distributed routing to avoid routing loops. The rerouting algorithm uses only the primary and secondary candidate hops from the proposed distributed hop-by-hop routing scheme. To avoid loops, if a packet returns to its previous transmission path, it uses a fast rerouting route to reach its original destination. Selective flooding only sends link failure information to specific rerouting points, reducing communication overhead. This mechanism helps find the optimal rerouting point, ensuring the rerouting path has the minimum number of hops and latency. Fast detour routing and selective flooding use detour and flooding packets to generate and update detour tables, increasing the onboard processing burden, as the onboard system needs to maintain a detour table for each destination satellite node.

[0055] Based on this, in order to address the problem of increasing redundant paths and communication overhead in the existing satellite network routing loop avoidance mechanism used in inter-satellite data forwarding, embodiments of this application provide a data forwarding method for avoiding satellite network routing loops, a data forwarding device for avoiding satellite network routing loops, a physical device, a computer-readable storage medium, and a computer program product for executing the data forwarding method for avoiding satellite network routing loops. These methods can effectively avoid routing loops without increasing redundant paths, reduce data packet header overhead and redundant paths, and eliminate the impact of communication interruptions caused by loops.

[0056] The following examples will provide a detailed description.

[0057] Based on this, embodiments of this application provide a data forwarding method for avoiding satellite network routing loops, which can be implemented by a data forwarding device for avoiding satellite network routing loops. See [link to relevant documentation]. Figure 1 The data forwarding method for avoiding satellite network routing loops specifically includes the following:

[0058] Step 100: If it is determined that the satellite currently acting as the source node of the target data packet to be forwarded has multiple equivalent shortest paths with the satellite currently acting as the destination node of the target data packet in the satellite network, then determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links. If so, then determine that the source node is currently the target of the remote routing loop avoidance policy.

[0059] In one or more embodiments of this application, the data forwarding device for avoiding satellite network routing loops is located locally on the satellite. The data forwarding device for avoiding satellite network routing loops first determines whether the satellite it is located on is the source node corresponding to the target data packet to be forwarded. If not, the data forwarding device for avoiding satellite network routing loops forwards the data packet using on-board basic routing, that is, forwards the target data packet to the next-hop satellite specified by the shortest path between the local satellite and the satellite currently serving as the destination node of the target data packet. If yes, the data forwarding device for avoiding satellite network routing loops further determines whether there are multiple equivalent shortest paths between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network.

[0060] It is understood that if the data forwarding device for avoiding satellite network routing loops determines that there is only one shortest path between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network, it further determines whether the shortest path contains only one inter-satellite link. If not, the data forwarding device for avoiding satellite network routing loops will forward the data packet using on-board basic routing, that is, forward the target data packet to the next-hop satellite specified by the shortest path between the local satellite and the satellite currently serving as the destination node of the target data packet.

[0061] In addition, the data forwarding device for avoiding satellite network routing loops determines whether the source node has multiple equivalent shortest paths with the satellite currently serving as the destination node of the target data packet in the satellite network, and then determines whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links.

[0062] In one or more embodiments of this application, the remote routing loop avoidance policy execution target refers to the satellite to which the remote routing loop avoidance policy is currently to be executed. The execution process of the remote routing loop avoidance policy is as follows: step 200.

[0063] Step 200: In the minimum hop count region, select the equivalent shortest path corresponding to the long side starting from the source node and the short side consisting of only one inter-satellite link as the target routing path between the source node and the destination node, and forward the target data packet to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

[0064] Specifically, local routing loops can occur at both the near end (closer to the link failure) and the far end (farther from the link failure), see [link / reference]. Figure 2 Defining the location of near- and far-end loops requires the use of the Minimum Hop Region (MHR). An MHR is defined as a set of paths with the minimum hop count between the source node (src) and the destination node (dst). If the MHR between the source and destination is a square with a side length of one inter-satellite link, then this location is called a near-end location; otherwise, it is called a far-end location. The reason for defining loop occurrence locations is that the loop avoidance strategies for near- and far-end locations differ. Figure 3 In the constellation topology example shown, inter-satellite links are divided into intra-orbit links and inter-orbit links. S11 to Snm are all different satellites, i.e., nodes in the satellite network, where n and m are both positive integers greater than 4. Therefore, this application analyzes loop avoidance strategies after link failures occur from the perspectives of intra-orbit link failures and inter-orbit link failures.

[0065] Based on the on-board link state routing protocol, after a satellite node detects an inter-satellite link failure, it will flood the entire network with link state update messages. After receiving the message, the other satellite nodes will update their own maintained link state database, recalculate the shortest path and send out the route. After all the satellite nodes in the constellation have received the message, the link state of the entire satellite network will remain consistent.

[0066] The above describes one convergence process of satellite network routing after an inter-satellite link failure. However, due to the transmission delay of link state update messages (i.e., flooding delay), other satellite nodes will receive the link state update message at different times. In other words, during the period from the start of link state message flooding until all satellite nodes have received the message, the satellite network will experience inconsistencies in link state information among some satellite nodes. This will cause satellite nodes that have received the link state information to issue updated routes, while nodes that have not received it will still forward data packets according to the original routes, ultimately causing local routing loops.

[0067] In a single-track link failure scenario, loops may occur in the east and west tracks closest to the track containing the link. In a single cross-track link failure scenario, loops may occur in the north and south layers closest to the layer containing the link. This is because the source node's calculated shortest path to the destination node is most likely in the MHR (Middle-Highest Path) state, meaning the shortest path converges towards the destination node rather than diverges outwards. Therefore, only the east and west tracks closest to the track containing the link will experience overlapping shortest paths. For the far-end routing loop scenario corresponding to a cross-track link failure, please refer to [link to relevant documentation]. Figure 4 For remote routing loop scenarios corresponding to same-track link failures, please refer to [link to relevant documentation]. Figure 5 .

[0068] This application designs a loop avoidance strategy based on MHR (Mean Harmony Rate) for remote routing loops. The specific causes of remote routing loops are analyzed below:

[0069] by Figure 5 Let's take an example to explain the scenario where a failure of an inter-satellite co-orbit link causes a remote routing loop. The source nodes are S34 and S44, and the destination node is S31. The original path from S34 to S31 is {S34, S33, S32, S31}, and the original path from S44 to S31 is {S44, S34, S33, S32, S31}. After the failure of the S31-S32 inter-satellite co-orbit link, S31 and S32 will flood link status update messages to the entire network.

[0070] After receiving the message, S34 will recalculate the shortest path and distribute the route. S34 may forward the data packet through S44, meaning the new path from S34 to S31 will be {S34, S44, S43, S42, S41, S31}. If S44 does not receive the message at this time and continues to forward the data packet according to the original route, a routing loop will occur between S34 and S44.

[0071] Inconsistent network topology caused by flooding delays in link-state update messages is the root cause of remote routing loops. While flooding delays are unavoidable in link-state routing protocols, loops can be avoided through other means.

[0072] This application designs a strategy to avoid remote routing loops from the perspective of selecting multiple equivalent shortest paths. See [link to relevant documentation]. Figure 6 If a remote node chooses the shorter side of the MHR from multiple equivalent shortest paths, it is highly likely that the shortest path will include nodes on the same track or in the same layer as the faulty link. The recalculated shortest paths of these nodes are likely to include the remote node, thus causing a remote routing loop. Therefore, in this application, the remote node chooses the longer side of the MHR from multiple equivalent shortest paths when issuing routes, which can effectively solve the remote routing loop problem.

[0073] It is important to emphasize that after a link failure occurs, during the flooding of link failure information in the network, different nodes are flooded at different times, and the link states of adjacent nodes are inconsistent, leading to inconsistent topologies for calculating the shortest path. This can potentially cause local micro-loops to form between adjacent nodes calculating routes for the same destination. The general approach for those skilled in the art is to accelerate the spread of flooded information to speed up convergence, thereby mitigating the problem of local micro-loops. The designers of this application have adopted a novel technical approach. Based on the aforementioned research and analysis, and considering the characteristics of the topology and the inherent features of the flooding sequence, the approach prioritizes the path corresponding to the longer side within the region with the smallest hop count during path calculation. This objectively avoids the occurrence of micro-loops.

[0074] As can be seen from the above description, the data forwarding method for avoiding satellite network routing loops provided in this application embodiment effectively avoids remote routing loops without increasing redundant paths. It proposes a simple and effective minimum hop count region long-side selection strategy from the perspective of selecting multiple equivalent shortest paths. This can ensure the optimal routing path without additional computation and interaction overhead, thereby reducing data packet header overhead and redundant paths, reducing the onboard processing burden, and eliminating the impact of communication interruptions caused by loops.

[0075] To further improve the effectiveness and reliability of data forwarding for avoiding near-end routing loops in satellite networks, a data forwarding method for avoiding satellite network routing loops is provided in an embodiment of this application, see [link to relevant documentation]. Figure 7 Step 100 of the data forwarding method for avoiding satellite network routing loops specifically includes the following:

[0076] Step 110: If it is determined that the satellite where the current source node of the target data packet is located has multiple equivalent shortest paths with the satellite currently serving as the destination node of the target data packet in the satellite network, then determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links.

[0077] If yes, proceed to step 120; otherwise, proceed to step 130.

[0078] Step 120: Determine that the source node is currently the target of the remote routing loop avoidance policy, and then execute step 200.

[0079] Step 130: Determine that the source node is currently the target of the near-end routing loop avoidance policy, and then execute step 300.

[0080] Correspondingly, see Figure 7 The data forwarding method for avoiding satellite network routing loops also specifically includes the following:

[0081] Step 300: If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

[0082] To further improve the comprehensiveness and reliability of data forwarding for avoiding near-end and far-end routing loops in satellite networks, a data forwarding method for avoiding satellite network routing loops is provided in an embodiment of this application, see [link to relevant documentation]. Figure 7 The data forwarding method for avoiding satellite network routing loops also specifically includes the following:

[0083] Step 410: If it is determined that the satellite in which it is located is currently the source node of the target data packet to be forwarded, and there is only one shortest path between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network, then determine whether the shortest path contains only one inter-satellite link.

[0084] If yes, proceed to step 130; if no, i.e., the shortest path contains multiple inter-satellite links, proceed to step 420.

[0085] Step 420: Forward the target data packet to the next-hop satellite specified by the shortest path.

[0086] To further improve the effectiveness and reliability of forwarding target data packets to the destination node based on a preset segmented routing path, this application provides a data forwarding method for avoiding satellite network routing loops, see [link to relevant documentation]. Figure 8 Step 300 of the data forwarding method for avoiding satellite network routing loops specifically includes the following:

[0087] Step 310: Add a segmented routing label stack to the header of the target data packet to indicate the segmented routing path, so as to obtain the corresponding labeled data packet;

[0088] Step 320: Assign a preset virtual port to the marked data packet, and determine the backup physical port corresponding to the virtual port from the preset virtual and physical port mapping table;

[0089] Step 330: Based on the backup physical port, forward the tagged data packet to the first satellite specified by the segmented routing path, so that the satellite is currently an intermediate node, and forward the tagged data packet to the next-hop satellite specified by the segmented routing path according to the segmented routing label stack in the tagged data packet.

[0090] If the last hop satellite specified in the segmented routing path is the destination node, then the destination node performs service processing on the marked data packet after receiving it.

[0091] Furthermore, if the last-hop satellite specified by the segmented routing path is not the destination node, then after receiving the tagged data packet, the last-hop satellite will delete the segmented routing label stack in the header of the tagged data packet to obtain the corresponding target data packet, and then forward the target data packet to the destination node based on the preset basic routing rules.

[0092] Specifically, for the near-end loop problem, the far-end routing loop avoidance strategy cannot determine the shortest path that avoids the loop. The reason is that for near-end nodes, selecting any one of the multiple equivalent paths in the MHR will trigger a routing loop. Figure 9 and Figure 10 For example, S33 acts as a relay node, sending data to the destination node S42. S33 has two equivalent paths to choose from: {S33, S32, S42} forwarding to S32 and {S33, S43, S42} forwarding to S43. If S33 chooses to forward to S32, it can avoid the routing loop caused by the S42-S43 inter-satellite link failure, but it cannot avoid the routing loop caused by the S32-S42 inter-satellite link failure. If S33 chooses to forward to S42, it can avoid the routing loop caused by the S32-S42 inter-satellite link failure, but it cannot avoid the routing loop caused by the S42-S43 inter-satellite link failure.

[0093] Near-end loops cannot be completely avoided by selecting the optimal path; therefore, this application designs a near-end loop avoidance strategy based on segmented routing. After a satellite node detects an inter-satellite link failure through its link failure detection mechanism, it determines that the forwarding port corresponding to that link has failed. It immediately redirects data packets that should have been forwarded through that port to a backup port and adds an SR tag stack to the packet header. (See [link to relevant documentation]). Figure 11 Data packets are transmitted on the backup path using segmented routing. The near-end loop avoidance strategy consists of two key components: SR (Short-End Routing) and virtual-to-physical port mapping.

[0094] This application encodes backup paths as ordered lists of segments, or backup path label stacks, to instruct satellite nodes receiving these packets to process and forward them. A segment, or label, is an instruction that a satellite node must execute for a received packet. By combining multiple segments into an ordered list, packets can be guided to any path in the satellite network, unaffected by routing protocols or shortest paths. SR backup path packets carry the backup path label stack in their headers. Nodes execute the instructions in the label stack and maintain it through three basic operations: push, continue, and next. On the backup path, the source node is responsible for pushing SR backup path labels into the packet header; intermediate nodes, upon receiving the packet, forward it according to the segmented routing (SR) method by looking up the labels; the node at the end of the backup path, upon receiving the packet, converts it into a basic routing packet and forwards it using the on-board basic route.

[0095] To minimize modifications to the routing table by the onboard control plane after a failure, satellite nodes pre-deploy backup routing table entries configured with virtual ports. The virtual-physical port mapping table maintains the mapping relationship between virtual ports and the current optimal physical ports (i.e., the virtual port-real port mapping table, also known as the aforementioned virtual and physical port mapping table). The control plane can change the packet forwarding port by modifying this mapping table.

[0096] For example, the near-end routing loop avoidance strategy process is as follows: Figure 12 As shown:

[0097] (1) The satellite node detects the inter-satellite link failure through the link failure detection mechanism and notifies the satellite control surface.

[0098] (2) Modify the virtual-physical port mapping table on the satellite control plane to forward data to the backup path through the backup port.

[0099] In an example of a data forwarding method for avoiding satellite network routing loops provided in this application, the complete execution flow of the data forwarding method for avoiding satellite network routing loops, performed by the data forwarding device for avoiding satellite network routing loops, is as follows:

[0100] S01: Determine whether the satellite in which it is located is the source node corresponding to the target data packet to be forwarded;

[0101] If yes, proceed to step S03; otherwise, proceed to step S02.

[0102] S02: Forward the data packet using on-board basic routing, that is, forward the target data packet to the next-hop satellite specified by the shortest path between the local satellite and the satellite currently serving as the destination node of the target data packet;

[0103] S03: Determine whether there are multiple equivalent shortest paths between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network;

[0104] If yes, proceed to step S04; otherwise, proceed to step S09.

[0105] S04: Determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links;

[0106] If yes, proceed to step S05; otherwise, proceed to step S07.

[0107] S05: Determine that the source node is currently the target of the remote routing loop avoidance policy;

[0108] S06: In the minimum hop count region, among the long side starting from the source node and the short side consisting of only one inter-satellite link, the equivalent shortest path corresponding to the long side is selected as the target routing path between the source node and the destination node, and the target data packet is forwarded to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node;

[0109] S07: Determine that the source node is currently the target of the near-end routing loop avoidance policy;

[0110] S08: If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

[0111] S09: Determine whether the shortest path between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network contains only one inter-satellite link;

[0112] If yes, then execute steps S07 and S08 in sequence; otherwise, execute S02.

[0113] Furthermore, to further illustrate the above embodiments, this application also provides a specific application example of a data forwarding method for avoiding routing loops in satellite networks. Specifically, it is a satellite network loop avoidance routing method based on segmented routing and selection of the longer side path. This application example addresses two scenarios: near-end loops and far-end loops, designing loop avoidance strategies for each. For near-end loops, satellite nodes pre-calculate and distribute SR backup paths. After an inter-satellite link failure, the satellite node sends traffic to the SR path through the backup forwarding port, thereby avoiding the loop. For far-end loops, when calculating the shortest path, the satellite selects the path corresponding to the longer side within the region with the smallest hop count among multiple equivalent paths, thus achieving the effect of avoiding the loop.

[0114] This application example designs a loop avoidance mechanism for satellite networks. Considering that after a link failure, flooding delays cause inconsistencies in link state information among satellite nodes, resulting in overlapping routes and ultimately routing loops, this application avoids remote routing loops from the perspective of shortest path selection and avoids near-end routing loops through segmented routing, reducing packet header overhead, minimizing unnecessary redundant paths, and eliminating the impact of communication interruptions caused by loops.

[0115] In summary, this application example achieves the effect of avoiding network-wide loops by employing two key design strategies: a remote routing loop avoidance strategy based on selecting the longest side of the minimum hop count region, and a near-end loop avoidance strategy based on segmented routing. This reduces data loss caused by loops and further improves the stability of the satellite communication system. The overall process of this application example is as follows: Figure 13 As shown, the process by which a single satellite node calculates and distributes routes to each destination satellite node is as follows:

[0116] (1) Satellite nodes calculate the minimum hop count region for each target satellite based on topology information.

[0117] (2) Determine whether the satellite is in an area where a routing loop may occur after a link failure around the target satellite.

[0118] If the target satellite is in the region, continue with the following process; if the target satellite is not in the region, skip the target satellite and still calculate the shortest path according to the Dijistra algorithm.

[0119] If the target satellite is located in this region, determine whether the target satellite belongs to a distant node or a near node.

[0120] (3) If the target satellite is a near-end node, then implement a near-end routing loop avoidance strategy:

[0121] This satellite calculates and generates the SR backup path label stack;

[0122] This satellite issues virtual port routing table entries for the target satellite;

[0123] This satellite issues the virtual port-physical port mapping table entry;

[0124] (4) If the target satellite is located at a remote node, then implement a strategy to avoid remote routing loops:

[0125] This satellite calculates the shortest path to the target satellite;

[0126] Select the shortest path corresponding to the longest side within the region with the minimum number of jumps;

[0127] This satellite sends out the remote route to the target satellite.

[0128] In other words, the application examples of this application provide routing loop avoidance strategies based on selecting the longer side path within the minimum hop count region, routing loop avoidance strategies based on virtual-physical port mapping tables and SR backup paths, and global routing loop avoidance schemes based on near-end loop avoidance and far-end loop avoidance strategies, which can solve the following problems:

[0129] When an inter-satellite link failure occurs, traditional routing loop avoidance schemes require satellite nodes to perform additional processing on data packets, recording the forwarding paths to eliminate loops. Alternatively, redundant detour points may be introduced to lengthen the data packet transmission path. This increases the onboard processing burden and additional data packet overhead, increases data packet transmission latency, wastes onboard computing resources, and hinders the selection of suboptimal paths.

[0130] Based on this, this application example designs near-end routing loop avoidance and far-end routing loop avoidance strategies after inter-satellite link failure, which can achieve network-wide routing loop avoidance in single-link failure scenarios, further improving the stability of satellite communication systems. Specific technical advantages include:

[0131] 1. In the application example of this application, when dealing with the problem of remote routing loops due to link failures, this application proposes a simple and effective MHR long-side selection strategy from the perspective of selecting multiple equivalent shortest paths. This strategy ensures the optimal routing path without additional computation and interaction overhead.

[0132] 2. The innovative application example in this application uses virtual-physical port mapping to guide traffic after a failure to a segmented routing path, which reduces the need for the onboard control surface to modify the routing table and alleviates the processing burden on the satellite payload.

[0133] 3. The application example of this application uses SR to solve the routing loop that occurs near the link failure, fully utilizes the function of SR to display routing, protect traffic after the link failure, and enhance the stability of the satellite communication system after the link failure.

[0134] From a software perspective, this application also provides a data forwarding apparatus for performing all or part of the data forwarding method for avoiding satellite network routing loops, see [link to relevant documentation]. Figure 14 The data forwarding device for avoiding satellite network routing loops specifically includes the following components:

[0135] The object type determination module 10 is used to determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links if it is determined that the satellite where it is located, which is currently the source node of the target data packet to be forwarded, has multiple equivalent shortest paths with the satellite currently the destination node of the target data packet in the satellite network. If so, it determines that the source node is currently the target of the remote routing loop avoidance policy.

[0136] The remote policy execution module 20 is used to select the equivalent shortest path corresponding to the long side that starts from the source node and the short side that consists of only one inter-satellite link in the minimum hop count region as the target routing path between the source node and the destination node, and forward the target data packet to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when an inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

[0137] The embodiments of the data forwarding apparatus for avoiding satellite network routing loops provided in this application can be used to execute the processing flow of the data forwarding method for avoiding satellite network routing loops in the above embodiments. Its functions will not be repeated here, but can be referred to the detailed description of the data forwarding method for avoiding satellite network routing loops in the above embodiments.

[0138] The data forwarding device for avoiding satellite network routing loops can perform the data forwarding portion for avoiding satellite network routing loops in a server or client device on the satellite. The specific choice depends on the processing capabilities of the client device and limitations of the user's usage scenario. This application does not impose any limitations in this regard. If all operations are performed in the client device, the client device may further include a processor for performing the specific processing for avoiding satellite network routing loops during data forwarding.

[0139] The aforementioned client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission. The server may include a server on the task scheduling center side; in other implementation scenarios, it may also include a server on an intermediate platform, such as a server on a third-party server platform that has a communication link with the task scheduling center server. The server may include a single computer device, a server cluster consisting of multiple servers, or a distributed server structure.

[0140] The server and the client device can communicate using any suitable network protocol, including those not yet developed as of the date of this application. Such network protocols may include, for example, TCP / IP, UDP / IP, HTTP, HTTPS, etc. Furthermore, such network protocols may also include RPC (Remote Procedure Call Protocol) and REST (Representational State Transfer Protocol) protocols used on top of the aforementioned protocols.

[0141] As can be seen from the above description, the data forwarding device for avoiding satellite network routing loops provided in this application embodiment can effectively avoid remote routing loops without increasing redundant paths. It proposes a simple and effective minimum hop count region long side selection strategy from the perspective of selecting multiple equivalent shortest paths. It can ensure the optimal routing path without additional calculation and interaction overhead, thereby reducing data packet header overhead and redundant paths, reducing the processing burden on the satellite, and eliminating the impact of communication interruptions caused by loops.

[0142] In one example, the data forwarding device for avoiding satellite network routing loops can be integrated into the satellite's onboard control plane, see [link to relevant documentation]. Figure 15 The on-board control plane may include a remote routing loop avoidance module, a near-end routing loop avoidance module, and a link failure detection module.

[0143] This application also provides an electronic device that may include a processor, a memory, a receiver, and a transmitter. The processor is used to execute the data forwarding method for avoiding satellite network routing loops mentioned in the above embodiments. The processor and memory can be connected via a bus or other means, taking a bus connection as an example. The receiver can be connected to the processor and memory via wired or wireless means.

[0144] The processor can be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or combinations of the above types of chips.

[0145] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the data forwarding method for avoiding satellite network routing loops in the embodiments of this application. The processor executes various functional applications and data processing by running the non-transitory software programs, instructions, and modules stored in the memory, thereby implementing the data forwarding method for avoiding satellite network routing loops in the above method embodiments.

[0146] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created by the processor, etc. Furthermore, the memory may include high-speed random access memory and non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include memory remotely located relative to the processor, which can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0147] The one or more modules are stored in the memory, and when executed by the processor, they perform the data forwarding method for avoiding satellite network routing loops in the embodiment.

[0148] In some embodiments of this application, the user equipment may include a processor, a memory, and a transceiver unit. The transceiver unit may include a receiver and a transmitter. The processor, memory, receiver, and transmitter may be connected via a bus system. The memory is used to store computer instructions, and the processor is used to execute the computer instructions stored in the memory to control the transceiver unit to send and receive signals.

[0149] As one implementation method, the functions of the receiver and transmitter in this application can be implemented by transceiver circuits or dedicated transceiver chips, and the processor can be implemented by dedicated processing chips, processing circuits or general-purpose chips.

[0150] As another implementation approach, the server provided in this application embodiment can be implemented using a general-purpose computer. That is, the program code implementing the processor, receiver, and transmitter functions is stored in memory, and the general-purpose processor implements the processor, receiver, and transmitter functions by executing the code in memory.

[0151] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aforementioned data forwarding method for avoiding satellite network routing loops. The computer-readable storage medium can be a tangible storage medium, such as random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disks, removable storage disks, CD-ROMs, or any other form of storage medium known in the art.

[0152] This application also provides a computer program product comprising a computer program that, when executed by a processor, implements the steps of the aforementioned data forwarding method for avoiding satellite network routing loops.

[0153] Those skilled in the art will understand that the exemplary components, systems, and methods described in conjunction with the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. Whether implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. When implemented in hardware, it can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. The programs or code segments can be stored in a machine-readable medium or transmitted over a transmission medium or communication link via data signals carried on a carrier wave.

[0154] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.

[0155] In this application, features described and / or illustrated for one embodiment may be used in the same or similar manner in one or more other embodiments, and / or combined with or in place of features of other embodiments.

[0156] The above description is merely a preferred embodiment of this application and is not intended to limit this application. For those skilled in the art, various modifications and variations can be made to the embodiments of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A data forwarding method for avoiding routing loops in satellite networks, characterized in that, include: If it is determined that the satellite where it is currently located, which is the source node of the target data packet to be forwarded, has multiple equivalent shortest paths with the satellite currently being the destination node of the target data packet in the satellite network, then it is determined whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links. If so, it is determined that the source node is currently the target of the remote routing loop avoidance policy. In the minimum hop count region, among the long side starting from the source node and the short side consisting of only one inter-satellite link, the equivalent shortest path corresponding to the long side is selected as the target routing path between the source node and the destination node. The target data packet is forwarded to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

2. The data forwarding method for avoiding routing loops in satellite networks according to claim 1, characterized in that, Also includes: If it is determined that the minimum hop count region formed by the source node and the destination node does not contain the long side, then the source node is determined to be the target of the near-end routing loop avoidance policy. If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

3. The data forwarding method for avoiding routing loops in satellite networks according to claim 1, characterized in that, Also includes: If it is determined that the satellite it is currently on is the source node of the target data packet to be forwarded, and there is only one shortest path between the source node and the satellite currently serving as the destination node of the target data packet in the satellite network, then it is determined whether the shortest path contains only one inter-satellite link. If so, then it is determined that the source node is currently the target of the near-end routing loop avoidance policy. If an inter-satellite link failure is detected in the minimum hop count region, the target data packet is forwarded to the destination node based on the preset segmented routing path.

4. The data forwarding method for avoiding routing loops in satellite networks according to claim 3, characterized in that, Also includes: If it is determined that the shortest path contains multiple inter-satellite links, the target data packet is forwarded to the next-hop satellite specified by the shortest path.

5. The data forwarding method for avoiding routing loops in satellite networks according to claim 2 or 3, characterized in that, The forwarding of target data packets to the destination node based on a preset segmented routing path includes: A segmented routing label stack indicating the segmented routing path is added to the header of the target data packet to obtain the corresponding labeled data packet; A preset virtual port is assigned to the marked data packet, and the backup physical port corresponding to the virtual port is determined from the preset virtual and physical port mapping table; Based on the backup physical port, the tagged data packet is forwarded to the first satellite specified by the segmented routing path, so that the satellite currently acts as an intermediate node, and the tagged data packet is forwarded to the next-hop satellite specified by the segmented routing path according to the segmented routing label stack in the tagged data packet.

6. The data forwarding method for avoiding routing loops in satellite networks according to claim 5, characterized in that, If the last hop satellite specified in the segmented routing path is the destination node, then the destination node will perform service processing on the marked data packet after receiving it.

7. The data forwarding method for avoiding routing loops in satellite networks according to claim 5, characterized in that, If the last-hop satellite specified by the segmented routing path is not the destination node, then after receiving the tagged data packet, the last-hop satellite will delete the segmented routing label stack in the header of the tagged data packet to obtain the corresponding target data packet, and then forward the target data packet to the destination node based on the preset basic routing rules.

8. A data forwarding device for avoiding routing loops in satellite networks, characterized in that, include: The object type determination module is used to determine whether the minimum hop count region formed by the source node and the destination node contains a long side composed of multiple inter-satellite links if it is determined that the satellite where it is located, which is currently the source node of the target data packet to be forwarded, has multiple equivalent shortest paths with the satellite currently the destination node of the target data packet in the satellite network. If so, the source node is determined to be the target of the remote routing loop avoidance policy. The remote policy execution module is used to select the equivalent shortest path corresponding to the long side starting from the source node and the short side consisting of only one inter-satellite link in the minimum hop count region as the target routing path between the source node and the destination node, and forward the target data packet to the destination node based on the target routing path, so as to avoid the generation of routing loops between the source node and other satellites in the minimum hop count region when inter-satellite link failure occurs between other satellites in the minimum hop count region other than the source node.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the data forwarding method for avoiding routing loops in satellite networks as described in any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the data forwarding method for avoiding routing loops in satellite networks as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Resource allocation and path selection optimization method for low earth orbit satellite network general calculation cooperation

    CN117713903A

  • Random link fault routing optimization method in low earth orbit satellite network

    CN117811642A