Communication method and apparatus, simulation verification method and apparatus, and communication system

CN122640009BActive Publication Date: 2026-11-03CHINA SATELLITE NETWORK SYSTEM CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202611131578.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2026-07-28
Publication Date
2026-11-03
Estimated Expiration
2046-07-28

AI Technical Summary

Technical Problem

Existing business simulation methods based on traffic prediction and synthesis models lack an end-to-end closed-loop verification process from real business to simulated network to real business, resulting in distorted simulation verification results.

Method used

The kernel protocol stack is used to obtain client data packets and send them to the satellite network simulation system to simulate the service transmission between virtual network nodes. The data packets returned by the simulation system are then sent back to the server to achieve end-to-end closed-loop verification.

Benefits of technology

This improves the accuracy and reliability of simulation verification, ensures the continuity of business sessions and the integrity of protocol stack behavior, and makes the simulation results closer to actual application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122640009B_ABST
    Figure CN122640009B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a communication method and device, a simulation verification method and device, and a communication system, and relates to the technical field of communication simulation. The communication method comprises: obtaining, by using a kernel protocol stack, a data packet sent by a client to a server; sending the data packet to a satellite network simulation system, the satellite network simulation system being configured to simulate service transmission between virtual network nodes; and sending, by using the kernel protocol stack, a data packet returned by the satellite network simulation system to the server. The technical scheme of the present disclosure can improve the accuracy of simulation verification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communication simulation technology, and specifically to a communication method, communication device, simulation verification method, simulation verification device, communication system, electronic device, computer-readable storage medium, and computer program product. Background Technology

[0002] Low Earth Orbit (LEO) satellite internet is a satellite system that provides high-speed internet access by building a global real-time information transmission network through a large-scale satellite constellation deployed in low Earth orbit. It boasts technological advantages such as low latency, wide coverage, and high transmission rates.

[0003] In related technologies, a service simulation method based on traffic prediction and synthesis models is used to simulate and verify the services of low-Earth orbit satellite networks. Summary of the Invention

[0004] The inventors of this disclosure have discovered the following problem in the aforementioned related technologies: using the synthetic flow generated by the model as simulation input leads to distortion of the simulation verification results.

[0005] In view of this, this disclosure proposes a communication technology solution that can improve the accuracy of simulation verification.

[0006] According to some embodiments of this disclosure, a communication method is provided, including: using a kernel protocol stack to obtain data packets sent by a client to a server; sending the data packets to a satellite network simulation system, the satellite network simulation system being used to simulate service transmission between virtual network nodes; and using the kernel protocol stack to send data packets returned by the satellite network simulation system to the server.

[0007] In some embodiments, the kernel protocol stack is used to obtain data packets sent by the client to the server, including: identifying data packets from the service traffic received from the kernel protocol stack based on the source IP address (Internet Protocol) and destination IP address of the data packets; and redirecting the data packets to the user-space data interface.

[0008] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module.

[0009] In some embodiments, the user-space data interface includes a network tunneling device interface or a network filter queue interface.

[0010] In some embodiments, the data packets returned by the satellite network simulation system are sent to the server using the kernel protocol stack, including: using the kernel protocol stack to send the data packets written back by the satellite network simulation system through the user-space data interface to the server.

[0011] In some embodiments, data packets are written back to the kernel protocol stack via a user-space data interface using an IP proxy module.

[0012] In some embodiments, data packets are sent to a satellite network simulation system, which is used to simulate service transmission between virtual network nodes, including: encapsulating data packets into messages based on routing configuration information; and sending the messages to the virtual network nodes of the satellite network simulation system.

[0013] In some embodiments, the routing configuration information includes the correspondence between the routing information of data packets and the address information of virtual network nodes, with the routing information pointing to the server.

[0014] In some embodiments, data packets are sent by the IP proxy module to the satellite network simulation system via inter-process communication, and returned by the satellite network simulation system to the IP proxy module via inter-process communication.

[0015] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0016] According to some other embodiments of this disclosure, a simulation verification method is provided, including: obtaining data packets sent by a client to a server from a kernel protocol stack; simulating service transmission between virtual network nodes using the data packets in a satellite network simulation system; and sending the data packets to the server through the kernel protocol stack.

[0017] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0018] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module, and are also written back to the kernel protocol stack via a user-space data interface using an IP proxy module.

[0019] In some embodiments, the user-space data interface includes a network tunneling device interface or a network filter queue interface.

[0020] According to some embodiments of this disclosure, a communication device is provided, comprising: an acquisition module configured to acquire data packets sent by a client to a server using a kernel protocol stack; a first sending module configured to send the data packets to a satellite network simulation system, the satellite network simulation system being used to simulate service transmission between virtual network nodes; and a second sending module configured to send data packets returned by the satellite network simulation system to the server using a kernel protocol stack.

[0021] According to some embodiments of this disclosure, a simulation verification apparatus is provided, comprising: an acquisition module configured to acquire data packets sent by a client to a server from a kernel protocol stack; a simulation module configured to simulate service transmission between virtual network nodes in a satellite network simulation system using the data packets; and a sending module configured to send the data packets to the server via the kernel protocol stack.

[0022] According to some embodiments of this disclosure, a communication system is provided, including: a communication device for executing the communication method of any of the above embodiments; and a simulation verification device for executing the simulation verification method of any of the above embodiments.

[0023] According to some embodiments of this disclosure, an electronic device is provided, including: a memory; and a processor coupled to the memory, the processor being configured to execute the communication method of any of the above embodiments or the simulation verification method of any of the above embodiments based on instructions stored in the memory.

[0024] According to some embodiments of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the communication method of any of the above embodiments or the simulation verification method of any of the above embodiments.

[0025] According to some embodiments of this disclosure, a computer program product is provided, including instructions that, when executed by a processor, cause the processor to perform a communication method or a simulation verification method according to any of the above embodiments.

[0026] In the above embodiments, the data packets that the client originally intended to send to the server are forwarded to the satellite network simulation system via the kernel protocol stack. This makes the simulation verification process in the satellite network simulation system more closely resemble real business scenarios, thereby improving the accuracy of the simulation verification. On the other hand, by sending the data packets returned by the satellite network simulation system back to the server, the integrity of the business can be maintained, and the accuracy of the simulation verification can be further improved through an end-to-end closed-loop verification process.

[0027] It should be understood that the summary section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0028] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of some embodiments thereof in the accompanying drawings, in which:

[0029] Figure 1 Flowcharts illustrating communication methods provided by some embodiments of this disclosure are shown.

[0030] Figure 2 Flowcharts illustrating simulation verification methods provided by some embodiments of this disclosure are shown.

[0031] Figure 3 A schematic diagram illustrating the communication process of a communication system provided in some embodiments of this disclosure is shown.

[0032] Figure 4 A schematic diagram illustrating the data packet flow provided in some embodiments of this disclosure is shown;

[0033] Figure 5 Block diagrams of communication devices provided in some embodiments of this disclosure are shown;

[0034] Figure 6 This diagram illustrates a block diagram of a simulation verification apparatus provided in some embodiments of the present disclosure;

[0035] Figure 7 Block diagrams of communication systems provided by some embodiments of this disclosure are shown; and

[0036] Figure 8 Block diagrams of electronic devices provided in some embodiments of this disclosure are shown. Detailed Implementation

[0037] The principles of this disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described for illustrative purposes only and to help those skilled in the art to understand and implement this disclosure, and do not impose any limitation on the scope of this disclosure. The disclosure described herein may be implemented in ways other than those described below.

[0038] Unless otherwise defined, all technical and scientific terms used in this disclosure have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.

[0039] References to "some embodiments," "embodiments," "example embodiments," etc., in this disclosure indicate that the described embodiments may include specific features, structures, or characteristics, but not every embodiment needs to include specific features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiments. Moreover, when a specific feature, structure, or characteristic is described in conjunction with an example embodiment, whether explicitly described or not, those skilled in the art will recognize that such a feature, structure, or characteristic affects its application to other embodiments.

[0040] It should be understood that while the terms “first” and “second”, etc., may be used in this disclosure to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of the exemplary embodiments, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term “and / or” as used in this disclosure includes any and all combinations of one or more of the listed terms. The term “based on” means, unless otherwise clearly indicated, at least partially based on. The term “instruction” covers both direct and indirect instructions.

[0041] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. The singular forms “a,” “an,” and “the” used in this disclosure also include the plural forms unless the context clearly indicates otherwise. The terms “a group of elements” or “collection of elements” as used in this disclosure are intended to include one or more elements. It should also be understood that the terms “comprising,” “including,” “having,” “possessing,” “comprise,” and / or “including,” when used in this disclosure, specify the presence of the stated features, elements, and / or components, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.

[0042] As used in this disclosure, the term "communication network" means a network that conforms to any appropriate communication standard, such as a satellite network as described below. For example, a communication network may include LTE (Long Term Evolution), LTE-A (LTE-Advanced), WCDMA (Wideband Code Division Multiple Access), HSPA (High Speed ​​Packet Access), NB-IoT (Narrow Band Internet of Things), V2V (Vehicle to Vehicle), D2D (Device to Device), V2X (Vehicle to Everything), NR (New Radio), NTN (Non-Terrestrial Network), etc. Furthermore, communication between terminal devices and network devices in a communication network can be performed according to any suitable generation of communication protocol, including but not limited to 1G (1st Generation), 2G (2nd Generation), 2.5G, 2.75G, 3G (3rd Generation), 4G (4th Generation), 4.5G, 5G (5th Generation), 5G-Advanced, the future 6G (6th Generation) communication protocols, and / or any other protocols currently known or to be developed in the future. Embodiments of this disclosure can be applied to satellite communication systems. Considering the rapid development in communications, future types of communication technologies and systems will naturally exist, and this disclosure can be implemented using these technologies and systems. It should not be considered that the scope of this disclosure is limited to the aforementioned systems.

[0043] As used in this disclosure, the term "network device" refers to a node in a communication network, such as a virtual network node in the satellite network simulation system described below. Terminal devices access the network and receive services from it through this node. Depending on the terminology and technology applied, a network device can refer to a BS (Base Station) or AP (Access Point), such as a Node B (NodeB or NB), an evolved Node B (eNodeB or eNB), an NR NB (also called a gNB), a 6GR NB (also called a aNB), an RRU (Remote Radio Unit), an RH (Radio Head), an RRH (Remote Radio Head), a relay node, a satellite with a transparent payload, or a satellite with a regenerative payload. An example of a relay node can be an IAB (Integrated Access and Backhaul) node. The DU (Distributed Unit) portion of an IAB node can perform the functions of a "network device" and therefore can operate as a network device. In the following description, the terms "network device," "base station," "BS," and "node" are used interchangeably.

[0044] As used in this disclosure, the term "terminal device" means any terminal device capable of wireless communication, such as the client and server mentioned below. By way of example and not limitation, a terminal device may also be referred to as a communication device, UE (User Equipment), SS (Subscriber Station), portable user station, MS (Mobile Station), or AT (Access Terminal). The terminal device may include, but is not limited to, mobile phones, cellular phones, smartphones, VoIP (Voice over Internet Protocol) phones, wireless local loop phones, VSAT (Very Small Aperture Terminal), tablets, wearable terminal devices, PDAs (Personal Digital Assistants), portable computers, desktop computers, image capture terminal devices such as digital cameras, gaming terminal devices, music storage and playback devices, in-vehicle wireless terminal devices, wireless endpoints, mobile stations, LEE (Laptop Embedded Equipment), LME (Laptop Mounted Equipment), USB dongles, smart devices, CPE (Customer Premises Equipment), IoT (Internet of Things) devices, watches or other wearable devices, HMDs (Head Mounted Devices). Displays (head-mounted displays), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices operating in the context of industrial and / or automated processing chains), consumer electronics devices, relay nodes, devices operating on commercial and / or industrial wireless networks, etc. The MT (Mobile Termination) portion of an IAB node can perform the functions of a "terminal device" and therefore can operate as a terminal device. In the following description, the terms "terminal device," "communication device," "terminal," "user equipment," and "UE" are used interchangeably.

[0045] While the functions described in this disclosure may be implemented in fixed and / or wireless network nodes in various example embodiments, in other example embodiments, these functions may be implemented in user equipment devices (such as cellular phones, tablet computers, laptop computers, desktop computers, mobile IoT devices, or fixed IoT devices). For example, the user equipment device may suitably have the corresponding capabilities described in relation to fixed and / or wireless network nodes. The user equipment device may be a user equipment and / or a control device (e.g., a chipset or processor) configured to control the user equipment when installed in it. Examples of these functions include boot server functions and / or home subscriber servers, which may be implemented in the user equipment device by providing the user equipment device with software configured to be executed by the user equipment device from the perspective of these functions / nodes.

[0046] As mentioned above, in related technologies, the service simulation method based on traffic prediction and synthesis models relies on the simulated service traffic driven by prediction and generated by traffic to evaluate and verify the performance of low-Earth orbit satellite network services.

[0047] For example, the spatiotemporal sequences of historical access traffic from low-Earth orbit satellites can be used to model the dynamic relationships between satellites in time and space through a spatiotemporal attention mechanism, and artificial intelligence methods can be used to predict future access traffic for each satellite. Alternatively, terminal-level, connection-level, or regional-level traffic generation models can be constructed to synthesize service loads that conform to day-night tidal patterns by gridded areas. The synthesized traffic generated by the model can then be used as simulation input for network performance evaluation.

[0048] However, the aforementioned service simulation methods lack an end-to-end closed-loop verification process of "real service - simulated network - real service," making it impossible to observe the transmission quality of the service on real clients. Furthermore, these methods lack the real protocol stack behavior of real network services in the face of dynamic changes in satellite links, leading to distorted simulation verification results.

[0049] To address at least one of the above problems, this disclosure proposes a communication technology solution that can improve the accuracy of simulation verification.

[0050] For example, the technical solution of this disclosure can be implemented through the following embodiments.

[0051] Figure 1 A flowchart illustrating a communication method provided by some embodiments of this disclosure is shown.

[0052] like Figure 1 As shown, in step 110, the kernel protocol stack is used to obtain the data packets sent by the client to the server.

[0053] For example, data packets may include components of real business traffic sent from a real application client to a real application server. The kernel protocol stack may include the IP protocol stack in the Linux kernel (kernel IP protocol stack).

[0054] In step 120, the data packet is sent to the satellite network simulation system, which is used to simulate the service transmission between virtual network nodes.

[0055] For example, a satellite network simulation system can include a real-time simulation system for low-Earth orbit satellite networks. This system supports real-time packet injection and performs real-time simulations based on satellite dynamic topology, link failures, and other characteristics.

[0056] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0057] For example, data packets in the kernel protocol stack can be hijacked and sent to a satellite network simulation system. The satellite network simulation system simulates and verifies services by simulating service transmissions between virtual network nodes.

[0058] In this way, the real business traffic that the real application client was originally going to send to the real application server is intercepted by the kernel protocol stack and sent to the satellite network simulation system. Using this real business traffic as input to the satellite network simulation system, the process of business transmission is simulated. This allows for accurate reproduction of the response behavior of real business traffic to link changes in a highly dynamic, low-bandwidth low-Earth orbit satellite network environment, thereby improving the accuracy of simulation verification.

[0059] In step 130, the data packets returned by the satellite network simulation system are sent to the server using the kernel protocol stack. For example, the satellite network simulation system can provide a data packet re-injection interface to return data packets.

[0060] In the above embodiments, data packets can be sent to the actual application server intended for delivery via the kernel protocol stack. Through the end-to-end closed-loop transmission process, QoE (Quality of Experience) changes can be observed on the actual application client. This not only maintains the continuity of service sessions but also verifies the end-to-end transmission performance of network services through closed-loop verification of real service traffic, further improving the reliability and accuracy of simulation verification.

[0061] Step 110 will now be illustrated by way of some examples.

[0062] In some embodiments, data packets are identified from service traffic received from the kernel protocol stack based on their source and destination IP addresses; the packets are then redirected to the user-space data interface. For example, data packets can be identified by matching their source and destination IP addresses.

[0063] In the above embodiments, by hijacking data packets to user space, dynamic path control with millisecond-level response can be achieved in user space. This avoids the link state mismatch problem during link switching that relies on local area network routing mechanisms, thereby improving the accuracy of simulation verification results.

[0064] In some embodiments, the user-space data interface includes a network tunnel device interface or a network filter queue interface. For example, the network tunnel device interface may be the TUN interface of a virtual TUN (Network Tunnel) device, and the network filter queue interface may be the interface of the NFQueue (Netfilter Queue) component of the Linux Netfilter framework.

[0065] For example, you can create a virtual TUN device, configure IP routing rules, match the source IP address and destination IP address of a data packet, and redirect the data packet to the TUN interface. Alternatively, you can use iptables rules to match the source IP address and destination IP address of a data packet and redirect the data packet to an NFQueue interface.

[0066] For example, eBPF (extended Berkeley Packet Filter) technology can be used to capture packets into user space.

[0067] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module.

[0068] For example, the IP proxy module can be deployed in a Docker or Kubernetes container on the server where the server is located for hijacking and re-injecting business traffic.

[0069] Thus, the communication method disclosed herein runs on a general-purpose server without the limitation of dedicated equipment, which can not only reduce device costs and deployment costs, but also support containerized deployment and be extended to large-scale multi-service concurrent scenarios.

[0070] For example, an IP proxy module may include a traffic hijacking proxy module and a packet re-injection module. The traffic hijacking proxy module is used to hijack data packets and send the hijacked packets to the satellite network simulation system. The packet re-injection module is used to receive data packets returned by the satellite network simulation system and write the received packets back to the kernel protocol stack.

[0071] For example, the traffic hijacking proxy module can also be moved from the server side to the client side to adapt to testing scenarios of uncontrollable SaaS (Software as a Service) servers.

[0072] For example, in response to redirecting packets to the TUN interface, the traffic hijacking agent module can obtain packets from the TUN device before the packets enter the standard kernel IP protocol stack processing flow, and send the obtained packets to the satellite network simulation system.

[0073] For example, in response to an interface redirecting packets to an NFQueue, the traffic hijacking proxy module can call the libnetfilter_queue library to retrieve packets from the kernel queue and return an NF_DROP verdict to prevent further packet delivery. After retrieving the packets, the traffic hijacking proxy module can send them to the satellite network simulation system.

[0074] The following examples illustrate how, after hijacking a data packet, the data packet is sent from the kernel protocol stack to the satellite network simulation system via step 120.

[0075] In some embodiments, routing configuration information may include a mapping between packet routing information and virtual network node address information, with the routing information pointing to the server. For example, packet routing information may include an IP 5-tuple. The IP 5-tuple points to the IP address of the real application server to which the packet was originally intended to be sent, such as the original destination IP address of the packet. The routing configuration information can be distributed to the traffic hijacking proxy module.

[0076] For example, the traffic hijacking proxy module can achieve a reversible mapping between the original public IP address (e.g., the IP address of the real application server) and the local area network IP address (e.g., the IP address of the virtual network node) of the satellite network simulation system based on the correspondence between the IP 5-tuple of the data packet and the address information of the virtual network node.

[0077] In the above embodiments, data packets destined for the public network are captured in user space, supporting the mapping of public IP addresses to local area network IP addresses before transmission to the satellite network simulation system. After the satellite network simulation system completes the end-to-end satellite link simulation of the data packets, it maps the data packets back to the public IP address and injects them back into the kernel protocol stack. The kernel protocol stack then routes the data packets to external cloud services according to normal logic. This achieves logical isolation between the simulation environment and the external public network. By supporting end-to-end simulation of public network services, the verifiable business scenarios are richer and closer to actual application scenarios, thereby improving the accuracy of simulation verification results.

[0078] In some embodiments, data packets are encapsulated into messages based on routing configuration information; the messages are then sent to virtual network nodes in the satellite network simulation system. For example, a virtual network node may include a virtual terminal node.

[0079] For example, for each acquired data packet, the traffic hijacking proxy module can record the packet's timestamp and routing information. Then, based on the routing configuration information, the data packet can be encapsulated into a lightweight message.

[0080] For example, messages can be sent to virtual terminal nodes of a satellite network simulation system via inter-process communication.

[0081] In the above embodiments, forwarding data packets to the satellite network simulation system via inter-process communication avoids reliance on the native IP addresses of service traffic for routing. Therefore, during link switching, the corresponding connection relationships can be updated efficiently, avoiding link state mismatch issues and thus improving the accuracy of simulation verification results.

[0082] The following examples illustrate how, through step 130, the data packets returned by the satellite network simulation system are sent to the server to maintain the continuity of the business session.

[0083] In some embodiments, data packets are sent by the IP proxy module to the satellite network simulation system via inter-process communication, and returned by the satellite network simulation system to the IP proxy module via inter-process communication.

[0084] For example, the IP proxy module and the satellite network simulation system can be connected via a standard network interface and an inter-process communication channel. Data packets can be transmitted between the IP proxy module and the satellite network simulation system through inter-process communication.

[0085] For example, data packets can be sent to the satellite network simulation system by the traffic hijacking agent module via inter-process communication, and returned to the data packet reinjection module by the satellite network simulation system via inter-process communication.

[0086] In the above embodiment, after capturing data packets at the IP layer, inter-process communication (IPC) is used to deliver the packets to the satellite network simulation system for processing. After the simulation is complete, the data packets are returned to the IP proxy module via IPC. This benefits the IP proxy module by allowing it to re-inject the data packets back into the kernel protocol stack as is. This enables upper-layer applications to complete communication seamlessly, fully preserving protocol stack behavior and session continuity.

[0087] In some embodiments, data packets are written back to the kernel protocol stack via a user-space data interface using an IP proxy module. For example, the user-space data interface may include a network tunneling device interface or a network filter queue interface.

[0088] For example, after receiving the data packet returned by the simulation, the data packet re-injection module uses a write-back method that corresponds to the way the traffic hijacking proxy module obtains the data packet.

[0089] For example, in response to the traffic hijacking proxy module obtaining data packets from the TUN device, the data packet injection module can write the data packets into the TUN device file descriptor, and the kernel protocol stack will treat the data packets as "incoming packets from the network" and deliver them normally to the Socket layer.

[0090] For example, in response to the traffic hijacking agent module retrieving packets from the kernel queue, the packet re-injection module can re-inject the packets into the kernel protocol stack via Netfilter's NF_REPEAT or a user-space re-injection tool, allowing the kernel protocol stack to continue completing TCP / UDP processing.

[0091] In this way, a data packet write-back method corresponding to the data packet hijacking method can be used to write the hijacked data packets back to the kernel protocol stack as is. By preserving the integrity and reliability of the data packets and maintaining the completed service session, the accuracy of simulation verification is improved.

[0092] In some embodiments, the kernel protocol stack is used to send the data packets written back by the satellite network simulation system through the user-space data interface to the server.

[0093] For example, after the data packet is written back to the kernel protocol stack, the kernel protocol stack routes and forwards the data packet to the real application server based on the original destination IP address of the data packet.

[0094] In this way, after the simulation is complete, the data packets transmitted through the satellite network simulation system can be written back to the protocol stack as is. This allows upper-layer applications to complete end-to-end communication without being aware of the intermediate simulation process, thus preserving their protocol stack behavior and session continuity. For example, video conferencing can continue, or audio and video streams can be decoded and played normally.

[0095] Figure 2A flowchart illustrating a simulation verification method provided by some embodiments of this disclosure is shown.

[0096] like Figure 2 As shown, in step 210, the data packets sent by the client to the server are obtained from the kernel protocol stack.

[0097] For example, a data packet can be a component of real business traffic sent from a real application client to a real application server. The original destination IP address of the data packet is the IP address of the real application server. In the kernel protocol stack, the data packet is identified by matching its source and destination IP addresses, and then redirected to the user-space data interface to hijack the data packet. The satellite network simulation system can utilize a traffic hijacking proxy module to obtain the hijacked data packet from the user-space data interface of the kernel protocol stack.

[0098] For example, virtual network nodes in a satellite network simulation system listen to message streams from a traffic hijacking agent module. Upon receiving a message, the satellite network simulation system parses the data packet and uses it as input to the virtual terminal node.

[0099] In step 220, in the satellite network simulation system, data packets are used to simulate the service transmission between virtual network nodes.

[0100] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0101] For example, a satellite network simulation system can use data packets as input to the first virtual network node to trigger the complete forwarding process of the simulated network. The complete forwarding process of the simulated network includes satellite-to-ground link access, on-board routing, and reception by the peer terminal.

[0102] For example, when a data packet arrives at the second virtual network node, the satellite network simulation system can collect performance indicators, such as end-to-end latency, out-of-order delivery, and packet loss, to evaluate and verify the service quality of real business traffic.

[0103] In this way, by decoupling the service forwarding logic from the kernel routing mechanism, dynamic path control with millisecond-level response is achieved in user space. Service flows are always forwarded according to the real-time topology of the simulation system, thus accurately replicating the response behavior of real services to link changes in a highly dynamic, low-bandwidth low-Earth orbit satellite network environment. Obtaining realistic and reasonable end-to-end QoE evaluation results improves the accuracy of simulation verification.

[0104] In step 230, the data packet is sent to the server via the kernel protocol stack.

[0105] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module, and are also written back to the kernel protocol stack via the same user-space data interface. For example, the user-space data interface may include a network tunneling device interface or a network filter queue interface. The IP proxy module includes a traffic hijacking proxy module and a data packet reinjection module.

[0106] For example, a satellite network simulation system can send data packets to a data packet re-injection module via inter-process communication. Data packets written back to the kernel protocol stack via the data packet re-injection module are then sent to the server by the kernel protocol stack.

[0107] In this way, the IP proxy module is used to send data packets from the user-space data interface of the kernel protocol stack to the satellite network simulation system. After the simulation transmission is completed, the data packets are written back to the kernel protocol stack from the user-space data interface by the satellite network simulation system. Through high-fidelity closed-loop verification from the real service end to end, the accuracy of simulation verification is improved.

[0108] Figure 3 A schematic diagram illustrating the communication process of a communication system provided in some embodiments of this disclosure is shown.

[0109] like Figure 3 As shown, the communication system may include real service terminals, IP proxy modules, and satellite network simulation systems.

[0110] The actual business terminal may include an actual application client 310 and an actual application server 370. For example, for video conferencing services, the actual business terminal may include a video conferencing client deployed on a mobile phone or PC (Personal Computer), and a video conferencing server deployed on a local server or a public network server. The server includes a kernel IP protocol stack 320.

[0111] The IP proxy module may include a traffic hijacking proxy module 330 and a packet injection module 360, used to hijack and inject service traffic. The traffic hijacking proxy module 330 can also be deployed on the same node as the satellite network simulation system 380 to simplify the architecture.

[0112] The satellite network simulation system 380 may include a terminal simulation module 340 and a satellite network simulation module 350. The terminal simulation module 340 may include virtual network nodes. For example, the satellite network simulation system 380 may support real-time packet injection and perform real-time simulation based on satellite dynamic topology, link failures, and other characteristics. The satellite network simulation system 380 may also provide a packet injection interface for returning data packets.

[0113] In some embodiments, the environment deployment can be verified before the formal communication process begins.

[0114] For example, for the real application server 370, a real network service server, such as an FTP (File Transfer Protocol) server, a local video conferencing server, etc., can be deployed in a server cluster. Alternatively, a server with public network access can be used as the server to complete communication with public network services. When deploying a real network service server in a server cluster, Docker containerization or Kubernetes orchestration can be chosen.

[0115] For example, for real application client 310, you can use a PC or mobile phone to run a standard browser or native client to try to access the server and establish a connection.

[0116] For example, before formal communication, the mapping between the IP 5-tuple of the real application data packet and the virtual network node can be sent to the traffic hijacking proxy module 330 as routing configuration information.

[0117] In some embodiments, in response to the completion of the verification environment deployment, a traffic hijacking proxy module 330 can be started on the client or server host to obtain real application data packets from the kernel protocol stack 320.

[0118] For example, the traffic hijacking proxy module 330 can use the TUN device to read real application data packets, or call the libnetfilter_queue library to synchronously obtain real application data packets from the kernel queue in order to capture real application data packets.

[0119] In some embodiments, real application data packets can be injected into the satellite network simulation system 380.

[0120] For example, the traffic hijacking proxy module 330 can send the acquired real application data packets to the satellite network simulation system 380 via inter-process communication.

[0121] For example, the satellite network simulation system 380 may include a first virtual network node and a second virtual network node. The satellite network simulation system 380 can use acquired real application data packets as input to the first virtual network node to simulate the complete forwarding process of the network. The network forwarding process may include processes such as satellite-to-ground link access, on-board routing, and reception by the peer terminal.

[0122] In some embodiments, service statistics and packet retrieval can be performed in the satellite network simulation system 380.

[0123] For example, when a real application data packet arrives at the second virtual network node, the satellite network simulation system 380 first collects performance indicators, such as end-to-end latency, whether it is out of order, and whether there is packet loss; then it returns the data packet to the data packet injection module 360 ​​through inter-process communication.

[0124] In some embodiments, packet write-back and protocol stack recovery can be performed.

[0125] For example, after receiving the real application data packet returned by the satellite network simulation system 380, the data packet re-injection module 360 ​​can use a data packet write-back method corresponding to the packet capture method of the traffic hijacking proxy module 330 to write the real application data packet back to the kernel IP protocol stack 320. After receiving the real application data packet, the kernel IP protocol stack 320 resumes the standard kernel IP protocol stack processing flow and sends the real application data packet to the real application server 370.

[0126] In some embodiments, a multi-dimensional comprehensive evaluation of real application data packets can be performed.

[0127] For example, simulation evaluation metrics may include at least one of QoS (Quality of Service) and QoE metrics. QoS metrics can be derived from the satellite network simulation system 380 and used to evaluate end-to-end latency, jitter, packet loss rate, etc. QoE metrics can be collected from real application clients 310 and used to evaluate video quality metrics, audio quality metrics, etc.

[0128] For example, in service assessments, QoS and QoE data timestamps can be aligned to analyze the causal relationship between satellite network transmission characteristics and real network services.

[0129] The communication method disclosed herein will be illustrated below with examples in conjunction with application scenarios.

[0130] For example, in applications where a single user conducts video conferencing using an online video conferencing tool, the server can be deployed on a public network-accessible server, while the video conferencing client is deployed on the user's PC. Real business traffic can be hijacked using TUN devices. A satellite network simulation system loads an inclined orbit constellation model, with the user terminal location bound to a ground station in the city. The service quality of real services can be verified by observing the number of frames of video stuttering during satellite switching and the switching latency displayed in the simulation record.

[0131] For example, in application scenarios where multiple users simultaneously access web pages and download files, NFQueue can be used to intercept the real business traffic of all clients. The IP proxy module can be deployed in different containers. A satellite network simulation system simulates high-load scenarios. In response to multiple virtual clients successfully completing the concurrent download of web page files, the system uses NFQueue to implement unified link control over all session traffic in user space, and no download interruption occurs. This indicates that the quality of service (QoS) of the real business meets communication requirements.

[0132] Figure 4 This diagram illustrates the data packet flow provided in some embodiments of the present disclosure.

[0133] like Figure 4 As shown, the real application data packets that the real application client 310 wants to send to the real application server 370 can be intercepted and sent to the satellite network simulation system 380 via the kernel IP protocol stack 320 and the traffic hijacking proxy module 330. After the data packets are simulated in the satellite network simulation system 380, they can be sent to the real application server 370 via the kernel IP protocol stack 320 and the data packet reinjection module 360.

[0134] For example, real application data packets are sent from the real application client 310 to the kernel IP protocol stack 320. After being redirected by the kernel IP protocol stack 320, the real application data packets are read by the traffic hijacking proxy module 330 and sent to the satellite network simulation system 380 via inter-process communication.

[0135] For example, after the real application data packets complete the communication simulation in the satellite network simulation system 380, the satellite network simulation system 380 sends them to the data packet reinjection module 360 ​​via inter-process communication. After being received by the data packet reinjection module 360, the real application data packets are written back to the kernel IP protocol stack 320.

[0136] For example, after writing back to the kernel IP protocol stack 320, real application data packets can be forwarded by the normal routing of the kernel IP protocol stack 320 and sent to the real application server 370.

[0137] Figure 5 A block diagram of a communication apparatus provided in some embodiments of this disclosure is shown.

[0138] like Figure 5 As shown, the communication device 500 may include an acquisition module 510, a first transmission module 520, and a second transmission module 530.

[0139] In some embodiments, the acquisition module 510 is configured to use the kernel protocol stack to acquire data packets sent by the client to the server.

[0140] In some embodiments, the acquisition module 510 is configured to identify data packets from service traffic received from the kernel protocol stack based on the source IP address and destination IP address of the data packets; and redirect the data packets to the user-space data interface.

[0141] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module.

[0142] In some embodiments, the user-space data interface includes a network tunneling device interface or a network filter queue interface.

[0143] In some embodiments, the first sending module 520 is configured to send data packets to a satellite network simulation system, which is used to simulate service transmission between virtual network nodes.

[0144] In some embodiments, the first sending module 520 is configured to encapsulate data packets into messages based on routing configuration information and send the messages to virtual network nodes of the satellite network simulation system.

[0145] In some embodiments, the routing configuration information includes the correspondence between the routing information of data packets and the address information of virtual network nodes, with the routing information pointing to the server.

[0146] In some embodiments, the second sending module 530 is configured to use the kernel protocol stack to send the data packets returned by the satellite network simulation system to the server.

[0147] In some embodiments, the second sending module 530 is configured to use the kernel protocol stack to send the data packets written back by the satellite network simulation system through the user-space data interface to the server.

[0148] In some embodiments, data packets are written back to the kernel protocol stack via a user-space data interface using an IP proxy module.

[0149] In some embodiments, data packets are sent by the IP proxy module to the satellite network simulation system via inter-process communication, and returned by the satellite network simulation system to the IP proxy module via inter-process communication.

[0150] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0151] Figure 6 A block diagram of a simulation verification apparatus provided in some embodiments of this disclosure is shown.

[0152] like Figure 6 As shown, the simulation verification device 600 may include an acquisition module 610, a simulation module 620, and a transmission module 630.

[0153] In some embodiments, the acquisition module 610 is configured to acquire data packets sent by the client to the server from the kernel protocol stack.

[0154] In some embodiments, the simulation module 620 is configured to simulate service transmission between virtual network nodes using data packets in a satellite network simulation system.

[0155] In some embodiments, the sending module 630 is configured to send data packets to the server via the kernel protocol stack.

[0156] In some embodiments, the virtual network node includes a first virtual network node and a second virtual network node, and the data packets are used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

[0157] In some embodiments, data packets are sent to the satellite network simulation system via a user-space data interface using an IP proxy module, and are also written back to the kernel protocol stack via a user-space data interface using an IP proxy module.

[0158] In some embodiments, the user-space data interface includes a network tunneling device interface or a network filter queue interface.

[0159] Figure 7 A block diagram of a communication system provided by some embodiments of the present disclosure is shown.

[0160] like Figure 7 As shown, the communication system 700 may include a communication device 710 and a simulation verification device 720.

[0161] The communication device 710 is used to execute the communication method of any embodiment of the present disclosure. The simulation verification device 720 is used to execute the simulation verification method of any embodiment of the present disclosure.

[0162] Figure 8 Block diagrams of electronic devices provided in some embodiments of this disclosure are shown.

[0163] like Figure 8 As shown, the electronic device 800 may include one or more processors 810, one or more memories 820 coupled to the processors 810, and one or more communication modules 840 coupled to the processors 810.

[0164] Communication module 840 is used for bidirectional communication. Communication module 840 has at least one antenna to facilitate communication. The communication interface can represent any interface necessary for communication with other network elements.

[0165] Processor 810 can be any type suitable for a local technology network, and as a non-limiting example, it can include one or more of the following: general-purpose computer, special-purpose computer, microprocessor, DSP (Digital Signal Processor), and processor based on a multi-core processor architecture. Electronic device 800 can have multiple processors, such as application-specific integrated circuit chips, which are timely driven to a clock that synchronizes with the main processor.

[0166] Memory 820 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, ROM (Read-Only Memory) 824, EPROM (Erasable Programmable Read-Only Memory), flash memory, hard disk, CD (Compact Disc), DVD (Digital Versatile Disc), and other magnetic and / or optical storage. Examples of volatile memories include, but are not limited to, RAM (Random Access Memory) 822 and other volatile memories that do not persist during power-off periods.

[0167] Computer program 830 includes computer-executable instructions that are executed by the associated processor 810. Program 830 may be stored in ROM 824. Processor 810 may perform any appropriate actions and processes by loading program 830 into RAM 822.

[0168] The embodiments of this disclosure can be implemented by program 830, or by hardware, or by a combination of software and hardware.

[0169] In some embodiments, program 830 may be tangibly contained in a computer-readable medium, which may be contained in an electronic device 800 (e.g., memory 820) or other storage device accessible to the electronic device 800. The electronic device 800 may load program 830 from the computer-readable medium into RAM 822 for execution. The computer-readable medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc. Program 830 is stored on the computer-readable medium.

[0170] Generally, the various embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while others may be implemented in firmware or software, which may be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of this disclosure are shown and described as block diagrams, flowcharts, or other graphical representations, it should be understood that, as non-limiting examples, the blocks, devices, systems, techniques, or methods described in this disclosure may be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0171] This disclosure also provides a computer-readable storage medium having instructions stored thereon, which, when executed individually or collectively by one or more processors of a computing device, cause the computing device to perform a communication method or a simulation verification method according to any embodiment of this disclosure.

[0172] This disclosure also provides a computer program product. The computer program product includes instructions that, when executed individually or collectively by one or more processors of a computing device, cause the computing device to perform a communication method or a simulation verification method according to any embodiment of this disclosure. Typically, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or separated as needed. The machine-executable instructions for the program modules can be executed locally or in a distributed device. In a distributed device, the program modules can reside in both local and remote storage media.

[0173] Program code used to perform the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, partially on a remote machine, partially on a remote machine, or entirely on a remote machine or server as a standalone software package.

[0174] In the context of this disclosure, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.

[0175] Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable media can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses, or any suitable combination thereof. More specific examples of computer-readable storage media include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0176] Furthermore, although the operations are described in a specific order, this should not be construed as requiring that these operations be performed in the specific order or sequence shown, or that all of the operations shown be performed to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.

[0177] Although this disclosure has been described in language specific to structural features and / or methodological behavior, it should be understood that the disclosure as defined in the appended claims is not necessarily limited to the specific features or behaviors described above. Rather, the specific features and actions described above are disclosed as exemplary forms for implementing the claims.

[0178] It should be fully understood that the use of personally identifiable information should comply with privacy policies and practices generally considered to meet or exceed industry or governmental requirements for protecting user privacy. In particular, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to the user.

Claims

1. A communication method, comprising: Use the kernel protocol stack to obtain data packets sent from the client to the server; The data packet is sent to a satellite network simulation system, which is used to simulate service transmission between virtual network nodes. Using the kernel protocol stack, the data packets returned by the satellite network simulation system are sent to the server. The step of using the kernel protocol stack to send the data packets returned by the satellite network simulation system to the server includes: Using the kernel protocol stack, the data packet is sent to the server based on its original destination IP address.

2. The communication method according to claim 1, wherein, The process of using the kernel protocol stack to obtain data packets sent from the client to the server includes: Based on the source IP address and destination IP address of the data packet, the data packet is identified from the service traffic received from the kernel protocol stack; The data packet is redirected to the user-space data interface.

3. The communication method according to claim 2, wherein, The data packet is sent to the satellite network simulation system via the user-space data interface using the IP proxy module.

4. The communication method according to claim 2, wherein, The user-space data interface includes a network tunnel device interface or a network filter queue interface.

5. The communication method according to claim 1, wherein, The step of using the kernel protocol stack to send the data packets returned by the satellite network simulation system to the server includes: Using the kernel protocol stack, the data packets written back by the satellite network simulation system through the user-space data interface are sent to the server.

6. The communication method according to claim 5, wherein, The data packet is written back to the kernel protocol stack via the user-space data interface using the IP proxy module.

7. The communication method according to any one of claims 1 to 6, wherein, The step of sending the data packet to the satellite network simulation system, which is used to simulate service transmission between virtual network nodes, includes: Based on the routing configuration information, the data packet is encapsulated into a message; The message is sent to the virtual network node of the satellite network simulation system.

8. The communication method according to claim 7, wherein, The routing configuration information includes the correspondence between the routing information of the data packets and the address information of the virtual network nodes, and the routing information points to the server.

9. The communication method according to any one of claims 1 to 6, wherein, The data packets are sent by the IP proxy module to the satellite network simulation system via inter-process communication, and are returned by the satellite network simulation system to the IP proxy module via the same inter-process communication.

10. The communication method according to any one of claims 1 to 6, wherein, The virtual network node includes a first virtual network node and a second virtual network node. The data packet is used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

11. A simulation verification method, comprising: Obtain the data packets sent by the client to the server from the kernel protocol stack; In a satellite network simulation system, the data packets are used to simulate service transmission between virtual network nodes; The data packet is sent to the server via the kernel protocol stack, wherein the data packet is sent to the server via the kernel protocol stack based on the original destination IP address of the data packet.

12. The simulation verification method according to claim 11, wherein, The virtual network node includes a first virtual network node and a second virtual network node. The data packet is used to verify the service quality of the satellite network simulation system by simulating the protocol stack behavior between the first virtual network node and the second virtual network node.

13. The simulation verification method according to claim 11, wherein, The data packets are sent to the satellite network simulation system via the user-space data interface using the IP proxy module, and are also written back to the kernel protocol stack via the user-space data interface using the IP proxy module.

14. The simulation verification method according to claim 13, wherein, The user-space data interface includes a network tunnel device interface or a network filter queue interface.

15. A communication device, comprising: The acquisition module is configured to use the kernel protocol stack to acquire data packets sent from the client to the server; The first sending module is configured to send the data packet to a satellite network simulation system, which is used to simulate service transmission between virtual network nodes. The second sending module is configured to use the kernel protocol stack to send the data packets returned by the satellite network simulation system to the server. The second sending module is further configured to use the kernel protocol stack to send the data packet to the server based on the original destination IP address of the data packet.

16. A simulation verification device, comprising: The acquisition module is configured to retrieve data packets sent from the client to the server from the kernel protocol stack; The simulation module is configured to simulate service transmission between virtual network nodes in a satellite network simulation system using the data packets. The sending module is configured to send the data packet to the server via the kernel protocol stack, wherein the data packet is sent to the server via the kernel protocol stack based on the original destination IP address of the data packet.

17. A communication system, comprising: A communication device for performing the communication method according to any one of claims 1 to 10; A simulation verification apparatus for performing the simulation verification method according to any one of claims 11 to 14.

18. An electronic device comprising: Memory; and A processor coupled to the memory, the processor being configured to execute the communication method of any one of claims 1 to 10 or the simulation verification method of any one of claims 11 to 14 based on instructions stored in the memory.

19. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the communication method of any one of claims 1 to 10 or the simulation verification method of any one of claims 11 to 14.

20. A computer program product comprising instructions that, when executed by a processor, cause the processor to perform the communication method according to any one of claims 1 to 10 or the simulation verification method according to any one of claims 11 to 14.

Citation Information

Patent Citations

  • Satellite networking routing protocol simulation system and method

    CN106571956A

  • Satellite communication network simulation system and method

    CN120151214A

  • Transparent proxy system for network traffic

    CN122204793A