Data forwarding method and device for avoiding satellite network routing loop
By judging whether the minimum hop area contains long sides in the satellite network and selecting the routing path corresponding to the long sides, the problem of routing loops in the satellite network is solved, and the effect of reducing data packet header overhead and redundant paths is achieved.
Patent Information
- Application Number
- CN202510030707.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-08
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2045-01-08
AI Technical Summary
Due to frequent topological changes in satellite networks, the problem of routing convergence delay and routing loops is caused. The existing technology increases the overhead and redundant paths when avoiding loops, which increases the burden of on-star processing.
By determining whether the minimum hop area between the source node and the destination node in the satellite network contains a long edge. If it is included, the equivalent shortest path corresponding to the long edge is selected as the target routing path to avoid the generation of the routing loop.
Without adding redundant paths, effectively avoid remote routing loops, reduce data header overhead and redundant paths, reduce the on-star processing burden, and eliminate communication interruptions caused by loops.
Smart Images

Figure CN119966884A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of satellite network data processing, and in particular to a data forwarding method and device for avoiding satellite network routing loops. Background Art
[0002] As a powerful supplement to the ground network, the satellite network can effectively narrow the digital gap between different regions, expand network coverage, and provide more services. It is widely used in remote areas, emergency rescue and other scenarios to provide people with reliable communication guarantees. In recent years, with the rapid development of low-orbit satellite technology, the application field of satellite networks has continued to expand, playing an increasingly important role in the fields of industrial Internet of Things, agricultural automation, offshore drilling platforms, etc., providing new possibilities for large-scale Internet of Things communication services. Frequent topology changes are a significant feature of satellite networks. Topology changes include natural periodic topology changes caused by satellite movement and unpredictable topology changes caused by intersatellite link failures between satellites. When distributed routing is used between satellites, periodic and unpredictable topology changes will lead to frequent topology changes, which in turn cause frequent routing convergence. Routing convergence relies on the flooding of link state information, and the existence of flooding delay will cause inconsistency of on-board topology information in a short period of time, resulting in the generation of routing loops.
[0003] Two mechanisms are commonly used to handle satellite routing loops. One mechanism is to actively prevent microloops, ensuring that packets are not sent back to the satellite from which they came. Another mechanism is to set the TTL field in the packet header so that packets that have been forwarded too many times are discarded. However, there are some problems with these mechanisms. In the first method, different degrees of additional overhead are introduced, such as header overhead or link state information message overhead. The TTL field in the second method is a mechanism to mitigate the impact of loops, rather than a mechanism to prevent loops.
[0004] At present, in order to solve the communication interruption caused by the satellite routing loop problem and further improve the stability of inter-satellite distributed routing, many studies have made contributions in this regard. One type of existing solution avoids loops by recording all or part of the data packet traversal path in the data packet header after a link failure. Although this type of solution can reduce the occurrence of loops to a certain extent, as the data packet is continuously forwarded, the entire forwarding path of the data packet becomes lengthy, and the communication overhead in the data packet header continues to increase. Therefore, on the whole, this type of solution is a solution that has a lengthy data packet path and introduces additional data packet header overhead. In addition, another type of solution reduces the length of the data packet forwarding path by planning the best detour point after the failure, but the cost is that the satellite needs to additionally calculate and maintain the detour table, which increases the processing burden on the satellite. Summary of the invention
[0005] In view of this, embodiments of the present 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 the present application provides a data forwarding method for avoiding satellite network routing loops, comprising:
[0007] If it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, then it is determined whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links, and if so, it is determined that the source node is currently an execution object of the remote routing loop avoidance strategy;
[0008] Among the long edges starting from the source node and the short edges consisting of only one intersatellite link in the minimum hop area, the equivalent shortest path corresponding to the long edge 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 routing loops between the source node and other satellites in the minimum hop area when an intersatellite link failure occurs between other satellites except the source node in the minimum hop area.
[0009] In some embodiments of the present application, the data forwarding method for avoiding satellite network routing loops further includes:
[0010] If it is determined that the minimum hop count area formed by the source node and the destination node does not include the long edge, then determining that the source node is currently an execution object of the proximal routing loop avoidance strategy;
[0011] If an inter-satellite link failure is detected in the minimum hop count area, the target data packet is forwarded to the destination node based on a preset segment routing path.
[0012] In some embodiments of the present application, the data forwarding method for avoiding satellite network routing loops further includes:
[0013] If it is determined that the satellite where the user is currently located 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 that is currently 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, it is determined that the source node is currently the execution object of the proximal routing loop avoidance strategy;
[0014] If an inter-satellite link failure is detected in the minimum hop count area, the target data packet is forwarded to the destination node based on a preset segment routing path.
[0015] In some embodiments of the present application, the data forwarding method for avoiding satellite network routing loops further includes:
[0016] If it is determined that the shortest path includes 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 the present application, forwarding the target data packet to the destination node based on a preset segment routing path includes:
[0018] Adding a segment routing label stack for indicating a segment routing path to a header of the target data packet to obtain a corresponding marked data packet;
[0019] Allocating a preset virtual port to the marked data packet, and determining a backup physical port corresponding to the virtual port from a preset virtual and physical port mapping table;
[0020] The marked data packet is forwarded to the first satellite specified by the segment routing path based on the backup physical port so that the satellite currently serves as an intermediate node, and the marked data packet is forwarded to the next-hop satellite specified by the segment routing path according to the segment routing label stack in the marked data packet.
[0021] In some embodiments of the present application, if the last-hop satellite specified by the segment routing path is the destination node, the destination node performs service processing on the marked data packet after receiving the marked data packet.
[0022] In some embodiments of the present application, if the last-hop satellite specified by the segmented routing path is not the destination node, then after receiving the marked data packet, the last-hop satellite deletes the segmented routing label stack in the packet header of the marked 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 the present application provides a data forwarding device for avoiding satellite network routing loops, comprising:
[0024] The object type determination module is used to determine whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links if it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, and if so, determine that the source node is currently an execution object of the remote routing loop avoidance strategy;
[0025] A remote policy execution module is used to select the equivalent shortest path corresponding to the long edge as the target routing path between the source node and the destination node among the long edges starting from the source node and the short edges consisting of only one inter-satellite link in the minimum hop area, 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 area when an inter-satellite link failure occurs between other satellites except the source node in the minimum hop area.
[0026] The third aspect of the present 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 implements the data forwarding method for avoiding satellite network routing loops when executing the computer program.
[0027] A fourth aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the data forwarding method for avoiding satellite network routing loops.
[0028] A fifth aspect of the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the data forwarding method for avoiding satellite network routing loops.
[0029] The data forwarding method for avoiding satellite network routing loops provided by the present application, if it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, then it is determined whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links; if so, it is determined that the source node is currently an execution object of the remote routing loop avoidance strategy; among the long edges starting from the source node and the short edges consisting of only one inter-satellite link in the minimum hop area, the equivalent shortest path corresponding to the long edge is selected as the shortest path between the source node and the destination node. The target routing path is obtained, and the target data packet is forwarded to the destination node based on the target routing path, so that when an inter-satellite link failure occurs between other satellites except the source node in the minimum hop area, a routing loop is avoided between the source node and other satellites in the minimum hop area. The remote routing loop can be effectively avoided without adding redundant paths. Only from the perspective of selecting multiple equivalent shortest paths, a simple and effective long edge selection strategy for the minimum hop area is proposed, which can ensure the optimal routing path without additional calculation and interaction overhead, thereby reducing the data packet header overhead and redundant paths, reducing the processing burden on the satellite, and eliminating the impact of communication interruption caused by the loop.
[0030] Additional advantages, purposes, and features of the present application will be partially described in the following description, and will become partially apparent to those skilled in the art after studying the following, or may be learned from the practice of the present application. The purposes and other advantages of the present application can be achieved and obtained by the structures specifically pointed out in the specification and the drawings.
[0031] Those skilled in the art will understand that the purposes and advantages that can be achieved by the present application are not limited to the above specific description, and the above and other purposes that can be achieved by the present application will be more clearly understood based on the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The drawings described herein are used to provide a further understanding of the present application, constitute a part of the present application, and do not constitute a limitation of the present application. The components in the drawings are not drawn to scale, but are only for the purpose of illustrating the principles of the present application. In order to facilitate the illustration and description of some parts of the present application, the corresponding parts in the drawings may be enlarged, that is, they may become larger relative to other components in the exemplary device actually manufactured according to the present application. In the drawings:
[0033] Figure 1 Schematic diagram of a first flow chart of a data forwarding method for avoiding satellite network routing loops in an embodiment of the present application.
[0034] Figure 2 This is a schematic diagram of a minimum hop count area in a satellite network in an example of the present application.
[0035] Figure 3 This is a satellite network constellation topology diagram in an example of this application.
[0036] Figure 4 This is a schematic diagram of a remote routing loop scenario corresponding to a cross-track link failure in an example of the present application.
[0037] Figure 5 This is a schematic diagram of a remote routing loop scenario corresponding to a co-track link failure in an example of the present application.
[0038] Figure 6 A schematic diagram of a remote loop avoidance strategy in an example of the present application.
[0039] Figure 7 Schematic diagram of a second flow chart of a data forwarding method for avoiding satellite network routing loops in an embodiment of the present application.
[0040] Figure 8 3 is a flow chart of step 300 in a data forwarding method for avoiding satellite network routing loops in an embodiment of the present application.
[0041] Fig. 9 This is a schematic diagram of a proximal routing loop scenario corresponding to a cross-track link failure in an example of the present application.
[0042] Fig.10 This is a schematic diagram of a proximal routing loop scenario corresponding to a co-track link failure in an example of the present application.
[0043] Fig.11 A schematic diagram of a near-end loop avoidance strategy in an example of the present application.
[0044] Fig.12 This is a schematic diagram of a proximal routing loop avoidance strategy process in an example of the present application.
[0045] Fig.13 A global loop avoidance flow diagram provided for the application example of this application.
[0046] Fig.14 Schematic diagram of the structure of a data forwarding device for avoiding satellite network routing loops in one embodiment of the present application.
[0047] Fig.15 This is a schematic diagram of the structure of the onboard control surface in an example of the present application. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the implementation modes and the accompanying drawings. Here, the illustrative implementation modes and descriptions of the present application are used to explain the present application, but are not intended to limit the present application.
[0049] It should also be noted here that in order to avoid obscuring the present application due to unnecessary details, only the structures and / or processing steps closely related to the scheme according to the present application are shown in the accompanying drawings, while other details that are not very relevant to the present application are omitted.
[0050] It should be emphasized that the term “include / comprises” when used herein refers to the presence of features, elements, steps or components, 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” herein may refer not only to a direct connection but also to an indirect connection involving an intermediate.
[0052] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. In the accompanying drawings, the same reference numerals represent the same or similar components, or the same or similar steps.
[0053] In response to the problems of the two mechanisms for dealing with satellite routing loops, some scholars have proposed a loop avoidance mechanism and its routing protocol. Each node that a data packet passes through is recorded in the data packet header. Once a satellite node receives a data packet, it checks the data packet header to see if the candidate next hop has been traversed. If so, another next hop is selected. If both candidate next hops appear in the data packet header, the satellite finds the first position where its own ID appears and forwards the data packet to the node before that position. However, this mechanism introduces additional communication overhead, and each data packet must record each node it traverses in the data packet header. The impact of this overhead is particularly significant when link failures are sparse and the data packet will not loop even if the satellite ID is not recorded. In order to reduce the overhead of recording each node in the data packet header, some scholars have proposed a loop avoidance mechanism that records 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 studies start from the path that the data packet traverses, focusing on information such as satellite ID in the traversal path, and achieve the effect of loop avoidance with this information. At the same time, additional data packet header overhead will be introduced. Another idea to avoid loops is to reasonably plan the detour path after the failure. A study proposed a interruption-tolerant distributed routing algorithm (DTDR). When the network topology changes, the satellite calculates an alternative path for transmission, thereby improving the packet loss performance caused by the loop. Specifically, each satellite maintains inter-satellite link information within a specified number of hops. When the state of the inter-satellite link changes within the specified number of hops, the corresponding satellite calculates and switches to a detour path. Another study introduced how to avoid routing loops by fast detour and selective flooding under distributed routing. The detour algorithm only uses the primary candidate hop and secondary candidate hop in the distributed hop-by-hop routing scheme proposed in the article. To avoid loops, if the data packet returns to its previous transmission path, the data packet will use a fast detour to reach its original destination. Selective flooding only sends link failure information to a specific detour point, thereby reducing communication overhead. This mechanism can assist in finding the best detour point, thereby ensuring that the detour path has the minimum number of hops and delay. Fast detour routing and selective flooding use detour and flooding packets to generate and update detour tables, which increases the on-board processing burden. The on-board system needs to maintain a detour table for each destination satellite node.
[0055] Based on this, in order to solve the problem of increasing redundant paths and communication overheads in the satellite network routing loop avoidance mechanism adopted in the existing inter-satellite data forwarding process, the embodiments of the present application respectively 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, which can effectively avoid routing loops without increasing redundant paths, can reduce data packet header overhead and redundant paths, and can eliminate the impact of communication interruptions caused by loops.
[0056] The details are described in detail through the following examples.
[0057] Based on this, the embodiment of the present application provides 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. Figure 1 The data forwarding method for avoiding satellite network routing loops specifically includes the following contents:
[0058] Step 100: If it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, then it is determined whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links. If so, it is determined that the source node is currently the object of execution of the remote routing loop avoidance strategy.
[0059] In one or more embodiments of the present application, a data forwarding device for avoiding satellite network routing loops is arranged locally on the satellite. The data forwarding device for avoiding satellite network routing loops first determines whether the satellite where it is located 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 according to the 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 that is currently the destination node of the target data packet; if so, the data forwarding device for avoiding satellite network routing loops further determines whether there are multiple equivalent shortest paths between the source node in the satellite network and the satellite that is currently the destination node of the target data packet.
[0060] It can be 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 in the satellite network and the satellite that is currently the destination node of the target data packet, it further determines whether the shortest path only contains one inter-satellite link. If not, the data forwarding device for avoiding satellite network routing loops forwards the data packet using on-satellite 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 that is currently the destination node of the target data packet.
[0061] In addition, the data forwarding device for avoiding satellite network routing loops determines, after learning that there are multiple equivalent shortest paths between the source node in the satellite network and the satellite that is currently the destination node of the target data packet, whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links.
[0062] In one or more embodiments of the present application, the remote routing loop avoidance strategy execution object refers to the satellite on which the remote routing loop avoidance strategy is currently to be executed. The execution process of the remote routing loop avoidance strategy is the following step 200.
[0063] Step 200: Among the long edges starting from the source node and the short edges consisting of only one intersatellite link in the minimum hop area, select the equivalent shortest path corresponding to the long edge 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 routing loops between the source node and other satellites in the minimum hop area when an intersatellite link failure occurs between other satellites except the source node in the minimum hop area.
[0064] Specifically, the locations where local routing loops occur include the near end that is closer to the link fault and the far end that is farther from the link fault. Figure 2 The definition of the near-end and far-end loop locations requires the use of the Minimum Hop Region (MHR). As a region, MHR is defined as a set of paths with the minimum number of hops between the source node (which can be abbreviated as src) and the destination node (which can be abbreviated as dst). If the MHR between the source and the destination is a square with a side length of 1 intersatellite link, then the location is called the near-end location; otherwise, the location is called the far-end location. The reason for dividing the loop occurrence location is that the far-end and near-end loop avoidance strategies are different. In the case of Figure 3 In the constellation topology example shown, intersatellite links are divided into co-orbit links and cross-orbit links, where S11 to Snm are all different satellites, that is, nodes in the satellite network, and n and m are both positive integers greater than 4. Therefore, this application analyzes the loop avoidance strategy after the link failure occurs from the two perspectives of co-orbit link failure and cross-orbit link failure.
[0065] With the link state routing protocol running on the satellite as the background, when the satellite node detects an inter-satellite link failure, it will flood the link state update message to the entire network. After receiving the message, the other satellite nodes will update the link state database they maintain, recalculate the shortest path and send down 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 is a convergence process of satellite network routing after an intersatellite link failure. However, due to the transmission delay of the link status update message, that is, the flooding delay, the remaining satellite nodes will receive the link status update message at different times. In other words, from the time when the link status message starts to flood to the time when all satellite nodes receive the message, the satellite network will have inconsistent link status information of some satellite nodes, which will cause the satellite nodes that receive the link status information to send the updated route, while the nodes that have not received it will still forward the data packets according to the original route, eventually causing a local routing loop.
[0067] In the case of a single on-track link failure, loops may occur in the east and west columns of the track close to the link; in the case of a single cross-track link failure, loops may occur in the north and south layers close to the link. The reason is that the shortest path calculated by the source node to the destination node is likely to be in the MHR, that is, the shortest path is close to the destination node, rather than diverging outward. Therefore, only the east and west columns of the track close to the link will have overlapping shortest paths. For the remote routing loop scenario corresponding to the cross-track link failure, see Figure 4 For the remote routing loop scenario corresponding to the same-track link failure, see Figure 5 .
[0068] This application designs a loop avoidance strategy based on MHR for remote routing loops. The specific causes of remote routing loops are analyzed as follows:
[0069] by Figure 5 Take the example to explain the scenario where the intersatellite co-orbit link failure 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 S31-S32 intersatellite co-orbit link fails, S31 and S32 will flood the link status update message to the entire network.
[0070] After receiving the message, S34 will recalculate the shortest path and send the route. S34 may forward the packet through S44, that is, the new path from S34 to S31 is {S34, S44, S43, S42, S41, S31}. If S44 does not receive the message and still forwards the data packet according to the original route, a routing loop will be caused between S34 and S44.
[0071] The inconsistency of network topology information caused by the flooding delay of link state update messages is the root cause of remote routing loops. Under link state routing protocols, flooding delay is unavoidable, but 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. Figure 6 If the remote node selects the short edge of the MHR from multiple equivalent shortest paths, it is very easy for the shortest path to include the nodes of the track or layer where the faulty link is located. The shortest paths recalculated by these nodes are likely to include the remote node, thereby causing a remote routing loop. Therefore, in the present application, the remote node selects the long edge of the MHR from multiple equivalent shortest paths to send the route, which can effectively solve the remote routing loop problem.
[0073] It should be emphasized that after a link failure occurs, during the process of link failure information flooding in the network, different nodes are flooded at different times, and the link states of adjacent nodes are inconsistent, resulting in inconsistent topology for calculating the shortest path, which is very likely to cause the routes calculated by two adjacent nodes for the same destination to form a local micro-loop. The general technical idea of those skilled in the art is to accelerate the diffusion of flooding information to accelerate convergence, thereby alleviating the problem of local micro-loops. The designers of this application have adopted a new technical route. Based on the above research and analysis process, starting from the characteristics of the topology and the inherent characteristics of flooding, the path corresponding to the longer side in the minimum hop area is given priority when calculating the path, which objectively avoids the occurrence of micro-loops.
[0074] From the above description, it can be seen that the data forwarding method for avoiding satellite network routing loops provided in the embodiment of the present application can effectively avoid remote routing loops without adding redundant paths, and only from the perspective of selecting multiple equivalent shortest paths, a simple and effective minimum hop area long edge selection strategy is proposed. It can ensure the optimal routing path without the need for 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.
[0075] In order to further improve the effectiveness and reliability of data forwarding for avoiding satellite network near-end routing loops, in a data forwarding method for avoiding satellite network routing loops provided in an embodiment of the present application, see Figure 7 , step 100 in the data forwarding method for avoiding satellite network routing loops specifically includes the following contents:
[0076] Step 110: If it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, it is determined whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links;
[0077] If yes, then execute step 120; if no, then execute step 130;
[0078] Step 120: Determine that the source node is currently the remote routing loop avoidance policy execution target, and then execute step 200.
[0079] Step 130 : Determine that the source node is currently the target of execution of the proximal routing loop avoidance policy, and then execute step 300 .
[0080] For the corresponding Figure 7 The data forwarding method for avoiding satellite network routing loops further specifically includes the following contents:
[0081] Step 300: If an inter-satellite link failure is detected in the minimum hop area, the target data packet is forwarded to the destination node based on a preset segment routing path.
[0082] In order to further improve the comprehensiveness and reliability of data forwarding for avoiding satellite network near-end and far-end routing loops, in a data forwarding method for avoiding satellite network routing loops provided in an embodiment of the present application, see Figure 7 The data forwarding method for avoiding satellite network routing loops also specifically includes the following contents:
[0083] Step 410: If it is determined that the satellite where the satellite is currently located 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 that is currently 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;
[0084] If yes, then execute step 130; if no, that is, the shortest path includes multiple intersatellite links, then execute step 420;
[0085] Step 420: Forward the target data packet to the next-hop satellite specified by the shortest path.
[0086] In order to further improve the effectiveness and reliability of forwarding the target data packet to the destination node based on the preset segment routing path, in a data forwarding method for avoiding satellite network routing loops provided in an embodiment of the present application, see Figure 8 , step 300 in the data forwarding method for avoiding satellite network routing loops specifically includes the following contents:
[0087] Step 310: Add a segment routing label stack for indicating a segment routing path to a header of the target data packet to obtain a corresponding labeled data packet;
[0088] Step 320: Allocate a preset virtual port for the marked data packet, and determine a backup physical port corresponding to the virtual port from a preset virtual and physical port mapping table;
[0089] Step 330: Forward the marked data packet to the first satellite specified by the segment routing path based on the backup physical port, so that the satellite currently serves as an intermediate node, and forwards the marked data packet to the next-hop satellite specified by the segment routing path according to the segment routing label stack in the marked data packet.
[0090] If the last-hop satellite specified by the segment routing path is the destination node, the destination node performs service processing on the marked data packet after receiving the marked data packet.
[0091] Furthermore, if the last-hop satellite specified by the segmented routing path is not the destination node, then after receiving the marked data packet, the last-hop satellite deletes the segmented routing label stack in the packet header of the marked 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.
[0092] Specifically, for the near-end loop problem, the far-end routing loop avoidance strategy cannot determine the shortest path that can avoid loops. The reason is that for the near-end node, selecting any of the multiple equivalent paths in the MHR will cause a routing loop. Fig. 9 and Fig.10 For example, S33, as a transit node, sends data to the destination node S42. S33 has two equivalent paths to choose from, namely {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 intersatellite link failure, but it cannot avoid the routing loop caused by the S32-S42 intersatellite link failure; if S33 chooses to forward to S42, it can avoid the routing loop caused by the S32-S42 intersatellite link failure, but it cannot avoid the routing loop caused by the S42-S43 intersatellite link failure.
[0093] The occurrence of near-end loops cannot be avoided by selecting the optimal path, so this application designs a near-end loop avoidance strategy based on segment routing. After the satellite node detects the inter-satellite link failure through the link failure detection mechanism, it is clear that the forwarding port corresponding to the link has failed, and immediately guides the data packet that should be forwarded through the port to the backup port, and adds an SR label stack to the packet header. See Fig.11 ,Transmitting data packets on the backup path in a segment routing manner.,The near-end loop avoidance strategy consists of two key parts: SR and,virtual-physical port mapping.
[0094] This application encodes the backup path as a sequenced Segment list, i.e., a backup path label stack, to instruct the satellite nodes that receive these data packets to process and forward them. Segment, or label, is the instruction that the satellite node needs to execute for the received data packet. By combining multiple Segments into an ordered list, the data packet can be guided to any path in the satellite network, which is not affected by the routing protocol or the shortest path. The SR backup path data packet carries the backup path label stack in its header. The node will execute the instructions in the label stack and maintain the label stack through three basic operations: PUSH, CONTINUE, and NEXT. On the backup path, the source node is responsible for pushing the SR backup path label into the data packet header; after the intermediate node receives the data packet, it checks the label and forwards it in the segmented routing SR manner; after the node at the end of the backup path receives the data packet, it converts the data packet into a basic routing data packet and forwards the basic routing on the satellite.
[0095] In order to reduce the modification of the routing table by the onboard control plane after a failure, the satellite node sends a backup routing table entry configured with a virtual port in advance. The virtual-physical port mapping table can maintain the mapping relationship between the virtual port and the current optimal physical port (i.e., the virtual port-real port mapping table, i.e., the aforementioned virtual and physical port mapping table). The control plane can modify the mapping table to change the packet forwarding port.
[0096] Among them, the near-end routing loop avoidance policy process is as follows: Fig.12 As shown:
[0097] (1) The satellite node detects the inter-satellite link failure through the link failure detection mechanism and notifies the onboard control plane.
[0098] (2) The onboard control plane modifies the virtual-physical port mapping table and forwards the 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 the present application, the complete execution process 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 where the satellite is located is the source node corresponding to the target data packet to be forwarded;
[0101] If yes, execute step S03; if no, execute step S02;
[0102] S02: forwarding the data packet by on-board basic routing, that is, forwarding 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 in the satellite network and the satellite currently serving as the destination node of the target data packet;
[0104] If yes, execute step S04; if no, execute step S09;
[0105] S04: Determine whether the minimum hop count area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links;
[0106] If yes, execute step S05; otherwise, execute step S07;
[0107] S05: Determine that the source node is currently a remote routing loop avoidance policy execution object;
[0108] S06: Among the long edges respectively starting from the source node and the short edges consisting of only one inter-satellite link in the minimum hop area, select the equivalent shortest path corresponding to the long edge 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 routing loops between the source node and other satellites in the minimum hop area when an inter-satellite link failure occurs between other satellites except the source node in the minimum hop area;
[0109] S07: Determine that the source node is currently an execution target of a proximal routing loop avoidance strategy;
[0110] S08: If an inter-satellite link failure is detected in the minimum hop area, the target data packet is forwarded to the destination node based on a preset segment routing path.
[0111] S09: Determine whether the only shortest path between the source node in the satellite network and the satellite currently serving as the destination node of the target data packet includes only one inter-satellite link;
[0112] If yes, then execute the aforementioned steps S07 and S08 in sequence; if no, then execute S02.
[0113] Furthermore, in order to further illustrate the above embodiments, the present application also provides a specific application example of a data forwarding method for avoiding satellite network routing loops, specifically a satellite network loop avoidance routing method based on segmented routing and selection of long edge paths. The application example of the present application starts with the two situations of proximal loops and distal loops, and designs loop avoidance strategies respectively. For proximal loops, the satellite node pre-calculates and sends down the SR backup path. After an intersatellite link fails, the satellite node sends traffic to the SR path through the backup forwarding port to avoid loops; for distal loops, the satellite selects the path corresponding to the longer edge in the minimum hop area among multiple equivalent paths when calculating the shortest path, thereby achieving the effect of avoiding loops.
[0114] The application example of this application is designed for the loop avoidance mechanism of satellite networks. Considering that after a link failure occurs, the flooding delay causes inconsistent link status information of each satellite node, and the sent routes overlap, which eventually leads to routing loops. From the perspective of shortest path selection, remote routing loops are avoided, and near-end routing loops are avoided with the help of segmented routing, which reduces data packet header overhead, reduces unnecessary redundant paths, and eliminates the impact of communication interruptions caused by loops.
[0115] In summary, the application example of this application achieves the effect of avoiding loops in the entire network by using two key designs: the strategy of avoiding remote routing loops based on the long edge selection of the minimum hop area and the strategy of avoiding near-end loops based on segmented routing, reducing data loss caused by loops and further improving the stability of the satellite communication system. The overall process of the application example of this application is as follows: Fig.13 As shown, the process of a single satellite node calculating and sending the routes of each destination satellite node is as follows:
[0116] (1) The satellite node calculates the minimum hop count area of each destination satellite based on the topology information.
[0117] (2) Determine whether the local satellite is in an area where a routing loop may occur after a link failure around the destination satellite.
[0118] If the satellite is in the area, continue with the following process; if the satellite is not in the area, skip the destination satellite, that is, still calculate the shortest path according to the Dijistra algorithm.
[0119] If the local satellite is in this area, it is determined whether the destination satellite belongs to a far-end node or a near-end node.
[0120] (3) If the destination satellite is a near-end node, the near-end routing loop avoidance strategy is implemented:
[0121] The local satellite calculates and generates the SR backup path label stack;
[0122] The local satellite sends the virtual port routing table entry of the destination satellite;
[0123] The local satellite sends the virtual port-physical port mapping table entry;
[0124] (4) If the destination satellite is at a remote node, a remote routing loop avoidance strategy is implemented:
[0125] This satellite calculates the shortest path to the destination satellite;
[0126] Select the shortest path corresponding to the long edge in the minimum hop area;
[0127] This satellite sends the remote route of the destination satellite.
[0128] That is to say, the application example of the present application provides a routing loop avoidance strategy based on selecting a long edge path in a minimum hop area, a routing loop avoidance strategy based on a virtual-physical port mapping table and an SR backup path, and a global routing loop avoidance solution based on a near-end loop avoidance strategy and a far-end loop avoidance strategy, which can solve the following problems:
[0129] After an intersatellite link failure occurs, in the traditional solution to avoid routing loops, the satellite node needs to perform additional processing on the data packet and record the forwarding path of the data packet to eliminate the routing loop. Alternatively, redundant detour points are introduced to increase the transmission path of the data packet. This will increase the processing burden on the satellite and the additional data packet overhead, and increase the transmission delay of the data packet, resulting in a waste of on-board computing resources and the selection of suboptimal paths on the satellite.
[0130] Based on this, the application example of this application designs a strategy for avoiding near-end routing loops and far-end routing loops after an intersatellite link failure, which can avoid routing loops in the entire network under a single link failure scenario and further improve the stability of the satellite communication system. Specific technical advantages include:
[0131] 1. When dealing with the problem of distant routing loops caused by link failures, the application example of this application only starts from the perspective of selecting multiple equivalent shortest paths, and proposes a simple and effective MHR long edge selection strategy, which does not require additional calculation and interaction overhead while ensuring the optimal routing path.
[0132] 2. The application example of this application innovatively uses virtual-physical port mapping to direct post-failure traffic to a segmented routing path, reducing the modification of routing tables by the onboard control and alleviating the processing burden of 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 effectiveness of SR display routing, can protect the traffic after the link failure, and enhance the stability of the satellite communication system after the link failure.
[0134] From the software level, the present application also provides a data forwarding device for avoiding satellite network routing loops for executing all or part of the data forwarding method for avoiding satellite network routing loops, see Fig.14 The data forwarding device for avoiding satellite network routing loops specifically includes the following contents:
[0135] The object type determination module 10 is used to determine whether the minimum hop area formed by the source node and the destination node contains a long edge composed of multiple inter-satellite links if it is determined that the satellite where it is currently located as the source node of the target data packet to be forwarded has multiple equivalent shortest paths with the satellite that is currently the destination node of the target data packet in the satellite network. If so, it is determined that the source node is currently an execution object of the remote routing loop avoidance strategy.
[0136] The remote policy execution module 20 is used to select the equivalent shortest path corresponding to the long edge as the target routing path between the source node and the destination node among the long edges starting from the source node and the short edges consisting of only one inter-satellite link in the minimum hop area, 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 area when an inter-satellite link failure occurs between other satellites except the source node in the minimum hop area.
[0137] The embodiment of the data forwarding device for avoiding satellite network routing loops provided in the present application can be specifically used to execute the processing flow of the embodiment of the data forwarding method for avoiding satellite network routing loops in the above-mentioned embodiment. Its functions are not repeated here, and reference can be made to the detailed description of the above-mentioned embodiment of the data forwarding method for avoiding satellite network routing loops.
[0138] The data forwarding device for avoiding satellite network routing loops can perform data forwarding for avoiding satellite network routing loops in a part that can be completed in a server or client device on the satellite. Specifically, it can be selected according to the processing capability of the client device and the limitations of the user's usage scenario. This application is not limited to this. If all operations are completed in the client device, the client device may also include a processor for performing specific processing for data forwarding for avoiding satellite network routing loops.
[0139] The client device may have a communication module (i.e., a communication unit) that can communicate with a remote server to achieve data transmission with the server. The server may include a server on the task scheduling center side, and other implementation scenarios 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, or a server cluster consisting of multiple servers, or a server structure of a distributed device.
[0140] The server and the client device may communicate with each other using any suitable network protocol, including network protocols that have not yet been developed on the date of filing this application. The network protocols may include, for example, TCP / IP, UDP / IP, HTTP, HTTPS, etc. Of course, the network protocols may also include, for example, RPC (Remote Procedure Call Protocol) and REST (Representational State Transfer) protocols used on top of the above protocols.
[0141] From the above description, it can be seen that the data forwarding device for avoiding satellite network routing loops provided in the embodiment of the present application can effectively avoid remote routing loops without adding redundant paths, and only from the perspective of selecting multiple equivalent shortest paths, a simple and effective minimum hop area long edge selection strategy is proposed, which can ensure the optimal routing path without the need for 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 onboard control plane of the satellite, see Fig.15 The on-board control plane may include a remote routing loop avoidance module, a near-end routing loop avoidance module and a link fault detection module.
[0143] The embodiment of the present application also provides an electronic device, which may include a processor, a memory, a receiver and a transmitter, wherein the processor is used to execute the data forwarding method for avoiding satellite network routing loops mentioned in the above embodiment, wherein the processor and the memory may be connected via a bus or other means, such as by bus connection. The receiver may be connected to the processor and the memory via wired or wireless means.
[0144] The processor may be a central processing unit (CPU). The processor may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above chips.
[0145] The 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 program instructions / modules corresponding to the data forwarding method for avoiding satellite network routing loops in the embodiments of the present application. The processor executes various functional applications and data processing of the processor by running the non-transitory software programs, instructions and modules stored in the memory, that is, 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, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created by the processor, etc. In addition, the memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0147] The one or more modules are stored in the memory, and when executed by the processor, perform the data forwarding method for avoiding satellite network routing loops in the embodiment.
[0148] In some embodiments of the present application, the user equipment may include a processor, a memory, and a transceiver unit, which may include a receiver and a transmitter. The processor, memory, receiver, and transmitter may be connected through 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 an implementation method, the functions of the receiver and the transmitter in the present application can be considered to be implemented through a transceiver circuit or a dedicated chip for transceiver, and the processor can be considered to be implemented through a dedicated processing chip, a processing circuit or a general chip.
[0150] As another implementation method, it is possible to use a general-purpose computer to implement the server provided in the embodiment of the present application, that is, to store the program code for implementing the functions of the processor, receiver, and transmitter in a memory, and the general-purpose processor implements the functions of the processor, receiver, and transmitter by executing the code in the memory.
[0151] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the aforementioned data forwarding method for avoiding satellite network routing loops are implemented. The computer-readable storage medium can be a tangible storage medium, such as a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a floppy disk, a hard disk, a removable storage disk, a CD-ROM, or any other form of storage medium known in the technical field.
[0152] An embodiment of the present application also provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the aforementioned data forwarding method for avoiding satellite network routing loops.
[0153] It should be understood by those skilled in the art 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 the two. Whether it is specifically performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier.
[0154] It should be clear that the present application is not limited to the specific configuration and processing described above and shown in the figures. For the sake of simplicity, a detailed description of the known method is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between the steps after understanding the spirit of the present application.
[0155] In the present application, features described and / or illustrated for one embodiment may be used in the same manner or in a similar manner in one or more other embodiments, and / or combined with features of other embodiments or replace features of other embodiments.
[0156] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the embodiments of the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A data forwarding method for avoiding satellite network routing loops, characterized in that: include: If it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, then it is determined whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links, and if so, it is determined that the source node is currently an execution object of the remote routing loop avoidance strategy; Among the long edges starting from the source node and the short edges consisting of only one intersatellite link in the minimum hop area, the equivalent shortest path corresponding to the long edge 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 routing loops between the source node and other satellites in the minimum hop area when an intersatellite link failure occurs between other satellites except the source node in the minimum hop area.
2. The data forwarding method for avoiding satellite network routing loops according to claim 1, characterized in that: Also includes: If it is determined that the minimum hop count area formed by the source node and the destination node does not include the long edge, then determining that the source node is currently an execution object of the proximal routing loop avoidance strategy; If an inter-satellite link failure is detected in the minimum hop count area, the target data packet is forwarded to the destination node based on a preset segment routing path.
3. The data forwarding method for avoiding satellite network routing loops according to claim 1, characterized in that: Also includes: If it is determined that the satellite where the user is currently located 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 that is currently 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, it is determined that the source node is currently the execution object of the proximal routing loop avoidance strategy; If an inter-satellite link failure is detected in the minimum hop count area, the target data packet is forwarded to the destination node based on a preset segment routing path.
4. The data forwarding method for avoiding satellite network routing loops according to claim 3, characterized in that: Also includes: If it is determined that the shortest path includes 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 satellite network routing loops according to claim 2 or 3, characterized in that: The forwarding of the target data packet to the destination node based on the preset segment routing path includes: Adding a segment routing label stack for indicating a segment routing path to a header of the target data packet to obtain a corresponding marked data packet; Allocating a preset virtual port to the marked data packet, and determining a backup physical port corresponding to the virtual port from a preset virtual and physical port mapping table; The marked data packet is forwarded to the first satellite specified by the segment routing path based on the backup physical port so that the satellite currently serves as an intermediate node, and the marked data packet is forwarded to the next-hop satellite specified by the segment routing path according to the segment routing label stack in the marked data packet.
6. The data forwarding method for avoiding satellite network routing loops according to claim 5, characterized in that: If the last-hop satellite specified by the segment routing path is the destination node, the destination node performs service processing on the marked data packet after receiving the marked data packet.
7. The data forwarding method for avoiding satellite network routing loops 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 marked data packet, the last-hop satellite deletes the segmented routing label stack in the packet header of the marked 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.
8. A data forwarding device for avoiding satellite network routing loops, characterized in that: include: The object type determination module is used to determine whether the minimum hop area formed by the source node and the destination node contains a long edge formed by multiple inter-satellite links if it is determined that the satellite currently serving as the source node of the target data packet to be forwarded has multiple equivalent shortest paths in the satellite network with the satellite currently serving as the destination node of the target data packet, and if so, determine that the source node is currently an execution object of the remote routing loop avoidance strategy; A remote policy execution module is used to select the equivalent shortest path corresponding to the long edge as the target routing path between the source node and the destination node among the long edges starting from the source node and the short edges consisting of only one inter-satellite link in the minimum hop area, 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 area when an inter-satellite link failure occurs between other satellites except the source node in the minimum hop area.
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, the method for data forwarding for avoiding satellite network routing loops is implemented 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 the computer program is executed by a processor, the method for data forwarding for avoiding satellite network routing loops as described in any one of claims 1 to 7 is implemented.
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
Large-scale satellite distributed routing method based on direction congestion parameters
CN118450463A
Multi-path reliable transmission method and system for satellite network local area sensing
CN118473503A