Message forwarding method and device, computer equipment and program product

By receiving Ethernet frames and performing fragmentation processing and packet header encapsulation based on the protocol frame format, the problems of bandwidth waste and difficulty in out-of-order recovery in air-space-terrestrial-sea networks are solved, achieving efficient protocol frame forwarding and link optimization.

CN121173751AActive Publication Date: 2025-12-19ZHEJIANG LAB
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511685230.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-18
Publication Date
2025-12-19
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 based on the frame format of the protocol frames, encapsulating message headers, generating target protocol frames, and adjusting the maximum transmission unit in real time to match the protocol frame format, the link utilization is optimized by using parallel transmission and dynamic resource allocation.

Benefits of technology

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

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121173751A_ABST
    Figure CN121173751A_ABST
Patent Text Reader

Abstract

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

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of digital communication technology, and in particular, to a message forwarding method and device, a computer device and a program product. BACKGROUND

[0002] With the rapid development of space-ground integrated network technology, network interconnection and communication between space-ground-sea-air are more and more frequent. Different communication links in space-ground-sea-air require different communication protocols. For example, ground terminal devices often use Ethernet to communicate Internet Protocol (IP) messages, and ground devices and sky devices / sea area devices use Consultative Committee for Space Data Systems-Advanced Orbiting Systems (CCSDS AOS) frames for communication. When ground devices and sky devices / sea area devices communicate, the Ethernet frames sent by the ground devices need to be converted into the protocol frames used, and then sent to the sky devices / sea area devices.

[0003] However, some conventional methods of converting Ethernet frames into protocol frames often have problems such as bandwidth waste, amplification of retransmitted data volume when retransmitting protocol frames, and difficulty in recovering out-of-order protocol frames, which are obvious disadvantages. SUMMARY

[0004] The present disclosure provides at least a message forwarding method, device, computer device and program product.

[0005] In a first aspect, the present disclosure provides a message forwarding method, comprising: receiving each Ethernet frame sent by a source end, and storing a first position of each Ethernet frame to a first queue; the Ethernet frame is generated according to a data message required to be sent by the source end and a maximum transmission unit newly obtained by the source end; the maximum transmission unit is related to a frame format of a protocol frame corresponding to a communication link between the source end and a target end; the protocol frame includes at least one of an advanced orbiting system frame, a digital video broadcast frame and a unified space data link protocol frame; According to each first position in the first queue, each Ethernet frame is obtained, and based on the frame format of the protocol frame and the Ethernet frame, the data message is fragmented to obtain each fragmented message, and a second position of each fragmented message is stored to a second queue; wherein each fragmented message encapsulates a message header, and the message header is used to indicate the message attribute of each fragmented message; obtaining each fragment message in turn according to a second position in the second queue, and encapsulating the fragment message into an empty protocol frame taken from the reserved protocol frame resource to obtain a target protocol frame for the current obtained fragment message; forwarding each target protocol frame to a target end; the target end is configured to restore the data message according to the message header and the message content corresponding to each target protocol frame.

[0006] In an optional implementation, the receiving of each Ethernet frame sent by the source end and the storing of the first position of each Ethernet frame into the first queue include: receiving each Ethernet frame sent by the source end; performing first checking on each Ethernet frame according to the maximum transmission unit; storing the first position of each Ethernet frame that passes the first checking into the first queue, and / or performing exception processing on each Ethernet frame that fails the first checking.

[0007] In an optional implementation, the obtaining of each Ethernet frame according to each first position in the first queue and the performing of fragmentation processing on the data message based on the frame format of the protocol frame and the Ethernet frame to obtain each fragment message include: obtaining each Ethernet frame according to each first position in the first queue; performing second checking on each obtained Ethernet frame; the second checking at least includes message legality checking and message content exception checking; performing fragmentation processing and message header encapsulation on the data message corresponding to each Ethernet frame according to the frame format of the protocol frame and the frame content carried by each Ethernet frame for each Ethernet frame that passes the second checking to obtain each fragment message.

[0008] In an optional implementation, after obtaining each fragment message, the method further includes: in the case of starting the message header compression function, compressing the message header of the fragment message to obtain a compressed fragment message.

[0009] In an optional implementation, after receiving the Ethernet frame, the method further includes: if the frame content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, feeding back a new maximum transmission unit corresponding to the latest frame format to the source end; the source end is configured to generate an Ethernet frame corresponding to a new message according to the new maximum transmission unit when sending the new message.

[0010] In an alternative implementation, the method further comprises: In response to the current obtained fragment message, if the initial message data volume of the fragment message is consistent with the target message data volume indicated by the frame format of the protocol frame, the fragment message is filled into the empty protocol frame to obtain a target protocol frame; Alternatively, in response to the current obtained fragment message, if the initial message data volume of the fragment message is less than the target message data volume indicated by the frame format of the protocol frame, a filling mode for the fragment message is determined according to the difference between the initial message data volume and the target message data volume and a preset threshold; the filling mode is used to adjust the initial message data volume to the target message data volume; The fragment message is filled into the empty protocol frame according to the filling mode to obtain a target protocol frame.

[0011] In an alternative implementation, the method further comprises: receiving a protocol request sent by any other terminal; the protocol request at least includes 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 according to the communication link information of the source terminal and the target terminal and / or the target protocol frame, and the response result is fed back to the any other terminal.

[0012] In an alternative implementation, the method further comprises: buffering each target protocol frame to a third queue; In the communication link, each target protocol frame in the third queue is forwarded to a target terminal in a parallel transmission mode.

[0013] In an alternative implementation, the method further comprises: real-time statistics of message forwarding resource information and message flow size; the message forwarding resource information at least includes the soft and hardware resource states of various softwares and hardware required to be used in the message forwarding process, the Ethernet frame transceiver state, the queue state, and the system resource state; the queue state at least includes the states corresponding to the first queue, the second queue, and the third queue, respectively; According to the message forwarding resource information and the message flow size, the resource allocation of the message forwarding process is adjusted in real time.

[0014] In an alternative implementation, the method further comprises: in a case where the message forwarding resource information indicates that the usage rate of any queue reaches a preset usage rate, dynamically increasing the number of the queue; and / or, in a case where the message forwarding resource information indicates that there is a remaining available resource, dynamically adjusting the resource allocated to the message forwarding process according to the change of the message traffic size.

[0015] In an optional implementation, the forwarding each of the target protocol frames to a target end comprises: determining a forwarding mode for the target protocol frames according to a link direction and a service requirement of a communication link between the source end and the target end; sending the target protocol frames to the target end through a gateway device of the target end according to the forwarding mode.

[0016] In a second aspect, the embodiments of the present disclosure further provide a message forwarding device, comprising: a receiving module configured to receive each Ethernet frame sent by a source end and store a first position of each Ethernet frame to a first queue; the Ethernet frame is generated according to a data message required to be sent by the source end and a maximum transmission unit newly acquired by the source end; the maximum transmission unit is related to a frame format of a protocol frame corresponding to a communication link between the source end and a target end; the protocol frame comprises at least one of a high-level orbiting system frame, a digital video broadcast frame and a uniform space data link protocol frame; a fragmentation module configured to acquire each Ethernet frame according to each first position in the first queue, perform fragmentation processing on the data message based on the frame format of the protocol frame and the Ethernet frame, obtain each fragmented message, and store a second position of each fragmented message to a second queue; wherein each fragmented message encapsulates a message header, and the message header is used to indicate a message attribute of each fragmented message; a padding module configured to acquire each fragmented message according to the second positions in the second queue in sequence, encapsulate the fragmented message into an empty protocol frame taken out from a reserved protocol frame resource for the currently acquired fragmented message, and obtain a target protocol frame; a forwarding module configured to forward each of the target protocol frames to a target end; the target end is used to restore the data message according to a message header and message content corresponding to each target protocol frame.

[0017] In a third aspect, the optional implementation of the present disclosure further 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, and the machine readable instructions, when executed by the processor, perform the steps of the first aspect or any possible implementation of the first aspect.

[0018] In a fourth aspect, the optional implementation of the present disclosure further provides a computer program product, comprising a computer program, wherein the computer program, when executed, implements the steps of the first aspect or any possible implementation of the first aspect.

[0019] The effects of the message forwarding device, the computer device, and the computer program product are described above in the description of the message forwarding method, and will not be repeated here.

[0020] The message forwarding method, device, computer device, and program product provided by the embodiments of the present disclosure can improve the matching degree of the Ethernet frame and the frame format of the protocol frame, and standardize the Ethernet frame from the source end, thereby providing a basis for subsequent segmentation of the message fragments matching the frame format of the protocol frame. By the frame format of the protocol frame and the Ethernet frame, the message fragments are processed, the matching degree of the format of each message fragment and the frame format of the protocol frame can be improved, and the problem of filling invalid bytes and cross-layer transmission due to the mismatch of the message fragment size when the message fragments are encapsulated into protocol frames can be avoided, the bandwidth waste problem during message forwarding between the source end and the target end is solved, and the utilization rate of the communication link is significantly improved. By encapsulating the message header for each message fragment when the message fragments are segmented, and encapsulating each message fragment with an independent message header into a target protocol frame for forwarding, the error target protocol frame can be quickly located based on the message header when the forwarding error occurs, so that only the error target protocol frame needs to be retransmitted, and other target protocol frames from the same Ethernet frame as the message fragments in the error target protocol frame do not need to be retransmitted, effectively overcoming the defect of amplification of the retransmission data volume. By encapsulating the message header for each message fragment after segmentation, even when the target protocol frames are transmitted out of order, the target end can still accurately identify all message fragments belonging to the same data message and determine the message order relationship based on the message properties indicated by the message header, effectively solving the problem of difficult recovery of the protocol frame after out-of-order transmission.

[0021] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure first implement early filtering of abnormal frames by using the first check, and then ensure the integrity, accuracy and standardization of the data packet by using the second check, thereby establishing a hierarchical check mechanism of the first check and the second check, forming a progressive data packet quality guarantee system, and providing standardized data packets after preliminary screening for subsequent packet fragmentation.

[0022] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure can also selectively trigger the header compression mechanism after the fragmentation processing, compress the redundant information in the packet header under the premise of ensuring the standardization of the packet fragmentation, thereby significantly reducing the total data amount of the packet header transmitted on the communication link, effectively reducing the header padding overhead and transmission overhead of the packet header of each fragmented packet, thereby improving the space utilization of the protocol frame data field and significantly improving the transmission efficiency of the data packet.

[0023] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present 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 in the case of mismatch, so that the source end can adapt to the frame format change of the target end protocol frame in real time, realize synchronous optimization of the fragmentation size from the data source, ensure the continuous matching of the data packet and the protocol frame format in the end-to-end transmission process, and thereby ensure that the link transmission is always in the optimal state.

[0024] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure can also establish a processing mechanism between the data amount of the fragmented packet and the data field capacity of the protocol frame, so that zero padding encapsulation can be directly realized when the data amount is consistent, and the padding mode can be intelligently selected based on a preset threshold when the data amount of the fragmented packet is insufficient, thereby ensuring that the data load of each empty protocol frame is maximally utilized, effectively reducing the transmission of invalid bytes, and significantly improving the utilization rate of the link bandwidth and the reliability of the packet transmission.

[0025] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure can also respond to various protocol requests sent by other terminals, thereby realizing stable establishment and intelligent maintenance of the communication link from the source end to the target end.

[0026] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure can also forward each target protocol frame to the target end by using parallel transmission in the communication link, realize parallel transmission of multiple data streams in the same link, and do not need to cache frame data of the target protocol frame in the packet forwarding device of the target end, thereby significantly improving the utilization of the overall link on the basis of ensuring the stability of data packet transmission.

[0027] Further, the packet forwarding method, device, computer device and program product provided by the embodiments of the present disclosure can also forward each target protocol frame to the target end by using parallel transmission in the communication link, realize parallel transmission of multiple data streams in the same link, and do not need to cache frame data of the target protocol frame in the packet forwarding device of the target end, thereby significantly improving the utilization of the overall link on the basis of ensuring the stability of data packet transmission.

[0028] In order to make the above objectives, features and advantages of the present disclosure more apparent, clearer and easier to understand, the following will specifically describe a preferred embodiment in conjunction with the accompanying drawings, and the detailed description is as follows. BRIEF DESCRIPTION OF DRAWINGS

[0029] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following will briefly introduce the drawings needed to be used in the embodiments, the drawings herein are incorporated into the description and form a part of the description, which show the embodiments consistent with the present disclosure, and are used to illustrate the technical solutions of the present disclosure together with the description. It should be understood that the following drawings only show some embodiments of the present disclosure, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0030] Figure 1 A flow chart of a packet forwarding method provided by the embodiments of the present disclosure is shown; Figure 2 A specific implementation flow chart of a packet forwarding process provided by the embodiments of the present disclosure is shown; Figure 3 A schematic diagram of a packet forwarding device provided by the embodiments of the present disclosure is shown; Figure 4 A structural schematic diagram of a computer device provided by the embodiments of the present disclosure is shown. DETAILED DESCRIPTION

[0031] In order to make the purposes, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all the embodiments. The components of the embodiments of the present disclosure described and shown herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure is not intended to limit the scope of the claimed present disclosure, but only represents selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work belong to the scope of protection of the present disclosure.

[0032] In addition, the terms "first", "second", and the like in the description and claims of the embodiments of the present disclosure and the above drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein.

[0033] As referred to herein, "a plurality" or "a number of" means two or more. "And / or" describes the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can represent: A exists alone, A and B exist together, and B exists alone. The character " / " generally represents that the associated objects before and after are in an "or" relationship.

[0034] It is found through research that, with the transmission rate of the space-earth integrated network entering the order of magnitude of Giga Bits Per Second (Gbps), the space-air-ground-sea heterogeneous network interconnection puts forward higher requirements for protocol conversion technology. At present, the Ethernet protocol is the most mature network communication standard, and the IPv4 / IPv6 datagram needs to be transmitted through a space link. The protocol frame (such as the Digital Video Broadcasting (DVB) frame, the AOS frame defined by the Consultative Committee for Space Data Systems (CCSDS), and the Unified Space Data Link Protocol (USLP frame)) commonly used by the space link is a fixed-length frame structure, and the length of the data field of the frame structure is limited. For example, the effective loading space of the space data link IP extension protocol (IP over CCSDS, IPoC) frame with a fixed frame length of 1024 bytes is 876 bytes, which is much smaller than the maximum transmission unit (Maximum Transmission Unit, MTU) of 1500 bytes or 9000 bytes commonly used on the ground. Therefore, in order to complete the transparent transmission of large-byte IP packets, the existing technology usually adopts a double-layer splitting processing mechanism. First, the IP layer performs the first fragmentation, that is, the source end or the intermediate gateway device fragments the IP packet according to the ground MTU standard to obtain a fragmented IP packet. Then, the protocol layer performs the second fragmentation and padding, that is, since the size of the fragmented IP packet may still exceed the carrying capacity of the protocol frame, the gateway or the protocol conversion processing unit needs to perform secondary fragmentation processing on the fragmented IP packet in the protocol frame. For example, the fragmented IP packet is sliced into at least one secondary fragmented IP packet satisfying the carrying capacity of the AOS frame and one secondary fragmented IP packet smaller than the carrying capacity of the AOS frame in the AOS frame. For the secondary fragmented IP packet smaller than the carrying capacity of the AOS frame, invalid byte padding needs to be performed to satisfy the carrying capacity of the AOS frame, and the average padding rate of the last frame obtained after the second splitting reaches 15%-25%.The double-layer segmentation processing mechanism has the following defects: since the filled invalid bytes do not carry valid information, transmitting the same will directly cause waste of satellite link bandwidth resources; when any protocol frame fails to pass the inspection, the entire frame needs to be retransmitted, and a frame can carry multiple IP fragments or fragments (i.e., secondary segmented IP packets that do not meet the protocol frame carrying capacity), so the actual amount of retransmitted data is much larger than the demand; IP fragments are transmitted along different virtual channels, and the satellite end or ground station needs to first reassemble the protocol frame and then reassemble the IP packet, and the two levels of cache bring additional delay, and under large flow, it is more difficult to support large flow data reassembly under the limited cache resources of the satellite end. Moreover, existing researches focus on "how to map IP packets to protocol packets", for example, an M_PDU generation module is used to complete the format conversion of IP packets to AOS packets, but the waste of bandwidth caused by invalid padding bytes in cross-layer is not solved; and existing researches only discuss the principle of IP fragment reassembly, without involving dynamic strategies for aligning with protocol frame length. Therefore, there is an urgent need for a high-efficiency and high-performance fragment transmission mechanism to match the IP fragment size with the "zero padding" of the protocol frame data field, and to realize local retransmission in bidirectional transmission of space-ground-sea links, so as to improve the link utilization and transmission reliability.

[0035] Based on the above research, the present disclosure provides a packet forwarding method and device, computer equipment and program product. Since the received Ethernet frame is generated by dynamically obtaining the maximum transmission unit from the source end, and the maximum transmission unit is related to the frame format of the protocol frame, the matching degree of the Ethernet frame and the data packet carried thereby with the frame format of the protocol frame can be improved, and the standardization of the Ethernet frame from the source end is realized, providing a basis for subsequent segmentation of fragment packets matching the frame format of the protocol frame. Through the frame format of the protocol frame and the Ethernet frame, the data packet is segmented and processed, the matching degree of the format of each fragment packet with the frame format of the protocol frame can be improved, and the problem of filling invalid bytes due to the mismatch of the packet fragment size when encapsulating the packet fragments into protocol frames is avoided, the problem of bandwidth waste during packet forwarding between the source end and the target end is solved, and the utilization rate of the communication link is significantly improved. By encapsulating a packet header for each fragment packet during packet fragmentation, and then encapsulating each packet fragment with an independent packet header into a target protocol frame for forwarding, the error target protocol frame can be quickly located based on the packet header when a forwarding error occurs, so that only the error target protocol frame needs to be retransmitted, and other target protocol frames from the same Ethernet frame as the fragment packets in the error target protocol frame do not need to be retransmitted, effectively overcoming the defect of amplified retransmission data volume. By encapsulating a packet header for each fragment packet after fragmentation, even when the target protocol frames are transmitted out of order, the target end can still accurately identify all packet fragments belonging to the same data packet and determine the order relationship of the packets based on the packet properties indicated by the packet header, effectively solving the problem of difficult recovery of out-of-order protocol frames.

[0036] 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.

[0037] 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.

[0038] 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.

[0039] 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.

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

[0041] 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: 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.

[0042] 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.

[0043] The source end is an initiating end of data message transmission, and the target end is a receiving end of data transmission. Specifically, the source end and the target end can be any device at either end of any communication link in the space-ground-sea-air correspondence. For example, in a ground-satellite transmission link, that is, in uplink transmission from the ground to the satellite, the source end can be a ground device such as a ground gateway station, a fixed ground station, or a mobile ground terminal, which is responsible for sending data messages encapsulated in Ethernet frames to a satellite node; and the target end can be a satellite communication terminal (such as a satellite or a spacecraft platform in orbit) configured with an AOS / DVB / USLP protocol stack, which is responsible for receiving data frames sent by the ground. In a satellite-ground transmission link, that is, in downlink transmission from the satellite to the ground, the source end can be a satellite communication terminal (such as a satellite or a spacecraft platform in orbit) on the satellite, which is responsible for sending IP data messages composed of remote sensing data, payload data, or state telemetry information collected by a satellite-borne processing unit to a ground node; and the target end can be a ground receiving station (such as a ground gateway station, a fixed ground station, or a mobile ground terminal) with a space link interface, which is responsible for analyzing target protocol frames to restore original IP data streams.

[0044] The present application can select a corresponding message forwarding method implementation according to the actual selection of the source end and the target end. For example, in the case where the source end is a ground end device and the target end is a satellite communication terminal, the message forwarding method of the present application can be implemented by a personal computer (PC) corresponding to the source end through software; in the case where the source end is a satellite communication terminal and the target end is a ground end device, the message forwarding method of the present application can be directly implemented by using hardware deployed on the satellite. However, whether the software or the hardware is used, the execution process of the message forwarding method is the process introduced in the embodiments of the present application. When the hardware is used, the process can be implemented by a field programmable gate array (FPGA) chip, an application-specific integrated circuit (ASIC), or the like deployed on the satellite.

[0045] Optionally, when the source end is a ground device, the FPGA chip or the ASIC chip can also be implemented by providing a calling interface.

[0046] The IP data packet carried in the Ethernet frame can be generated by the source end based on the data packet required to be sent and the maximum transmission unit MTU of the target end obtained. The data packet is the basic data unit for transmission in network communication, and includes a header and data itself. The header describes the destination of the data and the relationship between other data. The data packet is a complete and independent data entity, which carries the message from the source end to the target end. The maximum transmission unit MTU is the maximum protocol data unit length allowed to pass through the communication link, which determines the reference scale of the data packet fragmentation. The MTU can be related to the frame format of the protocol frame corresponding to the communication link between the source end and the target end. That is, the source end in the application can dynamically obtain the MTU corresponding to the frame format of the protocol frame supported by the target end, and generate the Ethernet frame supported by the target end based on the dynamically obtained MTU. The frame format is used to represent the specific format of the protocol frame, such as the frame header size, the data field size, and the frame tail size.

[0047] The first position is a specific storage address of the Ethernet frame, which represents the physical or logical positioning identifier of the Ethernet frame in the memory. Specifically, the first position can be managed by an address pointer or a storage descriptor, so as to facilitate accurate access and extraction of each Ethernet frame.

[0048] The first queue is used to store the first positions of each Ethernet frame sent by the source end. Specifically, the first queue can be a transceiver packet queue, which is used to store the storage positions of each IP data packet received and transmitted. Based on the first positions stored in the first queue, ordered initial storage support can be provided for subsequent processing of the Ethernet frame based on the protocol frame format and the maximum transmission unit, so as to guarantee the orderliness of data transmission and protocol frame format adaptation in the communication process between the source end and the target end.

[0049] The protocol frame is a frame format corresponding to a space link protocol used by the communication link. The space link protocol can be any space link protocol used for carrying IP data packets. For example, when the space link protocol is an AOS protocol, the protocol frame is an AOS frame; when the space link protocol is a DVB protocol, the protocol frame is a DVB frame; and when the space link protocol is a USLP protocol, the protocol frame is a USLP frame. The AOS frame can be defined according to a CCSDS standard. The frame format of the AOS frame at least includes three core components: a frame header, a data field, and a frame tail. The frame header carries a virtual channel identifier to realize isolation of multiple data streams. The data field can encapsulate a payload by using a multiplexing protocol data unit and locate a data start position by using a pointer mechanism. The frame tail provides cyclic redundancy check by using a frame error control field to guarantee transmission integrity. The DVB frame can be defined according to a European Telecommunications Standards Institute (ETSI) standard. Currently, there are multiple versions of the DVB frame, such as DVB-S and DVB-S2. In a specific application, the application can be adaptively selected according to a required version of the communication link. The USLP frame can also be defined according to the CCSDS standard.

[0050] Optionally, as long as a space link protocol adapted to carrying IP packets, the packet forwarding method provided in the embodiments of the application can be run to forward packets. When the space link protocol is a protocol related to CCSDS, a protocol conforming to the CCSDS standard or an extended protocol under the CCSDS (such as an IPoC protocol) can also apply the packet forwarding method provided in the embodiments of the application.

[0051] The packet forwarding method provided in the embodiments of the application is applicable to an AOS standard protocol frame structure, a DVB series standard protocol frame structure, and a USLP standard protocol frame structure. Since the DVB frame and the AOS frame have method commonality in protocol encapsulation, fragmentation adaptation, and link scheduling, the following description takes the AOS frame as an example. The specific implementation process of the DVB frame and the USLP frame can refer to the description of the AOS frame in the embodiments, which is not repeated here.

[0052] In a specific implementation, a configuration file can be pre-configured, which is used to indicate various configuration information required for packet forwarding. The configuration information can include, but is not limited to, IP address, Media Access Control Address (Mac address), type of protocol started by the server, number of threads and cores started by the processor, disk information, memory information, communication link adaptation parameters required for system operation (such as maximum transmission unit value adapted for data transmission, link frame format related parameters), data storage and scheduling related configuration (such as buffer capacity threshold of various data queues, data processing timing rules), data integrity guarantee parameters (such as data verification algorithm type and verification threshold), system resource allocation parameters (such as memory space allocation quota, resource occupation upper limit), service differentiation processing configuration (such as transmission priority rules of different types of data, data forwarding strategy triggering conditions), and system monitoring and abnormal processing related parameters (such as link state monitoring period, data transmission abnormal retry number threshold). These information collectively provide comprehensive preset basis for the coordinated operation of various functions, effective processing and transmission of data after the system is started, and ensure that the system adapts to communication scenarios and business requirements according to the preset logic. The system can include various devices designed for packet forwarding process, such as source device, target device, processor, memory, disk, gateway, intermediate network device, etc.

[0053] The configuration file is read at system startup to initialize the start of the transceiving packet unit, the fragmentation unit, the Ethernet protocol unit, the transparent forwarding unit, the CCSDS protocol stack unit, the monitoring and statistics unit, etc. The transceiving packet unit is used to receive data packets and store the first location of the data packets to the first queue. The fragmentation unit can be used to implement fragmentation processing of data packets to obtain fragmented packets matching the frame format of AOS frames. The Ethernet protocol unit can be used to respond to network protocols from other network devices and hosts, and notify the latest MTU locally. The transparent forwarding unit is used to forward the data frames after format conversion. The CCSDS protocol stack unit is used for AOS frame encapsulation and / or analysis. The monitoring and statistics unit is used to monitor the system state in real time and regulate system resources. The specific application of each unit will be described in detail below.

[0054] When receiving Ethernet frames, the transceiving packet unit can be used to receive standardized Ethernet frames generated by the source according to the latest MTU value, allocate the Ethernet frames to the corresponding storage area, and record the specific location of each frame in the memory through the address descriptor to obtain the first location. Then, the first locations corresponding to each Ethernet frame are sequentially added to the first-in-first-out packet sending queue.

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

[0056] Here, the fragmented packet is a small-size packet obtained by performing packet fragmentation on the data packet actually carried in the Ethernet frame, and the packet size thereof is adapted to the data amount required by the frame format of the AOS frame. For example, the frame format of the AOS frame is 1K, and the IP data packet actually carried in the Ethernet frame can be fragmented into multiple fragmented IP packets of 1K size. Each fragmented packet encapsulates a dedicated packet header, and the packet header is used to explicitly indicate the packet attribute of each fragmented packet. The packet header is a control information structure of a protocol data unit, carries information such as routing control, state identification, and protocol processing instruction required for data transmission, and is used to indicate the packet attribute of each fragmented packet. In the fragmentation processing process, each fragmented packet is encapsulated with an independent packet header, wherein the packet attribute is used to indicate information such as packet source, packet position, packet format, packet description, and the like of the fragmented packet. The packet attribute may, for example, include but is not limited to header length, total length, identifier, split position, fragmentation offset, service type, source address, Ethernet frame to which the fragmented packet belongs, sequence number, length of the data packet before fragmentation, and the like. The target end can accurately reassemble the original data packet according to the packet attribute. For example, when a 2000-byte original IP data packet is fragmented into three fragmented packets of 876 bytes, 876 bytes, and 248 bytes, each fragmented packet records its position in the original IP data packet through the fragmentation offset in the packet header, and indicates the start and end of the fragmentation sequence through the flag bit, thereby ensuring that the out-of-order fragmented packets can still be correctly reassembled.

[0057] The second position is a logical positioning identifier of the fragmented packet in the storage structure, and is used to establish the addressing association between the fragmented packet and the subsequent padding link. For example, after performing fragmentation processing on a 1500-byte IP packet, two fragmented packets of 876 bytes and 624 bytes are generated and obtain independent storage addresses respectively, and these addresses are recorded as the second position.

[0058] The second queue is used to store the second position of each fragmented packet obtained after fragmentation processing, and for example, the second queue can be a fragmentation queue. By storing the second position of the fragmented packet in the fragmentation queue, ordered position index support is provided for subsequent padding of the fragmented packet based on the AOS frame.

[0059] In implementation, the initialized fragment unit can be used to obtain each Ethernet frame from the first position in the first queue, and then based on the data field capacity (e.g., 876 bytes) indicated by the frame format of the preconfigured AOS frame and the information content carried by the Ethernet frame, the original IP data packet in the Ethernet frame is standardized fragmented and processed, and an IP packet header is encapsulated for each fragmented packet to obtain each fragment packet. The storage address of each generated fragment packet can be registered as the second position and sequentially stored in the fragment queue.

[0060] The present application stores the first position of the Ethernet frame and the second position of the fragment packet in different queues, rather than storing the Ethernet frame and the fragment packet by copying in the prior art, which can reduce the copying of the Ethernet frame and the fragment packet and realize packet forwarding under zero-copy reorganization.

[0061] S103: Obtain each fragment packet in sequence according to the second position in the second queue, and encapsulate the fragment packet into an empty protocol frame taken from the reserved protocol frame resource for the current obtained fragment packet to obtain a target protocol frame.

[0062] Here, the reserved AOS frame resource is a fixed-length AOS frame space pre-allocated during system initialization, which is used to provide a standard frame container for immediate use for fragment packet encapsulation. System initialization refers to a process of obtaining various parameters (e.g., function enabling rules, resource allocation thresholds, communication protocol adaptation parameters, etc.) required for system operation by reading a pre-set configuration file during the system startup phase, and based on these parameters, completing the basic settings, state activation and necessary resource (e.g., memory space, interface link) allocation of each functional component in the system.

[0063] The empty AOS frame is a frame container extracted from the reserved AOS frame resource, which conforms to the CCSDS standard structure and is used to provide a standardized bearing unit for immediate use for fragment packet. For example, when processing IP fragments of 1K bytes, a standard empty frame of 1K bytes is selected to accurately fill the fragment packet data into the corresponding data field and synchronously update the virtual channel identifier and data field length indicator in the frame header, ensuring protocol specification compliance while realizing the conversion of fragment packet data to AOS frame.

[0064] The target protocol frame is a protocol frame filled with fragment packet data, which is used to carry fragment packet data in a space link and maintain protocol specification compliance. For example, in the case of using AOS protocol, the target protocol frame is a target AOS frame, which can be a standardized AOS frame structure based on the empty AOS frame and the fragment IP packet data after completing the fragment packet data filling process. In the case of using DVB protocol, the target protocol frame is a target DVB frame.

[0065] In particular implementation, the CCSDS protocol stack unit can be used to read each second position in the second queue in the order of first-in-first-out, and obtain the corresponding fragmented packet by using the second position. Meanwhile, the empty AOS frame matching the frame format of the AOS frame can be extracted from the reserved AOS frame resource pool. That is, one empty AOS frame used for encapsulating the fragmented IP packet is extracted from the reserved AOS frame resource for each extracted fragmented IP packet. The fragmented packet data extracted each time is accurately loaded into the frame data field of the corresponding extracted empty AOS frame to generate a standardized AOS frame structure, and the target AOS frame corresponding to each fragmented packet is obtained.

[0066] S104: forwarding each target protocol frame to a target end; the target end is configured to restore a data packet according to the packet header and the packet content corresponding to each target protocol frame.

[0067] In particular implementation, each generated standardized target AOS frame is forwarded to the target end. After receiving each target AOS frame, the target end can parse the packet header and the packet content corresponding to each target AOS frame, recombine each fragmented packet based on the packet attribute in the packet header, and obtain the original data packet.

[0068] In an embodiment, for S101, the following steps can be implemented: S101-1: receiving each Ethernet frame sent by a source end.

[0069] In particular implementation, the transceiving packet unit can be used to transceive each Ethernet frame according to a service direction. The service direction is used to perform the transmission direction of the communication link, such as the star-ground transmission direction, the ground-star transmission direction, etc.

[0070] S101-2: performing first checking on each Ethernet frame according to the maximum transmission unit.

[0071] Here, the first checking is used to perform the format compliance checking on the Ethernet frame, for example, the first checking can be the MTU checking.

[0072] In particular implementation, for each Ethernet frame, the transceiving packet unit can be used to compare the latest acquired MTU of the source end with the actual MTU corresponding to the data packet carried in the Ethernet frame, so as to determine whether the actual MTU of the Ethernet frame matches the detected MTU. In the case of matching, it can be indicated that the Ethernet frame passes the first checking, otherwise, it does not pass the first checking.

[0073] S101-3: storing the first position of each Ethernet frame passing the first checking to a first queue, and / or performing abnormal processing on each Ethernet frame not passing the first checking.

[0074] In a specific implementation, when it is detected that the MTU value corresponding to the Ethernet frame is an integer multiple of the latest acquired MTU of the source end, it is determined that the Ethernet frame can pass the first check, and then the specific storage address of the Ethernet frame can be stored to the transceiving packet queue for processing by the fragmentation unit. If it is determined that the Ethernet frame does not pass the first check, a corresponding exception handling mechanism is performed. For example, the abnormal Ethernet frame is directly discarded, and / or an abnormal response message is generated and fed back to the source end.

[0075] Based on the first check processing, it can be ensured that the Ethernet frame with a legal MTU enters the subsequent processing flow.

[0076] In an embodiment, for S102 described above, the following steps can be implemented: A1: Acquire each Ethernet frame according to each first position in the first queue respectively.

[0077] In a specific implementation, the fragmentation unit can be used to sequentially acquire each second position from the transceiving packet queue, and sequentially acquire each Ethernet frame according to the acquired second position.

[0078] A2: Perform second check on each acquired Ethernet frame; wherein the second check at least includes message legality check and message content exception check.

[0079] Here, the second check is used to verify the integrity, accuracy and standardization of the message data, and to filter out all invalid, abnormal or malicious message data, to provide reliable data input for the fragmentation processing of the message data. In a specific implementation, the second check can at least include message legality check and message content exception check. The message legality check is a basic processing flow for protocol compliance verification of data frames in the network protocol stack, which is used to ensure that the received message conforms to the format requirements defined by the international Internet standard specification, including but not limited to verifying the compliance of basic protocol fields such as IP protocol version number, header checksum calculation, time to live value range, etc. The message legality check may, for example, be a cyclic redundancy check (CRC). The message content exception check is an analysis mechanism for deep security detection of message data payload in the network protocol stack, which is used to identify and intercept abnormal messages and malicious attack data with potential damage, including but not limited to verifying the logical consistency of fragmentation offset, the validity of flag combination and the rationality of payload data structure, so as to provide reliable data input conforming to the protocol specification for the fragmentation processing link.

[0080] In implementation, for each acquired Ethernet frame, the Ethernet frame can be parsed, and a second check processing is performed based on the parsed content. For example, a message legality check of the Ethernet frame can be performed first, including but not limited to checking the frame header field (such as the destination MAC address, whether the frame type field is IPv4 or IPv6) of the Ethernet frame, the IP header field (such as the version number, whether the header length is within the legal range), and if any field does not conform to the standard, it is determined as an illegal message. After passing the legality check, a message content anomaly check can be performed, which may, for example, include but is not limited to checking whether the data field length of the Ethernet frame is 0, whether the data message payload contains continuous invalid padding bytes (such as 20 bytes or more of 0x00 bytes), whether the IP fragmentation identifier does not match the offset, whether the header is incomplete, whether the header content does not match the payload content, and other abnormal conditions. If any of the above abnormalities exist, it is determined as a content abnormal message. In the case where the data message carried by the Ethernet frame does not belong to an illegal message or a content abnormal message, it can be determined that the Ethernet frame passes the check. Only the Ethernet frame that passes the second check can enter the subsequent fragmentation processing flow.

[0081] For the Ethernet frame that does not pass the second check, a response abnormality processing can be performed, such as being marked as an invalid frame and discarded, or generating an invalid frame abnormality response message to feed back to the source end.

[0082] A3: For each Ethernet frame that passes the second check, the data message corresponding to the Ethernet frame is fragmented and the message 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 message.

[0083] Here, the frame content carried by the Ethernet frame can include the frame header, the frame tail, and the payload part for carrying the actual service data in the Ethernet frame structure. The payload part content is used to carry the actual content of the IP data message, and its format matches the frame format of the AOS frame, which is used to transfer message information with actual service between different communication nodes (such as ground gateway, satellite equipment, etc.). For example, remote sensing image data sent by a ground host to a satellite terminal, device status monitoring data returned by a satellite to a ground station, etc.

[0084] In implementation, after completing the second verification of each Ethernet frame, the message header encapsulation rule in the system configuration file is read. Then, for each Ethernet frame passing the second verification, the frame content carried by the Ethernet frame passing the second verification is extracted by using the fragmentation unit, and the size relationship between the total length of the data message in the frame content and the AOS frame data field length is judged. If the total length of the data message is greater than the AOS frame data field length, the data message is fragmented according to the AOS frame data field length, and a corresponding message header is generated for each fragment according to the message header encapsulation rule and encapsulated to each fragment to obtain each fragment IP message. The data length of each fragment message does not exceed the AOS frame data field length. If the total length of the data message is equal to the AOS frame data field length, the data message does not need to be split, and the data message is directly taken as a single fragment IP message.

[0085] At the same time of fragmentation processing, the message header encapsulation is performed according to the protocol specification. For example, for an IPv4 data message, the flag bit is adjusted on the basis of the original IPv4 header, the fragmentation offset (such as in units of 8 bytes) is calculated and set, the IP header checksum is recalculated and filled, and the IP message header of the fragment message is formed. For an IPv6 data message, the IPv6 fragmentation mechanism is followed, the fragment header is added after the IPv6 header, the "more fragment" flag bit (the rule is the same as IPv4) and the fragmentation offset (such as in units of 8 bytes) are set, and the IP message header with the fragment header is formed.

[0086] In an embodiment, after obtaining each fragment message in S102, the following steps can also be implemented: B1: In the case of starting the message header compression function, the message header of the fragment message is compressed to obtain the compressed fragment message.

[0087] Here, the message header compression is used to compress the content of the message header of the fragment message, so as to improve the frame space utilization rate of the empty AOS frame when the fragment message is encapsulated to the empty AOS frame subsequently. The message header compression can be implemented by using a preset compression algorithm, which is used to remove redundant fields or optimize repeated fields to reduce the length of the header. In the fixed AOS frame data field length scenario, by compressing the message header, the data field space occupied by the message header can be reduced, more IP load data can be loaded in the AOS frame, the number of fragments is prevented from increasing or the effective data occupancy ratio is prevented from decreasing, and the bandwidth utilization rate of the communication link is improved. For example, a 20-byte standard IPv4 header can be reduced to 4 bytes (only the source IP and the destination IP core identifier are reserved) after compression, so that 16 bytes of load data can be loaded in the AOS frame.

[0088] In implementation, after the second check of each Ethernet frame is completed, the Ethernet frame content (taking 1500-byte IPv4 datagram as an example, including 20-byte IPv4 header and 1480-byte payload) is extracted, the data field of the AOS frame is based, the packet data of each Ethernet frame is processed, and the packet header is encapsulated for each packet fragment. After each packet fragment is obtained, it can be determined whether to start the packet header compression function. If not, the subsequent encapsulation processing can be directly performed on the fragmented packet. If yes, the IP packet header of each fragmented packet can be compressed by using the preset packet header compression algorithm, including but not limited to removing the redundant fields such as version number and header length in the packet header (such as IPv4 / IPv6), and retaining the source IP, destination IP and fragmentation key field. For example, the packet header of the 20-byte IPv4 fragmented packet is compressed to 4 bytes. After the compression is completed, each compressed fragmented packet can be obtained. Then, the compressed fragmented packet can be encapsulated into the empty AOS frame data field.

[0089] In an embodiment, after the Ethernet frame is received, the latest frame format of the protocol frame corresponding to the communication link can be synchronized to the source end by the following steps: C1: If the frame content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, a new maximum transmission unit corresponding to the latest frame format is fed back to the source end. The source end is used to generate a new Ethernet frame corresponding to a new packet according to the new maximum transmission unit when sending the new packet.

[0090] Here, the latest frame format of the AOS frame is the frame format of the AOS frame currently used in the communication link between the source end and the target end. The frame content of the Ethernet frame does not match the latest frame format of the AOS frame corresponding to the communication link, which can be that the size of the datagram in the frame content does not match the data field size of the AOS frame indicated by the latest frame format. For example, the size of the IP datagram in the frame content is smaller than / does not divide evenly the data field of the AOS frame indicated by the latest frame format.

[0091] After the Ethernet frame is received, it can be determined whether the frame content matches the latest frame format at any time. For example, the determination time can be before fragmentation, after fragmentation, during fragmentation, AOS frame filling process, and first check, etc. By checking whether the frame content matches the latest frame format, it can also be achieved that whether the frame content meets the fragmentation standard.

[0092] In a specific implementation, after receiving the Ethernet frame, the latest frame format of the AOS frame corresponding to the communication link can be obtained, and the latest MTU matching the latest frame format can be determined according to the latest frame format. Then, whether the frame content matches can be judged based on the latest MTU. For example, in the case where the judgment timing is before the Ethernet frame is fragmented, the total length of the data message carried in the frame content can be directly checked to determine whether the total length of the data message conforms to the latest MTU, if yes, it is determined that the frame content matches the latest frame format; if no, it is determined that the frame content matches the latest frame format, the check result and the latest MTU corresponding to the latest frame format of the AOS frame are filled into the predefined message, an Internet Control Message Protocol (ICMP) response message is constructed, and the ICMP response message is sent to the source end. In the case where the judgment timing is before the Ethernet frame is fragmented, the data message carried in the frame content can be extracted after the Ethernet frame is taken out from the first position in the fragmentation queue, and the total length of the data message is checked to determine whether the total length conforms to the latest MTU corresponding to the data field of the current AOS frame, if not, it is determined that the Ethernet frame does not conform to the fragmentation standard, at this time, the check result and the latest MTU corresponding to the latest frame format of the AOS frame are filled into the predefined message, an ICMP response message is constructed, and the ICMP response message is sent to the source end. In the case where the judgment timing is during the fragmentation process, the length of the IP data message is compared in real time during the process of splitting the IP data message to determine whether the length conforms to the latest MTU, if not, it is immediately determined that the fragmentation standard is not met, the check result and the latest MTU are filled into the predefined message, an ICMP response message is constructed, and the ICMP response message is sent to the source end. In the case where the judgment timing is after the message is fragmented, the lengths of the fragmented messages are checked to determine whether the lengths conform to the latest MTU, if not, it is determined that the fragmentation standard is not met, the check result and the latest MTU are filled into the predefined message, an ICMP response message is constructed, and the ICMP response message is sent to the source end. In the case where the judgment timing is during the AOS frame filling process, the length of the fragmented message to be filled is checked to determine whether the length is consistent with the latest MTU when the fragmented message is filled into the data field of the empty AOS frame, if not, it is determined that the fragmentation standard is not met, the check result and the latest MTU are filled into the predefined message, an ICMP response message is constructed, and the ICMP response message is sent to the source end. In the case where the judgment timing is during the first check process, the transceiver packet unit can determine whether the data message in the Ethernet frame matches the latest MTU, if not, it is determined that the fragmentation standard is not met, the check result and the latest MTU are filled into the predefined message, an ICMP response message is constructed, and the ICMP response message is sent to the source end. The source end can obtain the latest MTU corresponding to the frame format of the latest AOS frame from the ICMP message after receiving the ICMP message. Then, when sending a new data message, the corresponding Ethernet frame can be generated according to the latest MTU, and when sending the new Ethernet frame, it is ensured that the total length of the IP data carried in the Ethernet frame does not exceed the MTU.

[0093] In an embodiment, the step of encapsulating the target protocol frame in S103 above can be implemented as follows: For the current acquired fragmented message, if the initial message data amount of the fragmented message is consistent with the target message data amount indicated by the frame format of the protocol frame, the fragmented message is filled into the empty protocol frame to obtain the target protocol frame.

[0094] Here, the initial message data amount refers to the total number of message data bytes (including IP fragmentation header and corresponding payload) carried by the fragmented message that has completed fragmentation processing (including compressed fragmentation header if message header compression is enabled) before being encapsulated into an AOS frame. The initial message data amount is used to determine whether the fragmented message can adapt to the AOS frame data field without filling additional data, so as to avoid wasting bandwidth due to additional filling of data by the AOS frame caused by data amount mismatch. For example, after a 1.5K data message is fragmented according to an AOS frame of 1k size, two fragmented messages of initial IP message data amount of 1k size and 0.5k size can be obtained; after a 3K data message is fragmented according to an AOS frame of 1k size, three fragmented messages of initial message data amount of 1k size can be obtained.

[0095] The target message data amount refers to the maximum number of bytes of IP fragment data that can be carried by the AOS frame data field, which is predefined according to the CCSDS AOS protocol specification, and the value is equal to the fixed length of the AOS frame data field. The target message data amount is used to determine the upper limit of the total amount of IP fragment data that can be loaded when the fragmented message is encapsulated into an empty AOS frame. For example, in the scenario of ground gateway and low-orbit satellite communication, the total length of the AOS frame is 1024 bytes, of which the data field length is 876 bytes, and the 876 bytes are the target message data amount indicated by the frame format of the AOS frame. The fragmentation unit can perform fragmentation based on the target message data amount indicated by the frame format of the AOS frame when performing fragmentation on the data message.

[0096] The preset threshold is a byte threshold value that is preconfigured, and the size of the threshold is not specifically limited by the embodiments of the present application. Based on the comparison result of the difference between the initial message data amount of the fragmented message and the target message data amount and the preset threshold, the filling method of the fragmented message can be dynamically determined.

[0097] In implementation, when the fragmented packet is encapsulated by using the CCSDS protocol stack, an empty AOS frame is taken out from the reserved AOS frame resource pool for the currently obtained fragmented packet, and the initial packet data amount of the fragmented packet is determined (for example, in the case of enabling packet header compression, the initial packet data amount is the sum of the compressed IP packet header and the corresponding payload data; in the case of not enabling packet header compression, the initial packet data amount is the sum of the uncompressed IP packet header and the corresponding payload data). Then, it is judged whether the initial packet data amount is consistent with the target packet data amount indicated by the latest frame format indication of the AOS frame. If yes, the fragmented packet can be directly filled into the data field in 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 AOS frame data field, it is directly filled completely.

[0098] Alternatively, for the currently obtained fragmented packet, if the initial packet data amount of the fragmented packet is less than the target packet data amount indicated by the frame format indication of the protocol frame, a padding mode for the fragmented packet is determined according to the difference between the initial packet data amount and the target packet data amount and a preset threshold; the padding mode is used to adjust the initial packet data amount to the target packet data amount; then the fragmented packet is padded into the empty protocol frame according to the padding mode to obtain the target protocol frame.

[0099] In implementation, if the initial packet data amount of the fragmented packet is less than the target packet data amount, the difference between the initial packet data amount and the target packet data amount can be calculated first. According to the size relationship between the difference and the preset threshold, the padding mode when the fragmented IP packet is padded into the data field of the empty AOS frame is determined. The padding mode is used to adjust the initial packet data amount to the target packet data amount, so that the data field of the empty AOS frame can be filled when the fragmented IP packet is padded into the data field of the empty AOS frame. The reason why the initial IP packet data amount is less than the target packet data amount may be that the frame format of the AOS frame of the communication link is updated in real time, or the MTU used by the source end when generating the Ethernet frame does not match the frame format of the AOS frame.

[0100] For example, different size relationships between the difference and the preset threshold correspond to different padding modes. When the difference between the two is less than or equal to the preset threshold, the fragmented IP packet can be directly padded into the data field of the empty AOS frame first, and then invalid data can be padded into the remaining space in the data field of the empty AOS frame to obtain the target AOS frame. When the difference between the two is greater than the preset threshold, the padding mode of selecting and splicing the payload data of the adjacent fragmented frame is adopted, that is, the fragmented packet and the adjacent fragmented packet are merged into a fragmented packet that meets the target packet data amount, and then padded into the data field of the empty AOS frame and encapsulated into the target AOS frame.

[0101] In an embodiment, the embodiment of the application can also implement receiving a protocol request sent by any other terminal; the protocol request at least includes 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 according to the communication link information of the source end and the target end and / or the target protocol frame, and the response result is fed back to any other terminal.

[0102] Here, the other terminal can be various network devices, hosts, etc. running an Ethernet protocol stack, for example, the other terminal can include any PC, server (such as a remote sensing image storage server of a ground station, a state monitoring server of a ship-borne device, an airborne task data processing server), a host type device such as an embedded host (such as a deep space probe ground simulation host), an Ethernet switch (such as an access layer switch on the access side of a ground gateway, a distributed switch of an airborne Ethernet), an Ethernet router (such as an edge router connecting different subnets on the ground side), an Ethernet gateway (such as an industrial gateway supporting Ethernet and industrial bus protocol conversion, a wireless access gateway compatible with Ethernet access), a network access device (such as an Ethernet access module of a satellite ground station), and the like, a special terminal device running an Ethernet protocol stack, such as a ship-borne terminal network control unit, an airborne communication processing module, and a vehicle-mounted Ethernet controller of a ground mobile platform.

[0103] The address resolution protocol (ARP) request is a request for converting the IP address of a target device into a corresponding physical MAC address, which is used to map the IP address to the MAC address for accurate delivery of data between devices in the same local area network. The internet control message protocol (ICMP) request is a request for delivering network control, error reporting, and the like, which is used for network fault diagnosis (such as ping testing), MTU notification, and the like. The path maximum transmission unit discovery (PMTUD) request is a request for detecting the maximum transmission unit in a communication link, which is used to determine the maximum packet size without fragmentation.

[0104] The communication link information is used to record the key interaction parameters of the source end and the target end in the Ethernet and AOS frame transmission link, which include but are not limited to the MAC address of the source end / target end, the real-time unblocked state of the communication link, the routing information of data transmission (such as the link node hop path), and the like. The communication link information is used to provide link basic parameter support for the response result when responding to the protocol request, and to ensure that the data transmission adapts to the link characteristics. For example, when responding to the ARP request, the address mapping can be completed according to the MAC address of the source end / target end; when responding to the PMTUD request, the MTU adaptability can be judged in combination with the link unblocked state and the routing information.

[0105] In a specific implementation, the Ethernet protocol unit can be used to, when receiving an ARP request (such as a query gateway MAC address) sent by any other terminal, respond to the request, extract the MAC address of the self from the communication chain information, fill it into a predefined packet, construct an address resolution protocol response packet, and generate an ARP response packet to feed back to the requesting terminal. When receiving an ICMP request (such as an ICMP echo request) sent by any other terminal, the request is responded to, the real-time link status of the source and target and the latest encapsulation record of the target AOS frame (used to verify that the data can be normally transmitted) are extracted from the communication chain information, filled into a predefined ICMP packet, an ICMP echo response packet (such as containing link connectivity status and target AOS frame basic parameters) is constructed, an ICMP response packet is generated, and the ICMP response packet is fed back to the requesting terminal. When receiving a PMTUD request sent by any other terminal, the request is responded to, the routing hop characteristic information (such as whether the path supports fragmentation) of the source and target is extracted from the communication chain information, and the frame format indicated target packet data amount (i.e. MTU value) is extracted from the target AOS frame, the routing characteristic and MTU value are filled into a predefined PMTUD packet, a PMTUD response packet is constructed, and the generated PMTUD response packet is fed back to the requesting terminal.

[0106] Optionally, a response packet cache queue can be preset, and after generating a response packet corresponding to any protocol request, it can be stored in the packet cache queue. Then when storing the transmission resource, the response packets in the packet cache queue are sent to the corresponding requesting terminal in turn.

[0107] 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 packets and puts them into the queue, completely dynamically responds to network protocol configurations, and real-time announces the MTU configuration of the local machine, dynamically adapts to the change of AOS frame size.

[0108] In an embodiment, for S103 described above, the following steps can be implemented: D1: cache each target protocol frame to a third queue.

[0109] Here, the third queue is a dedicated cache queue used to temporarily store each generated target AOS frame in the process of forwarding the target AOS frame to the target end. The target AOS frames can be stored in order according to the generation order of the target AOS frames in the third queue, so as to avoid congestion caused by too large amount of frames received instantaneously in the process of forwarding the target AOS frames, and at the same time guarantee the forwarding of the target AOS frames according to the generation time sequence, matching the transmission rhythm of the communication link.

[0110] In implementation, after generating each target AOS frame by using the CCSDS protocol stack, each generated target AOS frame can be sequentially stored in a third queue according to the generation order based on the principle of first-in first-out.

[0111] Optionally, the third queue can be pre-set, and different third queues have different priorities. After generating the target AOS frame, the priority of each target AOS frame can be determined according to the importance of the target AOS frame, the data field size of the target AOS frame, the priority of the source end, the priority of the target end, and the like. Each target AOS frame is cached in the third queue corresponding to the matching priority according to the priority, so that the hierarchical forwarding of each target AOS frame can be realized according to the priority of the third queue when forwarding the AOS frame subsequently.

[0112] D2: In the communication link, each target protocol frame in the third queue is forwarded to the target end in a parallel transmission mode.

[0113] Here, the parallel transmission mode is a mode for synchronous transmission of multiple data streams realized by a virtual channel identifier, which is used for simultaneously carrying data transmission of multiple logical channels on a single physical communication link.

[0114] Since each fragmented packet encapsulates an independent packet header, even if each target AOS frame is not transmitted in the order of each fragmented packet, the target end can still restore the complete IP data packet according to the packet header after receiving the target AOS frame, which provides a recovery basis for parallel transmission or out-of-order transmission of each target AOS frame. Therefore, in implementation, independent virtual channel identifiers (such as telemetry data allocation identifier 1 and scientific data allocation identifier 2) can be allocated for different service streams, and the packet content of each fragmented frame can be encapsulated into the corresponding AOS frame in parallel, so that each data stream forms an interleaved transmission frame sequence in the spatial link. Based on the logical channel identifier, the AOS frame of each data stream is forwarded after encapsulation.

[0115] For example, the ground station can simultaneously receive remote sensing image data stream and telemetry state data stream from the satellite, and the two are distinguished and processed by different virtual channel identifiers, thereby significantly improving the overall transmission efficiency of the communication link. In this way, by transmitting multiple streams in parallel in the same communication link, frame data does not need to be cached, and the efficiency of packet forwarding is significantly improved.

[0116] In an embodiment, the embodiments of the present application can also realize real-time statistical packet forwarding resource information and packet flow size; and the resource allocation of the packet forwarding process is adjusted in real time according to the packet forwarding resource information and the packet flow size.

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

[0118] The hardware and software resource status includes, but is not limited to, processor status, processor resources, gateway resources, software occupied resources, and hardware usage rate. The hardware and software resource status can be used to indicate the real-time load intensity of the computing core and the storage medium. The Ethernet frame transceiving state can be used to represent the data packet transmission quality and integrity of the communication link, which can specifically be the data packet transceiving state, including but not limited to throughput, packet loss rate, bit error rate, usage, etc. The queue state is used to indicate the real-time usage state of the queue, and based on the queue state, the buffer saturation and flow efficiency of the data processing link can be reflected. In specific implementation, the queue state can at least include the depth change rate, overflow frequency, and usage rate of the first / second / third queue, etc. The system resource state is used to reflect the stability and resource health degree of the device during continuous operation, which can include, but is not limited to, memory, disk, and network speed. Through these multi-dimensional message forwarding resource information, a decision basis for resource dynamic allocation is formed, and through closed-loop control, the continuous optimization of system performance is achieved.

[0119] Resource allocation is the elastic reconstruction of system processing architecture and the dynamic allocation of computing resources, which can include, but is not limited to, the number adjustment of queues, the number adjustment of various processing units (i.e., packet transceiving units, fragmentation units, Ethernet protocol units, transparent forwarding units, CCSDS protocol stack units, monitoring and statistical units, etc.), and the dynamic allocation of processor computing resources. The message flow size is used to indicate the flow size of the data message.

[0120] In specific implementation, the monitoring and statistical unit can be used to collect and statistically analyze the message forwarding resource information and the message flow size in real time. For example, the hardware and software resource status of various hardware and software required to be used in the message forwarding process, the Ethernet frame transceiving state, the queue state, the system resource state, and the real-time message flow size can be monitored and statistically analyzed. Further, based on the statistically analyzed message forwarding resource information and the message flow size, the resource allocation of the message forwarding process can be adjusted in real time to improve the forwarding efficiency of the data message.

[0121] In an embodiment, the above-mentioned step of adjusting the resource allocation of the message forwarding process in real time can be implemented according to the following steps: In a case where the packet forwarding resource information indicates that the usage rate of any queue reaches a preset usage rate, the number of queues is dynamically increased; and / or in a case where the packet forwarding resource information indicates that there is remaining available resource, the resource allocated to the packet forwarding process is dynamically adjusted according to the change of the packet flow size.

[0122] Here, the preset usage rate can be set according to experience, and the embodiments of the present application do not make specific limitation. For example, it can be 80%, 90%, etc. For any queue, the size of the queue can be preset, and then the usage rate of the queue can be determined according to 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 resource can be the remaining resource of the device for performing the packet forwarding method, such as the remaining available resource of the processor, which can be a general central processing unit (CPU), i.e., a digital signal processing (DSP) chip, an FPGA chip, an ASIC chip, or any combination thereof. The change of the packet flow size is used to reflect how much the real-time packet flow is, for example, a large amount of packet flow suddenly increases, the packet flow is stable in a certain area, the packet flow suddenly decreases, etc.

[0123] In specific implementation, in a case where the packet forwarding resource information indicates that the usage rate of any queue reaches a preset usage rate, the number of the queue is dynamically increased. For example, when it is detected that the usage rate of the third queue continuously exceeds the preset usage rate, the number of the third queue can be increased. In this way, when each queue may quickly reach the threshold under large data packet flow, by timely applying other cache queues, the packet loss probability can be reduced.

[0124] And / or in a case where the packet forwarding resource information indicates that the processor does not reach the usage upper limit, it means that there is remaining available resource of the processor, at this time, a new processing unit can be created in real time according to the remaining available resource and the monitoring state of the large data packet flow (such as the flow size, the usage of the CPU, the usage state of each core of the CPU) for the packet forwarding. The usage upper limit may be, for example, 80%-90% of the processor capacity.

[0125] For example, when the queue state of the fragmentation queue indicates that the queue usage rate reaches the preset usage rate, the processor utilization rate does not reach the usage upper limit, and the change of the message flow size indicates that there is a message flow burst, the residual available resources of the processor can be used to immediately start the horizontal expansion mechanism to dynamically adjust the multi-dimensional resources. For example, the number of fragmentation queues is expanded from the benchmark 16 groups to 24 groups, and three new fragmentation units are created and bound to the idle processor cores. The number of threads is adjusted from 8 to 12 through CPU setting. For example, when high-resolution remote sensing data is transmitted through a star-ground link, it is found through real-time monitoring that the third queue depth reaches the warning value and the four processor cores are in a low load state, and the number of the third queues is immediately dynamically increased, two new CCSDS protocol stack units are created, and the threads of the CCSDS protocol stack units are allocated to the idle cores. The system throughput is increased by 40% while maintaining a processor utilization rate of 65%, and the transmission load and the computing resources are accurately matched.

[0126] In an embodiment, for S104 above, the respective target protocol frames are forwarded to the target end, and the following steps can also be implemented: E1: Determine the forwarding mode of the target protocol frame according to the link direction and service demand of the communication link between the source end and the target end.

[0127] Here, the link direction of the communication link covers two types of unidirectional link direction and bidirectional link direction. The unidirectional link direction includes but is not limited to ground-side source end (such as ground gateway, ground host) to space-side target end (such as low-orbit satellite terminal) ground-satellite unidirectional, space-side source end (such as low-orbit satellite terminal) to ground-side target end (such as ground gateway) satellite-ground unidirectional, ship-borne side source end (such as ship-borne terminal) to ground-side target end (such as ground gateway) ship-ground unidirectional, ground-side source end to ship-borne side target end ground-ship unidirectional, airborne side source end (such as airborne communication terminal) to ground-side target end air-ground unidirectional, ground-side source end to airborne side target end ground-air unidirectional. The bidirectional link direction is formed by the corresponding unidirectional link direction pairs, including but not limited to ground-satellite bidirectional formed by ground-satellite unidirectional and satellite-ground unidirectional, ship-ground bidirectional formed by ship-ground unidirectional and ground-ship unidirectional, air-ground bidirectional formed by air-ground unidirectional and ground-air unidirectional. The specific link direction can be determined according to the deployment scene (such as star-ground communication, sea-ground communication, air-ground communication) of the source end and the target end.

[0128] The service requirement of the communication link is used to indicate various processing requirements in the message forwarding process, which can cover real-time requirements for ensuring the timeliness of data transmission, reliability requirements for ensuring that data is not lost or error, bandwidth adaptation requirements for adapting to different data volume transmission, priority requirements for distinguishing the importance of data, and integrity verification requirements for verifying that data transmission is not damaged. For example, the service requirement can include but is not limited to: real-time requirement for low delay transmission (such as satellite-to-ground device control instruction in satellite-ground link, real-time state data transmission of airborne equipment in air-ground link), reliability requirement for avoiding data loss (such as transmission of critical task instructions of shipborne terminal in ship-ground link, which needs to support retransmission mechanism), adaptation requirement for matching link bandwidth (such as large bandwidth adaptation for satellite transmission of high-definition remote sensing image by ground host, and low bandwidth adaptation for transmission of small volume configuration information), priority requirement for processing high importance data (such as emergency fault alarm information is prior to ordinary service data forwarding), and verification requirement for data integrity (such as transmission of industrial control data needs to add verification field to ensure that the receiver can verify that the data is not tampered).

[0129] The forwarding mode can be divided into direct forwarding and forwarding after analysis. Direct forwarding is to directly forward the target AOS frame to the target end to minimize the delay, which is suitable for one-way high real-time service (such as control instruction, real-time telemetry). The forwarding after analysis is to extract IP data after decapsulation, and then encapsulate and forward after processing such as verification, retransmission, priority scheduling, MTU / bandwidth adaptation, in order to guarantee reliability, integrity and resource utilization, which is suitable for bidirectional or strong reliability scene. The two forwarding modes can be flexibly selected according to the link direction and service requirement.

[0130] In a specific implementation, when the link direction is unidirectional and the service requirement is mainly real-time (such as transmitting satellite control instructions by a ground-satellite link or transmitting real-time telemetry data by an air-ground link), the delay is sensitive and no complex processing is required, direct forwarding is selected, the target AOS frame is taken out from the third queue and immediately sent to the target end through the parallel transmission channel to minimize the transmission delay. When the link direction is unidirectional but the service requirement emphasizes reliability, integrity or priority (such as transmitting critical task instructions by a ship-ground link or transmitting configuration data that needs to be confirmed by a ground-satellite link), the resolved forwarding is selected, the received target AOS frame is unpacked and integrity check (such as CRC check) is performed, the data with high importance is marked with high priority and forwarded preferentially, the retransmission mechanism is started for the data that fails the check, and after the processing is completed, the data is re-encapsulated as an AOS frame and then sent, ensuring that the data reliably, orderly and completely reaches the target end. When the link direction is bidirectional and the service requirement is bandwidth adaptation or MTU adaptation (such as transmitting large data files between a ground host and a satellite terminal in a ground-satellite bidirectional link or dynamically adjusting the MTU to avoid fragmentation in an air-ground bidirectional link), the resolved forwarding is selected, the target AOS frame is parsed to extract the IP datagram before forwarding, the necessary fragmentation or merging is performed according to the current link bandwidth and the target end MTU, the large data is compressed to adapt to the bandwidth, and then the AOS frame that meets the requirements of the target end is encapsulated and forwarded, improving the link utilization and avoiding transmission failure due to MTU mismatch. When the link direction is bidirectional and the service requirement contains both real-time and reliability (such as transmitting real-time control instructions and non-real-time but critical task data in a ground-satellite bidirectional link), the hybrid forwarding strategy of direct forwarding for the control instructions with high real-time requirement and resolved forwarding for the critical task data is adopted, so as to balance the differentiated requirements of different services on the same bidirectional link.

[0131] When the forwarding mode is different, transparent forwarding unit forwarding or CCSDS protocol stack unit forwarding can be selected. The transparent forwarding unit forwarding can directly forward the target AOS frame without processing the target AOS frame. The CCSDS protocol stack unit can be used to encapsulate or parse the target AOS frame and forward it. For example, under normal circumstances, the CCSDS protocol stack unit can be used by default to forward according to the forwarding mode, and if the transparent forwarding unit is configured to forward, the transparent forwarding unit can be used to forward.

[0132] For example, in the downlink communication link from the satellite to the ground, the AOS frame from the satellite can be directly forwarded to the ground equipment without processing by using the transparent forwarding unit. In the uplink communication link from the ground to the satellite, the data packet of the ground can be encapsulated into the target AOS frame by using the CCSDS protocol stack unit and forwarded to the satellite equipment. Meanwhile, after the data packet of the ground is encapsulated into the target AOS frame by using the CCSDS protocol stack unit, if the target AOS frame needs to be further processed according to the service requirement, the target AOS frame can be processed by using the CCSDS protocol stack unit and then sent to the satellite equipment. In the downlink communication link from the satellite to the ground, the target AOS frame from the satellite can also be analyzed by using the CCSDS protocol stack unit, the packet content is extracted and converted into an Ethernet frame in the Ethernet format, and then the Ethernet frame is sent to the ground equipment.

[0133] E2: According to the forwarding mode, the target protocol frame is sent to the target end by the gateway equipment of the target end.

[0134] Here, the specific type of the gateway equipment is selected according to the target end. When the target end is the ground side, the gateway equipment adapted thereto is the baseband equipment; when the target end is the satellite side, the gateway equipment adapted thereto is the measurement and transmission integrated machine. By matching the corresponding gateway equipment according to the type of the target end, it can be ensured that the target AOS frame is adapted to the communication interface and protocol specification of the target end in the forwarding process, and the smoothness and compatibility of the data transmission link are ensured.

[0135] In specific implementation, when the target AOS frame transmission from the ground to the satellite side is performed (the target end is the satellite, the service requirement is the high real-time satellite control instruction transmission, and the forwarding mode is determined as direct forwarding), the target AOS frame generated by the ground side is first transmitted to the measurement and transmission integrated machine, the measurement and transmission integrated machine receives the target AOS frame without performing the unpacking processing, and the target AOS frame is sent to the satellite target end by the antenna, and the satellite terminal receives the target AOS frame and directly analyzes the AOS frame data field to obtain the packet content. When the target AOS frame transmission from the satellite to the ground is performed (the target end is the ground, the service requirement is the high-reliability satellite remote sensing image data transmission, and the forwarding mode is determined as forwarding after analysis), the target AOS frame generated by the satellite is first sent to the baseband equipment of the ground side by the measurement and transmission integrated machine, the baseband equipment receives the target AOS frame, first unpacks the target AOS frame by using the CCSDS protocol stack unit, extracts the data packet content and performs the CRC integrity check, after the check passes, the IP data packet is format-adapted according to the Ethernet interface specification (such as gigabit Ethernet) of the ground service host, the IP data packet after the format adaptation is re-encapsulated into the Ethernet frame conforming to the ground transmission standard, and finally the Ethernet frame is sent to the ground target end by the baseband equipment, thereby realizing the reliable transmission of the satellite data to the ground.

[0136] It can be understood that, taking the ground station communication as an example, when the ground device sends a data packet to the on-board device, the ground PC (one end connected to the ground device (through an Ethernet connection), the other end connected to the baseband (i.e. on-board link)) can encapsulate each target AOS frame corresponding to the data packet according to the packet forwarding process provided in the embodiments of the present application, and send each target AOS frame to the on-board device through the CCSDS protocol stack unit. When the on-board device sends an IP data packet to the ground device, the on-board PC (one end connected to the on-board device, and the other end connected to the measurement and transmission integrated machine) can encapsulate each target AOS frame from the Ethernet frame sent by the on-board PC according to the packet forwarding process provided in the embodiments of the present application, and send each target AOS frame to the ground gateway device (such as baseband). The ground gateway device parses each target AOS frame through the CCSDS protocol stack unit and encapsulates it into an Ethernet frame to feed back to the ground device.

[0137] In this way, the IP packet fragmentation forwarding based on the AOS frame provided in the embodiments of the present application can minimize the padding of invalid data for padding of the AOS frame, thereby solving the difficult problem of bandwidth waste. By encapsulating the packet header for the fragmented packet, the problems of retransmission amplification and disorder recovery difficulty can be solved, and multiple streams can be transmitted in parallel in the same link without buffering frame data, thereby effectively improving the forwarding efficiency. Moreover, the packet forwarding method provided in the embodiments of the present application can be lossless and compatible with the current AOS protocol without modifying the protocol format, and the frame utilization rate is high. For each terminal, the Ethernet protocol stack can continue to be used without modifying the cost. By using the ICMP packet of the PMTUD protocol to notify the latest MTU value, the local can fully adapt to the AOS frame data field size when generating an Ethernet frame, so as to achieve the purpose of notifying the MTU change information at least one round-trip time (RTT) in advance, and dynamically adapt to the change of the AOS frame data field size. In addition, the implementation is hardware-neutral, and the same set of logic can be instantiated on the CPU module, FPGA pipeline and ASIC hard core.

[0138] In order to facilitate the understanding of the packet forwarding process provided in the embodiments of the present application, a specific implementation flowchart of the packet forwarding process is also provided as follows. Figure 2As shown, the embodiment of the present disclosure provides a specific implementation flowchart of a packet forwarding process. Wherein, after the packet forwarding process is started, the transceiving packet unit first performs MTU checking and other related checking (such as security checking) on the data packet in the input Ethernet frame, to ensure that the data packet meets the transmission requirements, and then sends the first position of the Ethernet frame that passes the checking to the first queue. The fragmentation unit obtains the IP data packet based on the first position in the first queue, and performs parsing and second checking to extract the IP data packet. After the checking passes, if the packet header compression function is enabled, the fragmentation unit is used to perform packet header compression to obtain the compressed fragmented packet. The CCSDS protocol stack unit can take out the empty AOS frame and take out the fragmented packet, and fill the fragmented packet into the empty AOS frame, so as to realize fragmentation filling. When filling, the AOS frame can also be subjected to a filling frame header operation to check the AOS frame using the frame header in the subsequent use. After filling the target AOS frame, the target AOS frame can be sent to the second queue. The Ethernet protocol unit can configure the MTU for the host in response to the PMTUD request, send the MAC address in response to the ARP request, and deliver network control, error report and other information in response to the ICMP request. At the same time, when the frame content of the Ethernet frame does not match the latest frame format of the AOS frame corresponding to the communication link, the Ethernet protocol unit can notify the source end to use a new MTU to send the packet through the PMTUD protocol. The monitoring and statistical unit can monitor the queue state, processor state, traffic situation and system resource state in real time, and adjust the real-time allocation of resources according to these information, so as to optimize the system performance and resource allocation. The process ends, that is, the target AOS frame forwarding ends, and finally the fragmentation, encapsulation and forwarding process from the received Ethernet frame data packet to the AOS frame data packet is completed. Wherein, the forwarding of the target AOS frame can be realized through one of the transparent forwarding unit or the CCSDS protocol stack unit.

[0139] As to Figure 2 The specific implementation flow of each step as shown can refer to the introduction of each embodiment described above, and will not be repeated here. The packet forwarding method provided by the present application is suitable for space-ground-sea-all digital communication system, and is especially suitable for various platforms (including but not limited to satellites, spacecrafts, deep space probes, airborne / shipborne / vehicle-mounted nodes and ground gateways) that use CCSDS AOS fixed-length frames for information exchange, and is used to realize parallel efficient, zero padding, low delay IP fragmentation forwarding and retransmission mechanism on any form of processor (general CPU, DSP, FPGA, ASIC or any heterogeneous combination thereof).

[0140] The packet forwarding method described in the embodiment is applicable to the packet forwarding process and description under the DVB frame / USLP frame format, which can refer to the description of the specific implementation flow of the AOS frame in the above embodiment, and will not be repeated here.

[0141] As shown in Figure 3 FIG. 1 is a schematic diagram of a packet forwarding device according to an embodiment of the present disclosure, which comprises: The receiving module 301 is configured to receive each Ethernet frame sent by a source end and store a first position of each Ethernet frame to a first queue; the Ethernet frame is generated according to a data packet required to be sent by the source end and a maximum transmission unit newly acquired by the source end; the maximum transmission unit is related to a frame format of a protocol frame corresponding to a communication link between the source end and a target end; the protocol frame comprises at least one of a high-level orbit system frame, a digital video broadcast frame and a uniform space data link protocol frame; The fragmentation module 302 is configured to acquire each Ethernet frame according to each first position in the first queue respectively, perform fragmentation processing on the data packet based on the frame format of the protocol frame and the Ethernet frame, obtain each fragmented packet, and store a second position of each fragmented packet to a second queue; wherein each fragmented packet encapsulates a packet header, and the packet header is used to indicate a packet attribute of each fragmented packet; The padding module 303 is configured to acquire each fragmented packet in sequence according to the second position in the second queue, encapsulate the fragmented packet into an empty protocol frame taken out from a reserved protocol frame resource for the currently acquired fragmented packet, and obtain a target protocol frame; The forwarding module 304 is configured to forward each target protocol frame to the target end respectively; the target end is configured to restore the data packet according to a packet header and packet content corresponding to each target protocol frame.

[0142] In a possible implementation, when the receiving module 301 receives each Ethernet frame sent by a source end and stores a first position of each Ethernet frame to a first queue, the receiving module 301 is configured to: receive each Ethernet frame sent by the source end; perform first checking on each Ethernet frame according to the maximum transmission unit respectively; store the first position of each Ethernet frame passing the first checking to the first queue, and / or perform exception processing on each Ethernet frame failing the first checking.

[0143] In a possible implementation, when the fragmentation module 302 acquires each Ethernet frame according to each first position in the first queue respectively, performs fragmentation processing on the data packet based on the frame format of the protocol frame and the Ethernet frame, and obtains each fragmented packet, the fragmentation module 302 is configured to: acquire each Ethernet frame according to each first position in the first queue respectively; performing a second check on each of the obtained Ethernet frames; the second check at least includes a message legality check and a message content anomaly check; performing fragmentation processing and message header encapsulation on a data message corresponding to each of the Ethernet frames according to the frame format of the protocol frame and the frame content carried by each of the Ethernet frames, to obtain a plurality of fragmented messages.

[0144] In a possible implementation, the fragmentation module 302, after obtaining the plurality of fragmented messages, is further configured to: perform compression on the message header of the fragmented message to obtain a compressed fragmented message, in a case where the message header compression function is enabled.

[0145] In a possible implementation, the apparatus further includes a notification module 305 configured to: if the frame content of the Ethernet frame does not match the latest frame format of the protocol frame corresponding to the communication link, feeding back, to the source end, a new maximum transmission unit corresponding to the latest frame format; and the source end is configured to generate an Ethernet frame corresponding to a new message according to the new maximum transmission unit when sending the new message.

[0146] In a possible implementation, the padding module 303, when performing the encapsulation of the fragmented message into the empty protocol frame to obtain the target protocol frame, is configured to: if the initial message data amount of the fragmented message is consistent with the target message data amount indicated by the frame format of the protocol frame, padding the fragmented message into the empty protocol frame to obtain the target protocol frame; or, if the initial message data amount of the fragmented message is less than the target message data amount indicated by the frame format of the protocol frame, determining a padding mode for the fragmented message according to a difference between the initial message data amount and the target message data amount and a preset threshold; the padding mode is used to adjust the initial message data amount to the target message data amount. padding the fragmented message into the empty protocol frame according to the padding mode to obtain the target protocol frame.

[0147] In a possible implementation, the notification module 305 is further configured to: receiving a protocol request sent by any other terminal; the protocol request at least includes 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 according to the communication link information of the source end and the target end and / or the target protocol frame, and the response result is fed back to the any other terminal.

[0148] In a possible implementation, the forwarding module 304, when forwarding each of the target protocol frames to the target end respectively, is configured to: cache each of the target protocol frames to a third queue; forward each of the target protocol frames in the third queue to the target end in a parallel transmission manner in the communication link.

[0149] In a possible implementation, the apparatus further comprises a statistics module 306, configured to: statistically collect message forwarding resource information and message traffic size in real time; the message forwarding resource information at least includes the state of various software and hardware resources required to be used in the message forwarding process, the state of Ethernet frame transceiving, the state of the queue, and the state of system resources; the state of the queue at least includes the state of the first queue, the second queue and the third queue respectively; adjust the resource allocation of the message forwarding process in real time according to the message forwarding resource information and the message traffic size.

[0150] In a possible implementation, the statistics module 306, when adjusting the resource allocation of the message forwarding process in real time according to the message forwarding resource information and the message traffic size, is configured to: dynamically increase the number of any queue in a case where the message forwarding resource information indicates that the usage rate of the queue reaches a preset usage rate; and / or, dynamically adjust the resources allocated to the message forwarding process according to the change of the message traffic size in a case where the message forwarding resource information indicates that there is a remaining available resource.

[0151] In a possible implementation, the forwarding module 304, when forwarding each of the target protocol frames to the target end respectively, is configured to: determine the forwarding mode for the target protocol frame according to the link direction and service demand of the communication link between the source end and the target end; send the target protocol frame to the target end through the gateway device of the target end in the forwarding mode.

[0152] The description of the processing flow of each module in the apparatus and the interaction flow between the modules can refer to the related description in the above method embodiments, and will not be described in detail here.

[0153] Based on the same technical concept, the embodiment of the present application also provides a computer device. Referring to Figure 4 As shown in FIG. 1, a structural schematic diagram of a computer device provided by the embodiment of the present application comprises: The processor 401, the memory 402 and the bus 403. The memory 402 stores machine readable instructions executable by the processor 401, and the processor 401 is configured to execute the machine readable instructions stored in the memory 402. When the machine readable instructions are executed by the processor 401, the processor 401 performs the following steps: S101: receiving each Ethernet frame sent by a source end, and storing a first position of each Ethernet frame to a first queue; the Ethernet frame is generated according to a data packet required to be sent by the source end and a maximum transmission unit newly acquired by the source end; the maximum transmission unit is related to a frame format of a protocol frame corresponding to a communication link between the source end and a target end; the protocol frame comprises at least one of a high-level orbit system frame, a digital video broadcast frame and a uniform space data link protocol frame; S102: acquiring each Ethernet frame according to each first position in the first queue respectively, performing fragmentation processing on the data packet based on the frame format of the protocol frame and the Ethernet frame, obtaining each fragmented packet, and storing a second position of each fragmented packet to a second queue; wherein each fragmented packet encapsulates a packet header, and the packet header is used to indicate a packet attribute of each fragmented packet; S103: sequentially acquiring each fragmented packet 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 to obtain a target protocol frame; and S104: forwarding each target protocol frame to the target end; the target end is configured to restore the data packet according to the packet header and the packet content corresponding to each target protocol frame.

[0154] The memory 402 comprises an internal memory 4021 and an external memory 4022; the internal memory 4021 is also called an internal storage, and is used to temporarily store operation data in the processor 401 and exchange data with the external memory 4022 such as a hard disk; the processor 401 exchanges data with the external memory 4022 through the internal 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 embodiment.

[0155] The embodiment of the present disclosure also provides a computer readable storage medium, which stores a computer program. When the computer program is run by a processor, the steps of the packet forwarding method described in the above method embodiment are executed. The storage medium can be a volatile or non-volatile computer readable storage medium.

[0156] The embodiments of the present disclosure further provide a computer program product carrying program codes, the program codes comprising instructions for executing the steps of the software updating method described in the above method embodiments, which can be specifically referred to the above method embodiments and will not be repeated here.

[0157] The computer program product can be specifically implemented by hardware, software or a combination thereof. In an optional embodiment, the computer program product is specifically embodied as a computer storage medium, and in another optional embodiment, the computer program product is specifically embodied as a software product, such as a software development kit (SDK) and the like.

[0158] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system and device can refer to the corresponding process in the above method embodiments, which will not be repeated here. In several embodiments provided by the present disclosure, it should be understood that the disclosed system, device and method can be implemented by other ways. The above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and there can be another division way in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some communication interface, device or unit, and can be electrical, mechanical or other forms.

[0159] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e. they can be located in one place or distributed on multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.

[0160] In addition, each functional unit in each embodiment of the present disclosure can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit.

[0161] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a nonvolatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present disclosure essentially or the parts that contribute to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present disclosure. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0162] If the technical solutions of the present application involve personal information, the product applying the technical solutions of the present application has been explicitly informed of the personal information processing rules before processing the personal information and has obtained the personal independent consent. If the technical solutions of the present application involve sensitive personal information, the product applying the technical solutions of the present application has obtained the personal independent consent before processing the sensitive personal information, and at the same time meets the requirement of "explicit consent". For example, at the personal information collection device such as camera, a clear and prominent mark is set to inform that the personal information collection range has been entered and the personal information will be collected. If the person voluntarily enters the collection range, it is considered to agree to collect the personal information. Or, on the device for processing personal information, the personal information processing rules are informed through obvious marks / information, and the personal authorization is obtained through pop-up information or by asking the person to upload his / her personal information. The personal information processing rules can include personal information processor, personal information processing purpose, processing method, and personal information type.

[0163] Finally, it should be noted that the above-described embodiments are merely specific embodiments of the present disclosure, used to illustrate the technical solutions of the present disclosure, and are not limiting. The protection scope of the present disclosure is not limited thereto, although the present 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 modify or easily think of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed by the present disclosure, or make equivalent replacements to some of the technical features; and these modifications, changes or replacements do not cause the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to 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 of the target protocol frames.

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 used 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

  • Data transmission method and device, medium and program product

    CN120353747A

  • Packet sending and receiving method, device and system

    WO2014015498A1

  • Packet processing method, electronic device, and storage medium

    WO2025077233A1