Tiantong satellite transmission rate improving method and device based on point-to-point protocol

By creating multiple virtual channels on a single physical serial port and combining an adaptive time slot allocation algorithm with compressed HDLC encapsulation, the problem of low bandwidth utilization in traditional PPP channels is solved, enabling efficient processing and bandwidth aggregation of multiple concurrent services, and improving data transmission speed and service reliability.

CN120979538APending Publication Date: 2025-11-18ANHUI ZHONGKE YUJIANG TECHNOLOGY CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511413691.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-29
Publication Date
2025-11-18

AI Technical Summary

Technical Problem

Existing point-to-point protocol-based transmission technologies suffer from low bandwidth utilization, are unable to effectively handle concurrent multi-service operations, resulting in slow data transmission speeds and high-priority services being prone to congestion, thus failing to meet the high-efficiency operation requirements of diverse services.

Method used

By creating multiple virtual channels on a single physical serial port, each carrying an independent PPP link, and combining an adaptive time slot allocation algorithm and compressed HDLC encapsulation, the FCS verification mechanism is dynamically adjusted. Based on service priority, weights and time slot allocation are dynamically calculated to achieve bandwidth aggregation and intelligent load balancing.

Benefits of technology

It improves the transmission rate, solves the problem of low bandwidth utilization in traditional single PPP channels, enables efficient processing of multiple concurrent services, and reduces the transmission time of large files and the risk of blocking of high-priority services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120979538A_ABST
    Figure CN120979538A_ABST
Patent Text Reader

Abstract

The invention provides a Tiantong satellite transmission rate improving method and device based on a point-to-point protocol, relates to the field of satellite communication, and solves the technical problems of low bandwidth utilization rate and low multi-service concurrent processing efficiency. The method comprises the following steps: configuring an APN through an AT instruction set, starting PPP dialing, and establishing a physical connection with a Tiantong satellite; a plurality of virtual serial port channels are created on a single physical serial port channel by using a CMUX protocol, and each channel bears an independent PPP link. Compression type HDLC packaging is carried out on a PPP protocol stack, a frame header is reduced to 2 bytes, and a dynamic FCS verification mechanism is started. And sending the data fragments to the virtual channels through an adaptive time slot allocation algorithm according to the service priorities. And performing forward timestamp mark pre-compensation on the sending time sequence based on the 550ms satellite time delay prediction model. And sorting and recombining the channel data packets at a receiving end, and restoring the original data stream. The method is used in the Tiantong satellite transmission process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of satellite communications, and in particular to a method and apparatus for improving the transmission rate of Tiantong satellite based on a point-to-point protocol. Background Technology

[0002] In today's digital age, the efficiency and stability of data communication and transmission are crucial for the smooth operation of various services. Existing Point-to-Point Protocol (PPP) based transmission technologies often employ traditional single PPP channels. Due to limitations in the architecture and operating mechanism of these channels, they cannot fully utilize the potential bandwidth resources of the physical link, resulting in significant bandwidth wastage and underutilization of valuable network resources. For example, in bandwidth-intensive scenarios such as high-definition video streaming and large-scale file downloads, the low bandwidth utilization of single PPP channels leads to slow data transmission speeds, severely impacting user experience. Furthermore, with the increasing diversity of internet applications, multiple different types of services often need to be processed simultaneously, such as real-time voice calls, online game data interaction, and file uploads and downloads. However, single PPP channels lack the effective capacity to handle concurrent multi-service operations. Different services compete for limited bandwidth and system resources, causing conflicts and interference, leading to a significant decline in the service quality of some or even all services, failing to meet users' demands for efficient operation of diverse services simultaneously. Summary of the Invention

[0003] This application provides a method and apparatus for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, which solves the technical problems of low bandwidth utilization and low efficiency of multi-service concurrent processing in the prior art.

[0004] To achieve the above objectives, this application adopts the following technical solution: Firstly, a method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol includes: configuring the APN and initiating PPP dialing via the AT command set to establish a physical connection with the Tiantong satellite; creating multiple virtual serial port channels on a single physical serial port channel using the CMUX protocol, with each channel carrying an independent PPP link; implementing compressed HDLC encapsulation on the PPP protocol stack, reducing the frame header to 2 bytes, and enabling a dynamic FCS check mechanism; fragmenting data and sending it to the virtual channels according to service priority using an adaptive time slot allocation algorithm; pre-compensating the transmission timing with forward timestamp marking based on a 550ms satellite delay prediction model; and sorting and reassembling the data packets from each channel at the receiving end to restore the original data stream.

[0005] Based on the above technical solution, in the Tiantong satellite transmission rate improvement method based on point-to-point protocol provided in this application, multiple virtual channels are logically divided on a single physical serial port using CMUX, with each channel carrying an independent PPP link. Simultaneously, an adaptive time slot allocation algorithm is used to fragment data into 32-byte segments and mark them with channel IDs and sequence numbers. Weights are dynamically calculated based on service priorities, and time slots are allocated proportionally. This enables bandwidth aggregation and intelligent load balancing, shortening transmission time and solving the problems of low bandwidth utilization in traditional single PPP channels, inability to handle concurrent multi-service operations, slow large file transmission, and static resource allocation easily causing congestion in high-priority scenarios.

[0006] In conjunction with the first aspect mentioned above, in one possible implementation, multiple virtual serial port channels include: initializing a UART serial interface and a USB interface between the application end and the module end to establish a physical communication link. The UART interface includes at least a transmit data line (TXD), a receive data line (RXD), and a hardware flow control signal line (CTS / RTS). The USB interface includes at least a negative data line (USB_DM) and a positive data line (USB_DP). The application end configures the application layer, network layer, and data link layer PPP software protocol stack from top to bottom. The module end correspondingly configures the IPRELAY and PPP protocol stacks to prepare for link negotiation. The application end sends an AT command sequence to the module end through the initialized UART or USB physical link. The command sequence includes configuring the APN parameters of the PPP connection using the AT+CGDCONT command and using the ATD command... Command #99 initiates a PPP dial-up call, triggering the module to begin negotiating LCP, PAP, and IPCP protocols. Upon successful negotiation, four logical data links are established between the PPP layer on the application side and the PPP layer on the module side.

[0007] In conjunction with the first aspect mentioned above, one possible implementation of the adaptive time slot allocation algorithm includes: segmenting the original data stream into fixed-length 32-byte segments, and adding a channel identifier and sequence number marker to each data segment. A three-tier priority queue is established based on service type, and independent virtual channel resources are allocated to each queue through negotiation using the LCP protocol. The three-tier priority queues are: real-time voice > control signaling > ordinary data. Calculate the time slot allocation weights for each channel, where W i Let T be the weight value of the i-th channel. i Let D be the real-time throughput of the i-th channel. i Let be the transmission delay of the i-th channel, and α and β be adjustment coefficients. (Based on weighted proportions) Data is fragmented and distributed to various virtual channels for transmission. The receiving end periodically provides feedback on channel quality metrics, while the sending end updates the weight parameters every 500ms.

[0008] In conjunction with the first aspect mentioned above, one possible implementation involves initiating PPP dialing, including: configuring the APN parameters for the PPP connection via the AT+CGDCONT command, whereby the APN parameters include the Access Point Name, authentication type, and user credentials; detecting the SIM card status via the AT+SIM? command; polling the network registration status via the AT+CREG? and AT+CGREG? commands when the SIM card is ready; and waiting for the module to return a network ready status indication before executing ATD. Command #99 triggers the module to initiate PPP link negotiation. Link Control Protocol (LCP) negotiation occurs between the module and the application, establishing data link layer parameters. Authentication is completed based on Password Authentication Protocol (PAP) or Challenge Handshake Authentication Protocol (CHAP). IP address allocation is negotiated via Internet Protocol Control Protocol (IPCP), establishing a network layer connection.

[0009] In conjunction with the first aspect mentioned above, in one possible implementation, Link Control Protocol (LCP) negotiation further includes: verifying the identity and legitimacy of the module and application ends through a PAP or CHAP protocol authentication mechanism. The MTU value is dynamically adjusted based on the satellite link's latency characteristics, with a range of 128-512 bytes, to match fragment length and channel load allocation strategies. The server and client each generate and send a random magic word in the LCP configuration request frame to identify session uniqueness and avoid link-layer packet crosstalk. The receiver compares the received magic word with its own generated magic word; if they are identical, a link-layer loop is identified, and an LCP configuration rejection frame is sent for renegotiation. Upon successful negotiation, the magic word serves as a session identifier, used to assist in identifying abnormal packets in subsequent data transmissions.

[0010] In conjunction with the first aspect mentioned above, one possible implementation involves compressing the PPP protocol stack with HDLC encapsulation. This includes: removing the address field and redundant control fields from the standard HDLC, retaining only the simplified control bytes as the frame start identifier, and compressing the HDLC frame header from 5 bytes to 2 bytes. Real-time monitoring of satellite channel quality is performed; when the signal-to-noise ratio (SNR) > 20 dB, FCS check is disabled, generating a data frame without a check field. When the SNR ≤ 20 dB, a 2-byte FCS check is enabled; a bitwise XOR operation is performed on all bytes from the frame start identifier to the payload data, generating an 8-bit binary checksum, which is then split into the high 4 bits and the low 4 bits, and converted into hexadecimal ASCII characters as the check field.

[0011] After a frame ends, the identifier reuses the compressed frame start identifier and replaces the separate end field of traditional HDLC.

[0012] In conjunction with the first aspect mentioned above, one possible implementation involves pre-compensating the transmission timing with forward timestamp marking based on a 550ms satellite delay prediction model. This includes: calculating a fixed propagation delay reference value of 550ms based on the Tiantong satellite's orbital altitude; real-time monitoring of the satellite link status; dynamically acquiring the current channel additional delay ΔD through a round-trip time delay (RTT) measurement module, with a measurement interval ≤15ms; and adding a high-precision timestamp mark to each data fragment, with a timestamp accuracy of ±5ms. The transmitting end executes a process via T... comp =550ms+ΔD Calculation delay compensation T comp When encapsulating data fragments, the timestamp value is advanced by T. comp Milliseconds are written to the reserved field in the frame header. The receiving end performs cross-channel timing reassembly of out-of-order data packets based on the timestamp value.

[0013] In conjunction with the first aspect mentioned above, one possible implementation involves sorting and reassembling data packets for each channel, including: establishing an independent buffer for each virtual channel at the receiving end, and classifying and storing out-of-order data packets into corresponding buffers based on the channel identifier of the data fragments. Data fragments within the same channel buffer are sorted chronologically based on the timestamp value in the frame header. Each buffer is processed sequentially according to a three-tier service priority order, with data fragments in high-priority queues being reassembled first. Continuity verification of fragments within the same service flow is performed using sequence number markings, and a dynamic receive window mechanism is used to handle missing fragments. If a sequence number interruption is detected, a NACK retransmission request is immediately sent to the sending end. If the data within the window is complete, the reassembled data stream is submitted to the application layer. The dynamic window size is updated based on channel quality feedback after every 500ms data reassembly cycle.

[0014] In conjunction with the first aspect mentioned above, one possible implementation also includes a dynamic window scaling factor: the dynamic window scaling factor is achieved through... Calculate the receiving window W Recv The size of W base The initial value is set to the minimum receive window size of 1K, k is a scaling factor for dynamic calibration based on historical quality data of the satellite link, and SNR is the real-time signal-to-noise ratio obtained by periodically measuring the channel quality at the receiver. thresh To preset the signal-to-noise ratio threshold, SNR max This is the maximum signal-to-noise ratio. The receiver updates the receive window W every 500ms based on the feedback channel quality metrics. Recv The size of SNR. When SNR > SNR thresh When SNR ≤ SNR, prioritize increasing the window size to improve throughput. thresh At this time, the window is reduced to decrease packet loss and retransmission, which is used to reduce the receiving window W. recvThe size is dynamically limited between 1KB and 64KB to control the range of data packets received during continuity checks. If the sequence number is discontinuous, a NACK retransmission request is sent based on the updated window size.

[0015] Secondly, a device for improving the transmission rate of Tiantong satellite based on a point-to-point protocol is provided, including a processing unit. The processing unit is used to configure the APN and initiate PPP dialing via AT command set to establish a physical connection with the Tiantong satellite. Multiple virtual serial port channels are created on a single physical serial port channel using the CMUX protocol, with each channel carrying an independent PPP link. The PPP protocol stack is encapsulated using compressed HDLC, reducing the frame header to 2 bytes and enabling a dynamic FCS check mechanism. Data is fragmented and sent to the virtual channels according to service priority using an adaptive time slot allocation algorithm. Forward timestamp pre-compensation is performed on the transmission timing based on a 550ms satellite delay prediction model. At the receiving end, the data packets of each channel are sorted and reassembled to restore the original data stream.

[0016] Thirdly, this application provides a Tiantong satellite transmission rate enhancement device based on a point-to-point protocol, comprising: a processor and a storage medium; the storage medium includes instructions, and the processor is used to execute the instructions to implement the method described in the first aspect and any possible implementation thereof. This Tiantong satellite transmission rate enhancement device based on the point-to-point protocol can be an electronic device or a chip within an electronic device.

[0017] Fourthly, this application provides a computer-readable storage medium storing instructions that, when executed on the Tiantong satellite transmission rate enhancement device based on a point-to-point protocol, cause the Tiantong satellite transmission rate enhancement device based on a point-to-point protocol to perform the method described in the first aspect and any possible implementation thereof.

[0018] Fifthly, this application provides a computer program product containing instructions that, when the computer program product is run on the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol, causes the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol to perform the method described in the first aspect and any possible implementation thereof.

[0019] This application provides a method and apparatus for improving the transmission rate of Tiantong satellite based on a point-to-point protocol. It can divide a single physical serial port into multiple virtual channels via CMUX logic, each carrying an independent PPP link. Simultaneously, it combines an adaptive time slot allocation algorithm to fragment data into 32-byte segments and label them with channel IDs and sequence numbers. Based on service priority, weights are dynamically calculated, and time slots are allocated proportionally. This enables bandwidth aggregation and intelligent load balancing, reducing transmission time and solving the problems of low bandwidth utilization in traditional single PPP channels, inability to handle concurrent multi-service traffic, slow large file transfers, and static resource allocation easily causing congestion in high-priority scenarios.

[0020] It should be understood that the descriptions of technical features, technical solutions, beneficial effects, or similar language in this application do not imply that all features and advantages can be achieved in any single embodiment. Rather, it is understood that the description of a feature or beneficial effect means that a specific technical feature, technical solution, or beneficial effect is included in at least one embodiment. Therefore, the descriptions of technical features, technical solutions, or beneficial effects in this specification do not necessarily refer to the same embodiment. Furthermore, the technical features, technical solutions, and beneficial effects described in this embodiment can be combined in any suitable manner. Those skilled in the art will understand that embodiments can be implemented without one or more specific technical features, technical solutions, or beneficial effects of a particular embodiment. In other embodiments, additional technical features and beneficial effects may be identified in specific embodiments that do not embody all embodiments. Attached Figure Description

[0021] Figure 1 A system architecture diagram of a Tiantong satellite transmission rate enhancement system based on a point-to-point protocol is provided for embodiments of this application; Figure 2 A flowchart illustrating a method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, provided in an embodiment of this application; Figure 3 A flowchart illustrating another method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, provided in an embodiment of this application; Figure 4 A flowchart illustrating another method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, provided in an embodiment of this application; Figure 5 A schematic diagram of the structure of a Tiantong satellite transmission rate enhancement device based on a point-to-point protocol provided in this application embodiment; Figure 6 A schematic diagram of the hardware structure of a Tiantong satellite transmission rate enhancement device based on a point-to-point protocol, provided for an embodiment of this application; Detailed Implementation

[0022] In the description of this application, unless otherwise stated, " / " means "or," for example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. The terms "first," "second," etc., do not limit the quantity or order of execution, and "first," "second," etc., do not necessarily imply differences.

[0023] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0024] To address the issue that existing technologies suffer from fixed and low single-channel transmission rates when transmitting large data files, resulting in excessively long file transfer times, and the lack of multi-service concurrent processing capabilities, the inability to effectively differentiate and allocate resources for different services when multiple services such as real-time voice, control signaling, and general data transmission are simultaneously required can easily lead to mutual interference and resource contention between services. This, in turn, increases the transmission latency and reduces the stability of high-priority services (such as real-time voice), affecting service quality. Furthermore, the HDLC encapsulation method of the traditional PPP protocol stack suffers from a large number of standard HDLC frame header bytes (usually 5 bytes), resulting in a large proportion of protocol overhead and a low proportion of effective payload in the transmitted data, further reducing the actual data transmission efficiency. At the same time, the FCS verification mechanism lacks dynamic adjustment capabilities, using a fixed verification method regardless of satellite channel quality. Redundant verification is performed even when channel quality is good (e.g., SNR > 20dB), wasting transmission resources, while the inflexible verification mechanism may lead to a higher data transmission error rate when channel quality is poor. Furthermore, existing technologies lack effective delay compensation mechanisms to address the high latency characteristics of satellite links. Tiantong satellites have a fixed propagation delay of approximately 550ms, and additional delays occur during actual transmission. Current technologies fail to accurately predict and compensate for these delays, leading to chaotic data transmission timing and potential packet reordering issues at the receiving end, increasing the complexity and time consumption of data reassembly. In addition, regarding data fragmentation and transmission control, existing technologies do not employ reasonable fragmentation strategies and dynamic resource scheduling algorithms. Data fragment lengths are not fixed and lack key markers such as channel identifiers and sequence numbers, making it difficult for the receiving end to efficiently sort and verify data continuity. Simultaneously, the lack of a dynamic time slot allocation mechanism based on service priority prevents the adjustment of resource allocation weights according to parameters such as real-time throughput and transmission latency of different services, resulting in resource imbalance. In high-priority service transmission scenarios, static resource allocation can easily cause congestion, further reducing transmission efficiency and service reliability. Finally, during the PPP dial-up connection establishment and link negotiation process, the existing technology is not perfect in its SIM card status detection and network registration status polling process. It is easy to blindly initiate dialing due to SIM card not being ready or network registration not being completed, resulting in a high connection establishment failure rate. Moreover, the adjustment of MTU value during LCP negotiation lacks specificity and does not dynamically set a reasonable MTU range (such as 128-512 bytes) in combination with satellite link latency characteristics. This makes it impossible to match data fragment length and channel load allocation strategy, further affecting the stability and efficiency of data transmission. This application provides a method for improving the transmission rate of Tiantong satellite based on point-to-point protocol. This method divides multiple virtual channels on a single physical serial port through CMUX logic, with each channel carrying an independent PPP link. At the same time, it combines an adaptive time slot allocation algorithm to fragment data into 32-byte segments and mark them with channel ID and sequence number. The weight is dynamically calculated based on service priority, and time slots are allocated proportionally.This enables bandwidth aggregation and intelligent load balancing, reducing transmission time and solving the problems of low bandwidth utilization, inability to handle multiple concurrent services, slow large file transfer, and easy congestion caused by static resource allocation in high-priority scenarios in traditional single PPP channels.

[0025] Step 101: Configure the APN using the AT command set and start PPP dialing to establish a physical connection with the Tiantong satellite. Use the CMUX protocol to create multiple virtual serial port channels on a single physical serial port channel, with each channel carrying an independent PPP link.

[0026] The AT command set is a set of commands used to configure the modem, such as AT+CGDCONT or ATD. 99#. APN is Access Point Name, used to identify a network access point and includes parameters such as authentication type. PPP dialing is the process of establishing a connection through a point-to-point protocol, involving link negotiation. Tiantong satellite is a satellite in China's satellite communication system. A physical connection is a communication link established through a hardware interface. The CMUX protocol is a protocol that can logically divide a single physical channel into multiple virtual channels. Physical serial port channels are such as UART or USB interfaces. Virtual serial port channels are independent logical channels created through CMUX. A PPP link is a data transmission link for a point-to-point protocol.

[0027] In some implementations, the APN is configured and PPP dialing is initiated to establish a physical connection via the AT command set. Specifically, this involves using the AT+CGDCONT command to set parameters such as the access point name and authentication type, and then executing the ATD command. The 99# command triggers PPP dialing; then, physical interfaces such as UART or USB are initialized between the application and module sides. The UART interface includes TXD, RXD, and CTS / RTS signal lines, and the USB interface includes USB_DM and USB_DP signal lines; then, multiple virtual serial port channels are created on the single physical serial port channel using the CMUX protocol, with each channel independently carrying a PPP link; finally, after successful PPP negotiation, the binding of multiple logical data links is achieved through CMUX to ensure that each virtual channel operates independently.

[0028] For example, in a satellite communication device, the application first sends the AT+CGDCONT command to configure the APN parameters (e.g., the access point name is "sattelite.apn"), and then uses ATD... 99# initiates PPP dialing; after the physical connection is established, the CMUX protocol is used to create 4 virtual serial port channels on the USB interface. Each channel independently carries the PPP link and is used for data transmission of different priorities, such as channel 1 for real-time voice and channel 2 for control signaling; the final file transfer time is shortened, verifying the bandwidth aggregation effect.

[0029] Step 102: Implement compressed HDLC encapsulation on the PPP protocol stack, reduce the frame header to 2 bytes, and enable dynamic FCS verification mechanism.

[0030] The PPP protocol stack is a software implementation stack for point-to-point protocols, involving the application layer, network layer, and data link layer. Compressed HDLC encapsulation is a compression method for High-Level Data Link Control frames. The frame header is the part of the data frame. Reducing to 2 bytes means reducing the frame header size from the traditional 5 bytes to 2 bytes. The dynamic FCS check mechanism is a mechanism that dynamically switches the frame check sequence based on real-time channel quality. The HDLC frame header is the start of the frame in the High-Level Data Link Control protocol. The start-of-frame identifier is a simplified control byte that identifies the start of the frame. The FCS checksum is a field used for data integrity verification. Signal-to-noise ratio (SNR) is a metric for measuring signal quality. Bitwise XOR operation is the logical operation for calculating the checksum. Hexadecimal ASCII characters are the representation of the checksum field.

[0031] In some implementations, the address field and redundant control field in standard HDLC are first removed, leaving only the simplified control byte as the frame start identifier, thus compressing the HDLC frame header from 5 bytes to 2 bytes. Then, the signal-to-noise ratio (SNR) of the satellite channel quality is monitored in real time. When the SNR is detected to be greater than 20 dB, FCS check is disabled, and a data frame without a check field is generated. When the SNR is less than or equal to 20 dB, 2-byte FCS check is enabled. A bitwise XOR operation is performed on all bytes from the frame start identifier to the payload data to generate an 8-bit binary check code, which is then split into the high 4 bits and the low 4 bits and converted into hexadecimal ASCII characters as check fields. Finally, the compressed frame start identifier is reused as the end identifier after the frame ends, replacing the independent end field of traditional HDLC.

[0032] Implement compressed HDLC encapsulation for the PPP protocol stack, including: The address field and redundant control field in the standard HDLC are removed, and only the simplified control byte is retained as the frame start identifier, compressing the HDLC frame header from 5 bytes to 2 bytes.

[0033] The satellite channel quality is monitored in real time. When the signal-to-noise ratio (SNR) is greater than 20dB, the FCS check is turned off, and a data frame without a check field is generated.

[0034] When the signal-to-noise ratio (SNR) is less than or equal to 20dB, a 2-byte FCS check is enabled. A bitwise XOR operation is performed on all bytes from the start-of-frame identifier to the payload data to generate an 8-bit binary check code, which is then split into the high 4 bits and the low 4 bits, and converted into hexadecimal ASCII characters as the check field.

[0035] After a frame ends, the identifier reuses the compressed frame start identifier and replaces the separate end field of traditional HDLC.

[0036] Step 103: Based on service priority, data is fragmented and sent to the virtual channel using an adaptive time slot allocation algorithm.

[0037] Service priority refers to the transmission level divided according to data type, such as a three-level queue for real-time voice, control signaling, and ordinary data. The adaptive time slot allocation algorithm is a calculation method that dynamically adjusts the proportion of channel resources. Data fragmentation involves cutting raw data into fixed-length segments. A virtual channel is an independent logical transmission path created through the CMUX protocol. A time slot is a data transmission time window allocated to each channel. A channel identifier is a unique marker that distinguishes virtual channels. A sequence number is used to identify the fragmentation order. Throughput is the amount of effective data transmitted per unit time. Transmission delay is the delay from data transmission to reception. The adjustment coefficient is a weighting parameter in the algorithm that balances throughput and delay.

[0038] In some implementations, the raw data stream is fragmented into fixed-length 32-byte segments, and a channel identifier and sequence number are added to each segment. Next, a three-tier priority queue is divided according to service type (real-time voice > control signaling > ordinary data), and independent virtual channel resources are allocated to each queue through negotiation using the LCP protocol. Then, the time slot allocation weight for each channel is calculated, and the data segments are dynamically allocated to each virtual channel according to the weight ratio. Finally, the receiving end periodically provides feedback on channel quality indicators, and the sending end updates the weight parameters every 500ms to adapt to link changes.

[0039] It should be noted that the three-level priority is fixed to the virtual channel through LCP negotiation to ensure that high-priority services (such as voice) always occupy the premium channel.

[0040] Adaptive time slot allocation algorithms include: The raw data stream is fragmented into 32-byte fixed-length segments, and a channel identifier and sequence number are added to each data segment.

[0041] The service type is divided into three priority queues. Independent virtual channel resources are allocated to each queue through negotiation via the LCP protocol. The three priority queues are: real-time voice > control signaling > ordinary data.

[0042] based on Calculate the time slot allocation weights for each channel, where W i Let T be the weight value of the i-th channel. i Let D be the real-time throughput of the i-th channel. i Let be the transmission delay of the i-th channel, and α and β be adjustment coefficients.

[0043] By weighting Data is fragmented and distributed to various virtual channels for transmission.

[0044] The receiver periodically provides feedback on channel quality metrics, while the transmitter updates the weight parameters every 500ms.

[0045] Step 104: Perform forward timestamp pre-compensation on the transmission timing based on the 550ms satellite delay prediction model. At the receiving end, sort and reassemble the data packets of each channel to restore the original data stream.

[0046] The satellite delay prediction model is a mathematical model of propagation delay calculated based on the orbital altitude of the Tiantong satellite. 550ms is a fixed propagation delay baseline value, theoretically calculated from the orbital altitude (e.g., 36,000 km in geostationary orbit). The forward timestamp is a high-precision timestamp written by the sender in the data frame header, with an accuracy of ±5ms. Pre-compensation refers to the sender actively advancing the timestamp by the delay value. Reordering and reassembling is the process by which the receiver organizes out-of-order data packets. The original data stream is the complete service data restored after reordering. An independent buffer is a temporary storage space allocated for each virtual channel. The timestamp value is a precise timing identifier written in the frame header. The channel identifier is a unique marker used to distinguish virtual channels. The sequence number is a number that identifies the order of data fragments. The dynamic receive window mechanism is the adaptively adjusted data packet reception range control logic. The NACK retransmission request is an instruction from the receiver to report missing fragments.

[0047] In some implementations, a fixed propagation delay reference value of 550ms is calculated based on the orbital altitude of the Tiantong satellite; the satellite link status is monitored in real time, and the current channel additional delay ΔD is dynamically obtained at intervals of ≤15ms through the round-trip time delay (RTT) measurement module; a high-precision timestamp with an accuracy of ±5ms is added to each data fragment; the sender calculates the delay compensation value Tcomp; during the data fragment encapsulation stage, the timestamp value is written into the reserved field of the frame header milliseconds in advance; at the receiver, an independent buffer is set up for each virtual channel, and out-of-order data packets are classified and stored in the corresponding buffer according to the channel identifier of the data fragment; data fragments in the same channel buffer are sorted in chronological order based on the timestamp value in the frame header; the continuity of fragments in the same service flow is checked by the sequence number mark; if a sequence number interruption is detected, a NACK retransmission request is immediately sent to the sender through a dynamic receive window mechanism; if the data in the window is complete, the reassembled data stream is submitted to the application layer, and the dynamic window size is updated every 500ms.

[0048] It also includes dynamic window scaling factors: Dynamic window scaling factor through Calculate the receiving window W Recv The size of W baseThe initial value is set to the minimum receive window size of 1K, k is a scaling factor for dynamic calibration based on historical quality data of the satellite link, and SNR is the real-time signal-to-noise ratio obtained by periodically measuring the channel quality at the receiver. thresh To preset the signal-to-noise ratio threshold, SNR max This represents the maximum signal-to-noise ratio.

[0049] The receiver updates its receive window W every 500ms based on the feedback channel quality metrics. Recv Size.

[0050] When SNR>SNR thresh When SNR ≤ SNR, prioritize increasing the window size to improve throughput. thresh At this time, the window is reduced to decrease packet loss and retransmission, which is used to reduce the receiving window W. recv The size is dynamically limited between 1KB and 64KB to control the range of data packets received during continuity checks.

[0051] If the sequence number is discontinuous, a NACK retransmission request is sent based on the updated window size.

[0052] Based on the above technical solution, multiple virtual channels are logically divided on a single physical serial port using CMUX, each carrying an independent PPP link. Simultaneously, an adaptive time slot allocation algorithm is used to fragment data into 32-byte segments, each labeled with a channel ID and sequence number. Weights are dynamically calculated based on service priority, and time slots are allocated proportionally. This enables bandwidth aggregation and intelligent load balancing, reducing transmission time and solving the problems of low bandwidth utilization in traditional single PPP channels, inability to handle concurrent multi-service requests, slow large file transfers, and potential congestion caused by static resource allocation in high-priority scenarios.

[0053] In one possible implementation of the embodiments of this application, combined with Figure 1 ,like Figure 2 As shown, multiple virtual serial port channels can be implemented through the following steps 201 to 203, which are explained in detail below: Step 201: Initialize the UART serial interface and USB interface between the application and module sides to establish a physical communication link. The UART interface includes at least a transmit data line (TXD), a receive data line (RXD), and a hardware flow control signal line (CTS / RTS). The USB interface includes at least a negative data line (USB_DM) and a positive data line (USB_DP). Configure the PPP software protocol stack at the application layer, network layer, and data link layer from top to bottom on the application side. Correspondingly configure the IPRELAY and PPP protocol stacks on the module side to prepare for link negotiation.

[0054] UART is a Universal Asynchronous Receiver / Transmitter interface for serial communication. USB is a Universal Serial Bus interface for device connection and data transmission. TXD is the transmit data line responsible for outputting data signals. RXD is the receive data line responsible for inputting data signals. CTS is the clear transmit signal line used for hardware flow control to indicate the receive ready state. RTS is the request transmit signal line used for hardware flow control to control data transmission. USB_DM is the USB data negative line, transmitting the negative portion of the differential signal. USB_DP is the USB data positive line, transmitting the positive portion of the differential signal. The application layer is the top layer of the protocol stack, handling the generation of user application data. The network layer is responsible for packet routing and IP addressing. The data link layer PPP implements data encapsulation for point-to-point connections. IPRELAY is the protocol function used on the module side for IP data forwarding. Link negotiation is the protocol process for establishing and configuring the data link.

[0055] In some implementations, the UART serial interface is initialized between the application and module sides. This involves configuring the transmit data line (TXD) to output data, the receive data line (RXD) to input data, and the hardware flow control signal line (CTS / RTS) to manage data flow control and ensure signal transmission stability. Simultaneously, the USB interface is initialized, configuring the negative data line (USB_DM) and the positive data line (USB_DP) to establish a physical communication link for differential signal transmission. Next, the software protocol stack is configured from top to bottom on the application side. This includes the application layer generating user data (such as files or control commands), the network layer handling IP packet routing and encapsulation, and the data link layer implementing PPP for data frame encapsulation and decapsulation. Then, on the module side, the corresponding IPRELAY protocol stack is configured for forwarding IP packets, and the PPP protocol stack is configured for data link layer processing, preparing for link negotiation. Finally, negotiation is triggered by sending an AT command sequence through the physical link. For example, the application side uses AT+CGDCONT to configure APN parameters and sends ATD. #99 initiates PPP dialing, driving the module to initiate negotiation processes such as Link Control Protocol (LCP) and Password Authentication Protocol (PAP). The entire process lays the physical foundation through hardware interface initialization, and the layered configuration of the protocol stack ensures seamless data transmission from generation to transmission, ultimately achieving end-to-end link preparation.

[0056] It should be noted that the layered design of the protocol stack (application layer, network layer, data link layer PPP) ensures orderly data processing from top to bottom at the application side, while the IPRELAY and PPP configuration at the module side are specifically designed for link negotiation. Link negotiation relies on the standard PPP protocol process and is automatically triggered via AT commands.

[0057] Step 202: The application sends an AT command sequence to the module via the initialized UART or USB physical link. The command sequence includes configuring the APN parameters of the PPP connection using the AT+CGDCONT command and using ATD... Command #99 initiates PPP dialing, triggering the module to start LCP, PAP and IPCP protocol negotiation.

[0058] The APN parameter is a network access configuration, including the access point name, authentication type, and user credentials. ATD 99# is the command to initiate PPP dialing. LCP (Link Control Protocol) is used to establish and configure data link layer parameters. PAP (Password Authentication Protocol) is the authentication mechanism. IPCP (IP Control Protocol) is responsible for allocating IP addresses and negotiating network layer parameters.

[0059] In some implementations, the application sends a sequence of AT commands to the module via an initialized UART or USB physical link (such as USB_DM / USB_DP differential signal lines or UART's TXD / RXD transceiver lines): First, the AT+CGDCONT command is sent to configure the APN parameters for the PPP connection, specifying the access point name (e.g., internet.satcom), authentication type (e.g., PAP), and user credentials (username / password); then, the ATD99# command is sent to initiate PPP dialing. Upon receiving the ATD99# command, the module automatically triggers Layer 3 protocol negotiation: it initiates LCP negotiation to negotiate data link layer parameters (e.g., MTU size), verifies identity legitimacy via the PAP protocol (exchanging username and password), and finally performs IPCP negotiation to allocate an IP address to the application (e.g., 192.168.1.100), completing the network layer connection establishment. The entire process transmits commands via the physical link, driving the module to respond automatically according to the standard PPP procedure.

[0060] It should be noted that the command sequence must be from AT+CGDCONT (configure APN) to ATD. Send 99# (dialing) in sequence, otherwise the module cannot recognize the PPP parameters.

[0061] Step 203: After successful negotiation, establish four logical data links between the PPP layer on the application side and the PPP layer on the module side.

[0062] The application side refers to the software environment on the user equipment side, which generates and processes user data. The module side refers to the hardware side of the satellite communication module, which performs data transmission functions. The logical data link is an independent data transmission channel virtualized by protocols, carrying end-to-end communication. Successful negotiation refers to the state after parameter configuration and authentication are completed through LCP, PAP, and IPCP protocols.

[0063] In some implementations, after successful negotiation (i.e., the LCP, PAP, and IPCP protocols interact), four logical data links are directly established between the PPP layer on the application side and the PPP layer on the module side: First, four virtual channels are logically divided on a single physical serial port channel based on the CMUX protocol; then, each virtual channel independently carries a PPP link instance to ensure data isolation; next, the PPP layer on the application side distributes user data to the four links, and the PPP layer on the module side receives and processes the corresponding data; finally, end-to-end multi-path parallel transmission is achieved through protocol stack binding, but data fragmentation or priority scheduling is not involved.

[0064] Based on the above technical solution, it simultaneously supports both UART (including TXD / RXD / CTS / RTS hardware flow control) and USB (including USB_DM / USB_DP differential signals) physical interfaces, ensuring strong compatibility and reliable transmission. Meanwhile, the application side configures the application layer (service data), network layer (IP routing), and PPP layer (frame encapsulation) from top to bottom; the module side synchronously configures IPRELAY (IP forwarding) and PPP layer (frame decapsulation), achieving seamless end-to-end protocol stack integration. Furthermore, a fixed command sequence (AT+CGDCONT) configures the APN to the ATD. The 99# trigger dialing driver module automatically completes the negotiation of the three-layer protocol: LCP (Link Parameters), PAP (Authentication and Access Points), and IPCP (IP Allocation), without manual intervention. Finally, four independent logical data links are established between the PPP layers, directly supporting the parallel transmission capability of multiple services, breaking through the bandwidth limit of a single link, and solving the problem that traditional PPP, which only establishes a single logical link, cannot meet the bandwidth requirements of large file transmission and real-time voice concurrency in satellite communication.

[0065] In one possible implementation of this application embodiment, initiating PPP dialing can be achieved through the following steps 301 to 305, which are described in detail below: Step 301: Configure the APN parameters for the PPP connection using the AT+CGDCONT command. The APN parameters include the Access Point Name, authentication type, and user credentials. Check the SIM card status using the AT+SIM? command.

[0066] The AT+CGDCONT command is an AT command used to configure the Access Point Name (APN) parameters for a PPP connection. The APN parameters include the Access Point Name, authentication type, and user credentials. The Access Point Name specifies the access point identifier for the mobile network. The authentication type, such as PAP or CHAP, indicates the protocol type used for authentication. User credentials include a username and password used in the authentication process. The AT+SIM? command is used to check the SIM card status. The SIM card status indicates whether the SIM card is ready, such as whether it is inserted or activated.

[0067] In some implementations, the application first sends an AT+SIM? command to the module via an initialized UART or USB physical link. The module then checks the SIM card status and returns a response indicating whether the SIM card is ready. If the status is ready, subsequent operations continue.

[0068] It should be noted that the command must be executed during PPP dialing, such as when executing ATD. Execute before 99# to ensure network connection is ready, thus avoiding connection failure due to an unread SIM card or missing APN parameters. If AT+SIM? returns to an unread state, the application must wait or retry until the SIM card is ready before continuing to configure APN parameters.

[0069] Step 302: When the SIM card is ready, poll the network registration status using the AT+CREG? and AT+CGREG? commands.

[0070] The AT+CREG? command is an AT command used to query network registration status, returning whether the device is registered to the mobile network. The AT+CGREG? command is an AT command used to query GPRS network registration status, returning the GPRS attachment status. Polling refers to periodically sending query commands to obtain real-time status. Network registration status indicates the connection status between the device and the mobile network, such as whether it is registered or not.

[0071] In some implementations, after the SIM card status is detected as ready via AT+SIM?, the application sends an AT+CREG? command to the module via an initialized physical link such as a UART or USB interface to query the current network registration status. The module returns a response such as +CREG:0,1 or +CREG:0,5 indicating the registration result. The application parses this response to confirm whether network registration is complete. If not registered, it waits or retryes. Then, the application sends an AT+CGREG? command to query the GPRS network registration status. The module returns a response such as +CGREG:0,1 or +CGREG:0,5. The application parses this response to confirm the GPRS attachment status. The polling process is executed periodically until the network registration status returns a ready indication such as +CREG:0,1 or +CGREG:0,1, indicating that the network preparation check is complete.

[0072] It should be noted that polling operations must be performed using PPP dialing such as ATD. Execute before #99 to ensure the network layer is ready and avoid connection failures due to lack of registration. The polling interval can be configured through the application, typically set to a reasonable period such as 500ms to reduce resource consumption. Status response values ​​must be correctly parsed; for example, +CREG:0,1 indicates registration on the local network, and +CREG:0,5 indicates registration on a roaming network. Polling must continue and cannot be skipped if the registration status is not ready.

[0073] Step 303: Wait for the module to return a network ready status indication, and execute ATD. Command #99 triggers the module to start PPP link negotiation.

[0074] The network readiness status indicator is a response signal returned by the module, such as +CREG:0,1 or +CGREG:0,1, indicating that the device has successfully registered with the mobile network or GPRS network. ATD Command #99 is a standard AT command used to initiate PPP dialing and trigger the module to start the connection process. PPP link negotiation is a protocol interaction process automatically executed by the module, including Link Control Protocol (LCP) negotiation, establishing data link layer parameters, Password Authentication Protocol (PAP) verification of identity and legitimacy, and Internet Protocol Control Protocol (IPCP) allocation of IP addresses to complete the network layer connection.

[0075] In some implementations, after the application confirms the network readiness status indication returned by the module (e.g., +CREG:0,1 and +CGREG:0,1) via the AT+CREG? and AT+CGREG? commands, it immediately sends an ATD99# command to the module via the initialized UART or USB physical link. Upon receiving this command, the module automatically triggers the PPP link negotiation process: first, it initiates LCP negotiation, exchanging configuration request frames to negotiate link parameters such as MTU size; then, it exchanges username and password based on the PAP protocol to complete authentication; finally, it performs IPCP negotiation to assign an IP address to the application, such as 192.168.1.100, establishing a complete network layer connection. The entire negotiation process is led by the module; the application only needs to send a single ATD99# command to drive it without interfering with the protocol interaction details.

[0076] It should be noted that ATD Command #99 must be executed after the network ready status indicator returns; otherwise, the module will return an error code such as "NOCARRIER," causing connection failure. The negotiation process is entirely handled internally by the module; the application does not need to send additional LCP commands. The negotiation may include magic word detection to prevent loop PAP authentication from relying on pre-configured user credentials. If authentication fails, the negotiation will terminate and a redial is required.

[0077] Step 304: Negotiate the Link Control Protocol (LCP) between the module and the application to establish data link layer parameters.

[0078] In this context, the module side refers to the hardware side of the satellite communication module that performs data transmission functions. The application side refers to the software environment on the user equipment side, which generates and processes user data. Link Control Protocol (LCP) negotiation is the process by which the module side and the application side exchange configuration frames to negotiate data link layer parameters. Data link layer parameters include settings such as the Maximum Transmission Unit (MTU) size and authentication protocol type. The MTU value represents the maximum transmission unit size of a data frame, dynamically adjusting from 128 to 512 bytes. The magic word is a randomly generated value exchanged in the LCP configuration request frame, used to detect link layer loops and identify session uniqueness. The session identifier is a unique identifier used to identify abnormal data packets in subsequent data transmissions after successful LCP negotiation.

[0079] In some implementations, the LCP negotiation process is executed immediately after the PPP connection is established between the module and the application. The module, acting as the server, generates a random magic word, such as 0xA5, and sends an LCP configuration request frame containing the magic word and the proposed MTU parameters. The application, acting as the client, receives the frame, generates its own magic word, such as 0x3C, and replies with a configuration request frame. The receiver then compares the received magic word with its own generated magic word. If they are the same, a link layer loop is identified, and an LCP configuration rejection frame is sent to trigger renegotiation. If they are different, the data link layer parameters are negotiated, including dynamically adjusting the MTU value to a range of 128-512 bytes to match the satellite link latency characteristics. At the same time, the identities of the module and the application are verified through the PAP or CHAP protocol negotiation authentication mechanism. After successful negotiation, the magic word is bound as a session identifier to subsequent data frames to help identify abnormal data packets.

[0080] It should be noted that LCP negotiation must be performed immediately after successful PPP dialing to avoid transmission failure due to unconfigured link layer parameters. The magic word mechanism effectively prevents data packet crosstalk and ensures session uniqueness. Dynamic MTU adjustment optimizes satellite link transmission efficiency. Authentication negotiation ensures connection security. Session identifiers improve system reliability in anomaly detection. If negotiation fails, the PPP dialing process must be restarted.

[0081] Step 305: Complete authentication based on Password Authentication Protocol (PAP) or Challenge Handshake Authentication Protocol (CHAP). Negotiate and allocate IP addresses via Internet Protocol Control Protocol (IPCP) to establish a network layer connection.

[0082] Password Authentication Protocol (PAP) is a simple authentication protocol that uses plaintext transmission of usernames and passwords for authentication. Challenge-Handshake Authentication Protocol (CHAP) is a more secure authentication protocol that verifies identity through a challenge-response mechanism to avoid plaintext transmission. Authentication is the process of verifying the legitimacy of the identities of the module and the application, ensuring a secure connection. Internet Protocol Control Protocol (IPCP), part of the PPP protocol, is used to negotiate network layer parameters such as IP addresses. An IP address is a network identifier assigned to a device to uniquely identify a network layer endpoint. A network layer connection establishes a network layer path for data transmission, enabling end-to-end communication.

[0083] In some implementations, after completing the Link Control Protocol (LCP) negotiation, an authentication process is initiated between the module and the application. At this point, the module selects either PAP or CHAP protocol based on its pre-configuration. If PAP is selected, the application directly sends a plaintext authentication request frame containing the username and password. The module receives this frame and compares it with pre-stored credentials to verify the identity. If a match is found, a successful authentication response is returned. If CHAP is selected, the module first generates a random challenge value and sends it to the application. The application calculates a hash response value based on the challenge value and the shared key and sends it back to the module. The module calculates and compares the hash independently; if they match, authentication is successful; otherwise, it returns a failure. After successful authentication, the process automatically enters the IPCP negotiation phase. The module then sends an IPCP configuration request frame proposing IP address parameters such as the subnet mask. The application replies with a configuration confirmation frame. Once negotiation is successful, the module assigns an IP address to the application, such as 192.168.1.100, establishing a stable network layer. The connection is then complete, and the PPP link is established. The entire process is led by the module, with the application passively responding to protocol interactions.

[0084] It should be noted that the PAP protocol has lower security due to its use of plaintext transmission and is suitable for low-risk environments. The CHAP protocol, on the other hand, provides higher security through hash calculations, but requires a pre-shared key. IPCP negotiation can only begin after successful authentication; otherwise, the connection will be interrupted. IP address allocation is controlled by the module and cannot be modified by the application. If negotiation fails, the module returns an error code, requiring a re-initiation of the PPP dial-up authentication and IPCP process. Both processes are fully automated and require no user intervention.

[0085] Link Control Protocol (LCP) negotiation also includes: The authentication mechanism negotiated through PAP or CHAP protocols verifies the legitimacy of the identities of the module and the application.

[0086] The MTU value is dynamically adjusted based on the latency characteristics of the satellite link, with a setting range of 128-512 bytes, to match the fragment length and channel load distribution strategy.

[0087] Both the server and client generate and send a random magic word in the LCP configuration request frame to identify the uniqueness of the session and avoid crosstalk between link layer data packets.

[0088] The receiver compares the received magic word with its own generated magic word. If they are the same, it determines that there is a link layer loop and sends an LCP configuration rejection frame to renegotiate.

[0089] Once the negotiation is successful, the magic word will serve as a session identifier to help identify abnormal data packets in subsequent data transmissions.

[0090] Based on the above technical solution, an AT+CGDCONT command is used to configure APN parameters (including access point name, authentication type, and user credentials), and the AT+SIM? command is used to detect the SIM card status. Combined with the AT+CREG? and AT+CGREG? commands to poll the network registration status, a sequential and adaptive initialization process is constructed. The application sends these AT command sequences via a physical link (such as UART or USB), and the module responds with the status and stores the parameters, achieving unattended pre-connection preparation. This ensures the completeness and real-time performance of parameter configuration and status detection, avoiding connection failures due to missing configurations or unprepared hardware, thereby shortening connection preparation time and improving the initial connection success rate. Secondly, after the module returns a network ready status indication, the ATD command is executed. Command #99 triggers PPP link negotiation, initiating automated protocol stack interaction led by the module. LCP negotiation establishes data link layer parameters (e.g., dynamically adjusting the MTU to 128-512 bytes), PAP or CHAP protocol completes authentication, and IPCP protocol allocates IP addresses, forming an end-to-end protocol-driven mechanism. The module handles all negotiation details internally, requiring only a single command from the application to drive the entire process. This optimizes adaptability to high-latency satellite links, reduces protocol overhead through dynamic parameter negotiation, increases payload capacity, and ensures stable network layer connection establishment. Finally, the combination of PAP or CHAP authentication and IPCP IP address allocation seamlessly switches to network layer negotiation after successful authentication. The module selects the authentication method based on pre-configuration (PAP for simple plaintext or CHAP for secure hashing) and automatically initiates IPCP negotiation to allocate IP addresses after successful authentication, forming a layered secure connection mechanism. This enhances connection security (avoiding unauthorized access) and resource utilization (dynamic IP allocation reduces conflicts), while automation reduces operational complexity.

[0091] In one possible implementation of this application embodiment, the forward timestamp marking pre-compensation of the transmission timing based on the 550ms satellite delay prediction model can be achieved through the following steps 401 to 404, which are described in detail below: Step 401: Calculate the fixed propagation delay reference value of 550ms based on the orbital altitude of the Tiantong satellite. Monitor the satellite link status in real time and dynamically obtain the current channel additional delay ΔD through the round-trip time delay (RTT) measurement module, where the measurement interval is ≤15ms.

[0092] Among them, the Tiantong satellite orbital altitude refers to the theoretical operating altitude of the satellite above the Earth's surface (e.g., geostationary orbit is approximately 36,000 kilometers). The fixed propagation delay reference value of 550ms refers to the theoretical propagation delay of a one-way signal calculated based on the speed of light and orbital altitude. Real-time monitoring refers to the continuous tracking of the satellite link status. Satellite link status includes signal strength, bit error rate, and channel stability indicators. The round-trip time (RTT) measurement module refers to the hardware unit that calculates the bidirectional transmission delay by sending probe packets and receiving response packets. The current channel additional delay ΔD refers to the additional delay caused by atmospheric interference, equipment processing, and other factors. A measurement interval ≤15ms indicates that the upper limit of the time interval for RTT probe operations is 15 milliseconds.

[0093] In some implementations, a fixed propagation delay reference value of 550ms is calculated based on the orbital altitude of the Tiantong satellite (e.g., 36,000 km in geostationary orbit) using the formula "delay = 2 × orbital altitude / speed of light". Then, a round-trip time (RTT) measurement module monitors the satellite link status in real time. This module periodically sends probe data packets to the satellite and receives response packets at intervals ≤15ms. The actual RTT value of the current channel is then calculated based on the difference between the probe packet transmission time and the response packet reception time. Next, the fixed delay component is dynamically stripped using the formula "ΔD = (measured RTT - 550ms) / 2", extracting the current channel's additional delay ΔD. Finally, ΔD is output as a dynamic variable to the delay compensation system to complete real-time delay data acquisition.

[0094] Step 402: Add a high-precision timestamp to each data shard, with a timestamp precision of ±5ms.

[0095] Data fragmentation refers to dividing the original data stream into independent transmission units of a fixed length (e.g., 32 bytes). A high-precision timestamp is a precise time identifier written during the encapsulation of each data fragment, used to record the fragment's creation time. A precision of ±5ms indicates that the timestamp's error range is controlled within ±5 milliseconds, ensuring the accuracy of the timing markers.

[0096] In some implementations, after data fragments are generated at the sending end, a high-precision timestamp is immediately assigned to each fragment. This timestamp is generated by the system clock and its accuracy must meet the requirement of ±5ms. Then, during the data fragment encapsulation process, the timestamp is written into a reserved field in the frame header to ensure that the marker is bound to the fragment payload. Then, high-precision clock synchronization technology (such as a satellite timing module) is used to maintain the timestamp accuracy, with the error strictly controlled within ±5ms. Finally, the timestamp is written before fragment transmission to ensure that subsequent processing can directly read this timing information.

[0097] It should be noted that a timestamp accuracy of ±5ms is a core requirement, which must be achieved by relying on a hardware-level clock source (such as a temperature-compensated crystal oscillator) to avoid errors introduced by software delays; the timestamp mark must be written into a fixed position in the frame header (such as a reserved field) to ensure that the receiving end can parse it quickly.

[0098] Step 403: The sending end executes the process via T. comp =550ms+ΔD Calculation delay compensation T comp When encapsulating data fragments, the timestamp value is advanced by T. comp Milliseconds are written to the reserved fields in the frame header.

[0099] Here, the sending end refers to the terminal device that performs the data transmission operation. comp This represents the delay compensation value. 550ms refers to the fixed propagation delay reference value calculated based on the orbital altitude of the Tiantong satellite. ΔD represents the current channel additional delay obtained through real-time monitoring. The timestamp marker refers to the high-precision time identifier written to the data fragment. The frame header reserved field refers to the predefined fixed location in the data frame header used to store timing information.

[0100] In some implementations, the transmitting end first monitors the satellite link status in real time and dynamically acquires the current channel-added delay ΔD at intervals not exceeding 15ms using a round-trip time (RTT) measurement module; then, the transmitting end performs a calculation operation using formula T. comp =550ms + ΔD yields the delay compensation value T. comp Then, during the data fragmentation and encapsulation process, the original high-precision timestamp value of the data fragment is advanced by T. comp The timestamp is modified in milliseconds; finally, the modified timestamp is written to the reserved field in the frame header to ensure that it is bound to the fragmented payload and to provide a timing reference for subsequent transmission and receiving processing.

[0101] Step 404: The receiving end performs cross-channel timing reassembly of out-of-order data packets based on the timestamp marker value.

[0102] Out-of-order packets refer to data fragments whose order is disrupted during transmission. Cross-channel timing reordering refers to the process of rearranging data packets in chronological order based on timestamps across different virtual channels. An independent buffer is a temporary storage area allocated for each virtual channel. A channel identifier is a unique marker used to distinguish different virtual channels. Timing sorting refers to arranging data fragments in chronological order. The dynamic receive window mechanism is an adaptively adjusted data packet reception range control logic used to handle missing fragments.

[0103] In some implementations, the receiver establishes an independent buffer for each virtual channel. Based on the channel identifier of the data fragment, received out-of-order data packets are classified and stored in the corresponding buffer. Then, based on the timestamp value in the frame header, all data fragments within the same channel buffer are sorted chronologically to ensure that data within the same channel is arranged in ascending order of timestamp. Next, each buffer is processed sequentially according to a three-tier service priority order, prioritizing the reassembly of data fragments from high-priority queues (such as real-time voice). Afterward, the continuity of fragments within the same service stream is checked using sequence number markers, and a dynamic receive window mechanism is used to handle missing fragments. If a sequence number gap is detected, a NACK retransmission request is immediately sent to the sender. Finally, if the data within the window is complete, the reassembled data stream is submitted to the application layer. The dynamic window size is updated based on channel quality feedback after every 500ms data reassembly cycle.

[0104] Based on the above technical solution, a fixed propagation delay benchmark of 550ms is used as the underlying constant via the orbital altitude of the Tiantong satellite. Real-time monitoring of the satellite link status is performed by the round-trip time delay (RTT) measurement module. Channel-additional delay ΔD (such as additional delay caused by signal fluctuations and atmospheric interference) is dynamically acquired at ≤15ms intervals to generate delay compensation values. This hierarchical delay modeling compresses errors, allowing for layered calculation based on the fixed delay at orbital altitude and the real-time channel-additional delay, achieving precise compensation. This solves the problem of errors reaching ±100ms in traditional fixed compensation (such as a single 550ms model) during channel fluctuations. Simultaneously, the transmitting end adds a high-precision timestamp to each 32-byte data fragment and embeds it during encapsulation. The delay compensation value (Tcomp) can then be directly applied to the high-precision timestamp, completing timing correction during data encapsulation and reducing the waiting delay caused by pre-compensation reassembly. Finally, the receiving end establishes an independent buffer, enabling it to use the timestamp as a benchmark to overcome channel isolation limitations and achieve global sorting of out-of-order data, avoiding the problem of static channel allocation blocking.

[0105] In one possible implementation of this application embodiment, sorting and reorganizing the data packets of each channel can be achieved through the following steps 501 to 504, which are described in detail below: Step 501: At the receiving end, establish an independent buffer for each virtual channel, and classify and store out-of-order data packets into the corresponding buffer according to the channel identifier of the data fragment. Sort the data fragments in the same channel buffer according to the time stamp value in the frame header.

[0106] In this context, a virtual channel refers to multiple independent logical transmission paths created on a single physical serial port using the CMUX protocol. Timing sorting arranges data packets in chronological order.

[0107] In some implementations, an independent buffer is set up at the receiving end for each virtual channel. This buffer serves as temporary storage space for classifying and reassembling out-of-order data packets. Then, by parsing the channel identifier field in each data fragment, the data packets are distributed to the buffer matching their channel ID. Next, the data fragments within the same channel's buffer are sorted chronologically based on the timestamp value in the frame header. Specifically, the timestamp value in the frame header of each data fragment is extracted, and the data fragments within the buffer are rearranged in ascending order of timestamp, ensuring that data packets within the same channel are restored to their original transmission order.

[0108] Step 502: Process each cache area in sequence according to the three-level business priority order, and perform reassembly operation on the data fragments of high priority queues first.

[0109] The high-priority queue is the set of data fragments corresponding to real-time voice services, which are processed first in the buffer. The reassembly operation is the process of verifying the continuity of fragments within the same service stream using sequence number markers and restoring the original data. The channel identifier is a unique marker that distinguishes virtual channels. The sequence number marker is a number that identifies the order of data fragments.

[0110] In some implementations, after the receiving end completes the time-sequential sorting of data fragments in each buffer, the buffers are processed sequentially according to the three-level service priority order: first, the buffer corresponding to the real-time voice queue is processed; then, the buffer corresponding to the control signaling queue is processed; and finally, the buffer corresponding to the ordinary data queue is processed. Then, the data fragments of the high-priority queue are checked for fragment continuity within the same service flow by marking them with sequence numbers. If a sequence number break is detected, a NACK retransmission request is immediately sent back. If the data is complete, a reassembly operation is performed to restore the fragments to the original data stream. Finally, the reassembled data stream is submitted to the application layer to ensure that high-priority services such as real-time voice are processed first.

[0111] It should be noted that high-priority queues are prioritized for reassembly operations without interrupting low-priority processing, ensuring system parallelism; reassembly operations rely on sequence number marking for continuity verification, and if the sequence number is discontinuous, NACK retransmission is triggered; buffer processing is strictly performed according to priority, but ordinary data queues may be delayed in processing; the dynamic window size is updated every 500ms after the reassembly operation is completed, but this does not affect the priority order.

[0112] Step 503: Perform continuity verification on fragments of the same service flow by marking the sequence number, and use a dynamic receive window mechanism to handle missing fragments. If a sequence number interruption is detected, immediately send a NACK retransmission request to the sender.

[0113] Within this framework, fragments within the same service flow are 32-byte fixed-length segments cut from the original data stream. Continuity checking is the process of detecting data integrity by comparing the consecutiveness of sequence numbers. The dynamic receive window mechanism is a mechanism where the receiver adaptively adjusts the buffer size, dynamically limiting the window size between 1KB and 64KB. Missing fragments are data fragments lost due to sequence number interruptions. Sequence number breaks are the phenomenon of discontinuous intervals in sequence numbers. A NACK retransmission request is a negative acknowledgment command sent by the receiver to the sender to request the retransmission of missing fragments.

[0114] In some implementations, after the receiver completes the timing sorting of the buffer, it first checks whether adjacent sequence numbers are consecutive by parsing the sequence number values ​​in each data fragment to confirm that there are no missing data fragments; then, the handling of missing fragments is based on real-time channel quality metrics (such as signal-to-noise ratio SNR). The receive window size is dynamically calculated and updated every 500ms. If a sequence number gap is detected during the continuity check, such as the sequence number jumping directly from 100 to 102, a NACK retransmission request is immediately sent to the sender, specifying the sequence number of the missing fragment, and triggering the sender to retransmit.

[0115] It should be noted that the NACK retransmission request is only responded to immediately upon detecting a sequence number gap, without waiting for the complete data stream; the window size is dynamically scaled based on the signal-to-noise ratio (SNR), and the window size is adjusted when SNR > SNR. thresh Increase the window size to improve throughput when SNR ≤ SNR thresh Shrink the window to reduce packet loss.

[0116] Step 504: If the data in the window is complete, submit the reconstructed data stream to the application layer. After every 500ms data reconstructing cycle, update the dynamic window size based on the channel quality feedback.

[0117] Within the receiving window, data integrity refers to the state where the sequence numbers of data fragments are continuous and without missing numbers within the dynamic receiving window. The reassembled data stream is the original data sequence restored through continuity verification and timing sorting. The 500ms data reassembly period is the time interval at which a data reassembly operation is completed every 500 milliseconds. Channel quality feedback refers to channel metrics periodically measured at the receiver, such as signal-to-noise ratio (SNR).

[0118] In some implementations, after the receiving end completes the timing sorting and continuity verification of data fragments, it first checks whether the data within the window is complete, i.e., whether the sequence numbers within the dynamic receiving window are continuous and without missing numbers. If the data within the window is complete, the reassembled data stream is submitted to the application layer for processing. Then, after each 500ms data reassembly cycle, the channel quality index (such as signal-to-noise ratio SNR) is periodically measured at the receiving end. Calculate the new window size. The updated window size is used to control the data packet reception range for subsequent continuity checks.

[0119] Based on the above technical solution, an independent buffer is set up for each virtual channel at the receiving end. Out-of-order data packets are classified and stored according to the channel identifier. Then, data fragments in the same channel are sorted in time sequence based on the frame header timestamp value. This allows for high-precision (±5ms) sorting through physically isolated buffers and timestamps, enabling cross-channel time-series reassembly and ensuring accurate data restoration. This reduces the reassembly error rate and improves transmission reliability. Simultaneously, each buffer is processed sequentially according to a three-level service priority order (real-time voice > control signaling > ordinary data). Data fragments in high-priority queues are reassembled first. The priority order is negotiated and solidified into the virtual channel via the LCP protocol. Combined with the buffer processing sequence, high-priority data is quickly submitted to the application layer, optimizing resource allocation and reducing high-priority service congestion. Furthermore, continuity verification of fragments in the same service stream is performed using sequence number marking. A dynamic receive window mechanism is used to handle missing fragments. If a sequence number interruption is detected, a NACK retransmission request is immediately sent, enabling adaptive packet loss management, improving throughput, and reducing invalid retransmissions. If the data within the window is complete, the reassembled data stream is submitted to the application layer. After each 500ms data reassembly cycle, the dynamic window size is updated based on channel quality feedback (such as SNR). This allows for dynamic scaling based on channel quality metrics, ensuring that the subsequent continuity verification range adapts to link changes. This maintains high throughput and adapts to channel fluctuations.

[0120] The above primarily describes the solutions of the embodiments of this application from the perspective of device implementation. It is understood that each device, for example, a Tiantong satellite transmission rate enhancement device based on a point-to-point protocol, includes at least one of the hardware structures and software modules corresponding to each function in order to achieve the above-mentioned functions. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0121] This application embodiment can divide the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into the same processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0122] When using integrated units, Figure 6 A possible structural schematic diagram of a Tiantong satellite transmission rate enhancement device based on a point-to-point protocol (referred to as a Tiantong satellite transmission rate enhancement device 60 based on a point-to-point protocol) involved in the above embodiments is shown. The Tiantong satellite transmission rate enhancement device 60 based on a point-to-point protocol includes a processing unit 601 and may also include a storage unit 603. Figure 6 The schematic diagram shown can be used to illustrate the structure of the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol involved in the above embodiments.

[0123] when Figure 6 The schematic diagram shown illustrates the structure of the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol involved in the above embodiments. The processing unit 601 is used to control and manage the operation of the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol, and the storage unit 603 is used to store the program code and data of the Tiantong satellite transmission rate enhancement device based on the point-to-point protocol.

[0124] Processing unit 601 is used to configure the APN and initiate PPP dialing via the AT command set, establishing a physical connection with the Tiantong satellite. Multiple virtual serial port channels are created on a single physical serial port channel using the CMUX protocol, each carrying an independent PPP link. The PPP protocol stack is encapsulated using compressed HDLC, with the frame header reduced to 2 bytes, and a dynamic FCS check mechanism is enabled. Data is fragmented and sent to the virtual channels according to service priority using an adaptive time slot allocation algorithm. Forward timestamp pre-compensation is performed on the transmission timing based on a 660ms satellite delay prediction model. At the receiving end, the data packets from each channel are sorted and reassembled to restore the original data stream.

[0125] In one possible implementation, the processing unit 601 is also used for multiple virtual serial port channels, including: initializing a UART serial interface and a USB interface between the application end and the module end to establish a physical communication link. The UART interface includes at least a transmit data line TXD, a receive data line RXD, and a hardware flow control signal line CTS / RTS. The USB interface includes at least a negative data line USB_DM and a positive data line USB_DP. The application end configures the application layer, network layer, and data link layer PPP software protocol stack from top to bottom. The module end correspondingly configures the IPRELAY and PPP protocol stacks to prepare for link negotiation. The application end sends an AT command sequence to the module end through the initialized UART or USB physical link. The command sequence includes configuring the APN parameters of the PPP connection using the AT+CGDCONT command and using the ATD command. Command #99 initiates a PPP dial-up call, triggering the module to begin negotiating LCP, PAP, and IPCP protocols. Upon successful negotiation, four logical data links are established between the PPP layer on the application side and the PPP layer on the module side.

[0126] In one possible implementation, processing unit 601 is further configured with an adaptive time slot allocation algorithm, including: segmenting the raw data stream into 32-byte fixed-length segments and adding channel identifiers and sequence number markers to each data segment; dividing the data stream into three priority queues based on service type; and negotiating the allocation of independent virtual channel resources to each queue through the LCP protocol, with the three priority queues being: real-time voice > control signaling > ordinary data. Calculate the time slot allocation weights for each channel, where W i Let T be the weight value of the i-th channel. i Let D be the real-time throughput of the i-th channel. i Let be the transmission delay of the i-th channel, and α and β be adjustment coefficients. (Based on weighted proportions) Data is fragmented and distributed to various virtual channels for transmission. The receiving end periodically provides feedback on channel quality metrics, while the sending end updates the weight parameters every 600ms.

[0127] In one possible implementation, processing unit 601 is further configured to initiate PPP dialing, including: configuring APN parameters for the PPP connection via the AT+CGDCONT command, the APN parameters including the access point name, authentication type, and user credentials; detecting the SIM card status via the AT+SIM? command; polling the network registration status via the AT+CREG? and AT+CGREG? commands when the SIM card is ready; and waiting for the module to return a network ready status indication before executing ATD. Command #99 triggers the module to initiate PPP link negotiation. Link Control Protocol (LCP) negotiation occurs between the module and the application, establishing data link layer parameters. Authentication is completed based on Password Authentication Protocol (PAP) or Challenge Handshake Authentication Protocol (CHAP). IP address allocation is negotiated via Internet Protocol Control Protocol (IPCP), establishing a network layer connection.

[0128] In one possible implementation, the processing unit 601 also includes the following for Link Control Protocol (LCP) negotiation: verifying the identity and legitimacy of the module and application ends through a PAP or CHAP protocol authentication mechanism. The MTU value is dynamically adjusted based on the satellite link's latency characteristics, with a range of 128-612 bytes, to match fragment length and channel load allocation strategies. The server and client each generate and send a random magic word in the LCP configuration request frame to identify session uniqueness and avoid link-layer packet crosstalk. The receiver compares the received magic word with its own generated magic word; if they are identical, a link-layer loop is identified, and an LCP configuration rejection frame is sent for renegotiation. After successful negotiation, the magic word serves as a session identifier to assist in identifying abnormal packets in subsequent data transmission.

[0129] In one possible implementation, processing unit 601 is further configured to perform compressed HDLC encapsulation on the PPP protocol stack, including: deleting the address field and redundant control fields from the standard HDLC, retaining only the simplified control bytes as the frame start identifier, and compressing the HDLC frame header from 6 bytes to 2 bytes. Real-time monitoring of satellite channel quality is performed; when the signal-to-noise ratio (SNR) > 20 dB, FCS check is disabled, generating a data frame without a check field. When the SNR ≤ 20 dB, 2-byte FCS check is enabled; a bitwise XOR operation is performed on all bytes from the frame start identifier to the payload data, generating an 8-bit binary checksum, which is then split into the high 4 bits and the low 4 bits, and converted into hexadecimal ASCII characters as the check field.

[0130] After a frame ends, the identifier reuses the compressed frame start identifier and replaces the separate end field of traditional HDLC.

[0131] In one possible implementation, the processing unit 601 is further configured to perform forward timestamp pre-compensation on the transmission timing based on a 660ms satellite delay prediction model, including: calculating a fixed propagation delay reference value of 660ms based on the Tiantong satellite's orbital altitude; monitoring the satellite link status in real time and dynamically acquiring the current channel additional delay ΔD through the round-trip time delay (RTT) measurement module, where the measurement interval is ≤16ms; and adding a high-precision timestamp to each data fragment, with a timestamp accuracy of ±6ms. The transmitting end then executes the process via T... comp =660ms+ΔD Calculation delay compensation T comp When encapsulating data fragments, the timestamp value is advanced by T. comp Milliseconds are written to the reserved field in the frame header. The receiving end performs cross-channel timing reassembly of out-of-order data packets based on the timestamp value.

[0132] In one possible implementation, the processing unit 601 is further configured to sort and reassemble data packets for each channel, including: establishing an independent buffer for each virtual channel at the receiving end, and classifying and storing out-of-order data packets into the corresponding buffer based on the channel identifier of the data fragments; sorting data fragments within the same channel buffer according to time sequence based on the timestamp value in the frame header; processing each buffer sequentially according to the three-level service priority order, and prioritizing the reassembly operation for data fragments in high-priority queues; performing continuity verification on fragments of the same service flow using sequence number markings, and handling missing fragments using a dynamic receive window mechanism; if a sequence number interruption is detected, immediately sending a NACK retransmission request to the sending end; if the data within the window is complete, submitting the reassembled data stream to the application layer; and updating the dynamic window size based on channel quality feedback after every 600ms data reassembly cycle.

[0133] In one possible implementation, processing unit 601 is further configured for a dynamic window scaling factor: the dynamic window scaling factor is obtained through... Calculate the receiving window W Recv The size of W base The initial value is set to the minimum receive window size of 1K, k is a scaling factor for dynamic calibration based on historical quality data of the satellite link, and SNR is the real-time signal-to-noise ratio obtained by periodically measuring the channel quality at the receiver. thresh To preset the signal-to-noise ratio threshold, SNR max This is the maximum signal-to-noise ratio. The receiver updates the receive window W every 600ms based on the feedback channel quality metrics. Recv The size of SNR. When SNR > SNR thresh When SNR ≤ SNR, prioritize increasing the window size to improve throughput. thresh At this time, the window is reduced to decrease packet loss and retransmission, which is used to reduce the receiving window W. recvThe size is dynamically limited between 1KB and 64KB to control the range of data packets received during continuity checks. If the sequence number is discontinuous, a NACK retransmission request is sent based on the updated window size.

[0134] The processing unit 601 can be a processor or a controller, and the storage unit 603 can be a memory. When the Tiantong satellite transmission rate enhancement device 60 based on the point-to-point protocol is a chip, the processing unit 601 can be a processor or a controller, and the storage unit 603 can be a storage unit within the chip (e.g., a register, cache, etc.), or it can be a storage unit located outside the chip (e.g., read-only memory (ROM), random access memory (RAM, etc.).

[0135] The communication unit can also be called a transceiver unit. The processor with processing capabilities in the Tiantong satellite transmission rate enhancement device 60 based on the point-to-point protocol can be regarded as the processing unit 601 of the Tiantong satellite transmission rate enhancement device 60 based on the point-to-point protocol.

[0136] Figure 6 If the integrated units in the process are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. Storage media for storing computer software products include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory, random access memory, magnetic disks, or optical disks.

[0137] In implementation, each step of the method provided in this embodiment can be completed by integrated logic circuits in the processor or by instructions in software form. The steps of the method disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or being executed by a combination of hardware and software modules in the processor.

[0138] The processor in this application may include, but is not limited to, at least one of the following: a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a microcontroller unit (MCU), or an artificial intelligence processor, etc., and other computing devices that run software. Each computing device may include one or more cores for executing software instructions to perform calculations or processing. The processor may be a standalone semiconductor chip or integrated with other circuits into a single semiconductor chip. For example, it may form a System-on-a-Chip (SoC) with other circuits (such as encoding / decoding circuits, hardware acceleration circuits, or various bus and interface circuits), or it may be integrated as a built-in processor within an ASIC. The ASIC of this integrated processor may be packaged separately or together with other circuits. In addition to the cores for executing software instructions to perform calculations or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), or logic circuits that implement dedicated logic operations.

[0139] The memory in the embodiments of this application may include at least one of the following types: read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions; random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions; or electrically erasable programmable-only memory (EEPROM). In some scenarios, the memory may also be compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.

[0140] This application also provides a computer-readable storage medium including instructions that, when run on a computer, cause the computer to perform any of the methods described above.

[0141] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the methods described above.

[0142] This application also provides a chip including a processor and an interface circuit. The interface circuit is coupled to the processor. The processor is used to run computer programs or instructions to implement the above-described method. The interface circuit is used to communicate with other modules outside the chip.

[0143] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device containing one or more servers, data centers, etc., that can be integrated with the medium. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).

[0144] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, the disclosure, and the appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple components. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.

[0145] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely illustrative descriptions of the application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and variations of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and variations.

Claims

1. A method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, characterized in that, include: Configure the APN using the AT command set and start PPP dialing to establish a physical connection with the Tiantong satellite; Multiple virtual serial port channels can be created on a single physical serial port channel using the CMUX protocol, with each channel carrying an independent PPP link. The PPP protocol stack is encapsulated using compressed HDLC, the frame header is reduced to 2 bytes, and a dynamic FCS verification mechanism is enabled. Data is fragmented and sent to the virtual channel based on business priority using an adaptive time slot allocation algorithm; Pre-compensation for transmission timing is performed using a forward timestamp marking based on a 550ms satellite delay prediction model. At the receiving end, the data packets from each channel are sorted and reassembled to restore the original data stream.

2. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 1, characterized in that, The plurality of virtual serial port channels include: Between the application and module ends, the UART serial interface and USB interface are initialized to establish a physical communication link; the UART interface includes at least a transmit data line TXD, a receive data line RXD, and a hardware flow control signal line CTS / RTS; the USB interface includes at least a negative data line USB_DM and a positive data line USB_DP. Configure the PPP software protocol stack from top to bottom on the application side, including the application layer, network layer, and data link layer. Configure the IPRELAY and PPP protocol stacks on the module side to prepare for link negotiation; The application sends a sequence of AT commands to the module via an initialized UART or USB physical link. This sequence includes configuring the APN parameters for the PPP connection using the AT+CGDCONT command and using the ATD command. Command #99 initiates a PPP dial-up call, triggering the module to start LCP, PAP and IPCP protocol negotiation; After successful negotiation, four logical data links are established between the PPP layer on the application side and the PPP layer on the module side.

3. The method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol according to claim 2, characterized in that, The adaptive time slot allocation algorithm includes: The raw data stream is fragmented into 32-byte fixed-length segments, and a channel identifier and sequence number are added to each data segment. The service type is divided into three priority queues. Independent virtual channel resources are allocated to each queue through LCP protocol negotiation. The three priority queues are: real-time voice > control signaling > ordinary data. based on Calculate the time slot allocation weights for each channel, where W i Let T be the weight value of the i-th channel. i Let D be the real-time throughput of the i-th channel. i Let α and β be the transmission delay of the i-th channel, and α and β be adjustment coefficients. By weighting Data is fragmented and distributed to various virtual channels for transmission; The receiver periodically provides feedback on channel quality metrics, while the transmitter updates the weight parameters every 500ms.

4. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 3, characterized in that, The initiation of PPP dialing includes: Configure the APN parameters of the PPP connection using the AT+CGDCONT command. The APN parameters include the access point name, authentication type, and user credentials. Check the SIM card status using the AT+SIM? command; When the SIM card is ready, poll the network registration status using the AT+CREG? and AT+CGREG? commands; Wait for the module to return a network ready status indication, then execute ATD. Command #99 triggers the module to initiate PPP link negotiation; Negotiate the Link Control Protocol (LCP) between the module and the application to establish data link layer parameters; Authentication is performed based on either the Password Authentication Protocol (PAP) or the Challenge Handshake Authentication Protocol (CHAP). IP addresses are negotiated and allocated through the Internet Protocol Control Protocol (IPCP) to establish network layer connections.

5. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 4, characterized in that, The Link Control Protocol (LCP) negotiation also includes: The authentication mechanism negotiated through PAP or CHAP protocols verifies the legitimacy of the identities of the module and the application. The MTU value is dynamically adjusted based on the latency characteristics of the satellite link, with a setting range of 128-512 bytes, to match the fragment length and channel load distribution strategy. The server and client each generate and send a random magic word in the LCP configuration request frame to identify the uniqueness of the session and to avoid crosstalk between link layer data packets. The receiver compares the received magic word with its own generated magic word. If they are the same, it determines that there is a link layer loop and sends an LCP configuration rejection frame to renegotiate. Once the negotiation is successful, the magic word will serve as a session identifier to help identify abnormal data packets in subsequent data transmissions.

6. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 5, characterized in that, The implementation of compressed HDLC encapsulation for the PPP protocol stack includes: The address field and redundant control field in the standard HDLC are removed, and only the simplified control byte is retained as the frame start identifier, compressing the HDLC frame header from 5 bytes to 2 bytes. Real-time monitoring of satellite channel quality; when the signal-to-noise ratio (SNR) > 20dB, FCS verification is disabled, and data frames without a verification field are generated. When the signal-to-noise ratio (SNR) is less than or equal to 20dB, a 2-byte FCS check is enabled. A bitwise XOR operation is performed on all bytes from the start of frame identifier to the payload data to generate an 8-bit binary check code, which is then split into the high 4 bits and the low 4 bits and converted into hexadecimal ASCII characters as check fields. After a frame ends, the identifier reuses the compressed frame start identifier and replaces the separate end field of traditional HDLC.

7. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 6, characterized in that, The forward timestamp pre-compensation for transmission timing based on the 550ms satellite delay prediction model includes: The fixed propagation delay reference value is 550ms, calculated based on the orbital altitude of the Tiantong satellite. Real-time monitoring of satellite link status, and dynamic acquisition of current channel additional delay ΔD through round-trip time delay (RTT) measurement module, wherein the measurement interval is ≤15ms; Add a high-precision timestamp to each data shard, with the timestamp having an accuracy of ±5ms; The sending end executes through T comp =550ms+ΔD Calculation delay compensation T comp ; When encapsulating data fragments, advance the timestamp value by T. comp Milliseconds are written to the reserved field in the frame header; The receiving end performs cross-channel timing reassembly of out-of-order data packets based on the timestamp value.

8. The method for improving the transmission rate of Tiantong satellite based on point-to-point protocol according to claim 7, characterized in that, The process of sorting and reorganizing data packets for each channel includes: At the receiving end, an independent buffer is set up for each virtual channel, and out-of-order data packets are classified and stored in the corresponding buffer according to the channel identifier of the data fragment; Data fragments within the same channel buffer are sorted sequentially based on the timestamp value in the frame header. According to the three-level business priority order, each cache area is processed sequentially, and the data fragments of high-priority queues are prioritized for reassembly operations. The continuity of fragments in the same service flow is checked by marking the sequence number. A dynamic receive window mechanism is used to handle missing fragments. If a sequence number interruption is detected, a NACK retransmission request is immediately sent to the sender. If the data within the window is complete, the reconstructed data stream is submitted to the application layer. After each 500ms data reconstructing cycle, the dynamic window size is updated based on channel quality feedback.

9. A method for improving the transmission rate of Tiantong satellite based on a point-to-point protocol according to claim 8, characterized in that, The description also includes a dynamic window scaling factor: The dynamic window scaling factor is obtained through Calculate the receiving window W Recv The size of W base The initial value is set to the minimum receive window size of 1K, k is a scaling factor for dynamic calibration based on historical quality data of the satellite link, and SNR is the real-time signal-to-noise ratio obtained by periodically measuring the channel quality at the receiver. thresh To preset the signal-to-noise ratio threshold, SNR max Maximum signal-to-noise ratio; The receiver updates its receive window W every 500ms based on the feedback channel quality metrics. Recv Size; When SNR>SNR thresh When SNR ≤ SNR, prioritize increasing the window size to improve throughput. thresh At this time, the window is reduced to decrease packet loss and retransmission, which is used to reduce the receiving window W. recv The size is dynamically limited between 1KB and 64KB to control the range of data packets received during continuity checks; If the sequence number is discontinuous, a NACK retransmission request is sent based on the updated window size.

10. A device for improving the transmission rate of Tiantong satellite based on a point-to-point protocol, characterized in that, The device includes a processing unit; The processing unit is used to configure the APN and initiate PPP dialing through the AT command set to establish a physical connection with the Tiantong satellite. Multiple virtual serial port channels can be created on a single physical serial port channel using the CMUX protocol, with each channel carrying an independent PPP link. The PPP protocol stack is encapsulated using compressed HDLC, the frame header is reduced to 2 bytes, and a dynamic FCS verification mechanism is enabled. Data is fragmented and sent to the virtual channel based on business priority using an adaptive time slot allocation algorithm; Pre-compensation for transmission timing is performed using a forward timestamp marking based on a 550ms satellite delay prediction model. At the receiving end, the data packets from each channel are sorted and reassembled to restore the original data stream.

Citation Information

Cited By

  • Verification component, verification method and storage medium

    CN121585328A