An efficient transmission method, system, device and storage medium for satellite reverse link

By using flexible configuration SLC packets and MAC packet formats to encapsulate and transmit the L3PDU on the satellite communication terminal side, the problems of low data packaging efficiency and channel resource utilization in the reverse link layer in the satellite communication system are solved, and efficient data transmission and channel resource utilization are achieved.

CN116017564BActive Publication Date: 2025-06-24SPACE ENG NETWORK TECH DEV (HANGZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211559743.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-06
Publication Date
2025-06-24
Estimated Expiration
2042-12-06

AI Technical Summary

Technical Problem

In the reverse link layer of satellite communication system, how to improve the link layer data encapsulation efficiency and reverse channel resource utilization rate, and solve the problem of low reverse channel resource utilization rate in the prior art.

Method used

By encapsulating, transmitting and decapsulating the network layer protocol data unit L3PDU based on flexible configurable SLC packet format and MAC packet format on the satellite communication terminal side, dynamically configure and tailor the encapsulation format, reducing packaging overhead, improving transmission efficiency, and segmented transmission of L3PDUs according to the availability of channel resources.

Benefits of technology

It has achieved the reduction of packaging overhead, improved transmission efficiency, improved link layer data packaging efficiency and reverse channel resource utilization, and solved the problem of L3PDU data disorder caused by different technologies of high priority data preemption and low priority data transmission and access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116017564B_ABST
    Figure CN116017564B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, system, device and storage medium for efficient transmission of satellite reverse link, which relates to the field of satellite communication technology. The method is to perform SLC packet encapsulation of complete type, ending type, starting type and / or intermediate type on L3PDU data based on a flexibly configurable SLC packet format during the link layer encapsulation process on the terminal side, and perform MAC encapsulation on at least one SLC packet based on a flexibly configurable MAC packet format. It can not only flexibly select and use optional information, optional byte count information and optional link layer L2 control signaling, realize dynamic configuration and tailoring of the encapsulation format, achieve the purpose of reducing encapsulation overhead and improving transmission efficiency, but also realize the purpose of segmenting and reassembling and restoring L3PDU according to the available situation of allocated channel resources. Furthermore, it can improve the link layer data encapsulation efficiency and reverse channel resource utilization rate, which is convenient for practical application and popularization.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of satellite communication, and particularly relates to a method, system, device and storage medium for efficient transmission of satellite reverse links. Background Art

[0002] In a satellite communication system, generally, the forward channel resources are sufficient and the broadcast communication method is usually used; while the reverse channel resources are scarce, and the MF-TDMA (MultiFrequency Time Division Multiple Access) communication method is generally used to enable multiple satellite communication terminals to share the reverse channel resources. Since different data of users have different reverse transmission priorities, and the transmission service rates of each satellite communication terminal are also different, it is necessary to coordinate the use of channel resources between terminals and within the terminals themselves. Therefore, in the reverse communication process of a satellite communication system, adopting an efficient transmission format and improving the encapsulation efficiency are helpful for reasonably utilizing channel resources and have important practical value.

[0003] In a satellite communication system, the reverse link layer is located below the network layer and provides a multiplexing function for various data packets of the network layer to achieve reliable and efficient data transmission services. The reverse link layer is divided into an upper Satellite Link Control (SLC) sublayer and a lower Media Access Control (MAC) sublayer. Among them, the SLC sublayer is responsible for the segmentation and recombination services of protocol data units (PDUs) to ensure the efficient transmission of user data; the MAC sublayer is responsible for the encapsulation and transmission of SLC sublayer data, and the control of wireless resource application and media access. Corresponding to the MAC and SLC sublayers, the reverse link layer data format is also divided into MAC packet format and SLC packet format. Therefore, in the reverse link layer, how to encapsulate, reverse transmit and decapsulate the network layer protocol data unit L3PDU to improve the data encapsulation efficiency of the link layer and the utilization rate of reverse channel resources is a topic that those skilled in the art have been tirelessly researching. Summary of the Invention

[0004] The purpose of the present invention is to provide a method, system, computer device and computer-readable storage medium for efficient transmission of satellite reverse links to solve the problem of how to improve the data encapsulation efficiency of the link layer and the utilization rate of reverse channel resources in the reverse link layer.

[0005] To achieve the above purpose, the present invention adopts the following technical solutions:

[0006] In the first aspect, a method for efficient transmission of satellite reverse links is provided, which is executed by a satellite communication terminal and includes the following steps S101 to S117:

[0007] S101. Obtain the number of reverse channel time slots allocated by the satellite reverse gateway for the local terminal, convert the obtained number of reverse channel time slots into the number of burst permission bytes, and then execute step S102;

[0008] S102. Clear the Medium Access Control (MAC) packet encapsulation cache space, initialize the number of used bytes in the MAC packet encapsulation cache space to zero, and initialize the number of available bytes in the MAC packet encapsulation cache space to the number of burst permission bytes, and then execute step S103;

[0009] S103. Encapsulate a MAC packet header field starting from the left in the MAC packet encapsulation cache space, increment the number of used bytes by the number of bytes of the MAC packet header field, and decrement the number of available bytes by the number of bytes of the MAC packet header field, and then execute step S104. The MAC packet header field includes a MAC packet basic header field and a MAC packet optional header field adjacent to the right of the MAC packet basic header field. The word length of the MAC packet basic header field is fixed and can be used to configure and indicate whether there is a MAC packet optional header field. The MAC packet optional header field is used to configure any one of the MAC packet option information, the MAC packet optional byte number information, and the optional link layer L2 control signaling, or any combination thereof;

[0010] S104. Determine whether the number of unencapsulated bytes of the currently encapsulated Network Layer Protocol Data Unit (L3PDU) is greater than zero. If so, execute step S106; otherwise, execute step S105;

[0011] S105. Obtain a new L3PDU as the currently encapsulated L3PDU, set the number of encapsulated bytes to zero, and set the number of unencapsulated bytes to the number of bytes of the complete packet of the new L3PDU, and then execute step S106;

[0012] S106. Determine the number of bytes required for encapsulating the Satellite Link Control (SLC) packet header field according to the currently encapsulated L3PDU, and set the number of bytes required for encapsulating the SLC packet to the sum of the number of bytes required for encapsulating the SLC packet header field and the number of unencapsulated bytes, and then execute step S107. The SLC packet header field includes a SLC packet basic header field and a SLC packet optional header field adjacent to the right of the SLC packet basic header field. The word length of the SLC packet basic header field is fixed and can be used to configure and indicate whether there is a SLC packet optional header field. The SLC packet optional header field is used to configure any one of the SLC packet option information and the SLC packet optional byte number information, or any combination thereof;

[0013] S107. Determine whether the available number of bytes is greater than or equal to the number of bytes required for encapsulating the SLC packet. If so, it is considered that the MAC packet encapsulation cache space is still sufficient, and then step S108 is executed. Otherwise, it is considered that the MAC packet encapsulation cache space is insufficient, and then step S111 is executed;

[0014] S108. Determine whether the number of unencapsulated bytes of the currently encapsulating L3PDU is equal to the number of bytes of the complete packet of the currently encapsulating L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet with a complete L3PDU payload can be encapsulated, and then step S109 is executed. Otherwise, it is considered that an SLC packet with a fragmented end of the L3PDU payload can be encapsulated, and then step S110 is executed;

[0015] S109. Continue to encapsulate a header field of the SLC packet of the complete type and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU in the MAC packet encapsulation cache space in sequence from the left. Increase the used number of bytes by the number of bytes required for encapsulating the SLC packet and increase the number of encapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU. Also, decrease the available number of bytes by the number of bytes required for encapsulating the SLC packet and decrease the number of unencapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU. Then step S116 is executed;

[0016] S110. Continue to encapsulate a header field of the SLC packet of the end type and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU in the MAC packet encapsulation cache space in sequence. Increase the used number of bytes by the number of bytes required for encapsulating the SLC packet and increase the number of encapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU. Also, decrease the available number of bytes by the number of bytes required for encapsulating the SLC packet and decrease the number of unencapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU. Then step S116 is executed;

[0017] S111. Determine whether the available number of bytes is less than or equal to the number of bytes required for encapsulating the SLC header field. If so, it is considered that the MAC packet encapsulation cache space needs to be filled with data, and then step S112 is executed. Otherwise, it is considered that the MAC packet encapsulation cache space does not need to be filled with data, and then step S113 is executed;

[0018] S112. Continue to encapsulate a padding data field with a word length equal to the available number of bytes in the MAC packet encapsulation cache space from the left. Increase the used number of bytes by the available number of bytes and decrease the available number of bytes by the available number of bytes. Then step S116 is executed;

[0019] S113. Determine whether the number of unencapsulated bytes of the currently encapsulating L3PDU is equal to the number of bytes of the complete packet of the currently encapsulating L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet starting with a payload L3PDU fragment can be encapsulated, and then step S114 is executed. Otherwise, it is considered that an SLC packet with a middle fragment of the payload L3PDU can be encapsulated, and then step S115 is executed;

[0020] S114. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space an SLC packet header field of the start type and a payload data field containing the left unencapsulated data of the currently encapsulating L3PDU with a word length of LMIN. Increment the number of used bytes by LHS + LMIN and increment the number of encapsulated bytes by LMIN, and decrement the available bytes by LHS + LMIN and decrement the number of unencapsulated bytes by LMIN. Then execute step S116, where LMIN represents the current value of the available bytes and LHS represents the number of bytes of the SLC packet header field of the start type;

[0021] S115. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space an SLC packet header field of the middle type and a payload data field containing the left unencapsulated data of the currently encapsulating L3PDU with a word length of LMIN. Increment the number of used bytes by LMS + LMIN and increment the number of encapsulated bytes by LMIN, and decrement the available bytes by LMS + LMIN and decrement the number of unencapsulated bytes by LMIN. Then execute step S116, where LMS represents the number of bytes of the SLC packet header field of the middle type;

[0022] S116. Determine whether the available bytes are equal to zero. If so, execute step S117. Otherwise, return to execute step S104;

[0023] S117. Write the encapsulated data in the MAC packet encapsulation cache space as a MAC packet into the transmission queue to wait for transmission to the satellite reverse gateway through the reverse link, and the satellite reverse gateway will decapsulate it to obtain the L3PDU.

[0024] Based on the above invention content, a satellite reverse link transmission scheme based on a flexible configurable transmission format is provided. That is, during the link layer encapsulation process on the terminal side, the L3PDU data is encapsulated into SLC packets of complete type, ending type, starting type, and / or intermediate type based on the flexible configurable SLC packet format, and at least one SLC packet is encapsulated into a MAC packet based on the flexible configurable MAC packet format. This can not only flexibly select and use optional information, optional byte count information, and optional link layer L2 control signaling, realize the dynamic configuration and tailoring of the encapsulation format, achieve the purpose of reducing the encapsulation overhead and improving the transmission efficiency, but also realize the purpose of segmenting the L3PDU according to the available situation of the allocated channel resources, thereby improving the link layer data encapsulation efficiency and the reverse channel resource utilization rate.

[0025] In a second aspect, another method for efficient satellite reverse link transmission is provided, which is executed by a satellite reverse gateway and includes the following steps S201 to S205:

[0026] S201. After receiving the MAC packet sent from the satellite communication terminal and transmitted according to the method for efficient satellite reverse link transmission described in the first aspect, execute step S202;

[0027] S202. Parse and obtain the MAC header field of the MAC packet from the left, and then execute step S203;

[0028] S203. Continue to parse and obtain the SLC packet located in the payload data field of the MAC packet from the left, and continuously judge whether the parsing of the MAC packet is completed. If not, execute step S204;

[0029] S204. After parsing and obtaining the SLC header field of an SLC packet, obtain the priority level and data length of the data in the payload data field adjacent to the right of the SLC header field, and then execute step S205;

[0030] S205. According to the data length, send the data in the payload data field adjacent to the right of the SLC header field into the packet assembly queue corresponding to the satellite communication terminal and the priority level, so as to assemble the L3PDU corresponding to the satellite communication terminal and the priority level, and then return to execute step S203.

[0031] In a third aspect, the present invention provides a satellite communication system, including a satellite communication terminal, a reverse link, and a satellite reverse gateway. Among them, the reverse link includes a communication satellite, and the satellite communication terminal uploads information to the satellite reverse gateway through the reverse link;

[0032] The satellite communication terminal is used to execute the satellite reverse link efficient transmission method as described in the first aspect;

[0033] The satellite reverse gateway is used to execute the satellite reverse link efficient transmission method as described in the second aspect.

[0034] In a fourth aspect, the present invention provides a computer device, including a memory, a processor, and a transceiver that are communicatively connected in sequence. Among them, the memory is used to store a computer program, the transceiver is used to send and receive messages, and the processor is used to read the computer program and execute the satellite reverse link efficient transmission method as described in the first aspect or the second aspect.

[0035] In a fifth aspect, the present invention provides a computer-readable storage medium, on which instructions are stored. When the instructions run on a computer, they execute the satellite reverse link efficient transmission method as described in the first aspect or the second aspect.

[0036] In a sixth aspect, the present invention provides a computer program product containing instructions. When the instructions run on a computer, the computer is caused to execute the satellite reverse link efficient transmission method as described in the first aspect or the second aspect.

[0037] Advantages of the above solutions:

[0038] (1) The present invention creatively provides a satellite reverse link transmission scheme based on a flexibly configurable transmission format, that is, in the link layer encapsulation process on the terminal side, the L3PDU data is encapsulated with SLC packets of complete type, ending type, starting type, and / or intermediate type based on a flexibly configurable SLC packet format, and at least one SLC packet is MAC-encapsulated based on a flexibly configurable MAC packet format. It can not only flexibly select and use optional information, optional byte count information, and optional link layer L2 control signaling, realize dynamic configuration and tailoring of the encapsulation format, achieve the purpose of reducing encapsulation overhead and improving transmission efficiency, but also realize the purpose of segmenting and transmitting and reassembling and recovering the L3PDU according to the available situation of the allocated channel resources, thereby improving the link layer data encapsulation efficiency and reverse channel resource utilization rate;

[0039] (2) It is also possible to solve problems such as the high-priority data of the terminal preempting the low-priority data for transmission and the out-of-order of L3PDU data that may be caused by different terminal access technologies through the configuration of multi-L3PDU segment reassembly cache spaces for different terminals and different priorities;

[0040] (3) It is also possible to use acceleration processing for multiple L3PDUs for different terminals and different priorities to meet specific data acceleration processing requirements and facilitate practical application and promotion. Description of the Drawings

[0041] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0042] Figure 1 It is a schematic structural diagram of the satellite communication system provided by the embodiment of the present application.

[0043] Figure 2 It is a schematic structural diagram of the protocol stack structure of the MAC packet sending process provided by the embodiment of the present application.

[0044] Figure 3 It is a schematic structural diagram of the protocol stack structure of the MAC packet receiving process provided by the embodiment of the present application.

[0045] Figure 4 It is a schematic structural diagram of the overall framework of MAC packet processing provided by the embodiment of the present application.

[0046] Figure 5 It is a schematic flow diagram of the method for efficient transmission of the satellite reverse link on the terminal side provided by the embodiment of the present application.

[0047] Figure 6 It is a schematic diagram of the correspondence between the segmented PDU, SLC layer, MAC layer, and physical layer data packets provided by the embodiment of the present application.

[0048] Figure 7 It is a schematic flow diagram of the method for efficient transmission of the satellite reverse link on the gateway side provided by the embodiment of the present application.

[0049] Figure 8 It is a schematic structural diagram of the SLC cache provided by the embodiment of the present application.

[0050] Figure 9 It is a schematic diagram of the packet assembly state transition provided by the embodiment of the present application.

[0051] Figure 10 It is an example diagram of the experimental record results of the channel resource allocation and utilization efficiency of a single terminal under constant traffic load conditions provided by the embodiment of the present application.

[0052] Figure 11 It is an example diagram of the experimental record results of the channel resource allocation and utilization efficiency of a single terminal under random traffic load conditions provided by the embodiment of the present application.

[0053] Figure 12 It is a schematic structural diagram of the computer device provided by the embodiment of the present application. Detailed implementation manners

[0054] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the present invention will be briefly introduced below in combination with the accompanying drawings and the description of the embodiments or the prior art. Obviously, the following description of the structures of the accompanying drawings is only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts. It should be noted here that the description of these embodiment manners is used to help understand the present invention, but does not constitute a limitation to the present invention.

[0055] It should be understood that although terms such as first and second etc. may be used herein to describe various objects, these objects should not be limited by these terms. These terms are only used to distinguish one object from another. For example, the first object can be called the second object, and similarly the second object can be called the first object, without departing from the scope of the exemplary embodiments of the present invention.

[0056] It should be understood that for the term "and / or" that may appear in this article, it is only a description of the association relationship of the associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, B exists alone, or A and B exist simultaneously, etc.; another example, A, B and / or C can mean any one of A, B and C or any combination of them; for the term " / and" that may appear in this article, it is a description of another association object relationship, indicating that two relationships can exist. For example, A / and B can mean: A exists alone or A and B exist simultaneously, etc.; in addition, for the character " / " that may appear in this article, generally it means that the front and rear associated objects are an "or" relationship.

[0057] Embodiment:

[0058] The satellite reverse link efficient transmission method provided in the first aspect of this embodiment can be, but is not limited to, jointly executed by a satellite communication terminal and a satellite reverse gateway in a satellite communication system. As Figure 1As shown, the satellite communication system includes, but is not limited to, a server host 1, an IP (Internet Protocol) gateway 2, a satellite forward gateway 3, a satellite reverse gateway 4, a forward link, a reverse link, and a satellite communication terminal 7, etc. Among them, the forward link and the backward link each include a communication satellite 8; the server host 1 is respectively communicatively connected to the IP gateway 2 through the Internet, the IP gateway 2 is respectively communicatively connected to the satellite forward gateway 3 and the satellite reverse gateway 4, the satellite forward gateway 3 broadcasts information to the satellite communication terminal 7 through the forward link, and the satellite communication terminal 7 uploads information to the satellite reverse gateway 4 through the reverse link. Through the specific design of the foregoing satellite communication system, the following normal satellite communication functions can be realized: the data request of the satellite communication terminal 7 will be sequentially sent to the server host 1 through the reverse link, the satellite reverse gateway 4, the IP gateway 2, and the Internet; the request response of the server host 1 will be sequentially returned to the satellite communication terminal 7 through the Internet, the IP gateway 2, the satellite forward gateway 3, and the forward link.

[0059] On the reverse transmission path of the satellite communication system, the satellite communication terminal 7 is responsible for the encapsulation and sending of MAC packets and is called the MAC sending end. The satellite reverse gateway 4 is responsible for the reception and recombination recovery of MAC packets and is called the MAC receiving end. Figure 2 Describes the protocol stack of the MAC packet sending process. Figure 3The protocol stack describing the MAC packet reception process. In the satellite communication system, the specific manner of data communication between the satellite reverse gateway 4 and the satellite communication terminal 7 generally includes, but is not limited to: the satellite communication terminal 7 applies for allocating reverse channel resources to the satellite reverse gateway 4 through the "backlogged data reporting" method, and the satellite reverse gateway allocates reverse channel resources for the terminal to upload data according to the backlogged data report information reported by the terminal; the reverse channel resources allocated by the satellite reverse gateway 4 will be notified to the satellite communication terminal 7 in the form of a "bandwidth allocation message" so that the terminal can use the allocated reverse channel resources for data reverse transmission. Specifically, when the satellite communication terminal performs reverse data transmission, it generally uses the MAC packet format for data encapsulation, that is, in the obtained MAC packet data, in addition to the encapsulated L3PDU data, the backlogged data report information of the terminal will also be carried, and the "L2 control signaling" of the terminal will also be carried in the MAC packet in the form of in-band signaling and sent together. After receiving the MAC packet, the satellite reverse gateway 4 will first perform parsing processing on the MAC packet to extract the backlogged data report information from the MAC packet, and then use it for satellite reverse channel resource allocation. The reverse channel resources allocated by the satellite reverse gateway 4 will be sent to the satellite forward gateway 3 in the form of a "bandwidth allocation message", and then the satellite forward gateway 3 will broadcast it to the satellite communication terminal through the forward link. In addition, the in-band "L2 control signaling" in the MAC packet will also be extracted and then handed over to the "L2 control signaling manager" for subsequent processing (the "response message" after its processing will also be sent to the satellite forward gateway 3, and then the satellite forward gateway 3 will broadcast it to the satellite communication terminal through the forward link); and the L3 PDU data in the MAC packet will also be parsed and recombined for recovery (the recovered and recombined L3 PDU data will be sent to the IP gateway 2 after "reverse tunnel encapsulation", and then the IP gateway 2 will complete the request access to the server host 1). As Figure 4 shown, it describes the overall framework of MAC packet processing.

[0060] Based on the foregoing application scenarios, the satellite reverse link efficient transmission method may include, but is not limited to, the following steps S101 to S117 first executed by the satellite communication terminal 7 and as Figure 5 shown.

[0061] S101. Obtain the number of reverse channel time slots allocated by the satellite reverse gateway for the local terminal, convert the number of reverse channel time slots to obtain the burst permission bytes, and then execute step S102.

[0062] In the step S101, the number of reverse channel time slots is the reverse channel resource, which can be obtained by the conventional method in the foregoing application scenarios. Specifically, the number of burst permission bytes is obtained by converting the number of reverse channel time slots. The conversion formula can be, but is not limited to, the following:

[0063] b = B * MP * CP * B0

[0064] In the formula, b represents the number of burst permission bytes, B represents the number of reverse channel time slots, MP represents the known modulation parameter of the local terminal and the unit is bits per symbol, CP represents the known coding parameter of the local terminal and has no unit, and B0 represents the known number of symbols per time slot.

[0065] S102. Clear the Medium Access Control (MAC) packet encapsulation cache space, initialize the used byte count of the MAC packet encapsulation cache space to zero, and initialize the available byte count of the MAC packet encapsulation cache space to the number of burst permission bytes, and then execute step S103.

[0066] S103. Encapsulate a MAC packet header field from the left in the MAC packet encapsulation cache space, increment the used byte count by the byte count of the MAC packet header field, and decrement the available byte count by the byte count of the MAC packet header field, and then execute step S104. The MAC packet header field includes a MAC packet basic header field and a MAC packet optional header field adjacent to the right of the MAC packet basic header field. The word length of the MAC packet basic header field is fixed and can be used to configure and indicate whether there is a MAC packet optional header field. The MAC packet optional header field is used to configure any one or any combination of MAC packet optional information, MAC packet optional byte count information, and optional link layer L2 control signaling.

[0067] In step S103, since the presence or absence of the optional header field of the MAC packet depends on the basic header field of the MAC packet and is used to configure any one or any combination of the MAC packet optional information, the MAC packet optional byte count information, and the optional link layer L2 control signaling, its word length and content can be flexibly configured according to requirements. For example, through flexible configuration selection of the MAC packet optional information, the encapsulated data can be dynamically changed to ensure that certain specific data is carried only when necessary, thereby achieving the ability to flexibly and dynamically change the size of the encapsulated data; through flexible configuration selection of the MAC packet optional byte count information, the number of bytes used by certain data fields can be dynamically changed to ensure that appropriate data field sizes are selected in different scenarios, thereby achieving the ability to flexibly and dynamically change the size of the encapsulated data; and through flexible configuration selection of the optional L2 control signaling, the L2 control signaling information in the encapsulated data can be dynamically changed to ensure that one or more required L2 control signals are selected according to different requirements, so as to achieve the ability to flexibly and dynamically change the size of the encapsulated data. In addition, the L2 control signaling is carried only in the MAC packet header field, which can also provide the benefit of enabling the L2 control signaling to be quickly processed before the L3PDU data is parsed.

[0068] In step S103, since two logical channels are used on the reverse link: the non-pre-allocated channel and the pre-allocated channel, where the non-pre-allocated channel is shared by multiple satellite communication terminals in a random access manner and is mainly used for transmitting control information (of course, control information and user data can also be transmitted simultaneously), while the pre-allocated channel provides dedicated channel resources for exclusive use by a single satellite communication terminal and is mainly used for transmitting user data (of course, control information and user data can also be transmitted simultaneously). Therefore, corresponding to these two logical channels, the MAC header fields will also have differences in specific content. Specifically, when the MAC header field is the MAC header of the non-pre-allocated channel, the MAC header field includes a first MAC packet basic header field / and a first MAC packet optional header field adjacent to the right of the first MAC packet basic header field; the first MAC packet basic header field includes, but is not limited to, any one or any combination of a burst type indication field, an address type indication field, a backlog data indication field, a duplicate mark indication field, an associated signaling indication field, an encryption information indication field, and a protocol version indication field, etc. Among them, the burst type indication field (i.e., the Burst Type field in Table 1) is used to represent different burst types through different binary values, the address type indication field (i.e., the Address Type field in Table 1) is used to represent whether there is a terminal address information field in the first MAC packet optional header field / and the address type when it exists through different binary values, the backlog data indication field (i.e., the Backlog Present field in Table 1) is used to represent whether there is a backlog data information field in the first MAC packet optional header field through different binary values, the duplicate mark indication field (i.e., the Possible Duplicate Indicator field in Table 1) is used to represent whether the data in the payload data field adjacent to the right of the MAC header field is retransmitted data and whether there is a retransmission sequence information field in the first MAC packet optional header field through different binary values, the associated signaling indication field (i.e., the Adaptation Present field in Table 1) is used to represent whether there is an associated signaling information field in the first MAC packet optional header field through different binary values, the encryption information indication field (i.e., the Encryption Present field in Table 1) is used to represent whether there is an encryption setting information field in the first MAC packet optional header field through different binary values, and the protocol version indication field (i.e., the Protocol Version field in Table 1) is used to represent the version number of the currently used encapsulation protocol through different binary values;The first MAC packet optional header fields include, but are not limited to, any one or any combination of a terminal address information field, an encryption setting information field, a backlog data information field, a retransmission sequence information field, and an in-band signaling information field, etc. Among them, the terminal address information field is used to represent the terminal address information of the MAC packet to which it belongs (i.e., as a kind of MAC packet optional information or MAC packet optional byte count information), the encryption setting information field is used to represent the encryption policy adopted in the MAC packet to which it belongs (i.e., as a kind of MAC packet optional information), the backlog data information field is used to represent the current backlog of data that the local terminal is ready to transmit in the reverse direction (i.e., as a kind of MAC packet optional information), the retransmission sequence information field is used to represent the sequence number information of the retransmitted MAC packet (i.e., as a kind of MAC packet optional information or MAC packet optional byte count information), and the in-band signaling information field is used to represent in-band signaling information (i.e., as a kind of MAC packet optional information or optional link layer L2 control signaling).;

[0069] Table 1. Basic Header Fields of MAC Packets for Non-Preallocated Channels (Total Byte Count: 2 Bytes)

[0070]

[0071]

[0072] In the step S103, specifically, when the MAC header field is the MAC header for pre-allocated channels, the MAC header field includes a second MAC packet basic header field / and a second MAC packet optional header field adjacent to the right of the second MAC packet basic header field; the second MAC packet basic header field includes, but is not limited to, any one or any combination of a burst type indication field, an address type indication field, a backlog data indication field, a reliable transmission indication field, an in-band signaling indication field, and an encryption information indication field, etc. Among them, the burst type indication field (i.e., the Address Type field in Table 2) is used to represent different burst types through different binary values, the address type indication field is used to represent whether there is a terminal address information field in the second MAC packet optional header field / and the address type when it exists through different binary values, the backlog data indication field (i.e., the Backlog Present field in Table 2) is used to represent whether there is a backlog data information field in the second MAC packet optional header field through different binary values, the reliable transmission indication field (i.e., the Reliable Link Layer field in Table 2) is used to represent whether the reliable transmission function of the terminal reverse data link layer is used for the data in the payload data field adjacent to the right of the MAC header field (specifically, a "sequence number" is carried in the optional header field, so as to ensure by answering the ACK "sequence number" information to the terminal and enabling the terminal retransmission function), the in-band signaling indication field (i.e., the Adaptation Present field in Table 2) is used to represent whether there is an in-band signaling information field in the second MAC packet optional header field through different binary values, and the encryption information indication field (i.e., the Encryption Present field in Table 2) is used to represent whether there is an encryption setting information field in the second MAC packet optional header field through different binary values;The optional header fields of the second MAC packet include, but are not limited to, any one or any combination of a terminal address information field, an encryption setting information field, a backlog data information field, a sequence information field, and an in-band signaling information field, etc. Among them, the terminal address information field is used to represent the terminal address information of the belonging MAC packet, the encryption setting information field is used to represent the encryption policy adopted in the belonging MAC packet (i.e., as an optional MAC packet information), the backlog data information field is used to represent the current backlog of data that the local terminal is ready to transmit in the reverse direction (i.e., as an optional MAC packet information), the sequence information field is used to represent the sequence number information of the belonging MAC packet (i.e., as an optional MAC packet information or optional MAC packet byte count information), and the in-band signaling information field is used to represent in-band signaling information (i.e., as an optional MAC packet information or optional link layer L2 control signaling).;

[0073] Table 2. Basic header fields of the MAC packet for pre-allocated channels (total byte count is 1 byte)

[0074]

[0075] S104. Determine whether the number of unencapsulated bytes of the currently encapsulated network layer protocol data unit L3PDU is greater than zero. If so, execute step S106; otherwise, execute step S105.

[0076] S105. Obtain a new L3PDU to be the currently encapsulated L3PDU, set the number of encapsulated bytes to zero, and set the number of unencapsulated bytes to the byte count of the new L3PDU (the complete packet byte count of the L3PDU), and then execute step S106.

[0077] After the step S104, in order to preferentially encapsulate the inserted L3PDU with a high priority, preferably, when it is determined that the number of unencapsulated bytes of the currently encapsulated L3PDU is greater than zero, the method further includes: if it is found that the priority of the next L3PDU whose encapsulation order is after the currently encapsulated L3PDU is higher than that of the currently encapsulated L3PDU, then advance the next L3PDU as the currently encapsulated L3PDU, set the number of encapsulated bytes to zero, and set the number of unencapsulated bytes to the number of bytes of the next L3PDU (the complete packet bytes of the L3PDU), and then execute step S106. That is, if it is found that there is L3PDU data with a higher priority, preferentially encapsulate the L3PDU with a higher priority until the bandwidth resource quota of this priority is used up (of course, the "during the segmented encapsulation process, it is allowed to encapsulate L3PDUs with a higher priority in the middle" described in the document is also supported on the terminal side and the reverse gateway side). In addition, as for the remaining unencapsulated data of the original currently encapsulated L3PDU, it will continue to be encapsulated after the next L3PDU is encapsulated.

[0078] S106. Determine the number of bytes required for encapsulating the satellite link control layer SLC header field according to the currently encapsulated L3PDU, and set the number of bytes required for encapsulating the SLC packet to the sum of the number of bytes required for encapsulating the SLC header field and the number of unencapsulated bytes, and then execute step S107, where the SLC header field includes an SLC packet basic header field / and an SLC packet optional header field adjacent to the right of the SLC packet basic header field, the word length of the SLC packet basic header field is fixed and can be used to configure and indicate whether there is the SLC packet optional header field, and the SLC packet optional header field is used to configure any one or any combination of SLC packet option information and SLC packet optional byte number information.

[0079] In the step S106, since the presence or absence of the optional header field of the SLC packet depends on the basic header field of the SLC packet, and is used to configure any one or any combination of the SLC packet optional information and the SLC packet optional byte count information, its word length and content can be flexibly configured according to requirements. For example, through the flexible configuration selection of the SLC packet optional information, the encapsulated data can be dynamically changed to ensure that certain specific data is carried only when necessary, so as to achieve the ability to flexibly and dynamically change the size of the encapsulated data; through the flexible configuration selection of the SLC packet optional byte count information, the number of bytes used by certain data fields can be dynamically changed to ensure that the appropriate data field size is selected in different scenarios, so as to achieve the ability to flexibly and dynamically change the size of the encapsulated data.Specifically, the basic header field of the SLC packet includes, but is not limited to, an SLC packet header type indication field and any one or any combination of a label type indication field, a priority level indication field, a check information indication field, a receive readiness indication field, an SLC packet follow-up indication field, a routing indication field, an accelerated processing indication field, a payload type indication field, and a payload length indication field. Among them, the SLC packet header type indication field (i.e., the Start PDU and End PDU fields in Table 3) is used to represent the complete type, start type, middle type, and end type of the SLC packet through different binary values. The label type indication field (i.e., the Label Type field in Table 3) is used to represent whether there is a label information field in the optional header field of the SLC packet and the label type when it exists through different binary values. The priority level indication field (i.e., the Priority field in Table 3) is used to represent the transmission priority level of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values. The check information indication field (i.e., the CRC Present field in Table 3) is used to represent whether there is a cyclic redundancy check code CRC check information field in the optional header field of the SLC packet through different binary values. The receive readiness indication field (i.e., the Go Active field in Table 3) is used to represent whether the local terminal notifies the satellite reverse gateway that it is ready to receive the reverse channel resource allocation result through different binary values. The SLC packet follow-up indication field (i.e., the More field in Table 3) is used to represent whether there are subsequent SLC packets in the same MAC packet through different binary values. The routing indication field (i.e., the Routing field in Table 3) is used to represent whether the L3PDU reorganized based on the data in the payload data field adjacent to the right side of the SLC packet header field is forwarded to the default data routing address or the default management routing address through different binary values. The accelerated processing indication field (i.e., the Accelerated field in Table 3) is used to represent whether the data in the payload data field adjacent to the right side of the SLC packet header field needs to be transmitted as soon as possible and allows it to preempt other data of the same priority level for transmission. The payload type indication field (i.e., the Protocol Type field in Table 3) represents the data type of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values. The payload length indication field (i.e., the SLCLength field in Table 3) is used to represent the data length of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values.

[0080] Table 3. Basic Header Field of SLC Packet (Total Byte Count is 4 Bytes)

[0081]

[0082]

[0083] In step S106, specifically, the optional header fields of the SLC packet include, but are not limited to, any one or any combination of the L3PDU total length information field, CRC check information field, label information field, PDU identification information field, and PDU fragmentation information field in Table 4. Among them, the L3PDU total length information field (i.e., the TotalLength field in Table 4) only exists in the SLC packet header fields of the complete type or the start type and is used to represent the total length of the L3PDU data of the data contained in the payload data field adjacent to the right of the SLC packet header field (i.e., as an SLC packet optional information). The CRC check information field (i.e., the PDU CRC field in Table 4) is used to represent the CRC value of the L3PDU of the data contained in the payload data field adjacent to the right of the SLC packet header field (i.e., as an SLC packet optional information). The label information field (i.e., the Label field in Table 4) is used to represent the label information of the SLC packet (i.e., as an SLC packet optional information or SLC packet optional byte count information). The PDU identification information field (i.e., the PDU Number field in Table 4) is used to represent the identification information of the L3PDU of the data contained in the payload data field adjacent to the right of the SLC packet header field (i.e., as an SLC packet optional information or SLC packet optional byte count information). The PDU fragmentation information field (i.e., the Fragment ID field in Table 4) is used to represent the L3PDU fragmentation label of the data contained in the payload data field adjacent to the right of the SLC packet header field by different binary values (i.e., as an SLC packet optional information). Although the word length of the optional header fields of the SLC packet is not fixed, the specific word length can be determined conventionally according to the currently encapsulated L3PDU. For example, if there is remaining unencapsulated data in the currently encapsulated L3PDU, it can be determined that there is no L3PDU total length information field and CRC check information field, and it can be determined that there are PDU identification information field and PDU fragmentation information field, and so on.

[0084] Table 4. Optional Header Fields of SLC Packet

[0085]

[0086] S107. Determine whether the available number of bytes is greater than or equal to the number of bytes required for encapsulating the SLC packet. If so, it is considered that the MAC packet encapsulation cache space is still sufficient, and then step S108 is executed. Otherwise, it is considered that the MAC packet encapsulation cache space is insufficient, and then step S111 is executed.

[0087] S108. Determine whether the number of unencapsulated bytes of the currently encapsulating L3PDU is equal to the number of bytes of the complete packet of the currently encapsulating L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet with a complete L3PDU payload can be encapsulated, and then step S109 is executed. Otherwise, it is considered that an SLC packet with a fragmented end of the L3PDU payload can be encapsulated, and then step S110 is executed.

[0088] S109. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space an SLC packet header field of the complete type and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU. Increase the number of used bytes by the number of bytes required for the encapsulation of the SLC packet and increase the number of encapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU. Also, decrease the number of available bytes by the number of bytes required for the encapsulation of the SLC packet and decrease the number of unencapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU. Then execute step S116.

[0089] In step S109, the SLC packet header field and the payload data field form an SLC packet located in the payload data field of the MAC packet. When there is an encryption setting information field in the MAC packet header field, it is necessary to perform encrypted encapsulation on the payload data according to the specific encryption policy in the encryption setting information field during the encapsulation process.

[0090] S110. Continue to encapsulate in sequence in the MAC packet encapsulation cache space an SLC packet header field of the end type and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU. Increase the number of used bytes by the number of bytes required for the encapsulation of the SLC packet and increase the number of encapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU. Also, decrease the number of available bytes by the number of bytes required for the encapsulation of the SLC packet and decrease the number of unencapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU. Then execute step S116.

[0091] S111. Determine whether the number of available bytes is less than or equal to the number of bytes required for the encapsulation of the SLC packet header field. If so, it is considered that the MAC packet encapsulation cache space needs to be filled with data, and then step S112 is executed. Otherwise, it is considered that the MAC packet encapsulation cache space does not need to be filled with data, and then step S113 is executed.

[0092] In the step S111, when the available number of bytes is less than or equal to the number of bytes required for encapsulating the SLC header field, it indicates that there is not enough space to encapsulate or it is just enough to encapsulate one SLC header field. At this time, there is no need to encapsulate the SLC header field (because the data in the L3PDU cannot be encapsulated anymore), and directly perform padding processing (the specific operation is to pad with binary digit "0") so that there is a padding data field on the right side of the payload data field of the MAC packet. In addition, if there is no L3PDU to be encapsulated, padding processing is also required.

[0093] S112. Continue to encapsulate a padding data field with a word length equal to the available number of bytes from the left in the MAC packet encapsulation cache space, increment the used number of bytes by the available number of bytes, and decrement the available number of bytes by the available number of bytes, and then execute step S116.

[0094] S113. Determine whether the number of unencapsulated bytes of the currently encapsulated L3PDU is equal to the total number of bytes of the currently encapsulated L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet with a payload L3PDU start fragment can be encapsulated, and then execute step S114; otherwise, it is considered that an SLC packet with a payload L3PDU middle fragment can be encapsulated, and then execute step S115.

[0095] S114. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space an SLC header field of the start type and a payload data field containing the currently encapsulated L3PDU and having a word length equal to the left unencapsulated data of LMIN. Increment the used number of bytes by LHS + LMIN and increment the number of encapsulated bytes by LMIN, and decrement the available number of bytes by LHS + LMIN and decrement the number of unencapsulated bytes by LMIN, and then execute step S116, where LMIN represents the current value of the available number of bytes, and LHS represents the number of bytes of the SLC header field of the start type.

[0096] S115. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space an SLC header field of the middle type and a payload data field containing the currently encapsulated L3PDU and having a word length equal to the left unencapsulated data of LMIN. Increment the used number of bytes by LMS + LMIN and increment the number of encapsulated bytes by LMIN, and decrement the available number of bytes by LMS + LMIN and decrement the number of unencapsulated bytes by LMIN, and then execute step S116, where LMS represents the number of bytes of the SLC header field of the middle type.

[0097] S116. Determine whether the available number of bytes is equal to zero. If so, execute step S117; otherwise, return to execute step S104.

[0098] S117. Write the encapsulated data in the MAC packet encapsulation cache space as a MAC packet into the transmission queue to wait for transmission to the satellite reverse gateway through the reverse link, and the satellite reverse gateway will de-encapsulate it to obtain the L3PDU.

[0099] Since the satellite communication terminal uses bursts to transmit L3PDUs in reverse, and the lengths of L3PDUs are not equal, and the burst transmission bandwidth on the terminal side also changes over time. To efficiently and fully utilize the burst bandwidth resources, the L3PDU needs to be segmented as described in steps S108 - S115 above to make full use of the burst bandwidth resources. As Figure 6 shown, four L3PDUs (i.e., PDU1, PDU2, PDU3, and PDU4) are described. The terminal side uses three Bursts to transmit these four L3PDUs. Among them, PDU1 segment 1 (PDU1 frag.1) uses the first Burst for data transmission, and the corresponding SLC layer and MAC layer perform data encapsulation, encapsulating the corresponding SLC header and MAC header; PDU1 segment 2 (PDU1 frag.2) and PDU2 and PDU3 segment 1 (PDU3 frag.1) use the second Burst for data transmission. Corresponding to three different PDU parts, the SLC layer encapsulates three SLC headers, and the MAC layer encapsulates one MAC header; PDU3 segment 2 (PDU3 frag.2) and PDU4 use the last Burst for data transmission. Corresponding to two different PDU parts, the SLC layer encapsulates two SLC headers, and the MAC layer encapsulates one MAC header. Since the last L3PDU cannot fully fill the third Burst, the terminal uses padding data for filling. In addition, to help detect data assembly errors of the L3 PDU, the segmented PDU must carry the CRC value of the PDU in the first segmentation table (the calculation of this CRC value is only for the L3PDU and does not calculate the SLC header part) for consistency verification when the gateway side assembles the packet.

[0100] The efficient transmission method for the satellite reverse link may also but is not limited to include the following steps S201 - S205 executed by the satellite reverse gateway 4 as Figure 7 shown.

[0101] S201. After receiving the MAC packet from the satellite communication terminal, execute step S202.

[0102] S202. Parse from the left to obtain the MAC header field of the MAC packet, and then execute step S203.

[0103] S203. Continue to parse from the left to obtain the SLC packet located in the payload data field of the MAC packet, and determine in real time whether the parsing of the MAC packet is completed. If not, execute step S204.

[0104] In step S203, when there is an encryption setting information field in the MAC header field, it is also necessary to decrypt the payload data according to the specific encryption policy in the encryption setting information field during the parsing process to obtain the SLC packet.

[0105] S204. After parsing and obtaining the SLC header field of an SLC packet, obtain the priority level and data length of the data in the payload data field adjacent to the right of the SLC header field, and then execute step S205;

[0106] S205. According to the data length, send the data in the payload data field adjacent to the right of the SLC header field into the packet assembly queue corresponding to the satellite communication terminal and the priority level, so as to assemble the L3PDU corresponding to the satellite communication terminal and the priority level, and then return to execute step S203.

[0107] In step S205, such as Figure 7As shown, the satellite reverse gateway 4 writes the received MAC packets into the "MAC packet reception queue" corresponding to the satellite communication terminal, and then uses a MAC packet parser to parse the MAC packets, extract the SLC packets, and write them into the corresponding SLC packet queues (also corresponding to the satellite communication terminal) according to different "data priorities". Finally, the SLC packet parser performs packet assembly processing on the SLC packets of "each priority" to recover the L3PDU data. Specifically, the packet assembly to obtain the L3PDU includes, but is not limited to: if the SLC packet header type obtained from the SLC packet header field is the complete type, the data in the payload data field adjacent to the right side of the SLC packet header field is packet-assembled into a complete L3PDU; if the SLC packet header type obtained from the SLC packet header field is the start type, middle type, or end type, the data in the payload data field adjacent to the right side of the SLC packet header field is first cached, and then, according to the identification information and fragmentation label of the L3PDU obtained from the SLC packet header field, the data in the payload data field adjacent to the right side of the SLC packet header field and the data in the payload data field adjacent to the right side of other SLC packet header fields are packet-assembled into a complete L3PDU. That is, first, the cache space position is determined according to the terminal, priority, and identification information (PDU_no) of the L3PDU for caching processing, and then it is checked whether the L3PDU can be successfully reassembled. If so, the completed L3PDU is recovered; if not, it is further checked whether it times out. If it times out, the corresponding cache space is cleared; otherwise, the cache space remains unchanged. In addition, for the accelerated packet processing, the processing logic can refer to the foregoing steps S204 and S205, but is processed separately to achieve the purpose of acceleration.

[0108] In step S205, the following scenarios that may occur on the terminal side need to be considered: 1) The high-priority data of the terminal preempts the low-priority data for transmission; 2) Due to different access technologies adopted by the terminal, the problem of out-of-order transmission of L3 PDU data may occur. Therefore, when reassembling and recovering the L3PDU data packets on the gateway side, an "SLC cache" can be designed to cache the segmented data packets of the L3PDU to improve the availability and flexibility of reassembling and recovering the L3PDU. That is, preferably, before packet-assembling to obtain the L3PDU, the method further includes: allocating multiple L3PDU segmented reassembly cache spaces for each priority level of each satellite communication terminal, so that in the subsequent process of packet-assembling to obtain the L3PDU, the data in the payload data field adjacent to the right side of different L3PDUs is cached in each L3PDU segmented reassembly cache space among the multiple L3PDU segmented reassembly cache spaces, such as Figure 8As shown, the multiple L3PDU segmentation recombination buffer spaces can be configured with [Nmin, Nmax] (in this way, the buffer space size can be flexibly adjusted, and a flexible cache timeout processing mechanism can be formulated: timeout cleaning is performed through timeout time configuration, and the timeout cleaning policy is determined according to the cache volume [Nmin, Nmax]). Each L3PDU segmentation recombination buffer space can support up to 32 segments. In addition, the recombination and recovery status of segmented packets can be managed through the packet assembly status switching process as shown in Figure 9 , which ensures the instant recovery detection, error discarding, and timeout cleaning of segmented packets.

[0109] Based on the satellite reverse link efficient transmission method described in the foregoing steps S101 - S117 and S201 - S205, this embodiment also made actual software implementation and verification, and obtained the test results of the channel resource allocation and utilization efficiency in the test scenarios shown in Table 5 below.

[0110] Table 5. Test scenario information table for a single user on a reverse channel

[0111]

[0112]

[0113] In addition, assuming that there is no additional overhead in physical layer coding encapsulation, that is, the allocated reverse channel resources can be used 100% for encapsulating data at the terminal side, and using to represent the reverse gateway - terminal channel resource allocation and utilization efficiency, then the channel resource allocation and utilization efficiency of a single terminal under constant traffic load conditions (5Mbps) and random traffic load conditions with different RTT parameters can also be obtained as shown in Figure 10 and Figure 11 (this result does not include the physical layer coding overhead, that is, it is assumed that there is no additional overhead in physical layer coding encapsulation). This is sufficient to prove that based on the foregoing satellite reverse link efficient transmission method, the link layer data encapsulation efficiency and reverse channel resource utilization rate can be improved.

[0114] Based on the satellite reverse link efficient transmission method described in the foregoing steps S101 to S117 and S201 to S205, a satellite reverse link transmission scheme based on a flexibly configurable transmission format is provided. That is, during the link layer encapsulation process on the terminal side, the L3PDU data is encapsulated into SLC packets of complete type, ending type, starting type, and / or intermediate type based on the flexibly configurable SLC packet format, and at least one SLC packet is MAC encapsulated based on the flexibly configurable MAC packet format. It can not only flexibly select and use optional information, optional byte count information, and optional link layer L2 control signaling, realize dynamic configuration and tailoring of the encapsulation format, achieve the purpose of reducing the encapsulation overhead and improving the transmission efficiency, but also realize the purpose of segmenting and reassembling the L3PDU according to the available situation of the allocated channel resources, thereby improving the link layer data encapsulation efficiency and the reverse channel resource utilization rate. In addition, by configuring the multi-L3PDU segment reassembly cache space for different terminals and different priorities, problems such as the high-priority data of the terminal preempting the low-priority data for transmission and the out-of-order of the L3PDU data that may be caused by different terminal access technologies can be solved, which is convenient for practical application and promotion.

[0115] As Figure 1 As shown in the figure, in the second aspect of this embodiment, a satellite communication system for executing the satellite reverse link efficient transmission method described in the first aspect is provided, including a satellite communication terminal, a reverse link, and a satellite reverse gateway. Among them, the reverse link includes a communication satellite, and the satellite communication terminal uploads information to the satellite reverse gateway through the reverse link; the satellite communication terminal is used to execute the satellite reverse link efficient transmission method described in the first aspect and executed on the terminal side; the satellite reverse gateway is used to execute the satellite reverse link efficient transmission method described in the first aspect and executed on the gateway side.

[0116] For the working process, working details, and technical effects of the foregoing system provided in the second aspect of this embodiment, reference can be made to the satellite reverse link efficient transmission method described in the first aspect, which will not be elaborated here.

[0117] As Figure 12As shown, in the third aspect of this embodiment, a computer device for implementing the satellite reverse link efficient transmission method described in the first aspect and executed by the terminal side or the gateway side is provided. It includes a memory, a processor, and a transceiver that are communicatively connected in sequence. Among them, the memory is used to store computer programs, the transceiver is used to send and receive messages, and the processor is used to read the computer programs and execute the satellite reverse link efficient transmission method described in the first aspect and executed by the terminal side or the gateway side. Specifically, for example, the memory may include, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a flash memory, a first input first output (FIFO) memory, and / or a first input last output (FILO) memory, etc.; the processor may be, but is not limited to, a microprocessor of the STM32F105 series. In addition, the computer device may also include, but is not limited to, a power module, a display screen, and other necessary components.

[0118] For the working process, working details, and technical effects of the foregoing computer device provided in the third aspect of this embodiment, reference may be made to the satellite reverse link efficient transmission method described in the first aspect, which will not be elaborated here.

[0119] In the fourth aspect of this embodiment, a computer-readable storage medium storing instructions including the satellite reverse link efficient transmission method described in the first aspect and executed by the terminal side or the gateway side is provided, that is, instructions are stored on the computer-readable storage medium. When the instructions run on a computer, the satellite reverse link efficient transmission method described in the first aspect and executed by the terminal side or the gateway side is executed. Among them, the computer-readable storage medium refers to a carrier for storing data, and may include, but is not limited to, computer-readable storage media such as floppy disks, optical discs, hard disks, flash memories, USB flash drives, and / or memory sticks. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.

[0120] For the working process, working details, and technical effects of the foregoing computer-readable storage medium provided in the fourth aspect of this embodiment, reference may be made to the satellite reverse link efficient transmission method described in the first aspect, which will not be elaborated here.

[0121] A fifth aspect of this embodiment provides a computer program product including instructions, which, when running on a computer, cause the computer to execute the satellite reverse link efficient transmission method described in the first aspect and executed by the terminal side or the gateway side. Among them, the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.

[0122] Finally, it should be noted that the above are only preferred embodiments of the present invention and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. An efficient transmission method for satellite reverse link, characterized in that, Executed by a satellite communication terminal, including the following steps S101 to S117: S101. Obtain the number of reverse channel time slots allocated by the satellite reverse gateway for the local terminal, convert to obtain the burst permission byte count according to the number of reverse channel time slots, and then execute step S102; S102. Clear the Medium Access Control (MAC) packet encapsulation cache space, initialize the used byte count of the MAC packet encapsulation cache space to zero, and initialize the available byte count of the MAC packet encapsulation cache space to the burst permission byte count, and then execute step S103; S103. Encapsulate a MAC header field from the left in the MAC packet encapsulation cache space, increment the used byte count by the byte count of the MAC header field, and decrement the available byte count by the byte count of the MAC header field, and then execute step S104, where the MAC header field includes a MAC packet basic header field / and a MAC packet optional header field adjacent to the right of the MAC packet basic header field, the word length of the MAC packet basic header field is fixed and can be used to configure and indicate whether there is the MAC packet optional header field, and the MAC packet optional header field is used to configure any one or any combination of MAC packet option information, MAC packet optional byte count information, and optional Link Layer (L2) control signaling; S104. Determine whether the unencapsulated byte count of the currently encapsulating Network Layer Protocol Data Unit (L3PDU) is greater than zero. If so, execute step S106; otherwise, execute step S105; S105. Obtain a new L3PDU as the currently encapsulating L3PDU, set the encapsulated byte count to zero, and set the unencapsulated byte count to the complete packet byte count of the new L3PDU, and then execute step S106; S106. Determine the number of bytes required for encapsulating the Satellite Link Control (SLC) header field according to the currently encapsulating L3PDU, and set the number of bytes required for encapsulating the SLC packet to the sum of the number of bytes required for encapsulating the SLC header field and the unencapsulated byte count, and then execute step S107, where the SLC header field includes a SLC packet basic header field / and a SLC packet optional header field adjacent to the right of the SLC packet basic header field, the word length of the SLC packet basic header field is fixed and can be used to configure and indicate whether there is the SLC packet optional header field, and the SLC packet optional header field is used to configure any one or any combination of SLC packet option information and SLC packet optional byte count information; S107. Determine whether the available byte count is greater than or equal to the number of bytes required for encapsulating the SLC packet. If so, it is considered that the MAC packet encapsulation cache space is still sufficient, and then execute step S108; otherwise, it is considered that the MAC packet encapsulation cache space is insufficient, and then execute step S111; S108. Determine whether the number of unencapsulated bytes of the currently encapsulating L3PDU is equal to the number of bytes of the complete packet of the currently encapsulating L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet with a complete L3PDU payload can be encapsulated, and then step S109 is executed. Otherwise, it is considered that an SLC packet with a fragmented end of the L3PDU payload can be encapsulated, and then step S110 is executed; S109. Continue to encapsulate in sequence from the left in the MAC packet encapsulation cache space a complete-type SLC packet header field and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU. Increase the number of used bytes by the number of bytes required for the encapsulation of the SLC packet, increase the number of encapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU, decrease the number of available bytes by the number of bytes required for the encapsulation of the SLC packet, and decrease the number of unencapsulated bytes by the number of bytes of the complete packet of the currently encapsulating L3PDU. Then step S116 is executed; S110. Continue to encapsulate in sequence in the MAC packet encapsulation cache space a fragmented-end-type SLC packet header field and a payload data field containing all the unencapsulated data from the left of the currently encapsulating L3PDU. Increase the number of used bytes by the number of bytes required for the encapsulation of the SLC packet, increase the number of encapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU, decrease the number of available bytes by the number of bytes required for the encapsulation of the SLC packet, and decrease the number of unencapsulated bytes by the number of bytes of all the unencapsulated data from the left of the currently encapsulating L3PDU. Then step S116 is executed; S111. Determine whether the number of available bytes is less than or equal to the number of bytes required for the encapsulation of the SLC packet header field. If so, it is considered that the MAC packet encapsulation cache space needs to be filled with data, and then step S112 is executed. Otherwise, it is considered that the MAC packet encapsulation cache space does not need to be filled with data, and then step S113 is executed; S112. Continue to encapsulate from the left in the MAC packet encapsulation cache space a padding data field with a word length equal to the number of available bytes. Increase the number of used bytes by the number of available bytes and decrease the number of available bytes by the number of available bytes. Then step S116 is executed; S113. Determine whether the number of unencapsulated bytes of the currently encapsulating L3PDU is equal to the number of bytes of the complete packet of the currently encapsulating L3PDU and whether the number of encapsulated bytes is equal to zero. If so, it is considered that an SLC packet with a fragmented start of the L3PDU payload can be encapsulated, and then step S114 is executed. Otherwise, it is considered that an SLC packet with a fragmented middle of the L3PDU payload can be encapsulated, and then step S115 is executed; S114. Continue to encapsulate a starting - type SLC packet - header field and a payload data field containing the currently - encapsulated L3PDU with an unpacked data length of LMIN from the left in the MAC - packet encapsulation cache space. Increment the used - byte count by LHS + LMIN, increment the encapsulated - byte count by LMIN, decrement the available - byte count by LHS + LMIN, and decrement the unpacked - byte count by LMIN. Then execute step S116, where LMIN represents the current value of the available - byte count and LHS represents the byte count of the starting - type SLC packet - header field; S115. Continue to encapsulate an intermediate - type SLC packet - header field and a payload data field containing the currently - encapsulated L3PDU with an unpacked data length of LMIN from the left in the MAC - packet encapsulation cache space. Increment the used - byte count by LMS + LMIN, increment the encapsulated - byte count by LMIN, decrement the available - byte count by LMS + LMIN, and decrement the unpacked - byte count by LMIN. Then execute step S116, where LMS represents the byte count of the intermediate - type SLC packet - header field; S116. Determine whether the available - byte count is equal to zero. If so, execute step S117; otherwise, return to execute step S104; S117. Write the encapsulated data in the MAC - packet encapsulation cache space as a MAC packet into the transmission - waiting queue to wait for transmission to the satellite reverse gateway through the reverse link, and the satellite reverse gateway will perform decapsulation on it to obtain the L3PDU.

2. The satellite reverse link high-efficiency transmission method according to claim 1, wherein When the MAC packet - header field is a MAC packet - header for a non - pre - allocated channel, the MAC packet - header field includes a first MAC - packet basic - header field / and a first MAC - packet optional - header field adjacent to the right of the first MAC - packet basic - header field; The first MAC packet basic header field includes any one or any combination of a burst type indication field, an address type indication field, a backlog data indication field, a duplicate flag indication field, an in-band signaling indication field, an encryption information indication field, and a protocol version indication field. Among them, the burst type indication field is used to represent different burst types through different binary values. The address type indication field is used to represent whether there is a terminal address information field in the first MAC packet optional header field / and the address type when it exists through different binary values. The backlog data indication field is used to represent whether there is a backlog data information field in the first MAC packet optional header field through different binary values. The duplicate flag indication field is used to represent whether the data in the payload data field adjacent to the right side of the MAC packet header field is retransmitted data and whether there is a retransmission sequence information field in the first MAC packet optional header field through different binary values. The in-band signaling indication field is used to represent whether there is an in-band signaling information field in the first MAC packet optional header field through different binary values. The encryption information indication field is used to represent whether there is an encryption setting information field in the first MAC packet optional header field through different binary values. The protocol version indication field is used to represent the version number of the currently used encapsulation protocol through different binary values; The first MAC packet optional header field includes any one or any combination of a terminal address information field, an encryption setting information field, a backlog data information field, a retransmission sequence information field, and an in-band signaling information field. Among them, the terminal address information field is used to represent the terminal address information of the MAC packet to which it belongs. The encryption setting information field is used to represent the encryption policy adopted in the MAC packet to which it belongs. The backlog data information field is used to represent the current backlog of data that the local terminal is ready to transmit in the reverse direction. The retransmission sequence information field is used to represent the sequence number information of the retransmitted MAC packet. The in-band signaling information field is used to represent the in-band signaling information; Alternatively, when the MAC packet header field is the MAC packet header for a pre-allocated channel, the MAC packet header field includes a second MAC packet basic header field / and a second MAC packet optional header field adjacent to the right side of the second MAC packet basic header field; The second MAC packet basic header field includes any one or any combination of a burst type indication field, an address type indication field, a backlog data indication field, a reliable transmission indication field, an in-band signaling indication field, and an encryption information indication field. Among them, the burst type indication field is used to represent different burst types by different binary values; the address type indication field is used to represent whether there is a terminal address information field in the second MAC packet optional header field / and the address type when it exists by different binary values; the backlog data indication field is used to represent whether there is a backlog data information field in the second MAC packet optional header field by different binary values; the reliable transmission indication field is used to represent whether the reliable transmission function of the terminal reverse data link layer is used for the data in the payload data field adjacent to the right side of the MAC packet header field and whether there is a sequence information field in the second MAC packet optional header field by different binary values; the in-band signaling indication field is used to represent whether there is an in-band signaling information field in the second MAC packet optional header field by different binary values; the encryption information indication field is used to represent whether there is an encryption setting information field in the second MAC packet optional header field by different binary values; The second MAC packet optional header field includes any one or any combination of a terminal address information field, an encryption setting information field, a backlog data information field, a sequence information field, and an in-band signaling information field. Among them, the terminal address information field is used to represent the terminal address information of the MAC packet to which it belongs; the encryption setting information field is used to represent the encryption policy adopted in the MAC packet to which it belongs; the backlog data information field is used to represent the current backlog of data that the local terminal is ready to transmit in reverse; the sequence information field is used to represent the sequence number information of the MAC packet to which it belongs; the in-band signaling information field is used to represent in-band signaling information.

3. The satellite reverse link efficient transmission method according to claim 1, characterized in that The basic header field of the SLC packet includes an SLC packet header type indication field and any one or any combination of a label type indication field, a priority level indication field, a check information indication field, a reception readiness indication field, an SLC packet follow-up indication field, a routing indication field, an acceleration processing indication field, a payload type indication field, and a payload length indication field. Among them, the SLC packet header type indication field is used to represent the complete type, start type, middle type, and end type of the SLC packet through different binary values. The label type indication field is used to represent whether there is a label information field in the optional header field of the SLC packet and the label type when it exists through different binary values. The priority level indication field is used to represent the transmission priority level of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values. The check information indication field is used to represent whether there is a cyclic redundancy check code (CRC) check information field in the optional header field of the SLC packet through different binary values. The reception readiness indication field is used to represent whether the local terminal notifies the satellite reverse gateway that it is ready to receive the result of the reverse channel resource allocation through different binary values. The SLC packet follow-up indication field is used to represent whether there is a subsequent SLC packet in the same MAC packet through different binary values. The routing indication field is used to represent whether the L3PDU reconstructed based on the data in the payload data field adjacent to the right side of the SLC packet header field is forwarded to the default data routing address or the default management routing address through different binary values. The acceleration processing indication field is used to represent whether the data in the payload data field adjacent to the right side of the SLC packet header field needs to be transmitted as soon as possible and allows it to preempt other data of the same priority level for transmission. The payload type indication field represents the data type of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values. The payload length indication field is used to represent the data length of the data in the payload data field adjacent to the right side of the SLC packet header field through different binary values; The optional header fields of the SLC packet include any one or any combination of the L3PDU total length information field, the CRC check information field, the label information field, the PDU identification information field, and the PDU fragmentation information field. Among them, the L3PDU total length information field only exists in the SLC packet header field of the complete type or the start type and is used to represent the data length of the L3PDU of the data contained in the payload data field adjacent to the right of the SLC packet header field. The CRC check information field is used to represent the CRC value of the L3PDU of the data contained in the payload data field adjacent to the right of the SLC packet header field. The label information field is used to represent the label information of the SLC packet. The PDU identification information field is used to represent the identification information of the L3PDU of the data contained in the payload data field adjacent to the right of the SLC packet header field. The PDU fragmentation information field is used to represent the L3PDU fragmentation label of the data contained in the payload data field adjacent to the right of the SLC packet header field by different binary values.

4. The satellite reverse link high-efficiency transmission method according to claim 1, characterized in that, When it is determined that the number of unencapsulated bytes of the currently encapsulating L3PDU is greater than zero, the method further includes: If it is found that the priority level of the next L3PDU after the currently encapsulating L3PDU is higher than that of the currently encapsulating L3PDU, then the next L3PDU is advanced as the currently encapsulating L3PDU, the number of encapsulated bytes is set to zero, and the number of unencapsulated bytes is set to the complete packet byte number of the next L3PDU, and then step S106 is executed.

5. An efficient transmission method for satellite reverse link, characterized in that, Executed by the satellite reverse gateway, including the following steps S201 to S205: S201. After receiving the MAC packet from the satellite communication terminal and transmitted according to the satellite reverse link efficient transmission method described in any one of claims 1 to 4, execute step S202; S202. Parse and obtain the MAC packet header field of the MAC packet from the left, and then execute step S203; S203. Continue to parse and obtain the SLC packet located in the payload data field of the MAC packet from the left, and continuously judge whether the parsing of the MAC packet is completed. If not, execute step S204; S204. After parsing and obtaining the SLC packet header field of an SLC packet, obtain the priority level and data length of the data in the payload data field adjacent to the right of the SLC packet header field from the SLC packet header field, and then execute step S205; S205. According to the data length, send the data in the payload data field adjacent to the right of the SLC packet header field into the packet assembly queue corresponding to the satellite communication terminal and the priority level, so as to packet assemble the L3PDU corresponding to the satellite communication terminal and the priority level, and then return to execute step S203.

6. The satellite reverse link high-efficiency transmission method according to claim 5, wherein Packet assembling to obtain the L3PDU includes: If the SLC header type obtained from the SLC header field is the complete type, the data in the payload data field adjacent to the right of the SLC header field is packetized into a complete L3PDU; If the SLC header type obtained from the SLC header field is the start type, middle type or end type, the data in the payload data field adjacent to the right of the SLC header field is first cached, and then, according to the identification information and fragmentation label of the L3PDU obtained from the SLC header field, the data in the payload data field adjacent to the right of the SLC header field and the data in the payload data field adjacent to the right of other SLC header fields are packetized into a complete L3PDU.

7. The satellite reverse link efficient transmission method according to claim 6, wherein, Before obtaining the L3PDU by packetization, the method further includes: Allocating multiple L3PDU segment recombination cache spaces for each priority level of each satellite communication terminal, so that in the subsequent process of obtaining the L3PDU by packetization, the data in the payload data field adjacent to the right of the SLC header field of different L3PDUs is cached in each of the L3PDU segment recombination cache spaces in the multiple L3PDU segment recombination cache spaces.

8. A satellite communication system, characterized in that, It includes a satellite communication terminal, a reverse link and a satellite reverse gateway, wherein the reverse link includes a communication satellite, and the satellite communication terminal uploads information to the satellite reverse gateway through the reverse link; The satellite communication terminal is configured to execute the satellite reverse link efficient transmission method according to any one of claims 1 to 4; The satellite reverse gateway is configured to execute the satellite reverse link efficient transmission method according to any one of claims 5 to 7.

9. A computer device, characterized in that, It includes a memory, a processor and a transceiver that are communicatively connected in sequence, wherein the memory is used to store a computer program, the transceiver is used to send and receive messages, and the processor is used to read the computer program and execute the satellite reverse link efficient transmission method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that , An instruction is stored on the computer-readable storage medium, and when the instruction runs on a computer, it executes the satellite reverse link efficient transmission method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method and apparatus for transmitting data in a mobile communication system

    CN110268742A

  • Efficient and reliable data transmission method for low-orbit satellite channel

    CN113660289A