A message forwarding method, device, computer device and program product

By fragmenting Ethernet frames and encapsulating message headers in air-space-terrestrial-sea networks, the problems of bandwidth waste and difficulty in out-of-order recovery are solved, achieving efficient protocol frame forwarding and improved link utilization.

CN121173751BActive Publication Date: 2026-02-24ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511685230.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-18
Publication Date
2026-02-24
Estimated Expiration
2045-11-18

AI Technical Summary

Technical Problem

Existing technologies suffer from bandwidth waste, amplified retransmission data volume, and difficulty in recovering out-of-order protocol frames when converting Ethernet frames to protocol frames in air-space-terrestrial-sea networks.

Method used

By receiving Ethernet frames and fragmenting them according to the frame format of the protocol frames, encapsulating the message header, generating the target protocol frame, and employing parallel transmission and real-time resource adjustment mechanisms, the frame format matching and data integrity are ensured.

Benefits of technology

It improves the utilization rate of communication links, reduces the transmission of invalid bytes, ensures the accurate recovery of out-of-order frames and the reliability of data transmission, and enhances transmission efficiency and link stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121173751B_ABST
    Figure CN121173751B_ABST
Patent Text Reader

Abstract

The present disclosure provides a packet forwarding method and device, computer equipment and program product, wherein the method comprises: receiving each Ethernet frame sent by a source end, and storing a first position of each Ethernet frame to a first queue; obtaining each Ethernet frame according to each first position in the first queue respectively, performing fragmentation processing on a data packet based on a frame format of a protocol frame and the Ethernet frame, obtaining each fragmented packet, and storing a second position of each fragmented packet to a second queue; obtaining each fragmented packet in turn according to the second position in the second queue, and encapsulating the fragmented packet into an empty protocol frame taken from a reserved protocol frame resource for the current obtained fragmented packet to obtain a target protocol frame; and forwarding each target protocol frame to a target end respectively.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of digital communication technology, and more specifically, to a message forwarding method, apparatus, computer equipment, and program product. Background Technology

[0002] With the rapid development of integrated space-ground network technology, network interconnection and communication between air, space, land, and sea are becoming increasingly frequent. Different communication links within these three domains require different communication protocols. For example, ground terminal equipment often uses Ethernet to communicate with Internet Protocol (IP) messages, while communication between ground equipment and space / sea equipment uses Consultative Committee for Space Data Systems - Advanced Orbiting Systems (CCSDS AOS) frames. When ground equipment communicates with space / sea equipment, the Ethernet frames sent by the ground equipment need to be converted into the appropriate protocol frames before being sent to the space / sea equipment.

[0003] However, conventional methods for converting Ethernet frames into the adopted protocol frames often suffer from problems such as wasted bandwidth, amplified retransmission data volume during protocol frame retransmission, and difficulty in recovering out-of-order protocol frames, which are obvious drawbacks. Summary of the Invention

[0004] This disclosure provides at least one message forwarding method, apparatus, computer device, and program product.

[0005] In a first aspect, embodiments of this disclosure provide a message forwarding method, including:

[0006] The system receives each Ethernet frame sent by the source end and stores the first position of each Ethernet frame in the first queue. The Ethernet frame is generated according to the data packet to be sent by the source end and the maximum transmission unit (MTU) recently acquired by the source end. The MTU is related to the frame format of the protocol frame corresponding to the communication link between the source end and the target end. The protocol frame includes at least one of Advanced On-Orbit System (AOS) frames, Digital Video Broadcast (DVBS) frames, and Unified Space Data Link Protocol (USP) frames.

[0007] Each Ethernet frame is obtained according to each first position in the first queue. Based on the frame format of the protocol frame and the Ethernet frame, the data packet is fragmented to obtain each fragmented packet. The second position of each fragmented packet is stored in the second queue. Each fragmented packet is encapsulated with a packet header, which is used to indicate the packet attributes of each fragmented packet.

[0008] Each fragment packet is sequentially obtained according to the second position in the second queue, and for the currently obtained fragment packet, the fragment packet is encapsulated into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame.

[0009] Each of the target protocol frames is forwarded to the target end; the target end is used to reconstruct the data packet based on the message header and message content corresponding to each target protocol frame.

[0010] In one optional implementation, receiving each Ethernet frame sent by the source end and storing the first position of each Ethernet frame in a first queue includes:

[0011] Receive each Ethernet frame sent by the source end;

[0012] Based on the maximum transmission unit, a first verification is performed on each of the Ethernet frames;

[0013] The first position of each Ethernet frame that passes the first check is stored in the first queue, and / or, exception handling is performed on each Ethernet frame that fails the first check.

[0014] In one optional implementation, the step of obtaining each Ethernet frame according to each first position in the first queue, and fragmenting the data packet based on the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet includes:

[0015] Each Ethernet frame is obtained according to each first position in the first queue;

[0016] A second verification is performed on each of the acquired Ethernet frames; wherein the second verification includes at least message validity verification and message content anomaly verification;

[0017] For each Ethernet frame that passes the second verification, the data packet corresponding to the Ethernet frame is fragmented and its header is encapsulated according to the frame format of the protocol frame and the frame content carried by each Ethernet frame to obtain each fragmented packet.

[0018] In one optional implementation, after obtaining each fragmented message, the method further includes:

[0019] With header compression enabled, the header of the fragmented message is compressed to obtain the compressed fragmented message.

[0020] In an optional implementation, after receiving the Ethernet frame, the method further includes:

[0021] If the content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, the source end is fed back the new maximum transmission unit corresponding to the latest frame format; the source end is used to generate a new Ethernet frame corresponding to the new message according to the new maximum transmission unit when sending a new message.

[0022] In one optional implementation, the step of encapsulating the currently acquired fragmented packet into an empty protocol frame retrieved from the reserved protocol frame resources to obtain the target protocol frame includes:

[0023] For the currently acquired fragmented message, if the initial message data size of the fragmented message is consistent with the target message data size indicated by the frame format of the protocol frame, then the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

[0024] Alternatively, for the currently acquired fragmented message, if the initial message data size of the fragmented message is less than the target message data size indicated by the frame format of the protocol frame, then the padding method for the fragmented message is determined based on the difference between the initial message data size and the target message data size and a preset threshold; the padding method is used to adjust the initial message data size to the target message data size.

[0025] According to the filling method, the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

[0026] In one optional implementation, the method further includes:

[0027] Receive protocol requests sent by any other terminal; the protocol requests include at least an Address Resolution Protocol request, an Internet Control Message Protocol request, and a Path Maximum Transmission Unit discovery request;

[0028] In response to the received protocol request, a response result is generated based on the communication chain information between the source and the target and / or the target protocol frame, and the response result is fed back to any other terminal.

[0029] In one optional implementation, forwarding each of the target protocol frames to the target end includes:

[0030] Each of the target protocol frames is cached in a third queue;

[0031] In the communication link, parallel transmission is used to forward each of the target protocol frames in the third queue to the target end.

[0032] In one optional implementation, the method further includes:

[0033] Real-time statistics of packet forwarding resource information and packet traffic size; the packet forwarding resource information includes at least the hardware and software resource status of various hardware and software used in the packet forwarding process, Ethernet frame transmission and reception status, queue status, and system resource status; the queue status includes at least the status corresponding to the first queue, the second queue, and the third queue respectively;

[0034] Based on the packet forwarding resource information and the packet traffic size, the resource allocation in the packet forwarding process is adjusted in real time.

[0035] In one optional implementation, the step of adjusting the resource allocation in the packet forwarding process in real time based on the packet forwarding resource information and the packet traffic size includes:

[0036] When the message forwarding resource information indicates that the utilization rate of any queue has reached a preset utilization rate, the number of the queues will be dynamically increased.

[0037] And / or, if the message forwarding resource information indicates that there are remaining available resources, the resources allocated to the message forwarding process are dynamically adjusted according to the changes in the message traffic size.

[0038] In one optional implementation, forwarding each of the target protocol frames to the target end includes:

[0039] Based on the link direction and service requirements of the communication link between the source and the target, determine the forwarding method for the target protocol frame;

[0040] According to the forwarding method, the target protocol frame is sent to the target end through the gateway device of the target end.

[0041] Secondly, embodiments of this disclosure also provide a message forwarding apparatus, comprising:

[0042] The receiving module is used to receive each Ethernet frame sent by the source end and store the first position of each Ethernet frame in the first queue; the Ethernet frame is generated according to the data packet to be sent by the source end and the latest maximum transmission unit obtained by the source end; the maximum transmission unit is related to the frame format of the protocol frame corresponding to the communication link between the source end and the target end; the protocol frame includes at least one of advanced on-orbit system frame, digital video broadcast frame and unified space data link protocol frame.

[0043] The fragmentation module is used to obtain each Ethernet frame according to each first position in the first queue, and to fragment the data packet according to the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet, and to store the second position of each fragmented packet in the second queue; wherein, each fragmented packet is encapsulated with a packet header, and the packet header is used to indicate the packet attributes of each fragmented packet;

[0044] The filling module is used to sequentially obtain each fragment packet according to the second position in the second queue, and for the currently obtained fragment packet, encapsulate the fragment packet into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame.

[0045] The forwarding module is used to forward each of the target protocol frames to the target end respectively; the target end is used to reconstruct the data packet according to the message header and message content corresponding to each of the target protocol frames.

[0046] Thirdly, an optional implementation of this disclosure also provides a computer device, a processor, and a memory, wherein the memory stores machine-readable instructions executable by the processor, and the processor is configured to execute the machine-readable instructions stored in the memory, wherein when the machine-readable instructions are executed by the processor, they perform the steps of the first aspect above, or any possible implementation of the first aspect.

[0047] Fourthly, an optional implementation of this disclosure also provides a computer program product, including a computer program that, when run, implements the steps of the first aspect above, or any possible implementation of the first aspect.

[0048] For a description of the effects of the aforementioned message forwarding device, computer equipment, and computer program product, please refer to the description of the message forwarding method above; it will not be repeated here.

[0049] The message forwarding method, apparatus, computer equipment, and program products provided in this disclosure, compared with the prior art which uses a layered processing mechanism to forward data packets, resulting in bandwidth waste, amplified retransmission data volume during protocol frame retransmission, and difficulty in recovering out-of-order protocol frames, improve the matching degree between the Ethernet frame and its carried data packets and the protocol frame's frame format. This standardizes the Ethernet frame from the source end, providing a foundation for subsequent segmentation of message fragments that match the protocol frame's frame format. By segmenting data packets using the protocol frame's frame format and the Ethernet frame, the matching degree between the format of each fragment and the protocol frame's frame format can be improved. This avoids the problem of needing to fill invalid bytes and transmit across layers due to mismatched fragment sizes when encapsulating message fragments into protocol frames, thus solving the bandwidth waste problem during message forwarding between the source and destination ends and significantly improving the utilization of the communication link. By encapsulating each fragment with a header during packet fragmentation, and then encapsulating each fragment with its own header into a target protocol frame for forwarding, the erroneous target protocol frame can be quickly located based on the header when a forwarding error occurs. This eliminates the need to retransmit the erroneous target protocol frame, avoiding the need to retransmit other target protocol frames from the same Ethernet frame as the fragments in the erroneous target protocol frame, effectively overcoming the drawback of increased retransmission data volume. Furthermore, by encapsulating each fragment with a header, even when target protocol frames are transmitted out of order, the target end can still accurately identify all fragments belonging to the same data packet and determine the packet order based on the packet attributes indicated by the header, effectively solving the problem of difficult recovery of out-of-order protocol frames.

[0050] Furthermore, the message forwarding method, apparatus, computer equipment, and program product provided in this disclosure firstly utilizes a first check to achieve early filtering of abnormal frames, and then utilizes a second check to ensure the integrity, accuracy, and standardization of data packets, thereby establishing a hierarchical check mechanism of the first and second checks, forming a progressive data packet quality assurance system, and providing standardized data packet input that has undergone preliminary screening for subsequent message fragmentation.

[0051] Furthermore, the message forwarding method, apparatus, computer equipment, and program products provided in this disclosure can also selectively trigger a header compression mechanism after fragmentation processing to compress redundant information in the message header while ensuring the standardization of message fragmentation. This significantly reduces the total amount of data transmitted in the message header on the communication link, effectively reduces the header padding overhead and transmission overhead of each fragmented message, thereby improving the space utilization of the protocol frame data field and significantly improving the transmission efficiency of data packets.

[0052] Furthermore, the message forwarding method, apparatus, computer equipment, and program products provided in this disclosure can also detect in real time whether the frame content of the Ethernet frame matches the latest frame format of the protocol frame corresponding to the communication link, and actively feed back the new maximum transmission unit corresponding to the latest frame format to the source end if they do not match. This enables the source end to adapt to the frame format changes of the target end's protocol frame in real time, realize synchronous optimization of fragment size from the data source, ensure continuous matching of data packets and protocol frame formats during end-to-end transmission, and thus ensure that the link transmission is always in the optimal state.

[0053] Furthermore, the message forwarding method, apparatus, computer equipment, and program products provided in this disclosure can also establish a processing mechanism between the data volume of fragmented messages and the data field capacity of protocol frames. This allows for direct zero-padding encapsulation when the data volume is consistent, and intelligent selection of padding methods based on preset thresholds when the data volume of fragmented messages is insufficient. This ensures that the data load of each empty protocol frame is maximized, effectively reduces the transmission of invalid bytes, and significantly improves the utilization rate of link bandwidth and the reliability of message transmission.

[0054] Furthermore, the message forwarding method, apparatus, computer equipment, and program products provided in this disclosure can also achieve stable establishment and intelligent maintenance of the communication link from the source end to the target end by responding to various protocol requests sent by other terminals.

[0055] Furthermore, the message forwarding method, apparatus, computer equipment, and program product provided in this disclosure can also forward each target protocol frame to the target end by adopting a parallel transmission method in the communication link, thereby realizing the parallel transmission of multiple data streams in the same link, and eliminating the need to cache the frame data of the target protocol frames in the message forwarding device at the target end, thus significantly improving the overall link utilization while ensuring the stability of data message transmission.

[0056] Furthermore, the message forwarding method, apparatus, computer equipment, and program products provided in this disclosure can dynamically adjust the resource allocation used in the forwarding process by statistically analyzing the status and data traffic of messages at each forwarding stage in real time and based on the statistical results. This can avoid data congestion and transmission delays during message forwarding, as well as resource surplus and bandwidth idleness, thereby maintaining efficient and smooth communication links at all times.

[0057] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0058] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. These drawings are incorporated in and constitute a part of this specification. They illustrate embodiments conforming to this disclosure and, together with the specification, serve to explain the technical solutions of this disclosure. It should be understood that the following drawings only show some embodiments of this disclosure and should not be considered as limiting the scope. Those skilled in the art can obtain other related drawings based on these drawings without creative effort.

[0059] Figure 1 A flowchart of a message forwarding method provided in an embodiment of this disclosure is shown;

[0060] Figure 2 This illustration shows a flowchart of a specific implementation of a message forwarding process provided in an embodiment of this disclosure;

[0061] Figure 3 A schematic diagram of a message forwarding apparatus provided in an embodiment of this disclosure is shown;

[0062] Figure 4 A schematic diagram of the structure of a computer device provided in an embodiment of this disclosure is shown. Detailed Implementation

[0063] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. The components of the embodiments of this disclosure described and shown herein can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this disclosure is not intended to limit the scope of the claimed disclosure, but merely represents selected embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.

[0064] Furthermore, the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein.

[0065] In this article, "multiple or several" refers to two or more. "And / or" describes 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, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0066] Research has revealed that as the transmission rate of integrated space-ground networks reaches the gigabit-per-second (Gbps) level, the interconnection of heterogeneous networks across space, ground, and sea places higher demands on protocol conversion technologies. Currently, Ethernet, as the most mature network communication standard, requires its IPv4 / IPv6 datagrams to be transmitted via space links. However, the protocol frames commonly used in space links (such as Digital Video Broadcasting (DVB) frames, AOS frames defined by the Consultative Committee for Space Data Systems (CCSDS), and the Unified Space Data Link Protocol (USLP) frames) have fixed-length frame structures, which have limited data field lengths. For example, the effective payload space of a fixed-length 1024-byte space data link IP over CCSDS (IPoC) frame is 876 bytes, far smaller than the 1500-byte or 9000-byte Maximum Transmission Unit (MTBF) commonly found in terrestrial Ethernet. To achieve transparent transmission of large IP packets, existing technologies typically employ a two-layer fragmentation mechanism. First, fragmentation occurs at the IP layer, where the source or intermediate gateway device fragments the IP packet according to the terrestrial MTU standard, resulting in fragmented IP packets. Then, a second fragmentation and padding occurs at the protocol layer. Since the size of the fragmented IP packets may still exceed the protocol frame's carrying capacity, the gateway or protocol conversion processing unit needs to perform a second fragmentation within the protocol frame. For example, within the AOS frame, the fragmented IP packets undergo a Message Protocol Data Unit (M_PDU) slice, resulting in at least one secondary fragmented IP packet that meets the AOS frame's carrying capacity and one secondary fragmented IP packet smaller than the AOS frame's carrying capacity. For the secondary fragmented IP packet smaller than the AOS frame's carrying capacity, invalid bytes need to be padded to ensure the AOS frame's carrying capacity is met. The average padding rate of the last frame obtained after the second fragmentation reaches 15%-25%.The aforementioned two-layer segmentation mechanism often suffers from the following drawbacks: Since the padding invalid bytes do not carry valid information, transmitting them directly wastes satellite link bandwidth resources; when any protocol frame fails verification, the entire frame must be retransmitted, and a frame may carry multiple IP fragments or fragments (i.e., secondary fragmented IP packets that do not meet the protocol frame's carrying capacity), resulting in the actual retransmitted data volume being far greater than the demand; IP fragments are transmitted along different virtual channels, requiring the satellite or ground station to first reassemble the protocol frame and then the IP packet, adding extra latency due to the two-level buffering, and under high traffic, it is even more difficult to support large-volume data reassembly with limited buffer resources at the satellite end. Furthermore, existing research largely focuses on "how to map IP packets to protocol packets," such as using the M_PDU generation module to complete the format conversion from IP packets to AOS packets, but it does not address the bandwidth waste caused by invalid padding bytes across layers; and existing research only discusses the principle of IP fragmentation reassembly, without addressing dynamic strategies aligned with the protocol frame length. Therefore, there is an urgent need for a high-efficiency and high-performance fragmentation pass-through mechanism that matches the IP fragment size with the protocol frame data field with "zero padding" and enables local retransmission in bidirectional transmission and reception across air-space-ground-sea links, thereby improving link utilization and transmission reliability.

[0067] Based on the above research, this disclosure provides a message forwarding method, apparatus, computer device, and program product. Since the received Ethernet frame is generated by the source end through dynamically acquired maximum transmission unit (MTB), and the MTB is related to the frame format of the protocol frame, the matching degree between the Ethernet frame and its carried data packets and the frame format of the protocol frame can be improved. This achieves standardization of the Ethernet frame from the source end, providing a foundation for subsequent segmentation into fragmented messages matching the frame format of the protocol frame. By segmenting the data packets using the frame format of the protocol frame and the Ethernet frame, the matching degree between the format of each fragmented message and the frame format of the protocol frame can be improved. This avoids the problem of needing to fill invalid bytes and transmit across layers due to mismatched fragment sizes when encapsulating fragmented messages into protocol frames. This solves the bandwidth waste problem during message forwarding between the source and destination ends, significantly improving the utilization rate of the communication link. By encapsulating each fragment with a header during packet fragmentation, and then encapsulating each fragment with its own header into a target protocol frame for forwarding, the erroneous target protocol frame can be quickly located based on the header when a forwarding error occurs. This eliminates the need to retransmit the erroneous target protocol frame itself, avoiding the need to retransmit other target protocol frames from the same Ethernet frame as the fragments in the erroneous target protocol frame, effectively overcoming the drawback of increased retransmission data volume. Furthermore, by encapsulating each fragment with a header, even when target protocol frames are transmitted out of order, the target end can still accurately identify all fragments belonging to the same data packet and determine the packet order based on the packet attributes indicated by the header, effectively solving the problem of difficult recovery of out-of-order protocol frames.

[0068] The shortcomings of the above solutions are the result of the inventor's practical experience and careful research. Therefore, the discovery process of the above problems and the solutions proposed in this disclosure below should be considered as the inventor's contribution to this disclosure.

[0069] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0070] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0071] To facilitate understanding of this embodiment, a message forwarding method disclosed in this disclosure will first be described in detail. The execution subject of the message forwarding method provided in this disclosure is generally a terminal device or other processing device with certain computing capabilities. The terminal device may be a user equipment (UE), a mobile device, a user terminal, a terminal, a personal digital assistant (PDA), a handheld device, a computer device, etc. In some possible implementations, the message forwarding method can be implemented by the processor calling computer-readable instructions stored in the memory.

[0072] The following describes the message forwarding method provided in this disclosure embodiment, taking a computer device as the executing entity as an example.

[0073] like Figure 1 The diagram shown is a flowchart of a message forwarding method provided in this embodiment of the present disclosure, which may include the following steps:

[0074] S101: Receive each Ethernet frame sent by the source end and store the first position of each Ethernet frame in the first queue; the Ethernet frame is generated according to the data packet to be sent by the source end and the latest maximum transmission unit obtained by the source end; the maximum transmission unit is related to the frame format of the protocol frame corresponding to the communication link between the source end and the target end; the protocol frame includes at least one of advanced on-orbit system frame, digital video broadcast frame and unified space data link protocol frame.

[0075] Here, the message forwarding method provided in this embodiment can be applied to standardized and efficient digital communication scenarios between the source and the destination.

[0076] The source end is the initiator of data packet transmission, and the destination end is the receiver of data transmission. Specifically, the source and destination ends can be any device at either end of any communication link in the air-space-ground-sea correspondence. For example, in a ground-to-satellite transmission link, that is, in the uplink transmission from the ground to the satellite, the source end can be a ground device such as a gateway station, fixed ground station, or mobile ground terminal, responsible for sending data packets encapsulated in Ethernet frames to the satellite node; the destination end can be a satellite communication terminal (such as an on-orbit satellite or spacecraft platform) configured with the AOS / DVB / USLP protocol stack, responsible for receiving data frames sent from the ground. In the space-to-ground transmission link, that is, in the downlink transmission from space to ground, the source end can be an on-board communication terminal such as a satellite or spacecraft platform in orbit. It uses the onboard processing unit to assemble the collected remote sensing data, payload data or status telemetry information into IP data packets and send them to the ground node. The target end can be a ground receiving station with a space link interface (such as a ground gateway station, fixed ground station or mobile ground terminal, etc.), which is responsible for parsing the target protocol frame to restore the original IP data stream.

[0077] This application can select the appropriate message forwarding method implementation mode according to the actual selection of the source and target ends. For example, when the source end is a ground-based device and the target end is an on-board communication terminal, the message forwarding method of this application can be implemented in software using a personal computer (PC) corresponding to the source end; when the source end is an on-board communication terminal and the target end is a ground-based device, the message forwarding method of this application can be directly implemented using hardware deployed on the satellite. However, regardless of whether software or hardware implementation is used, the message forwarding method execution process is the same as that described in the various embodiments of this application. Among them, when using hardware implementation, it can be implemented using field-programmable gate array (FPGA) chips, application-specific integrated circuits (ASICs), etc., deployed on the satellite.

[0078] Optionally, when the source is a ground device, the FPGA chip or ASIC chip can also be invoked through the provided calling interface.

[0079] Ethernet frames carry IP data packets, which can be generated by the source end based on the data packets it needs to send and the latest obtained Maximum Transmission Unit (MTU) of the destination end. The data packet is the IP packet to be transmitted, the basic data unit transmitted in network communication, containing a header and the data itself. The header describes the destination of the data and its relationship with other data; the data packet is a complete, independent data entity carrying message information from the source end to the destination end. The MTU is the maximum protocol data unit length allowed to pass through the communication link, determining the baseline scale for data packet fragmentation. The MTU can be related to the frame format of the protocol frame corresponding to the communication link between the source and destination ends. That is, in this application, the source end can dynamically obtain the MTU corresponding to the frame format of the protocol frames supported by the destination end, and generate Ethernet frames supported by the destination end based on the dynamically obtained MTU. The frame format is used to characterize the specific format of the protocol frame, such as the frame header size, data field size, and frame trailer size.

[0080] The first location is the specific storage address of the Ethernet frame, which represents the physical or logical location of the Ethernet frame in memory. Specifically, the first location can be managed through an address pointer or a storage descriptor, thereby facilitating precise access and retrieval of each Ethernet frame.

[0081] The first queue stores the initial position of each Ethernet frame sent by the source. Specifically, the first queue can be a transmit / receive packet queue, used to store the storage position of each transmitted / received IP data packet. Based on the initial positions stored in the first queue, orderly initial storage support can be provided for subsequent processing of Ethernet frames based on protocol frame format and maximum transmission unit, ensuring the orderly transmission of data and protocol frame format adaptation during communication between the source and destination.

[0082] A protocol frame is the frame format corresponding to the space link protocol used by the communication link. The space link protocol can be any space link protocol used to carry IP datagrams. For example, if the space link protocol is AOS, the protocol frame is an AOS frame; if the space link protocol is DVB, the protocol frame is a DVB frame; and if the space link protocol is USLP, the protocol frame is a USLP frame. AOS frames can be defined using the CCSDS standard. The AOS frame format can contain at least three core components: a frame header, a data field, and a frame trailer. The frame header carries a virtual channel identifier to isolate multiplexed data streams; the data field encapsulates the payload using multiplexed protocol data units and uses a pointer mechanism to locate the start of the data; and the frame trailer provides cyclic redundancy check (CRC) through a frame error control field to ensure transmission integrity. DVB frames can be defined using the European Telecommunications Standards Institute (ETSI) standard, which currently has multiple versions, such as DVB-S and DVB-S2. In specific applications, this application can adaptively select the version required by the communication link. USLP frames can also be defined using the CCSDS standard.

[0083] Optionally, any spatial link protocol suitable for carrying IP packets can be used to perform packet forwarding using the packet forwarding method provided in this application embodiment. When the spatial link protocol is a CCSDS-related protocol, protocols conforming to the CCSDS standard or extended protocols under CCSDS (such as the IPoC protocol) can also be applied to the packet forwarding method provided in this application embodiment.

[0084] The message forwarding method provided in this application is applicable to the protocol frame structures of the AOS standard, the DVB series standards, and the USLP standard. Given the commonalities in protocol encapsulation, fragmentation adaptation, and link scheduling between DVB frames and AOS frames, the following descriptions will use AOS frames as an example. For the specific implementation processes of DVB frames and USLP frames, please refer to the description of AOS frames in this embodiment; they will not be repeated here.

[0085] In practical implementation, a configuration file can be pre-configured to indicate the various configuration information required for packet forwarding. This configuration information may include, but is not limited to, IP address, Media Access Control Address (MAC address), the type of protocol initiated by the server, the number of threads and cores started by the processor, disk information, memory information, communication link adaptation parameters required for system operation (such as the maximum transmission unit value adapted to data transmission, link frame format related parameters), data storage and scheduling related configurations (such as cache capacity thresholds for various data queues, data processing timing rules), data integrity assurance parameters (such as data verification algorithm type and verification threshold), system resource allocation parameters (such as memory space allocation quota, resource usage limit), business differentiation processing configurations (such as transmission priority rules for different types of data, data forwarding strategy triggering conditions), and system monitoring and anomaly handling related parameters (such as link status monitoring cycle, data transmission anomaly retry count threshold). This information collectively provides a comprehensive preset basis for the coordinated operation of various functions after system startup and for the effective processing and transmission of data, ensuring that the system adapts to communication scenarios and business needs according to preset logic. The system may include various devices designed to run the packet forwarding process, such as source devices, destination devices, processors, memory, disks, gateways, intermediate network devices, etc.

[0086] The system reads the configuration file during startup and initializes and starts the packet sending / receiving unit, fragmentation unit, Ethernet protocol unit, transparent forwarding unit, CCSDS protocol stack unit, and monitoring and statistics unit. The packet sending / receiving unit receives data packets and stores their first position in the first queue. The fragmentation unit processes data packets into fragments that match the AOS frame format. The Ethernet protocol unit responds to network protocols from other network devices and hosts and notifies the system of the latest MTU. The transparent forwarding unit directly forwards format-converted data frames. The CCSDS protocol stack unit encapsulates and / or parses AOS frames. The monitoring and statistics unit monitors system status in real time and manages system resources. The specific applications of each unit will be detailed later.

[0087] When sending and receiving Ethernet frames, a packet receiving unit can be used to receive standardized Ethernet frames generated by the source end based on the latest MTU value. The Ethernet frames are then allocated to corresponding storage areas, and the specific location of each frame in the memory is recorded using an address descriptor to obtain the first position. Finally, the first positions corresponding to each Ethernet frame are added sequentially to the first-in-first-out (FIFO) packet sending queue.

[0088] S102: Obtain each Ethernet frame according to each first position in the first queue, and perform fragmentation processing on the data packet based on the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet, and store the second position of each fragmented packet in the second queue; wherein, each fragmented packet is encapsulated with a packet header, which is used to indicate the packet attributes of each fragmented packet.

[0089] Here, a fragmented packet is a small packet obtained by fragmenting the actual data packet carried in an Ethernet frame. Its size is adapted to the data volume requirements of the AOS frame format. For example, if the AOS frame format is 1K, the IP data packet actually carried in the Ethernet frame can be fragmented into multiple 1K fragmented IP packets. Each fragmented packet is encapsulated with a dedicated header, which explicitly indicates the packet attributes of each fragmented packet. The header is the control information structure of the protocol data unit, carrying information such as routing control, status identifiers, and protocol processing instructions required for data transmission, and is used to indicate the packet attributes of each fragmented packet. During the fragmentation process, each fragmented packet is encapsulated with an independent header, where the packet attributes indicate the packet's source, location, format, and description. Message attributes may include, but are not limited to, header length, total length, identifier, fragmentation location, fragment offset, service type, source address, Ethernet frame to which the fragmented message belongs, sequence number, and length of the original data packet. The destination can accurately reassemble the original data packet based on the message attributes. For example, when a 2000-byte original IP data packet is divided into three fragments of 876 bytes, 876 bytes, and 248 bytes, each fragment records its position in the original IP data packet through the fragment offset in the message header, and indicates the start and end of the fragmentation sequence through flags, thereby ensuring that out-of-order fragments can still be correctly reassembled.

[0090] The second location is the logical location identifier of the fragmented packet in the storage structure, used to establish the addressing association between the fragmented packet and the subsequent padding stage. For example, after performing fragmentation processing on a 1500-byte IP packet, two fragmented packets of 876 bytes and 624 bytes are generated and each obtains an independent storage address. These addresses are recorded as the second location.

[0091] The second queue is used to store the second position of each fragmented message obtained after fragmentation processing. For example, the second queue can be a fragmentation queue. By storing the second position of the fragmented message in the fragmentation queue, an ordered position index is provided to support the subsequent filling of fragmented messages based on AOS frames.

[0092] In practice, the initialized fragmentation unit can be used to retrieve each Ethernet frame from the first position in the first queue. Then, based on the data field capacity indicated by the pre-configured AOS frame format (e.g., 876 bytes) and the information content carried by the Ethernet frame, the original IP datagram in the Ethernet frame is standardized and fragmented. Each fragment is then encapsulated with an IP header to obtain individual fragmented packets. The storage address of each generated fragmented packet can then be registered as the second position and stored sequentially in the fragmentation queue.

[0093] This application uses a different approach: storing the first position of the Ethernet frame and the second position of the fragmented message in different queues, instead of storing the Ethernet frame and fragmented message by copying as in the prior art. This reduces the copying of the Ethernet frame and fragmented message, enabling message forwarding under zero-copy reassembly.

[0094] S103: Obtain each fragmented message sequentially according to the second position in the second queue, and encapsulate the currently obtained fragmented message into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame.

[0095] Here, the reserved AOS frame resources are fixed-length AOS frame spaces pre-allocated during system initialization, used to provide ready-to-use standard frame containers for fragmented message encapsulation. System initialization refers to the process during system startup where various parameters required for system operation (such as function activation rules, resource allocation thresholds, communication protocol adaptation parameters, etc.) are obtained by reading a preset configuration file, and based on these parameters, the basic settings, state activation, and necessary resource allocation (such as memory space and interface links) of each functional component within the system are completed.

[0096] An empty AOS frame is a frame container extracted from reserved AOS frame resources, conforming to the CCSDS standard structure. It is used to provide a standardized bearer unit for fragmented packets, ready to be used immediately. For example, when processing a 1KB IP fragment, a 1KB standard empty frame is selected. This ensures that the fragmented packet data is accurately filled into the corresponding data field and that the virtual channel identifier and data field length indicator in the frame header are updated synchronously. This achieves the conversion of fragmented packet data to AOS frames while ensuring protocol compliance.

[0097] The target protocol frame is a protocol frame filled with fragmented packet data, used to carry fragmented packet data in the space link while maintaining protocol specification compliance. For example, when using the AOS protocol, the target protocol frame is the target AOS frame, which can be a standardized AOS frame structure based on an empty AOS frame and fragmented IP packet data, after the fragmented packet data filling process. When using the DVB protocol, the target protocol frame is the target DVB frame.

[0098] In practical implementation, the CCSDS protocol stack unit can be used to sequentially read each second position from the second queue in a first-in-first-out order, and use the second position to obtain the corresponding fragmented packet. Simultaneously, empty AOS frames matching the frame format of the AOS frame can be extracted sequentially from the reserved AOS frame resource pool. That is, for each fragmented IP packet extracted, a corresponding perforated AOS frame for encapsulating that fragmented packet is extracted from the reserved AOS frame resources. The extracted fragmented packet data is then precisely loaded into the frame data field of the corresponding extracted empty AOS frame to generate a standardized AOS frame structure, thus obtaining the target AOS frame corresponding to each fragmented packet.

[0099] S104: Forward each target protocol frame to the target end; the target end is used to reconstruct the data packet based on the message header and message content corresponding to each target protocol frame.

[0100] In practice, the generated standardized target AOS frames are forwarded to the target end. After receiving each target AOS frame, the target end can parse the corresponding header and content of each target AOS frame, and reassemble the fragmented packets based on the packet attributes in the header to obtain the original data packets.

[0101] In one embodiment, S101 described above can be implemented according to the following steps:

[0102] S101-1: Receive each Ethernet frame sent by the source.

[0103] In practice, packet transceiver units can be used to send and receive Ethernet frames according to the service direction. The service direction is used to determine the transmission direction of the communication link, such as satellite-to-ground transmission or ground-to-satellite transmission.

[0104] S101-2: Perform the first check on each Ethernet frame according to the maximum transmission unit.

[0105] Here, the first check is used to verify the format compliance of Ethernet frames; for example, the first check can be an MTU check.

[0106] In practice, for each Ethernet frame, the packet transceiver unit can be used to compare the latest MTU obtained from the source end with the actual MTU corresponding to the data packet carried in the Ethernet frame, thereby determining whether the actual MTU of the Ethernet frame matches the detected MTU. If they match, it means the Ethernet frame has passed the first checksum; otherwise, it has failed the first checksum.

[0107] S101-3: Store the first position of each Ethernet frame that passes the first check to the first queue, and / or perform exception handling on each Ethernet frame that fails the first check.

[0108] In practice, when the MTU value corresponding to an Ethernet frame is detected to be an integer multiple of the latest MTU obtained by the source end, the Ethernet frame is determined to pass the first checksum. The specific storage address of the Ethernet frame can then be stored in the packet queue for processing by the fragmentation unit. If the Ethernet frame is determined to have failed the first checksum, a corresponding exception handling mechanism is executed. For example, the exception Ethernet frame may be discarded directly, and / or an exception response message may be generated and sent back to the source end.

[0109] Based on the first verification process, it can be ensured that Ethernet frames with valid MTU can enter the subsequent processing flow.

[0110] In one embodiment, S102 described above can be implemented according to the following steps:

[0111] A1: Obtain each Ethernet frame according to each first position in the first queue.

[0112] In practice, the fragmentation unit can be used to sequentially obtain each second position from the packet queue, and then each Ethernet frame can be obtained sequentially according to the obtained second position.

[0113] A2: Perform a second verification on each acquired Ethernet frame; wherein the second verification includes at least message validity verification and message content anomaly verification.

[0114] Here, the second check is used to verify the integrity, accuracy, and standardization of message data, filtering out all invalid, malformed, or malicious message data, and providing reliable data input for message fragmentation processing. In specific implementation, the second check can at least include message validity verification and message content anomaly verification. Message validity verification is the basic processing flow in the network protocol stack for verifying the protocol compliance of data frames. It is used to ensure that received messages conform to the format requirements defined by international Internet standards and specifications, including but not limited to verifying the compliance of basic protocol fields such as IP protocol version number, header checksum calculation, and Time-to-Live (TTL) value range. Message validity verification can be, for example, Cyclic Redundancy Check (CRC). Message content anomaly verification is an analysis mechanism in the network protocol stack for deep security inspection of message data payloads. It is used to identify and intercept potentially destructive malformed messages and malicious attack data, including but not limited to verifying the logical consistency of fragmentation offsets, the validity of flag bit combinations, and the rationality of payload data structure, thereby providing reliable data input that conforms to protocol specifications for the fragmentation processing stage.

[0115] In practice, for each acquired Ethernet frame, the frame can be parsed, and a second verification process can be performed based on the parsed content. For example, the validity of the Ethernet frame can be checked first, including but not limited to checking the frame header fields (such as the destination MAC address, whether the frame type field is IPv4 or IPv6), and the IP header fields (such as the version number, whether the header length is within the legal range). If any field does not conform to the standard, it is determined to be an illegal message. After the validity check passes, message content anomaly checks can be performed, including but not limited to checking whether the Ethernet frame data field length is 0, whether the data packet payload contains consecutive invalid padding bytes (such as 20 or more consecutive 0x00 bytes), whether the IP fragmentation identifier does not match the offset, whether the header is incomplete, and whether the header content does not match the payload content. If any of the above anomalies exist, it is determined to be a message with abnormal content. If the data packet carried by the Ethernet frame is neither an illegal message nor a message with abnormal content, the Ethernet frame verification can be determined to have passed. Only Ethernet frames that pass the second verification can proceed to the subsequent fragmentation processing.

[0116] For Ethernet frames that fail the second check, exception handling can be performed, such as marking them as invalid frames and discarding them, or generating an exception response message for invalid frames and sending it back to the source.

[0117] A3: For each Ethernet frame that passes the second check, according to the frame format of the protocol frame and the frame content carried by each Ethernet frame, the corresponding data packet of the Ethernet frame is fragmented and the packet header is encapsulated to obtain each fragmented packet.

[0118] Here, the frame content carried by an Ethernet frame can include the frame header, frame trailer, and payload portion used to carry the actual service data, as defined in the Ethernet frame structure. The payload portion carries the actual content of the IP datagram, and its format matches that of a length AOS frame. It is used to transmit message information with actual service data between different communication nodes (such as ground gateways, satellite equipment, etc.). Examples include remote sensing image data sent from a ground host to a satellite terminal, and equipment status monitoring data transmitted back from a satellite to a ground station.

[0119] In practice, after completing the second verification of each Ethernet frame, the header encapsulation rules in the system configuration file are read. Then, for each Ethernet frame that passes the second verification, the fragmentation unit is used to extract the frame content carried by the Ethernet frame that passed the second verification, and the relationship between the total length of the data packet in the frame content and the length of the AOS frame data field is determined. If the total length of the data packet is greater than the length of the AOS frame data field, the data packet is fragmented according to the length of the AOS frame data field, and a corresponding header is generated for each fragment according to the header encapsulation rules and encapsulated into each fragment to obtain each fragmented IP packet. The data length of each fragmented packet does not exceed the length of the AOS frame data field. If the total length of the data packet is equal to the length of the AOS frame data field, there is no need to split the data packet, and the data packet is directly treated as a single fragmented IP packet.

[0120] During fragmentation, packet header encapsulation is performed according to protocol specifications. For example, for IPv4 datagrams, flags are adjusted based on the original IPv4 header, the fragmentation offset is calculated and set (e.g., in 8-byte units), and the IP header checksum is recalculated and filled to form the IP header of the fragmented packet. For IPv6 datagrams, the IPv6 fragmentation mechanism is followed, a fragment header is added after the IPv6 header, the "More Fragments" flag is set (the rules are the same as for IPv4), and the fragmentation offset (e.g., in 8-byte units) is set to form an IP header with a fragment header.

[0121] In one embodiment, after obtaining each fragmented packet in S102 above, the following steps can also be performed:

[0122] B1: With header compression enabled, the header of the fragmented message is compressed to obtain the compressed fragmented message.

[0123] Here, header compression is used to compress the header content of fragmented packets to improve the frame space utilization of empty AOS frames when the fragmented packets are subsequently encapsulated into them. Header compression can be implemented using a preset compression algorithm to remove redundant fields or optimize duplicate fields, thereby reducing the header length. In scenarios where the AOS frame data field length is fixed, header compression can reduce the space occupied by the header in the data field, allowing the AOS frame to carry more IP payload data, avoiding an increase in the number of fragments or a decrease in the proportion of effective data, and improving the bandwidth utilization of the communication link. For example, a 20-byte standard IPv4 header can be compressed to 4 bytes (retaining the source IP and destination IP core identifiers), allowing the AOS frame to carry an additional 16 bytes of payload data.

[0124] In practice, after completing the second checksum of each Ethernet frame, the Ethernet frame content is extracted (taking a 1500-byte IPv4 datagram as an example, containing a 20-byte IPv4 header and a 1480-byte payload). Based on the data field of the AOS frame, the packet data of each Ethernet frame is fragmented, and a header is encapsulated for each fragment. After obtaining each fragment, it can be determined whether the header compression function is enabled. If not, the fragmented packets can be directly encapsulated. If so, a preset header compression algorithm can be used to compress the IP header of each fragmented packet, including but not limited to removing redundant fields such as version number and header length in the header (e.g., IPv4 / IPv6), while retaining the source IP, destination IP, and key fragmentation fields. For example, the header of a 20-byte IPv4 fragmented packet can be compressed to 4 bytes. After compression, each compressed fragmented packet can be obtained. Then, the compressed fragmented packets can be encapsulated into the data field of an empty AOS frame.

[0125] In one embodiment, after receiving an Ethernet frame, the latest frame format of the protocol frame corresponding to the communication link can be synchronized to the source end through the following steps:

[0126] C1: If the content of an Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, the source end is fed back the new maximum transmission unit corresponding to the latest frame format; the source end is used to generate a new Ethernet frame corresponding to the new message according to the new maximum transmission unit when sending a new message.

[0127] Here, the latest frame format of the AOS frame refers to the frame format of the AOS frame currently used in the communication link between the source and destination. A mismatch between the Ethernet frame content and the latest frame format of the corresponding AOS frame in the communication link can specifically mean that the size of the data packet in the Ethernet frame content does not match the size of the data field in the AOS frame indicated by the latest frame format. For example, the size of the IP data packet in the frame content may be smaller than or not divisible by the data field size of the AOS frame indicated by the latest frame format.

[0128] After receiving an Ethernet frame, it can be determined at any time whether the frame content matches the latest frame format. For example, this determination can be made before, after, during, or during the fragmentation process of the Ethernet frame, during the AOS frame filling process, and during the first checksum check. By verifying whether the frame content matches the latest frame format, it is possible to verify whether the frame content conforms to the fragmentation standard.

[0129] In practice, after receiving an Ethernet frame, the latest frame format of the AOS frame corresponding to the communication link can be obtained. Based on the latest frame format, the latest MTU matching that frame format is determined. Then, based on the latest MTU, it is determined whether the frame content matches. For example, if the determination is made before the Ethernet frame is fragmented, the total length of the data packet carried in the frame content can be directly checked to see if it conforms to the latest MTU. If it does, the frame content is determined to match the latest frame format; if not, the frame content matches the latest frame format. The verification result and the latest MTU corresponding to the latest frame format of the AOS frame are then filled into a predefined message to construct an Internet Control Message Protocol (ICMP) response message, which is then sent to the source. If the judgment occurs before Ethernet frame fragmentation, the Ethernet frame can be retrieved from the first position in the fragmentation queue. The data packets carried in the frame content can then be extracted, and the total length of the data packets can be checked against the latest MTU corresponding to the current AOS frame data field. If it does not conform, the Ethernet frame is deemed not to meet the fragmentation standard. The verification result and the latest MTU corresponding to the latest AOS frame format are then filled into a predefined message, an ICMP response message is constructed, and sent to the source. If the judgment occurs during fragmentation, the fragmentation unit compares the length of the IP data packets against the latest MTU in real time. If it does not conform, it is immediately determined that the fragmentation standard is not met. Similarly, the verification result and the latest MTU are filled into a predefined message, an ICMP response message is constructed, and sent to the source. If the judgment occurs after fragmentation, the length of each fragment can be checked against the latest MTU. If not, it is determined that the fragmentation standard is not met. The verification result and the latest MTU are filled into a predefined message, an ICMP response message is constructed, and sent to the source. When the judgment occurs during the AOS frame filling process, when filling each fragmented packet into the data field of an empty AOS frame, the length of the fragment to be filled is checked against the latest MTU. If they do not match, it is determined that the fragmentation standard is not met. The verification result and the latest MTU are then filled into a predefined packet, an ICMP response packet is constructed, and sent to the source. When the judgment occurs during the first verification process, the packet receiving unit can determine whether the data packet in the Ethernet frame matches the latest MTU. If they do not match, it is determined that the fragmentation standard is not met. The verification result and the latest MTU are then filled into a predefined packet, an ICMP response packet is constructed, and sent to the source. After receiving the ICMP packet, the source can obtain the latest MTU corresponding to the frame format of the latest AOS frame from the ICMP packet. Then, when sending a new data packet, it can generate the corresponding Ethernet frame according to the latest MTU, and ensure that the total length of the IP datagram carried by the new Ethernet frame does not exceed the MTU.

[0130] In one embodiment, the step of encapsulating the target protocol frame in S103 above can be implemented according to the following steps:

[0131] For the currently acquired fragmented message, if the initial message data size of the fragmented message is consistent with the target message data size indicated by the frame format of the protocol frame, then the fragmented message is filled into an empty protocol frame to obtain the target protocol frame.

[0132] Here, the initial packet data size refers to the total number of bytes of packet data (including the IP fragment header and corresponding payload) carried by a fragmented packet before it is encapsulated into an AOS frame, after fragmentation processing (including the compressed fragment header if packet header compression is enabled). The initial packet data size is used to determine whether the fragmented packet can fit into the AOS frame data field without padding with extra data, avoiding wasted bandwidth due to extra padding in the AOS frame caused by data size mismatch. For example, after fragmenting a 1.5K data packet into 1K AOS frames, two fragmented packets with initial IP packet data sizes of 1K and 0.5K can be obtained; after fragmenting a 3K data packet into 1K AOS frames, three fragmented packets with an initial packet data size of 1K can be obtained.

[0133] The target packet data size refers to the maximum number of bytes of IP fragment data that the AOS frame data field can carry, as predefined according to the CCSDS AOS protocol specification. Its value is equal to the fixed length of the AOS frame data field. The target packet data size is used to specify the upper limit of the total amount of IP fragment data that can be encapsulated into an empty AOS frame. For example, in a satellite-to-ground communication scenario between a terrestrial gateway and a low-Earth orbit satellite, the total length of the AOS frame is 1024 bytes, of which the data field length is 876 bytes. This 876 bytes is the target packet data size indicated by the AOS frame format. When fragmenting data packets, the fragmentation unit can perform the fragmentation based on the target packet data size indicated by the AOS frame format.

[0134] The preset threshold is a pre-configured byte count threshold, and its size is not specifically limited in this embodiment. The filling method for the fragmented packets can be dynamically determined based on the comparison between the difference between the initial and target packet data sizes and the preset threshold.

[0135] In practical implementation, when encapsulating fragmented packets using the CCSDS protocol stack, for the currently acquired fragmented packet, an empty AOS frame is retrieved from the reserved AOS frame resource pool, and the initial packet data size of the fragmented packet is determined (for example, with header compression enabled, the initial packet data size is the sum of the compressed IP header and corresponding payload data; without header compression enabled, the initial packet data size is the sum of the uncompressed IP header and corresponding payload data). Then, it is determined whether the initial packet data size matches the target packet data size indicated by the latest frame format of the AOS frame. If so, the fragmented packet can be directly and completely filled into the data field of the empty AOS frame to obtain the target AOS frame. That is, if the MTU size of the fragmented packet is the same as the data field of the AOS frame, it is directly and completely filled.

[0136] Alternatively, for the currently acquired fragmented message, if the initial message data size of the fragmented message is less than the target message data size indicated by the frame format of the protocol frame, then the padding method for the fragmented message is determined based on the difference between the initial message data size and the target message data size and a preset threshold; the padding method is used to adjust the initial message data size to the target message data size; then, according to the padding method, the fragmented message is filled into an empty protocol frame to obtain the target protocol frame.

[0137] In practice, if the initial packet data size is less than the target packet data size, the difference between the initial and target packet data sizes can be calculated first. Based on the relationship between this difference and a preset threshold, the padding method for filling the empty AOS frame data field with the fragmented IP packets is determined. This padding method adjusts the initial packet data size to match the target packet data size, ensuring that the empty AOS frame data field is filled when the fragmented IP packets are filled. The initial IP packet data size being less than the target packet data size may occur because the AOS frame format of the communication link has been updated in real time, or because the MTU used by the source end when generating the Ethernet frame does not match the AOS frame format.

[0138] For example, different magnitudes of the difference and the preset threshold correspond to different padding methods. When the difference is less than or equal to the preset threshold, the fragmented IP packet can be directly filled into the empty AOS frame data field first. Then, invalid data can be filled into the remaining space in the empty AOS frame data field to obtain the target AOS frame. When the difference is greater than the preset threshold, a padding method is adopted that selects the payload data of adjacent fragmented frames and splices them together. That is, the fragmented packet is merged with the truncated neighboring packet fragments into a packet fragment that meets the target packet data size, and then filled into the empty AOS frame data field and encapsulated into the target AOS frame.

[0139] In one embodiment, the present application embodiment can also receive protocol requests sent by any other terminal; the protocol requests include at least an Address Resolution Protocol request, an Internet Control Message Protocol request, and a Path Maximum Transmission Unit discovery request; in response to the received protocol requests, a response result is generated based on the communication link information of the source and destination ends and / or the target protocol frame, and the response result is fed back to any other terminal.

[0140] Here, other terminals can be various network devices and hosts running the Ethernet protocol stack. For example, other terminals can include any PC, server (such as a remote sensing image storage server for a ground station, a status monitoring server for shipborne equipment, or an airborne mission data processing server), embedded host (such as a ground simulation host for a deep space probe), Ethernet switch (such as an access layer switch on the ground gateway access side or a distributed switch for airborne Ethernet), Ethernet router (such as an edge router connecting different subnets on the ground side), Ethernet gateway (such as an industrial gateway that supports the conversion between Ethernet and industrial bus protocols or a wireless access gateway compatible with Ethernet access), network access device (such as an Ethernet access module for a satellite ground station), and other network devices, as well as dedicated terminal devices such as shipborne terminal network control units, airborne communication processing modules, and vehicle-mounted Ethernet controllers for ground mobile platforms that run the Ethernet protocol stack.

[0141] Address Resolution Protocol (ARP) requests translate a target device's IP address into its corresponding physical MAC address. This is used for data transmission between devices within the same local area network (LAN) to ensure accurate data delivery by mapping IP addresses to MAC addresses. Internet Control Message Protocol (ICMP) requests transmit network control and error reporting information, used for network fault diagnosis (such as ping tests) and MTU notification. Path MTU Discovery (PMTUD) requests probe the maximum transmittable unit (MTBF) in a communication link to determine the maximum packet size that does not require fragmentation.

[0142] Communication link information is used to record key interaction parameters between the source and destination ends in the Ethernet and AOS frame transmission links. These parameters include, but are not limited to, the MAC addresses of the source / destination ends, the real-time connectivity status of the communication link, and data transmission routing information (such as link node hop paths). Communication link information is used to provide basic link parameters to support the response results when responding to protocol requests, ensuring that data transmission adapts to link characteristics. For example, when responding to an ARP request, address mapping can be completed based on the source / destination MAC addresses; when responding to a PMTUD request, MTU compatibility can be determined by combining link connectivity status and routing information.

[0143] In practical implementation, Ethernet protocol units can be used. When an ARP request (such as querying the gateway MAC address) is received from any other terminal, the unit responds by extracting its own MAC address from the communication link information and filling it into a predefined message, constructing an Address Resolution Protocol (ARP) response message, and generating an ARP response message to send back to the requesting terminal. When an ICMP request (such as an ICMP echo request) is received from any other terminal, the unit responds by extracting the real-time link connectivity status between the source and target ends and the latest encapsulation record of the target AOS frame (used to verify that data can be transmitted normally) from the communication link information, filling it into a predefined ICMP message, constructing an ICMP echo response message (such as containing link connectivity status and basic parameters of the target AOS frame), and generating an ICMP response message to send back to the requesting terminal. When a PMTUD request is received from any other terminal, in response to the request, the routing hop characteristic information (such as whether the path supports fragmentation) of the source and destination ends is extracted from the communication chain information, and the target packet data volume (i.e. MTU value) indicated by the frame format is extracted from the target AOS frame. The routing characteristics and MTU value are filled into the predefined PMTUD message, a PMTUD response message is constructed, and the generated PMTUD response message is fed back to the requesting terminal.

[0144] Optionally, a response message buffer queue can be preset. After generating a response message corresponding to any protocol request, it can be stored in the message buffer queue. Then, when storing transmission resources, the response messages in the message buffer queue are sent to the corresponding requesting terminals in sequence.

[0145] In this way, the Ethernet protocol unit dynamically responds to the protocol requests of various network devices, hosts, etc. running the Ethernet protocol stack, constructs predefined messages and puts them into the queue, fully dynamically responds to the network protocol configuration, and announces the local MTU configuration in real time, dynamically adapting to changes in AOS frame size.

[0146] In one embodiment, S103 described above can be implemented according to the following steps:

[0147] D1: Buffer each target protocol frame into the third queue.

[0148] Here, the third queue is a dedicated buffer queue used to temporarily store each generated target AOS frame during the process of forwarding the target AOS frame to the target end. The target AOS frames are stored in the third queue in an ordered manner according to their generation order, thus avoiding congestion caused by an excessive number of frames received instantaneously during the forwarding process, while ensuring that the target AOS frames are forwarded in their generation sequence, matching the transmission rhythm of the communication link.

[0149] In practice, after generating each target AOS frame using the CCSDS protocol stack, the generated target AOS frames can be stored in the third queue in the order of their generation, based on the first-in-first-out principle.

[0150] Optionally, a third queue can be pre-configured, with different third queues having different priorities. After generating a target AOS frame, the priority of each target AOS frame can be determined based on its importance, data field size, source priority, and target priority. Each target AOS frame is then cached in its corresponding priority-matching third queue, allowing for hierarchical forwarding of target AOS frames according to the priority of the third queue during subsequent AOS frame forwarding.

[0151] D2: In the communication link, parallel transmission is used to forward each target protocol frame in the third queue to the target end.

[0152] Here, the parallel transmission method refers to the synchronous transmission of multiple data streams through virtual channel identifiers, which is used to simultaneously carry the data transmission of multiple logical channels on a single physical communication link.

[0153] Because each fragmented packet contains an independent header, even if the target AOS frames are not transmitted in the order of the fragmented packets, the target end can still reconstruct the complete IP datagram from the header after receiving the target AOS frame. This provides a basis for recovery for parallel or out-of-order transmission of target AOS frames. Therefore, in practical implementation, independent virtual channel identifiers (such as telemetry data allocation identifier 1 and scientific data allocation identifier 2) can be assigned to different service flows and encapsulated in parallel with the packet content of each fragmented frame into the corresponding AOS frame, so that the data flows form an interleaved frame sequence in the spatial link. Based on the logical channel identifier, the AOS frames of each data flow are forwarded after encapsulation.

[0154] For example, a ground station can simultaneously receive remote sensing image data streams and telemetry status data streams from satellites, distinguishing them using different virtual channel identifiers, thereby significantly improving the overall transmission efficiency of the communication link. In this way, by transmitting multiple streams in parallel within the same communication link, without buffering frame data, the efficiency of message forwarding is significantly improved.

[0155] In one embodiment, the present application embodiment can also realize real-time statistics of packet forwarding resource information and packet traffic size; and adjust the resource allocation of the packet forwarding process in real time according to the packet forwarding resource information and packet traffic size.

[0156] Here, message forwarding resource information is used to indicate various resource information related to the message forwarding process. Based on message forwarding resource information, real-time monitoring of system resources can be achieved, providing a basis for decision-making in subsequent resource allocation adjustments. Specifically, message forwarding resource information can at least include the hardware and software resource status of various hardware and software required during message forwarding, Ethernet frame transmission and reception status, queue status, and system resource status.

[0157] Hardware and software resource status includes, but is not limited to, processor status, processor resources, gateway resources, software resource usage, and hardware utilization. This status can indicate the real-time load intensity of the computing core and storage media. Ethernet frame transmission and reception status characterizes the data packet transmission quality and integrity of the communication link, specifically including data packet transmission and reception status, including but not limited to throughput, packet loss rate, bit error rate, and usage. Queue status indicates the real-time usage status of queues, reflecting the buffer saturation and flow efficiency of the data processing link. In practice, queue status can at least include the depth change rate, overflow frequency, and utilization rate of the first / second / third queues, respectively. System resource status reflects the stability and resource health of continuous device operation, including but not limited to memory, disk, and network speed. These multi-dimensional packet forwarding resource information collectively form the basis for dynamic resource allocation decisions, achieving continuous optimization of system performance through closed-loop control.

[0158] Resource allocation refers to the flexible restructuring of the system processing architecture and the dynamic allocation of computing resources. This may include, but is not limited to, adjusting the number of queues, adjusting the number of processing units (i.e., packet sending / receiving units, fragmentation units, Ethernet protocol units, transparent forwarding units, CCSDS protocol stack units, monitoring and statistics units, etc.), and dynamically allocating processor computing resources. Packet traffic size is used to indicate the volume of data packets.

[0159] In practical implementation, a monitoring and statistics unit can be used to collect and statistically analyze packet forwarding resource information and packet traffic volume in real time. For example, it can monitor and statistically analyze the hardware and software resource status, Ethernet frame transmission and reception status, queue status, system resource status, and real-time packet traffic volume required during packet forwarding. Furthermore, based on the statistically analyzed packet forwarding resource information and the packet traffic volume, resource allocation during packet forwarding can be adjusted in real time to improve data packet forwarding efficiency.

[0160] In one embodiment, the resource allocation step for the real-time adjustment of the packet forwarding process described above can be implemented according to the following steps:

[0161] When the message forwarding resource information indicates that the utilization rate of any queue has reached the preset utilization rate, the number of queues is dynamically increased; and / or, when the message forwarding resource information indicates that there are remaining available resources, the resources allocated to the message forwarding process are dynamically adjusted according to the changes in message traffic.

[0162] Here, the preset utilization rate can be set based on experience, and this application embodiment does not impose specific limitations. For example, it can be 80%, 90%, etc. For any queue, the size of the queue can be preset, and then the utilization rate of the queue can be determined based on the actual data cached by the queue and the size of the queue. For example, the size of the third queue can be a maximum of 500K frames. The remaining available resources can be the remaining resources of the device used to execute the packet forwarding method, such as the remaining available resources of the processor. The processor can be a general-purpose central processing unit (CPU), i.e., a digital signal processing (DSP) chip, an FPGA chip, an ASIC chip, or any combination thereof. The changes in packet traffic size are used to reflect the amount of packet traffic in real time, such as a sudden increase in a large amount of packet traffic, packet traffic stabilizing in a certain area, and a sudden drop in packet traffic.

[0163] In practice, if the packet forwarding resource information indicates that the utilization rate of any queue has reached a preset utilization rate, the number of that queue will be dynamically increased. For example, if the utilization rate of a third queue is detected to continuously exceed the preset utilization rate, the number of the third queue can be increased. In this way, under large data packet traffic, when each queue may quickly reach its threshold, the probability of packet loss can be reduced by promptly requesting other cache queues.

[0164] And / or, if the packet forwarding resource information indicates that the processor has not reached its usage limit, it means that the processor still has remaining available resources. At this time, based on the remaining available resources and the monitoring status of large data packet traffic (such as traffic volume, CPU usage, and the usage status of each CPU core), new processing units can be created in real time for packet forwarding. The usage limit can be, for example, 80%-90% of the processor's capacity.

[0165] For example, when the queue status of the fragmented queue indicates that the queue utilization rate has reached the preset utilization rate, the processor utilization rate has not reached the utilization limit, and the change in packet traffic size indicates a sudden increase in packet traffic, the remaining available processor resources can be utilized to immediately initiate a horizontal scaling mechanism for dynamic adjustment of multi-dimensional resources. For instance, the number of fragmented queues can be expanded from the baseline of 16 to 24, while creating 3 new fragmented units and binding them to idle processor cores, and adjusting the number of threads from 8 to 12 through CPU settings. For example, when transmitting high-resolution remote sensing data via a satellite-to-ground link, if real-time monitoring detects that the depth of the third queue has reached the warning value and 4 processor cores are under low load, the number of the third queue can be dynamically increased immediately, 2 new CCSDS protocol stack units can be created, and their threads can be allocated to idle cores, increasing system throughput by 40% while maintaining 65% processor utilization, achieving precise matching between transmission load and computing resources.

[0166] In one embodiment, forwarding each target protocol frame to the target end in step S104 can also be implemented according to the following steps:

[0167] E1: Determine the forwarding method for the target protocol frame based on the link direction and service requirements of the communication link between the source and target ends.

[0168] Here, the direction of the communication link covers two categories: one-way link and two-way link. The one-way link includes, but is not limited to, ground-to-satellite one-way from ground-side source (such as ground gateway, ground host) to space-side target (such as low-Earth orbit satellite terminal), satellite-to-ground one-way from space-side source (such as low-Earth orbit satellite terminal) to ground-side target (such as ground gateway), ship-to-ground one-way from shipborne source (such as shipborne terminal) to ground-side target (such as ground gateway), ground-to-ship one-way from ground-side source to shipborne target, air-to-ground one-way from airborne source (such as airborne communication terminal) to ground-side target, and ground-to-air one-way from ground-side source to airborne target. The bidirectional link direction is composed of pairs of the corresponding unidirectional link directions mentioned above, including but not limited to the combination of ground-satellite unidirectional and satellite-ground unidirectional to form ground-satellite bidirectional, ship-ground unidirectional and ground-ship unidirectional to form ship-ground bidirectional, and air-ground unidirectional and ground-air unidirectional to form air-ground bidirectional. The specific link direction can be determined according to the deployment scenario of the source and target ends (such as satellite-ground communication, sea-ground communication, and air-ground communication).

[0169] The service requirements of a communication link indicate various processing needs during message forwarding. These can encompass real-time requirements to ensure data transmission timeliness, reliability requirements to ensure data is neither lost nor corrupted, bandwidth adaptation requirements to accommodate different data volumes, priority requirements to differentiate data importance, and integrity verification requirements to confirm the integrity of data transmission. For example, service requirements may include, but are not limited to: real-time requirements for low-latency transmission (such as satellite control commands to ground equipment in a satellite-to-ground link, and real-time status data transmission of airborne equipment in an air-to-ground link); reliability requirements to avoid data loss (such as critical mission command transmission from a shipborne terminal in a ship-to-ground link, which requires support for retransmission mechanisms); adaptation requirements to match link bandwidth (such as high bandwidth adaptation for transmitting high-definition remote sensing images from a ground host to a satellite, while low bandwidth adaptation is required for transmitting small-volume configuration information); priority requirements to prioritize high-importance data (such as emergency fault alarm information being forwarded before ordinary service data); and verification requirements to confirm data integrity (such as adding a verification field when transmitting industrial control data to ensure the receiving end can verify that the data has not been tampered with).

[0170] Forwarding methods can be divided into direct forwarding and parsing-after forwarding. Direct forwarding directly forwards the target AOS frame to the target end to minimize latency, suitable for unidirectional high real-time services (such as control commands and real-time telemetry). Parsing-after forwarding decapsulates the IP data, processes it through verification, retransmission, priority scheduling, MTU / bandwidth adaptation, etc., and then recapsulates it before forwarding to ensure reliability, integrity, and resource utilization, suitable for bidirectional scenarios or scenarios where reliability is emphasized. The two forwarding methods can be flexibly selected according to the link direction and service requirements.

[0171] In practical implementation, when the link direction is unidirectional and the service requirement is primarily real-time (such as transmitting satellite control commands via ground-to-satellite links or transmitting airborne real-time telemetry data via air-to-ground links), and latency is sensitive but no complex processing is required, direct forwarding is chosen. The target AOS frame is retrieved from the third queue and immediately sent to the target end through a parallel transmission channel to minimize transmission latency. When the link direction is unidirectional but the service requirement emphasizes reliability, integrity, or priority (such as transmitting critical mission commands via ship-to-ground links or transmitting configuration data requiring confirmation of delivery via ground-to-satellite links), parsing and forwarding are chosen. The received target AOS frame is decapsulated and integrity is verified (such as CRC check). High-importance data is marked with high priority and forwarded first. For data that fails verification, a retransmission mechanism is initiated. After processing, the data is recapsulated into an AOS frame and sent again to ensure that the data arrives at the target end reliably, orderly, and completely. When the link is bidirectional and the service requirement is bandwidth adaptation or MTU adaptation (such as the transmission of large data files between a ground host and a satellite terminal in a ground-to-satellite bidirectional link, or the need to dynamically adjust the MTU in an air-to-ground bidirectional link to avoid fragmentation), parsing followed by forwarding is selected. Before forwarding, the target AOS frame is parsed to extract IP datagrams. Fragmentation or merging is performed as necessary based on the current link bandwidth and the target's MTU. Large data is compressed to adapt to the bandwidth, and then encapsulated into an AOS frame that meets the target's requirements before forwarding. This improves link utilization and avoids transmission failures due to MTU mismatch. When the link is bidirectional and the service requirement includes both real-time and reliability requirements (such as the transmission of both real-time control commands and non-real-time but critical task data in a ground-to-satellite bidirectional link), a hybrid forwarding strategy is adopted. This involves direct forwarding of control commands with high real-time requirements and parsing followed by forwarding of critical task data. This balances the differentiated needs of different services on the same bidirectional link.

[0172] When different forwarding methods are used, you can choose to use either the transparent forwarding unit or the CCSDS protocol stack unit for forwarding. Transparent forwarding unit forwarding allows for direct transmission of the target AOS frame without processing it. The CCSDS protocol stack unit can be used to encapsulate or parse the target AOS frame and forward it. For example, normally, the CCSDS protocol stack unit can be used by default for forwarding according to the forwarding method. If the transparent forwarding unit is configured, then the transparent forwarding unit can be used for forwarding.

[0173] For example, in the downlink communication link from satellite to ground, AOS frames from satellite can be forwarded directly to ground equipment without processing using the transparent forwarding unit. In the uplink communication link from ground to satellite, CCSDS protocol stack units can be used to encapsulate ground data packets into target AOS frames and forward them to satellite equipment. Furthermore, after encapsulating ground data packets into target AOS frames using the CCSDS protocol stack units, if service requirements indicate that further processing of the target AOS frames is necessary, the CCSDS protocol stack units can be used to process the target AOS frames before sending them to satellite equipment. In the downlink communication link from satellite to ground, CCSDS protocol stack units can also be used to parse target AOS frames from satellite, extract the message content, convert it into Ethernet frames in Ethernet format, and then send it to ground equipment.

[0174] E2: According to the forwarding method, the target protocol frame is sent to the target end through the gateway device of the target end.

[0175] Here, the specific type of gateway device is selected based on the target end. When the target end is on the ground side, the corresponding gateway device is a baseband device; when the target end is on-board, the corresponding gateway device is a telemetry and transmission integrated unit. By matching the target end type with the corresponding gateway device, it is ensured that the target AOS frame is compatible with the target end's communication interface and protocol specifications during forwarding, guaranteeing the smoothness and compatibility of the data transmission link.

[0176] In practice, when transmitting target AOS frames from the ground to the satellite (the target is the satellite, the service requirement is high real-time satellite control command transmission, and the forwarding method is direct forwarding), the ground side first transmits the generated target AOS frame to the telemetry and transmission unit. After receiving the target AOS frame, the telemetry and transmission unit does not perform decapsulation processing, but sends the target AOS frame to the satellite target end through the antenna. After receiving the target AOS frame, the satellite terminal directly parses the AOS frame data field to obtain the message content. When transmitting target AOS frames from satellite to ground (the target is the ground, the service requirement is high-reliability satellite remote sensing image data transmission, and the forwarding method is parsing and then forwarding), the satellite first sends the generated target AOS frame to the ground-side baseband device through the telemetry and transmission unit. After receiving the frame, the baseband device first uses the CCSDS protocol stack unit to decapsulate the target AOS frame, extracts the data packet content, and performs CRC integrity verification. After the verification is successful, the IP datagram is adapted to the Ethernet interface specification (such as Gigabit Ethernet) of the ground service host, and then the adapted IP datagram is recapsulated into an Ethernet frame that conforms to the ground transmission standard. Finally, it is sent to the ground target through the baseband device, realizing reliable transmission of satellite data to the ground.

[0177] Understandably, taking ground-to-satellite communication as an example, when ground equipment sends data packets to satellite equipment, the ground PC (connected to the ground equipment on one end via Ethernet and to the baseband (i.e., the satellite link) can encapsulate the corresponding target AOS frames of the data packet according to the message forwarding process provided in this application embodiment, and send each target AOS frame to the satellite equipment through the CCSDS protocol stack unit. When the satellite equipment sends IP data packets to ground equipment, the satellite PC (connected to the satellite equipment on one end and to the telemetry and transmission unit on the other end) can encapsulate the Ethernet frames sent by the satellite PC into each target AOS frame and send them to the ground gateway device (such as the baseband) according to the message forwarding process provided in this application embodiment. The ground gateway device parses each target AOS frame and encapsulates it into an Ethernet frame through the CCSDS protocol stack unit and sends it back to the ground equipment.

[0178] Thus, this application's IP packet fragmentation forwarding based on AOS frames minimizes the padding of invalid data in AOS frames, thereby solving the difficult problem of bandwidth waste. By encapsulating fragmented packets with headers, it solves problems such as retransmission amplification and difficulties in out-of-order recovery. Furthermore, it allows parallel transmission of multiple streams on the same link without buffering frame data, effectively improving forwarding efficiency. Moreover, the packet forwarding method provided in this application is losslessly compatible with the current AOS protocol format with zero modification, boasting high frame utilization. Each terminal can continue to use the Ethernet protocol stack with zero modification cost. By using ICMP messages of the PMTUD protocol to notify the local machine of the latest MTU value, the local machine can fully adapt to the AOS frame data field size when generating Ethernet frames, achieving the goal of notifying the MTU change information at least one round-trip time (RTT), dynamically adapting to changes in the AOS frame data field size. In addition, the implementation is hardware-neutral; the same logic can be instantiated on CPU modules, FPGA pipelines, and ASIC hard cores.

[0179] To facilitate understanding of the message forwarding process provided in the embodiments of this application, a detailed implementation flowchart of the message forwarding process is also provided below. For example... Figure 2The diagram illustrates a specific implementation flowchart of a packet forwarding process provided in this embodiment. After the packet forwarding process begins, the packet receiving unit first performs MTU verification and other related verifications (such as security verification) on the data packets in the input Ethernet frames to ensure that the data packets meet transmission requirements. Then, the first position of the verified Ethernet frames is sent to the first queue. The fragmentation unit obtains IP data packets based on the first position in the first queue, performs parsing and a second verification, and extracts the IP data packets. After successful verification, if header compression is enabled, the fragmentation unit performs header compression to obtain compressed fragmented packets. The CCSDS protocol stack unit can extract empty AOS frames and fragmented packets, and fill the fragmented packets into empty AOS frames, thus achieving fragment filling. During fragment filling, a frame header filling operation can also be performed on the AOS frames to allow subsequent verification of the AOS frames using the frame header. After obtaining each target AOS frame, the target AOS frames can be sent to the second queue. The Ethernet protocol unit can respond to PMTUD requests to configure the MTU for the host, respond to ARP requests to send MAC addresses, and respond to ICMP requests to transmit network control and error reporting information. Simultaneously, the Ethernet protocol unit can also notify the source end to use the new MTU to send packets when the content of the Ethernet frame does not match the latest frame format of the AOS frame corresponding to the communication link. The monitoring and statistics unit can monitor queue status, processor status, traffic conditions, and system resource status in real time, and adjust resource allocation in real time based on this information to optimize system performance and resource allocation. The process ends when the target AOS frame forwarding ends, finally completing the fragmentation, encapsulation, and forwarding process from receiving Ethernet frame data packets to AOS frame data packets. The forwarding of the target AOS frame can be implemented through either the transparent forwarding unit or the CCSDS protocol stack unit.

[0180] about Figure 2 The specific implementation process of each step shown can be referred to the description of the above embodiments, and will not be repeated here. The message forwarding method provided in this application is applicable to all-domain digital communication systems of air-space-ground-sea, and is especially applicable to various platforms (including but not limited to satellites, spacecraft, deep space probes, airborne / shipborne / vehicle-borne nodes and ground gateways) that use CCSDS AOS fixed-length frames for information exchange. It is used to implement a transparent transmission mechanism for parallel, efficient, zero-filling, and low-latency IP fragmentation forwarding and reassembly on processors of any form (general-purpose CPU, DSP, FPGA, ASIC or any heterogeneous combination thereof).

[0181] The message forwarding method described in this embodiment, for the message forwarding process and explanation under DVB frame / USLP frame format, can be referred to the specific implementation process of AOS frame in this embodiment above, and will not be repeated here.

[0182] like Figure 3 The diagram shown is a schematic representation of a message forwarding device provided in an embodiment of this disclosure, comprising:

[0183] The receiving module 301 is used to receive each Ethernet frame sent by the source end and store the first position of each Ethernet frame in the first queue; the Ethernet frame is generated according to the data packet to be sent by the source end and the maximum transmission unit recently acquired by the source end; the maximum transmission unit is related to the frame format of the protocol frame corresponding to the communication link between the source end and the target end; the protocol frame includes at least one of Advanced On-Orbit System frame, Digital Video Broadcast frame and Unified Space Data Link Protocol frame.

[0184] Fragmentation module 302 is configured to obtain each Ethernet frame according to each first position in the first queue, fragment the data packet based on the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet, and store the second position of each fragmented packet in the second queue; wherein, each fragmented packet is encapsulated with a packet header, the packet header being used to indicate the packet attributes of each fragmented packet;

[0185] The filling module 303 is used to sequentially obtain each fragment packet according to the second position in the second queue, and for the currently obtained fragment packet, encapsulate the fragment packet into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame.

[0186] The forwarding module 304 is used to forward each of the target protocol frames to the target end respectively; the target end is used to reconstruct the data packet according to the message header and message content corresponding to each of the target protocol frames.

[0187] In one possible implementation, the receiving module 301, when receiving each Ethernet frame sent by the receiving source and storing the first position of each Ethernet frame in the first queue, is used to:

[0188] Receive each Ethernet frame sent by the source end;

[0189] Based on the maximum transmission unit, a first verification is performed on each of the Ethernet frames;

[0190] The first position of each Ethernet frame that passes the first check is stored in the first queue, and / or, exception handling is performed on each Ethernet frame that fails the first check.

[0191] In one possible implementation, the fragmentation module 302, when acquiring each Ethernet frame according to each first position in the first queue, and fragmenting the data packet based on the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet, is configured to:

[0192] Each Ethernet frame is obtained according to each first position in the first queue;

[0193] A second verification is performed on each of the acquired Ethernet frames; wherein the second verification includes at least message validity verification and message content anomaly verification;

[0194] For each Ethernet frame that passes the second verification, the data packet corresponding to the Ethernet frame is fragmented and its header is encapsulated according to the frame format of the protocol frame and the frame content carried by each Ethernet frame to obtain each fragmented packet.

[0195] In one possible implementation, after obtaining each fragmented packet, the fragmentation module 302 is further configured to:

[0196] With header compression enabled, the header of the fragmented message is compressed to obtain the compressed fragmented message.

[0197] In one possible implementation, the device further includes a notification module 305, for:

[0198] If the content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, the source end is fed back the new maximum transmission unit corresponding to the latest frame format; the source end is used to generate a new Ethernet frame corresponding to the new message according to the new maximum transmission unit when sending a new message.

[0199] In one possible implementation, the filling module 303, when encapsulating the currently acquired fragmented message into an empty protocol frame retrieved from the reserved protocol frame resources to obtain the target protocol frame, is used to:

[0200] For the currently acquired fragmented message, if the initial message data size of the fragmented message is consistent with the target message data size indicated by the frame format of the protocol frame, then the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

[0201] Alternatively, for the currently acquired fragmented message, if the initial message data size of the fragmented message is less than the target message data size indicated by the frame format of the protocol frame, then the padding method for the fragmented message is determined based on the difference between the initial message data size and the target message data size and a preset threshold; the padding method is used to adjust the initial message data size to the target message data size.

[0202] According to the filling method, the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

[0203] In one possible implementation, the notification module 305 is further configured to:

[0204] Receive protocol requests sent by any other terminal; the protocol requests include at least an Address Resolution Protocol request, an Internet Control Message Protocol request, and a Path Maximum Transmission Unit discovery request;

[0205] In response to the received protocol request, a response result is generated based on the communication chain information between the source and the target and / or the target protocol frame, and the response result is fed back to any other terminal.

[0206] In one possible implementation, the forwarding module 304, when forwarding each of the target protocol frames to the target end, is used to:

[0207] Each of the target protocol frames is cached in a third queue;

[0208] In the communication link, parallel transmission is used to forward each of the target protocol frames in the third queue to the target end.

[0209] In one possible implementation, the device further includes a statistics module 306, used for:

[0210] Real-time statistics of packet forwarding resource information and packet traffic size; the packet forwarding resource information includes at least the hardware and software resource status of various hardware and software used in the packet forwarding process, Ethernet frame transmission and reception status, queue status, and system resource status; the queue status includes at least the status corresponding to the first queue, the second queue, and the third queue respectively;

[0211] Based on the packet forwarding resource information and the packet traffic size, the resource allocation in the packet forwarding process is adjusted in real time.

[0212] In one possible implementation, the statistics module 306, when adjusting the resource allocation of the packet forwarding process in real time based on the packet forwarding resource information and the packet traffic size, is used to:

[0213] When the message forwarding resource information indicates that the utilization rate of any queue has reached a preset utilization rate, the number of the queues will be dynamically increased.

[0214] And / or, if the message forwarding resource information indicates that there are remaining available resources, the resources allocated to the message forwarding process are dynamically adjusted according to the changes in the message traffic size.

[0215] In one possible implementation, the forwarding module 304, when forwarding each of the target protocol frames to the target end, is used to:

[0216] Based on the link direction and service requirements of the communication link between the source and the target, determine the forwarding method for the target protocol frame;

[0217] According to the forwarding method, the target protocol frame is sent to the target end through the gateway device of the target end.

[0218] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.

[0219] Based on the same technical concept, embodiments of this application also provide a computer device. (Refer to...) Figure 4 The diagram shown is a structural schematic of a computer device provided in an embodiment of this application, comprising:

[0220] The system includes a processor 401, a memory 402, and a bus 403. The memory 402 stores machine-readable instructions executable by the processor 401. The processor 401 executes these machine-readable instructions, and when executed, it performs the following steps: S101: Receives Ethernet frames sent by the source end and stores the first position of each Ethernet frame in a first queue; the Ethernet frame is generated based on the data packet to be sent by the source end and the latest maximum transmission unit (MTU) acquired by the source end; the MTU is related to the frame format of the protocol frame corresponding to the communication link between the source and the target end; the protocol frame includes at least one of Advanced On-Orbit System frames, Digital Video Broadcast frames, and Unified Space Data Link Protocol frames; S102: Based on the first queue... Each Ethernet frame is acquired at each first position. Based on the frame format of the protocol frame and the Ethernet frame, the data packet is fragmented to obtain fragmented packets. The second position of each fragmented packet is stored in the second queue. Each fragmented packet is encapsulated with a header, which indicates the packet attributes of each fragmented packet. S103: Each fragmented packet is acquired sequentially according to the second position in the second queue. For the currently acquired fragmented packet, the fragmented packet is encapsulated into an empty protocol frame taken from the reserved protocol frame resources to obtain a target protocol frame. S104: Each target protocol frame is forwarded to the target end. The target end is used to restore the data packet according to the header and content of each target protocol frame.

[0221] The aforementioned memory 402 includes a main memory 4021 and an external memory 4022. The main memory 4021, also known as internal memory, is used to temporarily store the computational data in the processor 401, as well as the data exchanged with external memory such as a hard disk 4022. The processor 401 exchanges data with the external memory 4022 through the main memory 4021. When the computer device is running, the processor 401 and the memory 402 communicate through the bus 403, so that the processor 401 executes the execution instructions mentioned in the above method embodiments.

[0222] This disclosure also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of the message forwarding method described in the above-described method embodiments. The storage medium can be a volatile or non-volatile computer-readable storage medium.

[0223] This disclosure also provides a computer program product carrying program code. The program code includes instructions that can be used to execute the steps of the software update method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.

[0224] The computer program product can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.

[0225] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.

[0226] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0227] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0228] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, 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.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0229] If the technical solution of this application involves personal information, the product using this technical solution has clearly informed the user of the personal information processing rules and obtained the user's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using this technical solution has obtained the user's separate consent before processing the sensitive personal information, and also meets the requirement of "express consent". For example, at personal information collection devices such as cameras, clear and prominent signs are set up to inform users that they have entered the scope of personal information collection and that personal information will be collected. If an individual voluntarily enters the collection scope, it is deemed that they have agreed to the collection of their personal information; or on the personal information processing device, with clear signs / information informing users of the personal information processing rules, authorization is obtained from the user through pop-up information or by asking the user to upload their personal information; wherein, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the types of personal information processed.

[0230] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure; and these modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.

Claims

1. A message forwarding method, characterized in that, include: Receive each Ethernet frame sent by the source and store the first position of each Ethernet frame in the first queue; The Ethernet frame is generated based on the data packets to be sent by the source and the latest maximum transmission unit (MTU) obtained by the source. The MTU is related to the frame format of the protocol frame corresponding to the communication link between the source and the target. The protocol frame includes at least one of Advanced On-Orbit System (AOS) frames, Digital Video Broadcast (DVB) frames, and Unified Space Data Link (USL) frames. Each Ethernet frame is obtained according to each first position in the first queue. Based on the frame format of the protocol frame and the Ethernet frame, the data packet is fragmented to obtain each fragmented packet. The second position of each fragmented packet is stored in the second queue. Each fragmented packet is encapsulated with a packet header, which is used to indicate the packet attributes of each fragmented packet. Each fragment packet is sequentially obtained according to the second position in the second queue, and for the currently obtained fragment packet, the fragment packet is encapsulated into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame. Each of the target protocol frames is forwarded to the target end; the target end is used to reconstruct the data packet based on the message header and message content corresponding to each target protocol frame.

2. The method according to claim 1, characterized in that, The receiving source sends each Ethernet frame, and stores the first position of each Ethernet frame in the first queue, including: Receive each Ethernet frame sent by the source end; Based on the maximum transmission unit, a first verification is performed on each of the Ethernet frames; The first position of each Ethernet frame that passes the first check is stored in the first queue, and / or, exception handling is performed on each Ethernet frame that fails the first check.

3. The method according to claim 1, characterized in that, The process involves obtaining each Ethernet frame according to each first position in the first queue, and then fragmenting the data packet based on the frame format of the protocol frame and the Ethernet frame to obtain fragmented packets, including: Each Ethernet frame is obtained according to each first position in the first queue; A second verification is performed on each of the acquired Ethernet frames; wherein the second verification includes at least message validity verification and message content anomaly verification; For each Ethernet frame that passes the second verification, the data packet corresponding to the Ethernet frame is fragmented and its header is encapsulated according to the frame format of the protocol frame and the frame content carried by each Ethernet frame to obtain each fragmented packet.

4. The method according to claim 1, characterized in that, After receiving each fragment of the packet, the following is also included: With header compression enabled, the header of the fragmented message is compressed to obtain the compressed fragmented message.

5. The method according to claim 1, characterized in that, After receiving the Ethernet frame, the method further includes: If the content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, the source end is fed back the new maximum transmission unit corresponding to the latest frame format; the source end is used to generate a new Ethernet frame corresponding to the new message according to the new maximum transmission unit when sending a new message.

6. The method according to claim 1, characterized in that, The step of encapsulating the currently acquired fragmented message into an empty protocol frame retrieved from the reserved protocol frame resources to obtain the target protocol frame includes: For the currently acquired fragmented message, if the initial message data size of the fragmented message is consistent with the target message data size indicated by the frame format of the protocol frame, then the fragmented message is filled into the empty protocol frame to obtain the target protocol frame. Alternatively, for the currently acquired fragmented message, if the initial message data size of the fragmented message is less than the target message data size indicated by the frame format of the protocol frame, then the padding method for the fragmented message is determined based on the difference between the initial message data size and the target message data size and a preset threshold; the padding method is used to adjust the initial message data size to the target message data size. According to the filling method, the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

7. The method according to claim 1, characterized in that, The method further includes: Receive protocol requests sent by any other terminal; the protocol requests include at least an Address Resolution Protocol request, an Internet Control Message Protocol request, and a Path Maximum Transmission Unit discovery request; In response to the received protocol request, a response result is generated based on the communication chain information between the source and the target and / or the target protocol frame, and the response result is fed back to any other terminal.

8. The method according to claim 1, characterized in that, The step of forwarding each of the target protocol frames to the target end includes: Each of the target protocol frames is cached in a third queue; In the communication link, parallel transmission is used to forward each of the target protocol frames in the third queue to the target end.

9. The method according to claim 8, characterized in that, The method further includes: Real-time statistics of packet forwarding resource information and packet traffic size; the packet forwarding resource information includes at least the hardware and software resource status of various hardware and software used in the packet forwarding process, Ethernet frame transmission and reception status, queue status, and system resource status; the queue status includes at least the status corresponding to the first queue, the second queue, and the third queue respectively; Based on the packet forwarding resource information and the packet traffic size, the resource allocation in the packet forwarding process is adjusted in real time.

10. The method according to claim 9, characterized in that, The step of adjusting the resource allocation in the packet forwarding process in real time based on the packet forwarding resource information and the packet traffic size includes: When the message forwarding resource information indicates that the utilization rate of any queue has reached a preset utilization rate, the number of the queues will be dynamically increased. And / or, if the message forwarding resource information indicates that there are remaining available resources, the resources allocated to the message forwarding process are dynamically adjusted according to the changes in the message traffic size.

11. The method according to claim 1, characterized in that, The step of forwarding each of the target protocol frames to the target end includes: Based on the link direction and service requirements of the communication link between the source and the target, determine the forwarding method for the target protocol frame; According to the forwarding method, the target protocol frame is sent to the target end through the gateway device of the target end.

12. A message forwarding device, characterized in that, include: The receiving module is used to receive each Ethernet frame sent by the source end and store the first position of each Ethernet frame into the first queue; The Ethernet frame is generated based on the data packets to be sent by the source and the latest maximum transmission unit (MTU) obtained by the source. The MTU is related to the frame format of the protocol frame corresponding to the communication link between the source and the target. The protocol frame includes at least one of Advanced On-Orbit System (AOS) frames, Digital Video Broadcast (DVB) frames, and Unified Space Data Link (USL) frames. The fragmentation module is used to obtain each Ethernet frame according to each first position in the first queue, and to fragment the data packet according to the frame format of the protocol frame and the Ethernet frame to obtain each fragmented packet, and to store the second position of each fragmented packet in the second queue; wherein, each fragmented packet is encapsulated with a packet header, and the packet header is used to indicate the packet attributes of each fragmented packet; The filling module is used to sequentially obtain each fragment packet according to the second position in the second queue, and for the currently obtained fragment packet, encapsulate the fragment packet into an empty protocol frame taken from the reserved protocol frame resources to obtain the target protocol frame. The forwarding module is used to forward each of the target protocol frames to the target end respectively; the target end is used to reconstruct the data packet according to the message header and message content corresponding to each target protocol frame.

13. A computer device, characterized in that, include: The processor and the memory, wherein the memory stores machine-readable instructions executable by the processor, the processor is configured to execute the machine-readable instructions stored in the memory, and when the machine-readable instructions are executed by the processor, the processor performs the steps of the message forwarding method as described in any one of claims 1 to 11.

14. A computer program product, comprising a computer program, characterized in that, When the computer program is run by the computer device, the computer device performs the steps of the message forwarding method as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Network message rapid fragmentation method based on FPGA

    CN115051957A

  • Packet sending and receiving method, device and system

    WO2014015498A1