Detailed Description
The invention is described in further detail below with reference to the figures and specific embodiments.
The invention relates to a routing method for LEO satellite constellation, wherein (1) a routing table is set on the ground and is solidified in all satellite nodes in advance; in the routing table of each satellite node, a plurality of routes are available between the satellite and each other satellite; (2) after receiving the data packet, the satellite node firstly reads the frame header, judges whether the format of the data packet is wrong or not according to the frame header, if so, discards the data packet, if so, judges whether the destination satellite address in the frame header is the address of the satellite, if so, further judges the frame type in the frame header, and the frame type comprises: a service frame, a signaling frame and a frame not belonging to any frame; if the frame type is a service frame, sending the data packet to a downlink; if the frame type is a signaling frame, sending the signaling frame to a CPU of the satellite; if the frame type is not any frame, discarding the data packet; if not, judging whether the survival time of the data packet is 0, if so, discarding the data packet and continuing to receive the next data packet, if not, further reading a routing mark in the frame header and inquiring a corresponding route (namely a next hop satellite address) in a routing table corresponding to the current time; (3) inquiring a corresponding satellite output port in a forwarding table according to the inquired route; (4) judging the connection state of an inter-satellite link where a satellite output port is located according to the connection state of the inter-satellite link in a topology table periodically updated by the satellite, wherein the connection state comprises normal communication and abnormal communication; if the communication is normal, the survival time of the data packet is reduced by 1, the data packet is sent to the satellite output port, then the next data packet is continuously received, if the communication is abnormal, whether an unused new route exists in the routing table is judged, if yes, the new route is inquired again from the routing table, the step (3) is returned, and if not, the data packet is discarded.
For LEO satellites, the satellite orbit and constellation arrangement are determined, each satellite generally has 4 intersatellite links, and the whole network is in a mesh topology structure. The main characteristics of the satellite network and the restriction factors on the route design are as follows: (1) the satellite processor has limited computing capacity and storage resources; (2) the network topological structure changes dynamically, and the link switching is frequent; (3) the effective time of the route is short, the transmission time of the link is prolonged, and the error rate is high.
Therefore, the routing design of the satellite network cannot carry the routing technology widely used by the existing ground network, and no mature experience can be followed. The present invention aims to solve the above problems.
The invention relates to a routing method for an LEO satellite constellation, which preferably comprises the following steps:
(1) the routing table is set on the ground and is solidified in all the satellite nodes in advance; in the routing table of each satellite node, a plurality of routes are available between the satellite and each other satellite;
(2) after receiving the data packet, the satellite node firstly reads the frame header, judges whether the format of the data packet is wrong or not according to the frame header, if so, discards the data packet, if so, judges whether the destination satellite address in the frame header is the address of the satellite, if so, further judges the frame type in the frame header, and the frame type comprises: a service frame, a signaling frame and a frame not belonging to any frame; if the frame type is a service frame, sending the data packet to a downlink; if the frame type is a signaling frame, sending the signaling frame to a CPU of the satellite; if the frame type is not any frame, discarding the data packet; if not, judging whether the survival time of the data packet is 0, if so, discarding the data packet and continuing to receive the next data packet, if not, further reading a routing mark in the frame header and inquiring a corresponding route in a routing table corresponding to the current time;
(3) inquiring a corresponding satellite output port in a forwarding table according to the inquired route;
(4) judging the connection state of an inter-satellite link where a satellite output port is located according to the connection state of the inter-satellite link in a topology table periodically updated by the satellite, wherein the connection state comprises normal communication and abnormal communication; if the communication is normal, the survival time of the data packet is reduced by 1, the data packet is sent to the satellite output port, then the next data packet is continuously received, if the communication is abnormal, whether an unused new route exists in the routing table is judged, if yes, the new route is inquired again from the routing table, the step (3) is returned, and if not, the data packet is discarded.
And inquiring the corresponding route, namely inquiring the next hop satellite address.
The routing table is solidified in EEPROM or FLASH of all satellite nodes in advance.
Taking a constellation of low earth orbit communication satellites as an example, the constellation is composed of 54 satellites, and has 6 orbital planes, 9 satellites on each orbital plane, and the orbital height is between 600km and 2000km, and for a single satellite, there are 4 inter-satellite links (2 co-orbital links and 2 off-orbital links), as shown in fig. 1. The ground segment network includes a system control center, a gateway station, a measurement and control station, and other ground support networks, the system control center is a control center of the whole network and is responsible for operation and maintenance of the system, the gateway station is responsible for managing network services, and simultaneously, the satellite network is also connected with a ground public network and a mobile network, as shown in fig. 2.
The system control center is provided with a database which can collect, count and analyze the inter-satellite link state parameters of all the satellite nodes, including (but not limited to) the current data flow and the available margin of the communication link, the number of attempts of link call establishment, the link call establishment failure rate and the like. By using the link state parameters, the system control center can optimize and update the route from the source satellite node to the target satellite node.
Fig. 1 is also a topological diagram of inter-satellite links of a satellite network, wherein blue lines are inter-satellite links on the same orbit, and red lines are inter-satellite links on different orbits.
An on-orbit inter-satellite link refers to a link between adjacent satellites in the same orbital plane. The same orbital inter-satellite link remains connected at all times, considering that satellites in the same orbital plane can be considered relatively stationary.
The inter-iso-orbit inter-satellite link is a link between adjacent satellites connecting adjacent orbits, and has the following characteristics:
1) the connection is not fixed: as the satellite moves to a high latitude area, the relative speed between adjacent satellites in different orbits is increased, and the connection is difficult to maintain until 60 degrees north and south latitude, so that the disconnection of a link occurs. After leaving the area with 60 degrees north and south latitude, the connection is established again to form the periodic on-off characteristic.
2) Reverse slots have difficulty establishing links: because the relative motion speed of the inter-satellite link between the two opposite orbits (i.e. the satellites on both sides of the reverse slot) is greater, it is difficult to establish and maintain the inter-satellite link on both sides of the reverse slot.
3) The link delay is constantly changing: the distance between adjacent satellites in different orbits is changed along with the movement of the satellites, and when the satellites are closer to a polar region, the relative distance is shorter, and the link delay is also shorter.
FIG. 3 shows a characteristic diagram of a reverse slot, including inter-satellite link topology and shutdown features.
The low earth orbit constellation is a satellite network with the topological relation of links among satellites changing at any time, but the topological relation changes regularly and periodically and is predictable. Therefore, one period can be divided into N independent topology tables in time, so that the inter-satellite link topology relationship of the whole satellite network is fixed and invariable in each topology table. Each satellite correspondingly has N routing tables in one period and performs periodic switching according to the time when the inter-satellite link topology changes.
In the method of the invention, the topological table is preferably as follows:
FIG. 4 is a typical topology table of 9 satellite nodes, which records the number of inter-satellite links and the connection status of each satellite, and for each satellite, there are at most 4 valid inter-satellite links, "up" represents the inter-satellite links in the flight direction of the satellite, "down" represents the inter-satellite links in the opposite direction of the satellite flight,
"left" represents the left side inter-satellite link of the satellite and "right" represents the right side inter-satellite link of the satellite. The whole network satellite has the same topological table.
The topology table is one of the inputs to the computation of the routing table and does not need to be stored on the satellite.
In the method of the present invention, the preferred scheme of the routing table is as follows:
depending on the topology table and the particular routing algorithm, a routing table can be calculated. The calculation of the routing table is completed by the ground system control center, and is solidified in EEPROM or FLASH of all satellite nodes in advance, and is executed independently by each satellite node. N routing tables of each satellite in one period and N topological tables are in one-to-one correspondence mapping relation.
All satellite nodes have the exact same routing table.
Fig. 5 is a schematic diagram of a format of a single routing table within a certain time slice, taking the satellite node 1 as an example. The routing table contains a source satellite address, a destination satellite address, and a next hop satellite address. In this schematic diagram, the source satellite address is satellite 1; the target satellite addresses are satellite 2 to satellite 54 respectively; the next-hop satellite addresses represent 4 directions of the data packet output by the routing of the satellite 1 by using "up", "down", "left" and "right", and the next-hop satellite addresses corresponding to the 4 directions are used for replacement in actual application, for example, when the satellite 2 is above the satellite 1, the satellite 4 is below, the satellite 3 is on the left, and the satellite 5 is on the right in the topological table, the satellite 2, the satellite 4, the satellite 3 and the satellite 5 are respectively used for replacement in the drawing. When a certain heterotactic link of the satellite 1 is closed (i.e. a reverse slot) or a certain inter-satellite link is permanently failed, the corresponding next-hop satellite address is represented by "NULL". When the data packet arrives at the satellite 1, and the destination satellite address in the data packet is the satellite 1 itself, it indicates that the data packet is sent to the ground station or ground user terminal corresponding to the satellite 1, and the inter-satellite link of the satellite 1 is not taken, so that the routing table does not need to be queried.
In each routing table, a plurality of routes are available from the satellite 1 to each other satellite (namely, a plurality of route configurations including route 1, route 2 and route 3 … … route n exist), and the routes are obtained by calculation through different routing algorithms, such as a classical bellman-ford algorithm, a Dijkstra algorithm and the like, and the algorithms are not limited and can be flexibly customized. This has two major advantages: firstly, the service load can be more effectively balanced; and secondly, the satellite node is allowed to select different paths for routing according to the load or the service type of the satellite node, and the routing is realized through a routing mark in a data packet format.
In the method of the present invention, the preferred scheme of the route configuration mapping table is as follows:
fig. 6 is a mapping table of a typical routing configuration, which is stored in a satellite node storage and can be updated by a system control center to the satellite node. After receiving the data packet, the satellite node inquires the route mark in the data packet and selects a corresponding route for forwarding. The route mark in the figure is 4bits, 16 route configurations can be mapped at most, wherein "0001" represents that route 1 is used, "0010" represents that route 2 is used, "0011" represents that route 3 … … is used, and the like, and "0000" represents a random route, which represents that a packet can randomly use any one of route 1 to route n when being sent from a source end to a destination end. "FFFF" represents a default route, and represents that packets are sent from the source to the destination to be routed according to the priority order of route 1, route 2, and route 3 … ….
All satellite nodes have the same routing configuration mapping table.
In the method of the present invention, the preferred scheme of the forwarding table is as follows:
the forwarding table shows the corresponding relation between the address of the next-hop satellite and the inter-satellite link output from the satellite to the next-hop satellite, and the table is stored in the storage of the satellite node and determines which physical port of the satellite node (satellite-borne router) the data packet is sent out.
The forwarding tables of each satellite node are different.
In the method of the invention, a satellite time slot periodic table can be seen, and the preferred scheme is as follows:
and storing the visible stars of the ground station in the current and previous and next periods, storing the table in a satellite node storage, and acquiring the destination visible star address according to the time slot periodic table when the destination address of the data packet is the ground terminal. The position of the low earth orbit satellite relative to the ground station changes frequently, and the visible satellite periodic table also changes dynamically.
In the method of the present invention, the data packet format, the preferred scheme is as follows:
a typical packet consists of a header and a payload, and is formatted as shown in fig. 7.
1) Frame length: the range is calculated from the frame length, i.e. the length of the whole frame
2) Frame type: packet types such as voice, data, signaling, telemetry, remote, test, etc.
3) Destination address: the destination satellite address.
4) Source address: the source satellite address.
5) Routing mark: the route flag corresponds to a corresponding route.
6) Time to live, TTL: indicating the survival time, hop by 1.
7) Priority: the maximum can be defined as 0-15, 16 grades are totally, and the 0 grade is the highest.
8) Logical channel flag LCN: mapping of beam numbers, frequency numbers, slot numbers, etc. can be achieved.
9) Frame header checking: the error may be checked in a number of ways and discarded if checked.
10) Payload: the variable-length format is adopted, the bytes are 0-1500 bytes variable, various service data are borne, and the payload data are transparently forwarded on the satellite without being analyzed.
The routing interaction of the data packet needs the support of a routing table, a forwarding table and a visible satellite time slot periodic table, so that the complexity of the routing exchange on the satellite is reduced, the storage capacity of the routing table is reduced, the processing workload of a satellite router is reduced, the routing exchange of a low earth orbit satellite system is limited to the routing exchange between the satellites, and the satellite-ground link is shielded through a tunnel mechanism.
In the method of the present invention, the transmission process, the preferred scheme is as follows:
the route exchange process of the data packet comprises a data transmission process from the user terminal to the ground, a data transmission process from the ground to the user terminal and a data transmission process from the user terminal to the user terminal, and the specific processes are as follows:
1) transmission process from user terminal to ground data
The access star receives a data packet sent to the ground terminal by the user terminal, the source address is the user terminal address, the destination address is the ground terminal address, the data packet is packaged in a tunnel according to a tunnel mechanism, the source address of the packaged packet is the access star address, and the destination address is the ground station address.
The data packet is stored and forwarded among the satellites in a hop-by-hop routing mode, on each hop of satellite, the visible satellite of the target ground station at the current time is obtained according to the visible satellite periodic table and is used as the target satellite, the routing table is inquired, the next hop of satellite address is obtained, and the next hop of satellite address is sent to an inter-satellite link through a corresponding port according to the forwarding table. And through hop-by-hop routing, the data packet reaches a target satellite, the data packet is sent to a ground station according to a target ground station address in the packet header, the ground station carries out tunnel decapsulation, and the data packet is sent to a target ground terminal through the ground routing.
And inquiring the visible star periodic table hop by hop to obtain the visible star of the destination ground station, so that the timeliness of the visible star can be ensured.
2) Ground-to-user terminal data transmission process
The ground station receives a data packet of a user terminal sent by the ground terminal, the source address is the ground terminal address, the destination address is the user terminal address, the data packet is packaged in a tunnel according to a tunnel mechanism, the packaged packet source address is the ground station address, and the destination address is the access star address of the user terminal.
The data packet is stored and forwarded between the satellites in a hop-by-hop routing mode, a routing table is inquired on each hop of satellite, a next hop of satellite address is obtained according to a target satellite address, and then the next hop of satellite address is sent to an inter-satellite link through a corresponding port according to a forwarding table. And through hop-by-hop routing, the data packet reaches a target satellite, the data packet is sent to the target satellite according to a target ground station address in the packet header, the target satellite carries out tunnel decapsulation on the data packet, and the data packet is issued to a corresponding user terminal according to a target user terminal address.
3) User terminal-to-user terminal data transmission flow
The access star receives a data packet sent to a user terminal B by a user terminal A, the source address is the address of the user terminal A, the destination address is the address of the user terminal B, the data packet is packaged in a tunnel according to a tunnel mechanism, the source address of the packaged packet is the address of the access star of the user terminal A, and the destination address is the address of the access star of the user terminal B.
The data packet is stored and forwarded among the satellites in a hop-by-hop routing mode, on each hop of satellite, the visible satellite of the target ground station at the current time is obtained according to the visible satellite periodic table and is used as the target satellite, the routing table is inquired, the next hop of satellite address is obtained, and the next hop of satellite address is sent to an inter-satellite link through a corresponding port according to the forwarding table. And through hop-by-hop routing, the data packet reaches the destination satellite, the destination satellite carries out tunnel decapsulation on the data packet, and the data packet is issued to the corresponding user terminal according to the destination user terminal address.
And inquiring the visible star periodic table hop by hop to obtain the visible star of the destination ground station, so that the timeliness of the visible star can be ensured.
In the method of the present invention, the connection status is updated, and the preferred scheme is as follows:
in consideration of the periodicity of the constellation topology, the connection state between the satellites in the topology table in each time period is predictable, but in practical application, the actual connection condition of the inter-satellite link needs to be considered, the connection state includes abnormal phenomena such as communication interruption and communication congestion, the inter-satellite link periodically detects the other side between adjacent satellites to update the connection state of the inter-satellite link, the detection mechanism can use a Hello packet detection mechanism similar to an OSPF protocol, and can also use other handshaking mechanisms for wireless communication, so as to update the connection state of the inter-satellite link in real time.
Fig. 8 is a schematic diagram of a typical 9-satellite node detection, such as satellite 2 periodically handshaking with satellite 1, satellite 8, satellite 3, and satellite 5 to update the state of the four inter-satellite links of satellite 2.
In the method of the present invention, the routing strategy, the preferred scheme is specifically as follows:
the processing flow of the satellite node for the data packet is shown in fig. 9. When a satellite node receives a data packet, firstly reading a frame header, judging whether the format is wrong (such as length, identification bit, checksum and the like), if so, discarding the data packet, and continuously receiving the next data packet, if so, further judging whether a destination satellite address is the satellite, if so, further judging the frame type (such as judging whether the destination satellite address is a service frame sent to a downlink or a signaling frame received by the satellite), and carrying out corresponding operation processing according to different frame types (such as sending the data packet to a downlink module for processing if the destination satellite address is the service frame, sending the data packet to a CPU processor for processing a higher-layer protocol if the destination satellite address is the signaling frame, if not, discarding the data packet), continuously receiving the next data packet, and if not, further judging whether the survival time of the data packet is 0, if yes, discarding the data packet, and continuing to receive the next packet of data packet, if not, further reading the route mark, inquiring a corresponding route (namely a next hop satellite address) in a route table corresponding to the current time, then inquiring a corresponding output port in a forwarding table, judging the connection state of an inter-satellite link where the output port is located according to the inter-satellite link connection state periodically updated by the satellite, if the communication is normal, reducing the survival time of the data packet by 1, sending the data packet to the output port, then continuing to receive the next packet of data packet, and if the communication is abnormal, reselecting a new route. Reselecting a new route, for example, when the route flag is "0000" (random route), reselecting a route at random; when the route flag is "FFFF" (default route), a route one level lower in priority than the previous route is reselected in the priority order of route 1, route 2, and route 3 … ….
The routing table is calculated in advance by a ground system control center and uploaded to all satellite nodes, and each node automatically executes the routing table, so that the routing table belongs to static routing, the calculation of a routing algorithm is prevented from occupying satellite resources, and topology information is prevented from synchronously occupying satellite network bandwidth among constellations; the routing table of the invention contains a plurality of routing options, and the satellite node can flexibly select the optimal route according to the link connection state when the data packet is routed, thereby bypassing the congested or failed link and having the attribute of dynamic route.
The invention is a brand new routing method, which is suitable for a network such as LEO satellite constellation in which the positions of nodes periodically move and the connection between the nodes periodically changes along with the positions of the nodes.