Satellite communication routing methods and apparatuses, electronic device and storage medium
By using message headers with longitude and latitude hop information in satellite communication networks, efficient forwarding of messages in satellite networks is guided, complexity and service quality problems faced by traditional routing protocols in space networks are solved, and efficient and simplified routing forwarding is achieved.
Patent Information
- Application Number
- PCT/CN2024/116850
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-19
- Filing Date
- 2024-09-04
- Publication Date
- 2025-03-27
AI Technical Summary
Traditional routing protocols face problems in spatial networks where frequent neighbor changes, frequent link status notifications, frequent routing recomputation, large global routing synchronization overhead, and inability to ensure service quality.
By receiving messages on the first node satellite and generating message headers with longitude and latitude hop information, the second message is guided to efficiently forward in the satellite network, simplifying the routing scheme and reducing the requirements for satellites.
It realizes efficient routing and forwarding in satellite networks, reduces the complexity and overhead of routing protocols, and improves service quality.
Smart Images

Figure CN2024116850_27032025_PF_FP_ABST
Abstract
Description
Satellite communication routing method, device, electronic device and storage medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application No. 202311207646.2 filed in China on September 19, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The embodiments of the present disclosure relate to the field of satellite communication technology, and in particular to a satellite communication routing method, device, electronic device, and storage medium. Background Art
[0004] A space-ground integrated network is more than just a simple interconnection of heterogeneous networks like fixed terrestrial networks, mobile communications networks, and satellite networks. Rather, it leverages multiple technologies, including space and terrestrial networks, to achieve global information coverage. Because satellite and terrestrial networks utilize different physical and link layer protocols, integration at the underlying layer is difficult. Therefore, the network layer is the optimal location for space-ground integration, and network-layer integration is key to achieving efficient integration between satellite systems and terrestrial communications networks.
[0005] While the network layer Transmission Control Protocol (TCP) / Internet Protocol (IP) architecture is well-established for terrestrial networks, its application to low-orbit satellite networks presents numerous challenges. Current terrestrial networks assume homogeneity and a fixed topology, whereas satellite networks are highly dynamic. Compared to terrestrial networks, space networks are characterized by highly dynamic topology, limited resources, and poor link quality. Due to the constant shifting relative positions of satellites in space, neighbor relationships between satellites are no longer fixed. Consequently, traditional routing protocols such as Open Shortest Path First (OSPF) and Border Gateway Protocol (BGP) face challenges in space networks, including frequent neighbor changes, frequent link state announcements, frequent route recalculations, high global routing synchronization overhead, and an inability to guarantee quality of service.
[0006] Summary of the Invention
[0007] The embodiments of the present disclosure provide a satellite communication routing method, apparatus, electronic device, and storage medium to address the problems faced by traditional routing protocols in space networks in related technologies, such as frequent changes in neighbors, frequent link status announcements, frequent route recalculations, high global routing synchronization overhead, and inability to guarantee service quality.
[0008] In a first aspect, an embodiment of the present disclosure provides a satellite communication routing method, the method being applied to a first node satellite, the method comprising:
[0009] receiving a first message sent by a first device, wherein the first message carries network path information and message data, the network path information being used to indicate intermediate node satellites passed from the first node satellite to the second node satellite and the number of longitude hops and / or latitude hops required to reach the second node satellite;
[0010] generating a second message according to the first message; wherein the second message includes a message header and the message data, the message header is determined by the network path information, and a designated bit of a target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0011] The second message is sent to the intermediate node satellite according to the network path information.
[0012] Optionally, the target field includes at least one of the following: a destination address field and a tag field.
[0013] Optionally, the message header is an SRv6 message header, and generating the second message according to the first message includes:
[0014] Determining a segment identifier (SID) field in the message header according to the network path information, wherein the SID field includes at least one of the following: a parameter field and a function field; wherein the parameter field is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; and the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction;
[0015] The SID is copied into the destination address field of the message header, and the value of a designated bit of the destination field in the message header is determined according to the parameter field.
[0016] Optionally, after receiving the first message sent by the first device, the method further includes:
[0017] Determining that the network path is a first network path or a second network path; wherein all node satellites in the first network path support the SRv6 protocol; and in the second network path, there are intermediate node satellites that do not support the SRv6 protocol;
[0018] When the network path is the first network path, determining the number of the SIDs according to the number of intermediate node satellites in the first network path;
[0019] In a case where the network path is a second network path, the number of the SIDs is determined according to the number of intermediate node satellites supporting the SRv6 protocol in the second network path.
[0020] Optionally, the method further includes:
[0021] receiving a third message sent by the second node satellite; wherein the third message includes: a message header and message data;
[0022] The destination address of the message header in the third message is the address of the first node satellite.
[0023] In a second aspect, an embodiment of the present disclosure provides a satellite communication routing method, the method being applied to an intermediate node satellite, the method comprising:
[0024] receiving a second message from the first node satellite; wherein the second message includes a message header and message data, and a designated bit of a target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0025] Determining a forwarding direction of the second message according to a type of the intermediate node satellite;
[0026] Processing the second message includes: if the forwarding direction is the latitude direction, decreasing the number of latitude hops required to move; if the forwarding direction is the longitude direction, decreasing the number of longitude hops required to move;
[0027] The processed second message is sent to a node satellite according to the forwarding direction, wherein the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and the second node satellite.
[0028] Optionally, if the forwarding direction is a latitude direction, decreasing the number of latitude hops required to move; if the forwarding direction is a longitude direction, decreasing the number of longitude hops required to move includes:
[0029] If the forwarding direction is the latitude direction, subtract 1 from the number of latitude hops required to move;
[0030] If the forwarding direction is the longitude direction, the number of longitude hops required to move is reduced by 1.
[0031] Optionally, the message header is an SRv6 message header, and determining the forwarding direction of the second message according to the type of the intermediate node satellite includes:
[0032] When the intermediate node satellite is a node satellite supporting the SRv6 protocol, determining the forwarding direction of the second message according to a function field of the SID in the SRv6 message header; wherein the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction;
[0033] or,
[0034] When the intermediate node satellite is a node satellite that does not support the SRv6 protocol, the forwarding direction of the second message is determined according to the neighboring node satellites of the intermediate node satellite.
[0035] Optionally, determining the forwarding direction of the second message according to the neighboring node satellite of the intermediate node satellite includes at least one of the following:
[0036] Determine the direction of the neighboring node satellite with the highest priority recorded in advance relative to the intermediate node satellite as the forwarding direction of the second message;
[0037] Determine the direction of the neighboring node satellite with the best communication quality relative to the intermediate node satellite as the forwarding direction of the second message;
[0038] Any neighbor node satellite is randomly determined, and the direction of the determined neighbor node satellite relative to the intermediate node satellite is determined as the forwarding direction of the second message.
[0039] Optionally, the target field includes a destination address field. When the intermediate node satellite is a node satellite supporting the SRv6 protocol, processing the second message further includes:
[0040] Copying the current SID to the destination address field of the SRv6 message header;
[0041] The number of SIDs in the SRv6 message header is reduced by 1.
[0042] Optionally, when the number of longitude hops and / or latitude hops required to move are both zero, determining whether information indicated by the number of bits other than the designated bit in the destination address field of the SRv6 message header is its own address information;
[0043] If not, an error message indicating that the destination is unreachable is sent to the first node satellite.
[0044] In a third aspect, an embodiment of the present disclosure provides a satellite communication routing device, which is applied to a first node satellite and includes:
[0045] a first receiving module, configured to receive a first message sent by a first device, wherein the first message carries network path information and message data, the network path information being used to indicate intermediate node satellites passed from the first node satellite to the second node satellite and the number of longitude hops and / or latitude hops required to reach the second node satellite;
[0046] a first execution module, configured to generate a second message based on the first message; wherein the second message includes a message header and the message data, the message header being determined by the network path information, and a designated bit of a target field in the message header being used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0047] The second message is sent to the intermediate node satellite according to the network path information.
[0048] Optionally, the target field includes at least one of the following: a destination address field and a tag field.
[0049] Optionally, the message header is an SRv6 message header, and the first execution module is further used to determine a segment identifier SID field in the message header according to the network path information, wherein the SID field includes at least one of the following: a parameter field and a function field; wherein the parameter field is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; and the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction;
[0050] The SID is copied into the destination address field of the message header, and the value of a designated bit of the destination field in the message header is determined according to the parameter field.
[0051] Optionally, the first execution module is further configured to, after receiving the first message sent by the first device, determine whether the network path is the first network path or the second network path; wherein all node satellites in the first network path support the SRv6 protocol; and in the second network path, there are intermediate node satellites that do not support the SRv6 protocol;
[0052] When the network path is the first network path, determining the number of the SIDs according to the number of intermediate node satellites in the first network path;
[0053] In a case where the network path is a second network path, the number of the SIDs is determined according to the number of intermediate node satellites supporting the SRv6 protocol in the second network path.
[0054] Optionally, the first execution module is further configured to receive a third message sent by the second node satellite; wherein the third message includes: a message header and message data;
[0055] The destination address of the message header in the third message is the address of the first node satellite.
[0056] In a fourth aspect, an embodiment of the present disclosure provides a satellite communication routing device, which is applied to an intermediate node satellite and includes:
[0057] a second receiving module, configured to receive a second message from the first node satellite; wherein the second message includes a message header and message data, and a designated bit of a target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0058] A second execution module, configured to determine a forwarding direction of the second message according to a type of the intermediate node satellite;
[0059] Processing the second message includes: if the forwarding direction is the latitude direction, decreasing the number of latitude hops required to move; if the forwarding direction is the longitude direction, decreasing the number of longitude hops required to move;
[0060] The processed second message is sent to a node satellite according to the forwarding direction, wherein the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and the second node satellite.
[0061] Optionally, the second execution module is further configured to reduce the number of latitude hops required to move by 1 if the forwarding direction is the latitude direction; and reduce the number of longitude hops required to move by 1 if the forwarding direction is the longitude direction.
[0062] Optionally, the message header is an SRv6 message header, and the second execution module is further configured to, when the intermediate node satellite is a node satellite that supports the SRv6 protocol, determine the forwarding direction of the second message according to a function field of the SID in the SRv6 message header; wherein the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction;
[0063] or,
[0064] When the intermediate node satellite is a node satellite that does not support the SRv6 protocol, the forwarding direction of the second message is determined according to the neighboring node satellites of the intermediate node satellite.
[0065] Optionally, the second execution module is further configured to determine the direction of the neighbor node satellite with the highest priority recorded in advance relative to the intermediate node satellite as the forwarding direction of the second message;
[0066] Determine the direction of the neighboring node satellite with the best communication quality relative to the intermediate node satellite as the forwarding direction of the second message;
[0067] Any neighbor node satellite is randomly determined, and the direction of the determined neighbor node satellite relative to the intermediate node satellite is determined as the forwarding direction of the second message.
[0068] Optionally, the target field includes: a destination address field, and the second execution module is further configured to copy the current SID to the destination address field of the SRv6 message header;
[0069] The number of SIDs in the SRv6 message header is reduced by 1.
[0070] Optionally, the second execution module is further configured to, when the number of longitude hops and / or latitude hops required to move are both zero, determine whether information indicated by the number of bits other than the designated bit in the destination address field of the SRv6 message header is its own address information;
[0071] If not, an error message indicating that the destination is unreachable is sent to the first node satellite.
[0072] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the satellite communication routing method as described in the first aspect or the second aspect.
[0073] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the satellite communication routing method as described in the first aspect or the second aspect are implemented.
[0074] Therefore, in the disclosed embodiments, the fields in the SRv6 message header are redefined on the first-node satellite, and the longitude and / or latitude hop counts are used to guide the forwarding of the second message. This simplifies the satellite routing solution and achieves efficient routing forwarding. Furthermore, intermediate-node satellites do not need to know the complete satellite network link status and path; they only need to know which neighboring intermediate-node satellite to forward the second message to. This eliminates the need for link state synchronization and extensive routing, reducing the requirements placed on the satellite. BRIEF DESCRIPTION OF THE DRAWINGS
[0075] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present disclosure. The same reference symbols are used throughout the drawings to represent the same components. In the drawings:
[0076] FIG1 is a flow chart of a satellite communication routing method provided by an embodiment of the present disclosure;
[0077] FIG2 is a schematic diagram of a grid structure of a satellite topology according to an embodiment of the present disclosure;
[0078] FIG3 is a flow chart of a satellite communication routing method provided by an embodiment of the present disclosure;
[0079] FIG4 is a flow chart of a satellite communication routing method provided by an embodiment of the present disclosure;
[0080] FIG5 is a flow chart of a satellite communication routing method provided by an embodiment of the present disclosure;
[0081] FIG6 is a structural block diagram of a satellite communication routing device provided by an embodiment of the present disclosure;
[0082] FIG7 is a structural block diagram of a satellite communication routing device provided by an embodiment of the present disclosure;
[0083] FIG8 is a structural block diagram of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0084] The following will clearly and completely describe the technical solutions in the embodiments of the present disclosure in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present disclosure without making any creative efforts shall fall within the scope of protection of the present disclosure.
[0085] FIG1 shows a satellite communication routing method according to an embodiment of the present disclosure, the method being applied to a first node satellite, and the method comprising:
[0086] Step S101: receiving a first message sent by a first device;
[0087] Step S102: Generate a second message according to the first message;
[0088] Step S103: Send the second message to the intermediate node satellite according to the network path information.
[0089] The first device is a ground station attached to the first node satellite, and the first node satellite can be understood as the source node satellite that initiates communication. It can be understood that the preceding steps before executing step S101 are: when the ground station (first device) attached to the first node satellite and the ground station attached to the second node satellite come online, they respectively register their online information in a centralized user registry. Among them, the user registry is a distributed database with a known geographical location. It is similar to the Domain Name System (DNS) and is used to store user information of all subscribed services and information such as whether the current user is online and their geographical location.
[0090] When the ground station under the first node satellite needs to communicate with the ground station under the second node satellite, the ground station under the first node satellite needs to query the user registry for the location information of the ground station under the second node satellite. Since the address of the user registry is known, a communication path can be established between the ground station under the first node satellite and the user registry, and between the ground station under the second node satellite and the user registry, to complete the mutual position search between the first node satellite and the ground station under the second node satellite (for example: the first device sends an address resolution request for the ground station under the second node satellite to the user registry, and obtains the address of the ground station under the second node satellite. In specific implementation, this can be achieved by adding a specific type of Internet Control Message Protocol (ICMP) request message).
[0091] The ground station under the first node satellite calculates the topology of the satellites passed through in the network path information based on the geographical location of the ground station under the second node satellite and the current moment (uplink to the satellite network needs to pass through the first node satellite, and the intermediate node satellite in the network path information must go to the second node satellite before reaching the ground station corresponding to the second node satellite). The ground station under the first node satellite calculates the network path information, and encapsulates the network path information and message data in a first message, and sends it to the first node satellite. In this way, a large number of functions are migrated to the ground station or terminal, and the existing Internet Protocol (IP) protocol is reused at the same time, which can simplify the satellite routing solution, and combine it with the subsequent solution of using the changes in the number of longitude hops and / or latitude hops to guide message forwarding, thereby achieving efficient routing forwarding.
[0092] The ground station corresponding to the first node satellite needs to collect the topological status of all satellites at a given moment and develop a grid structure as shown in Figure 2, knowing the horizontal and vertical distances to any node satellite. A, C, and B serve as endpoint nodes (stateful intermediate nodes), and D serves as a transit node (stateless intermediate node) for transition forwarding. Stateful intermediate nodes are node satellites that support the Segment Routing IPv6 (SRv6) protocol based on Internet Protocol version 6, while stateless intermediate nodes are node satellites that do not support the SRv6 protocol.
[0093] The first message carries network path information and message data. The network path information indicates the intermediate node satellites passed from the first node satellite to the second node satellite, as well as the number of longitude and / or latitude hops required to reach the second node satellite. The second message includes a message header and message data, with the message header determined by the network path information.
[0094] It should be noted that in network communications, messages are the basic units of data transmission. Each message consists of a message header and message data. The message header usually carries control information related to the message, such as the source address, destination address, sequence number, checksum, etc. In the above method embodiment, the second message is generated based on the first message. The second message consists of a message header and message data. The network path information is part of the message header and is used to record the transmission path information of the second message in the satellite network. The path information can help nodes perform routing and path optimization. The message data refers to the actual payload that needs to be transmitted. The specific message data content varies depending on the application scenario and protocol, and can be text, files, images, audio or video, etc. The specific format and encoding of the message data depends on the communication protocol and application layer protocol used. In the exemplary application scenario, the first node satellite supports the SRv6 protocol.
[0095] The following is a basic introduction to the SRv6 protocol in related technologies.
[0096] Internet Protocol version 6 (IPv6) Segment Routing (SRv6) is a protocol designed based on source routing to forward IPv6 packets across the network. Based on the IPv6 forwarding plane, SRv6 inserts a routing extension header, also known as the Segment Routing Header (SRH), into IPv6 packets. It pushes an explicit IPv6 address stack into the SRH and implements hop-by-hop forwarding by continuously updating the destination address and offset address stack through intermediate nodes.
[0097] In the SRv6 protocol, the SRv6 Segment Identifier (SID) is a label or identifier used to identify a network path. The Locator, Function, and Argument fields are SID fields. In related technologies, a Locator is an identifier assigned to a network node for routing and forwarding packets. Within a SID, the Locator is a variable-length field designed to adapt to networks of varying sizes. The Locator identifier has two important properties: routable and aggregatable. The Function expresses the forwarding action to be performed by the instruction, similar to the opcode of a computer instruction. In SRv6 network programming, different forwarding behaviors are represented by different Functions. The Argument field is an optional field used to carry parameters required for instruction execution. These parameters may include flow, service, or any other relevant information. The SRH carries a sequence of SIDs, enabling flexible programming of SRv6 network paths and various functions. The SRH can also include an optional TLV field for carrying variable-length data, providing enhanced SRv6 scalability. It should be noted that, in the embodiment of the present disclosure, the connotation of the target field of the SRH and the connotations of the fields of the SID, namely, Locator, Function and Argument, are redefined (to be explained later).
[0098] Furthermore, in the above method embodiment, the network path information is used to indicate the intermediate node satellites passed through from the first node satellite to the second node satellite, as well as the number of longitude hops and / or latitude hops required to reach the second node satellite. A designated bit of the destination field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite.
[0099] That is, the first device can calculate the number of longitude hops and / or latitude hops required to move from the first node satellite to the second node satellite based on the satellite topology. The first device can also redefine the target field of the SRH. The designated bit of the target field in the SRv6 message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite, so as to re-formulate a routing plan based on the number of longitude hops and / or latitude hops.
[0100] Specifically, considering that the positions of the first node satellite and the second node satellite are relatively fixed within a given time period, and that message forwarding takes milliseconds, time can be divided into several minute-level intervals, and the satellite topology within each time interval can be considered a static topology. Thus, the path from the first node satellite to the second node satellite can be expressed as a longitude-latitude route: starting from the first node satellite, it takes N longitude hops and M latitude hops to reach the second node satellite (N and M are both positive integers). At a certain moment, if the first node satellite wants to communicate with the second node satellite, the target field of the SRH can be redefined as follows: a designated bit of the target field in the SRv6 message header is defined to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite. Thus, the second message carries this hop count and its counting method, allowing message forwarding to be guided by changes in the longitude hop count and / or latitude hop count. Therefore, only the longitude hop count and latitude hop count in the current grid need to be known to accurately send message data to the second node satellite (as shown in Figure 2). In this way, the satellite routing scheme can be simplified, and efficient routing forwarding can be achieved by combining source address routing with the path specified by the source node.
[0101] As shown in FIG3 , step S102, generating a second message according to the first message, includes:
[0102] Step S1021: Determine the SID field in the message header according to the network path information;
[0103] Step S1022: copy the SID to the destination address field of the message header, and determine the value of the designated bit of the destination field in the message header according to the parameter field;
[0104] It should be noted that this disclosed embodiment redefines the definition of the SRH's Target field and the SID fields—Locator, Function, and Argument. Specifically, the SID field includes at least one of the following: Argument, Function, and Locator. The Argument field indicates the number of longitude and / or latitude hops required for the second message to reach the second node satellite, and the length of the Argument field is reserved. Optionally, 32 bits of Argument length can be reserved, where Argument includes: Sla (Segment Latitude) and SLo (Segment Longitude), SLa and SLo represent the horizontal / latitude hop count and the vertical / longitude hop count, respectively, each of which is 16 bits and expressed in binary complement, with positive from north to south, negative from south to north, positive from west to east, and negative from east to west. The total length of SID is 128 bits. After reserving 32 bits for Argument, the total length of Locator+Funtion is 96 bits. Since Function is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction, 2 bits can be reserved for Function, and the remaining 94 bits are Locator. It should be noted that the above-mentioned reserved bits are only used as an exemplary description, and the embodiments of the present disclosure do not limit this. Bits can be reserved for the field according to actual conditions.
[0105] In step S1022, the SID can be copied to the destination address field to guide the sending of the message, and the value of the designated bit of the target field in the message header can be determined according to the Argument. The designated bit of the target field is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite. The target field includes at least one of the following: the destination address (DA) field and the tag (Tag) field. Optionally, the lower 32 bits of the destination address indicate the number of longitude hops and latitude hops required for the second message to reach the second node satellite. The first 16 bits and the last 16 bits of the Tag field respectively indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite.
[0106] In a possible implementation, as shown in FIG4 , after step S101, after receiving a first message sent by a first device, the method further includes:
[0107] Step S401: Determine whether the network path is the first network path or the second network path;
[0108] Step S402: When the network path is the first network path, determine the number of SIDs according to the number of intermediate node satellites in the first network path;
[0109] Step S403: When the network path is the second network path, determine the number of SIDs according to the number of intermediate node satellites supporting the SRv6 protocol in the second network path.
[0110] It should be noted that all node satellites in the first network path (also known as the strict network path) support the SRv6 protocol; in the second network path (also known as the loose network path), there are intermediate node satellites that do not support the SRv6 protocol. Stateful intermediate nodes are intermediate node satellites that support the SRv6 protocol, while stateless intermediate nodes are intermediate node satellites that do not support the SRv6 protocol. In the case of different paths, the number of SIDs determined for the first node satellite is different. Assuming the network path is the second network path, and all intermediate node satellites except the first and second node satellites are stateless intermediate nodes, the number of SIDs is 1. If there is one stateful intermediate node, the number of SIDs is 2, that is, the number of SIDs is the number of stateful intermediate nodes plus 1. In the first network path, all intermediate node satellites are stateful intermediate nodes, so the number of SIDs can be directly determined as the number of all intermediate node satellites plus 1. In special circumstances, if the first node satellite and the second node satellite are not in the same orbital plane, the node closest to the second node satellite in the plane where the first node satellite is located can be selected as the stateful intermediate node. The first node satellite is required to communicate with the stateful intermediate node first, and then the stateful intermediate node communicates with the second node satellite.
[0111] Let's take Figure 2 as an example. The scenario shown can be divided into a first network path that must pass through another stateful intermediate node (illustrated here by point C) and a second network path without a stateful intermediate node. The two scenarios require different numbers of encapsulated SIDs. With point C, two SIDs (SIDAC and SIDCB) are encapsulated, while without point C, one SID (SIDAB) is encapsulated.
[0112] It should be noted that the specific manner of forwarding the second message for a stateless intermediate node and a stateful intermediate node is different, which will be described in detail in a subsequent embodiment with an intermediate node satellite as the execution subject.
[0113] In one possible implementation, the method further includes receiving a third message sent by the second node satellite; the third message includes an SRv6 message header and message data; and the destination address of the SRv6 message header in the third message is the address of the first node satellite. In other words, the source address of the first node satellite is constructed symmetrically with the destination address. That is, for a pair of satellites communicating, the source address and the destination address for reverse communication are the same. This allows for rapid and automatic establishment of a bidirectional connection.
[0114] As a result, a large number of functions are migrated to ground stations or terminals, while the existing IP forwarding protocol is reused, the fields in the SRH message header are redefined, and the changes in the longitude hop count and / or latitude hop count are used to guide the forwarding of messages, which can simplify the satellite routing solution and achieve efficient routing forwarding.
[0115] FIG5 shows a satellite communication routing method according to an embodiment of the present disclosure. The method is applied to an intermediate node satellite. As shown in FIG5 , the method includes:
[0116] Step S501: receiving a second message from a first node satellite;
[0117] Step S502: determining the forwarding direction of the second message according to the type of the intermediate node satellite;
[0118] Step S503: Process the second message;
[0119] Step S504: Send the processed second message to the node satellite in the forwarding direction.
[0120] The second message includes a message header and message data, and the designated bit of the target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite.
[0121] In step S502, the forwarding direction of the second message is determined in the following two ways:
[0122] When the intermediate node satellite supports the SRv6 protocol, the forwarding direction of the second message is determined based on the Function field of the SID in the SRv6 message header. The Function field indicates the longitude and / or latitude direction of the second message. That is, after decapsulating the second message, it is forwarded in the direction indicated by the Function field of the SID.
[0123] When the intermediate node satellite is a node satellite that does not support the SRv6 protocol, the forwarding direction of the second message is determined based on the intermediate node satellite's neighboring node satellites. Specifically, the direction of the pre-recorded highest-priority neighbor node satellite relative to the intermediate node satellite can be determined as the forwarding direction of the second message, or the direction of the neighbor node satellite with the best communication quality relative to the intermediate node satellite can be determined as the forwarding direction of the second message, or any randomly determined neighbor node satellite can be used as the forwarding direction of the second message.
[0124] It should be noted that even if the intermediate node satellite is a stateful intermediate node satellite, the preferred method is to forward in the direction indicated by the Function field of the SID, but an alternative method may also be to determine the forwarding direction of the second message based on the neighboring node satellites of the intermediate node satellite. For example, when the next intermediate node satellite corresponding to the direction indicated by the Function field fails, the alternative method can be adopted. In addition, if there is a neighboring satellite failure in the longitude direction, the message can continue to be forwarded in the latitude direction and automatically skip the failure. Similarly, if there is a neighboring satellite failure in the latitude direction, the message can continue to be forwarded in the longitude direction and automatically skip the failure. As long as the longitude hop count and the latitude hop count ultimately reach 0, the message can reach the correct destination node satellite (the second node satellite).
[0125] Therefore, the next intermediate node satellite can be flexibly selected for further message forwarding according to actual conditions to ensure the correctness and reachability of message forwarding.
[0126] In step S503, the second message is processed by decreasing the number of latitude hops required for forwarding in the latitude direction; and decreasing the number of longitude hops required for forwarding in the longitude direction. In a specific application scenario, if the forwarding direction is latitude, the number of latitude hops required for forwarding is reduced by 1; if the forwarding direction is longitude, the number of longitude hops required for forwarding is reduced by 1. That is, each time the message passes through an intermediate node satellite, it moves one longitude hop or one latitude hop closer to the second node satellite. Depending on the forwarding direction, the number of longitude hops and / or latitude hops can be reduced by 1.
[0127] In addition, when the types of intermediate node satellites are different, the specific processing methods are different.
[0128] When the intermediate node satellite is a stateful intermediate node satellite, the current SID must be copied to the destination address field of the SRv6 header, and the number of SIDs in the SRv6 header must be reduced by 1. It should be noted that, as described in the embodiment shown in FIG1 , when the intermediate node satellite is a stateful intermediate node satellite, the number of SIDs encapsulated at the first node satellite is related to the number of stateful intermediate node satellites. Therefore, the number of SIDs must be reduced by 1 each time a stateful intermediate node satellite is passed. The current SID is then copied to the destination address field of the SRv6 header to indicate the transmission of the second message. For example, if three SIDs are encapsulated at the first node satellite A—the AB segment SID, the BC segment SID, and the CD segment SID—then at intermediate node satellite B, the BC segment SID must be copied to the destination address field of the SRv6 header to indicate that the second message is to be sent to node satellite C. At node satellite C, the CD segment SID must be copied to the destination address field of the SRv6 header to indicate that the second message is to be sent to the second node satellite D.
[0129] When the intermediate node satellite is a stateless intermediate node satellite, in addition to reducing the number of longitude hops and / or latitude hops required to move by 1 according to the forwarding direction, the second message is forwarded only according to the method shown in step S402, and no other processing is performed.
[0130] In step S504 , the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and a second node satellite.
[0131] In one possible implementation, the method further includes: when the number of longitude hops and / or latitude hops required for movement is both zero, determining whether the information indicated by the number of bits in the destination address field of the SRv6 message header, excluding the designated bits, is the address information of the satellite itself; if not, sending an ICMP message to the first node satellite; wherein the ICMP message is an error message indicating that the destination is unreachable. In other words, if the number of longitude hops and the number of latitude hops are both reduced to 0, and the destination address in the message is not the current satellite address, an ICMP message should be immediately sent to the source end (the first node satellite), with its address directly populated in the ICMP message after the source and destination are swapped based on the current message, and the error is that the destination is unreachable.
[0132] Therefore, for the intermediate node satellite, there is no need to know the complete satellite network link status and path. It only needs to know which neighboring intermediate node satellite to forward the second message to. There is no need for link status synchronization and a large amount of routing, which reduces the requirements for the satellite.
[0133] In summary, the embodiments of the present disclosure reduce the requirements for routing protocols compared to related technologies. Specifically, the routing protocols in related technologies mainly include several major steps such as neighbor discovery, link state synchronization, and route calculation. Among them, link state synchronization and route calculation have the largest overhead, and the routing convergence is slow. The quality of service provided by the path is difficult to meet the requirements, etc., which are the bottlenecks of the routing protocol. In addition, traditional IP routing requires that all devices in the forwarding path know the route of the destination address. 40,000 satellites can be deployed in a low-orbit satellite network. If the traditional routing method is used, each satellite needs to maintain 40,000 frequently changing routes, which brings great technical challenges. The satellite communication routing solution based on the segment routing mechanism shown in the embodiment of the present disclosure can simplify the routing and addressing mechanism, and can deal with the problem of frequent oscillations of the traditional routing protocol network due to the strong dynamics of the space network topology, and provide a relatively deterministic path transmission guarantee.
[0134] In terms of application prospects, the method shown in the embodiments of this disclosure can more efficiently achieve the integration of air, space, and ground, better meet the needs of personal communication and information acquisition, and improve user experience and satisfaction. It has certain application prospects in view of the future trend of the evolution of air, space, and ground integrated networks.
[0135] FIG6 shows a satellite communication routing device provided according to an embodiment of the present disclosure. The device is applied to a first node satellite. The device 60 includes:
[0136] A first receiving module 601 is configured to receive a first message sent by a first device, wherein the first message carries network path information and message data, where the network path information is used to indicate intermediate node satellites passed from the first node satellite to the second node satellite and the number of longitude hops and / or latitude hops required to reach the second node satellite;
[0137] A first execution module 602 is configured to generate a second message based on the first message; wherein the second message includes a message header and message data, the message header being determined by the network path information, and a designated bit of a target field in the message header being used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0138] The second message is sent to the intermediate node satellite according to the network path information.
[0139] In a possible implementation, the target field includes at least one of the following: a destination address field and a tag field.
[0140] In one possible implementation, the first execution module 602 is further configured to determine a SID field in the message header based on the network path information, where the SID field includes at least one of the following: an Argument field and a Function field; wherein the Argument field indicates the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; and the Function field indicates that the movement direction of the second message is the longitude direction and / or the latitude direction.
[0141] The SID is copied to the destination address field, and based on the Argument, the value of the specified bit of the destination field in the message header is determined.
[0142] In one possible implementation, the message header is an SRv6 message header, and the first execution module 602 is further configured to, after receiving the first message sent by the first device, determine whether the network path is the first network path or the second network path; wherein all node satellites in the first network path support the SRv6 protocol; and in the second network path, there are intermediate node satellites that do not support the SRv6 protocol;
[0143] In the case where the network path is the first network path, determining the number of SIDs according to the number of intermediate node satellites in the first network path;
[0144] In the case where the network path is the second network path, the number of SIDs is determined according to the number of intermediate node satellites supporting the SRv6 protocol in the second network path.
[0145] In a possible implementation, the first execution module 602 is further configured to receive a third message sent by the second node satellite; wherein the third message includes: a message header and message data;
[0146] The destination address of the message header in the third message is the address of the first node satellite.
[0147] FIG7 shows a satellite communication routing device provided according to an embodiment of the present disclosure. The device is applied to an intermediate node satellite. The device 70 includes:
[0148] The second receiving module 701 is configured to receive a second message from the first node satellite; wherein the second message includes a message header and message data, and a designated bit of a destination field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite;
[0149] The second execution module 702 is configured to determine a forwarding direction of the second message based on the type of the intermediate node satellite; process the second message, including: if the forwarding direction is the latitude direction, decrementing the number of latitude hops required to move; if the forwarding direction is the longitude direction, decrementing the number of longitude hops required to move;
[0150] The processed second message is sent to the node satellite in a forwarding direction, wherein the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and a second node satellite.
[0151] In a possible implementation, the second execution module 702 is further configured to reduce the number of latitude hops required to move by 1 if the forwarding direction is the latitude direction; and reduce the number of longitude hops required to move by 1 if the forwarding direction is the longitude direction.
[0152] In one possible implementation, the second execution module 702 is further configured to, when the intermediate node satellite is a node satellite supporting the SRv6 protocol, determine the forwarding direction of the second message according to the function field of the SID in the SRv6 message header; wherein the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction;
[0153] Alternatively, when the intermediate node satellite is a node satellite that does not support the SRv6 protocol, the forwarding direction of the second message is determined according to the neighboring node satellites of the intermediate node satellite.
[0154] In a possible implementation, the second execution module 702 is further configured to determine the direction of the neighboring node satellite with the highest priority recorded in advance relative to the intermediate node satellite as the forwarding direction of the second message;
[0155] Determine the direction of the neighboring node satellite with the best communication quality relative to the intermediate node satellite as the forwarding direction of the second message;
[0156] Any neighbor node satellite is randomly determined, and the direction of the determined neighbor node satellite relative to the intermediate node satellite is determined as the forwarding direction of the second message.
[0157] In one possible implementation, the target field includes: a destination address field, and the second execution module is further configured to copy the current SID to the destination address field of the SRv6 message header;
[0158] Decrease the number of SIDs in the SRv6 packet header by 1.
[0159] In one possible implementation, the second execution module 702 is further configured to, when the number of longitude hops and / or latitude hops required to move is zero, determine whether information indicated by the number of bits other than the specified bit in the destination address field of the SRv6 packet header is its own address information;
[0160] If not, an ICMP is sent to the first node satellite; wherein the ICMP is an error message indicating that the destination is unreachable.
[0161] As a result, a large number of functions are migrated to ground stations or terminals, while the existing IP forwarding protocol is reused, the fields in the SRH message header are redefined, and the changes in the longitude hop count and / or latitude hop count are used to guide the forwarding of messages, which can simplify the satellite routing solution and achieve efficient routing forwarding.
[0162] An embodiment of the present disclosure provides an electronic device 80, as shown in Figure 8, which includes: a processor 801, a memory 802, and a program stored in the memory 802 and executable on the processor 801. When the program is executed by the processor 801, the steps of the satellite communication routing method shown in the above embodiment are implemented.
[0163] The present disclosure also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the method embodiment shown in FIG. 1 and achieves the same technical effects. To avoid repetition, the details are omitted here. The computer-readable storage medium may be, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0164] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0165] Through the description of the above embodiments, those skilled in the art can clearly understand that the above embodiment methods can be implemented by means of software plus the necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better embodiment. Based on this understanding, the technical solution of the present disclosure, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present disclosure.
[0166] The embodiments of the present disclosure are described above in conjunction with the accompanying drawings, but the present disclosure is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present disclosure, ordinary technicians in this field can also make many forms without departing from the scope of protection of the purpose of the present disclosure and the claims, all of which are protected by the present disclosure.
Claims
1. A satellite communication routing method, the method being applied to a first node satellite, the method comprising: Receive a first message sent by a first device, wherein the first message carries network path information and message data, and the network path information is used to indicate the intermediate node satellites passed from the first node satellite to the second node satellite and the number of longitude hops and / or latitude hops required to move to reach the second node satellite; Generate a second message according to the first message; wherein the second message includes a message header and the message data, the message header is determined by the network path information, and the designated bit of the target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; The second message is sent to the intermediate node satellite according to the network path information.
2. The method according to claim 1, wherein: The target field includes at least one of the following: a destination address field and a tag field.
3. The method according to claim 1, wherein: The message header is a segment routing SRv6 message header based on Internet Protocol version 6, and generating a second message according to the first message includes: Determine a segment identifier SID field in the message header according to the network path information, wherein the SID field includes at least one of the following: a parameter field and a function field; wherein the parameter field is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; and the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction; The SID is copied to the destination address field of the message header, and the value of the designated bit of the target field in the message header is determined according to the parameter field.
4. The method according to claim 3, wherein: After receiving the first message sent by the first device, the method further includes: Determine that the network path is a first network path or a second network path; wherein all node satellites in the first network path support the SRv6 protocol; and in the second network path, there are intermediate node satellites that do not support the SRv6 protocol; In a case where the network path is the first network path, determining the number of the SIDs according to the number of intermediate node satellites in the first network path; In the case where the network path is a second network path, the number of the SIDs is determined according to the number of intermediate node satellites supporting the SRv6 protocol in the second network path.
5. The method according to claim 1, further comprising: receiving a third message sent by the second node satellite; wherein the third message includes: a message header and message data; The destination address of the message header in the third message is the address of the first node satellite.
6. A satellite communication routing method, the method being applied to an intermediate node satellite, the method comprising: Receive a second message from the first node satellite; wherein the second message includes a message header and message data, and the designated bit of the target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; Determining a forwarding direction of the second message according to the type of the intermediate node satellite; Processing the second message includes: if the forwarding direction is the latitude direction, decreasing the number of latitude hops required to move; if the forwarding direction is the longitude direction, decreasing the number of longitude hops required to move; The processed second message is sent to the node satellite according to the forwarding direction, wherein the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and the second node satellite.
7. The method according to claim 6, wherein: If the forwarding direction is the latitude direction, the number of latitude hops required to move is decreased; if the forwarding direction is the longitude direction, the number of longitude hops required to move is decreased including: If the forwarding direction is the latitude direction, the number of latitude hops required to move is reduced by 1; If the forwarding direction is the longitude direction, the number of longitude hops required to move is reduced by 1.
8. The method according to claim 6, wherein: The message header is an SRv6 message header, and determining the forwarding direction of the second message according to the type of the intermediate node satellite includes: When the intermediate node satellite is a node satellite supporting the SRv6 protocol, the forwarding direction of the second message is determined according to the function field of the SID in the SRv6 message header; wherein the function field is used to indicate that the moving direction of the second message is the longitude direction and / or the latitude direction; or, When the intermediate node satellite is a node satellite that does not support the SRv6 protocol, the forwarding direction of the second message is determined according to a neighboring node satellite of the intermediate node satellite.
9. The method according to claim 8, wherein: Determining the forwarding direction of the second message according to the neighboring node satellite of the intermediate node satellite includes at least one of the following: Determine the direction of the neighboring node satellite with the highest priority recorded in advance relative to the intermediate node satellite as the forwarding direction of the second message; Determine the direction of the neighbor node satellite with the best communication quality relative to the intermediate node satellite as the forwarding direction of the second message; Any neighbor node satellite is randomly determined, and the direction of the determined neighbor node satellite relative to the intermediate node satellite is determined as the forwarding direction of the second message.
10. The method according to claim 8, wherein: The target field includes: a destination address field. When the intermediate node satellite is a node satellite supporting the SRv6 protocol, processing the second message further includes: Copying the current SID to the destination address field of the SRv6 message header; The number of SIDs in the SRv6 message header is reduced by 1.
11. The method according to claim 10, further comprising: In a case where the number of longitude hops and / or the number of latitude hops required to move are both zero, determining whether information indicated by the number of bits other than the designated bit in the destination address field of the SRv6 message header is the address information of the packet itself; If not, an error message indicating that the destination is unreachable is sent to the first node satellite.
12. A satellite communication routing device, the device being applied to a first node satellite, the device comprising: A first receiving module, configured to receive a first message sent by a first device, wherein the first message carries network path information and message data, and the network path information is used to indicate the intermediate node satellites passed from the first node satellite to the second node satellite and the number of longitude hops and / or latitude hops required to move to reach the second node satellite; A first execution module is configured to generate a second message according to the first message; wherein the second message includes a message header and the message data, the message header is determined by the network path information, and the designated bit of the target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; The second message is sent to the intermediate node satellite according to the network path information.
13. A satellite communication routing device, the device being applied to an intermediate node satellite, the device comprising: A second receiving module is used to receive a second message from the first node satellite; wherein the second message includes a message header and message data, and the designated bit of the target field in the message header is used to indicate the number of longitude hops and / or latitude hops required for the second message to reach the second node satellite; A second execution module, configured to determine a forwarding direction of the second message according to a type of the intermediate node satellite; Processing the second message includes: if the forwarding direction is the latitude direction, decreasing the number of latitude hops required to move; if the forwarding direction is the longitude direction, decreasing the number of longitude hops required to move; The processed second message is sent to the node satellite according to the forwarding direction, wherein the node satellite includes at least one of the following: a next intermediate node satellite adjacent to the intermediate node satellite and the second node satellite.
14. An electronic device comprising: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the satellite communication routing method as described in any one of claims 1 to 5 are implemented, or when the program is executed by the processor, the steps of the satellite communication routing method as described in any one of claims 6 to 11 are implemented.
15. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed by the processor, the steps of the satellite communication routing method according to any one of claims 1 to 5 are implemented, or when the program is executed by the processor, the steps of the satellite communication routing method according to any one of claims 6 to 11 are implemented.
Citation Information
Patent Citations
Satellite network data transmission method and device
CN114826999A
Low-orbit satellite network routing method, control device and computer readable storage medium
CN116347557A
LEO constellation network end-to-end hop count calculation method and device
CN116405102A
SRv6-based low earth orbit satellite network multi-service distribution method
CN116668356A
Instructive satellite routing
WO2023168088A1
Cited By
Satellite network topology discovery method, path construction method and device
CN120856207A