Satellite terminal network management data transmission method and system
By introducing the KNI interface and ARP proxy module into the satellite terminal, a network management data transmission channel was established, which solved the data interaction problem caused by the DPDK driver and enabled normal communication between the NMS SERVER and NMS AGENT.
Patent Information
- Application Number
- CN202310119868.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-08
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2043-02-08
AI Technical Summary
Because the DPDK driver of the satellite terminal takes over, the management data of the NMS SERVER cannot be handed over to the LINUX kernel for processing, resulting in the inability to send data to the NMS AGENT. The existing technology cannot achieve normal communication between the NMS SERVER and the NMS AGENT.
A KNI interface is introduced to establish a network management data transmission channel between the satellite terminal and the LINUX kernel. The network management data is identified by ACL and encapsulated with an Ethernet header. The data is then sent to the LINUX kernel using the KNI interface. An ARP proxy module is introduced into the satellite terminal to realize data transmission.
This solves the problem of network management data not being able to interact with the kernel due to the DPDK driver, ensuring that the NMS AGENT program remains consistent in different network environments without requiring program modifications, while also enabling normal transmission of network management data.
Smart Images

Figure CN116318336B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data transmission. More specifically, it relates to a method and system for transmitting satellite terminal network management data. Background Technology
[0002] Since the satellite terminal uses DPDK (Data Plane Development Kit) for transceiver, the network card has been taken over by the DPDK driver and is not visible to the Linux kernel. This means that the management data of the NMS SERVER (network management server) cannot be handed over to the kernel for processing after it arrives at the terminal, resulting in the data not being sent to the NMS AGENT (network management agent).
[0003] The entire network management system uses the Linux kernel's TCP / IP protocol stack and communicates via SOCKET. However, since data transmission between NMSSERVER and NMS AGENT must be transmitted via satellite link and through a terminal to NMS AGENT, in order not to change the architecture of NMS AGENT, this invention needs to transmit network management data to NMS AGENT through the kernel.
[0004] To enable the establishment of a data channel between DPDK and the kernel, and to allow NMS SERVER and NMS AGENT to communicate normally, this invention introduces KNI (Kernel NIC Interface) to provide a means for communication between the kernel and DPDK. Summary of the Invention
[0005] One objective of this invention is to provide a method for transmitting satellite terminal network management data.
[0006] Another objective of this invention is to provide a satellite terminal network management data transmission system.
[0007] To achieve the above objectives, the present invention adopts the following technical solution:
[0008] A method for transmitting satellite terminal network management data, comprising:
[0009] Use the KNI interface tool provided by DPDK to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal;
[0010] After receiving data from the satellite link, the satellite terminal identifies the network management data based on the ACL (Access Control List) and transmits the network management data to the LINUX kernel through the network management data transmission channel.
[0011] Preferably, the transmission of the network management data to the KNI interface through the network management data transmission channel further includes encapsulating the network management data packet with an Ethernet header, sending it to the LINUX kernel through the KNI sending interface, and the LINUX kernel forwarding the network management data with the Ethernet header to the NMS AGENT (network management agent).
[0012] Preferably, after receiving the network management data, the NMS AGNET sends the response data to the LINUX kernel, the LINUX kernel forwards the response data to the KNI interface, and the KNI interface forwards the response data to the NMS SERVER (network management server).
[0013] Preferably, the upper-layer application in the satellite terminal introduces an address resolution protocol proxy, enabling the LINUX kernel to transmit network management data to the upper-layer application of the satellite terminal.
[0014] Preferably, the KNI interface forwards the response data to the NMS SERVER (network management server), and further includes encapsulating the response data into MAC / SLC format data.
[0015] Preferably, after receiving data, the KNI interface identifies the direction and type of the data flow by using the IP address and port number in the data.
[0016] A satellite terminal network management data transmission system, utilizing the method described in any one of the above, includes:
[0017] The network management data transmission channel establishment module is used to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal using the KNI interface tool provided by DPDK.
[0018] The network management data identification module is used to identify network management data in the satellite link data received by the satellite terminal based on the ACL (Access Control List).
[0019] The network management data transmission module transmits network management data to the LINUX kernel through the network management data transmission channel.
[0020] Preferably, the system further includes a data identification module for identifying the direction and type of data flow through IP addresses and port numbers in the data.
[0021] Preferably, the system further includes an ARP proxy module for transmitting network management data to upper-layer applications in the terminal.
[0022] The beneficial effects of this invention are as follows:
[0023] This invention enables the NMS AGNET program to remain consistent by creating a KNI device, eliminating the need to modify the program due to different network environments. It also solves the problem of network management data not being able to interact with the kernel due to the use of the DPDK driver. Attached Figure Description
[0024] The specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
[0025] Figure 1 The flowchart of the present invention is shown.
[0026] Figure 2 A schematic diagram of the satellite network connection topology is shown.
[0027] Figure 3 A schematic diagram of the network management data flow of the present invention is shown.
[0028] Figure 4 A flowchart illustrating the forward reception of network management data is shown in a specific embodiment.
[0029] Figure 5 This diagram illustrates a specific example of an ARP proxy.
[0030] Figure 6 A flowchart illustrating the reverse transmission of network management data is shown in a specific embodiment. Detailed Implementation
[0031] To more clearly illustrate the present invention, the following description is in conjunction with preferred embodiments and accompanying drawings. Figure 1-6 The present invention will be further described below. Similar components in the accompanying drawings are indicated by the same reference numerals. Those skilled in the art should understand that the following detailed description is illustrative rather than restrictive and should not be construed as limiting the scope of protection of the present invention.
[0032] like Figure 1 As shown, one embodiment of the present invention provides a method for transmitting satellite terminal network management data, including the following steps:
[0033] Use the KNI interface tool provided by DPDK to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal;
[0034] After receiving data from the satellite link, the satellite terminal identifies the network management data based on the ACL (Access Control List) and transmits the network management data to the LINUX kernel through the network management data transmission channel.
[0035] Preferably, the transmission of the network management data to the KNI interface through the network management data transmission channel further includes encapsulating the network management data packet with an Ethernet header, sending it to the LINUX kernel through the KNI sending interface, and the LINUX kernel forwarding the network management data with the Ethernet header to the NMS AGENT (network management agent).
[0036] Preferably, after receiving the network management data, the NMS AGNET sends the response data to the LINUX kernel, the LINUX kernel forwards the response data to the KNI interface, and the KNI interface forwards the response data to the NMS SERVER (network management server).
[0037] Preferably, the upper-layer application ARP (Address Resolution Protocol) proxy in the satellite terminal enables the LINUX kernel to transmit network management data to the upper-layer application of the satellite terminal.
[0038] Preferably, the KNI interface forwards the response data to the NMS SERVER (network management server), and further includes encapsulating the response data into MAC / SLC format data.
[0039] Preferably, after receiving data, the KNI interface identifies the direction and type of the data flow by using the IP address and port number in the data.
[0040] Another embodiment of the present invention provides a satellite terminal network management data transmission system based on the satellite terminal network management data transmission method provided in the above embodiments, the transmission system comprising:
[0041] The network management data transmission channel establishment module is used to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal using the KNI interface tool provided by DPDK.
[0042] The network management data identification module is used to identify network management data in the satellite link data received by the satellite terminal based on the ACL (Access Control List).
[0043] The network management data transmission module transmits network management data to the LINUX kernel through the network management data transmission channel.
[0044] Preferably, the system further includes a data identification module for identifying the direction and type of data flow through IP addresses and port numbers in the data.
[0045] Preferably, the system further includes an ARP proxy module for transmitting network management data to upper-layer applications in the terminal.
[0046] In a specific example, a satellite network includes the following network elements: User Terminal (UT), Satellite Network Link Gateway (typically further subdivided into Forward Link Gateway (MCS) and Backward Link Gateway (RCM), Low Earth Orbit (LEO) ground segment link layer aggregation gateway (MCS-Trunk), Network Layer Gateway (IPGW), On-Board Processing (OBP), Resource Manager (RM), and Network Control Center (NCC). The physical layer satellite modem (SM) does not exist as a separate network element; it is embedded within the UT, MCS / RCM / MCS-T, or OBP. In transparent satellite systems, the OBP does not exist. Network element connections are as follows: Figure 2 As shown.
[0047] In a specific example
[0048] Satellite network elements are functionally divided into user data plane, control plane, and management plane. Correspondingly, the messages transmitted between these network elements are divided into data streams, control streams, and management streams. On the ground segment, there are two independent networks—a data path and a management path—between each gateway, allowing control and management messages to follow different transmission paths than data messages. Terminals do not have a direct connection to the network management and control center, so terminal control and management messages must be transmitted using the data plane, i.e., in-band control and in-band management. Similarly, the onboard equipment (OBP) of low-Earth orbit satellites also lacks a direct connection to the ground control center and must use the data plane to transmit in-band control and in-band management messages.
[0049] The satellite network management system divides the managed satellite network equipment into two parts: one part is the ground segment, which includes all IP gateways, forward satellite gateways, and reverse satellite gateways, and uses the NETCONF protocol for management plane interaction; the other part is the space segment, which includes all satellite terminals, transparent relay satellites, and low-Earth orbit and high-Earth orbit satellites with regeneration capabilities. Considering the long round trip characteristics of satellite networks, the NMS TCP protocol is used for management plane interaction.
[0050] On satellite network equipment, the NMS Agent parses and transforms configuration information and measurement statistics in the satellite network management plane data, and feeds back the interaction results to the application process on the equipment.
[0051] For configuration information, the NMS Server sends the data to the Management Gateway, which then distributes it to the NMS Agent on each network element, or forwards it through the network element to the NMS Agent on the terminal, which then forwards the data to the application process.
[0052] For measurement statistics, the NMS Agent's data source is the application process. It packages the measurement statistics reported by the application periodically (or the measurement statistics actively collected by the NMS Agent from the application process periodically) into UDP packets and sends them to the Management Gateway.
[0053] In a specific example, such as Figure 3 As shown, the NMS Server transmits network management data to the IPGW. The IPGW transmits the data to the satellite terminal in BBFrame / GSE format via a satellite link. After receiving the data, the terminal (including the satellite terminal) decapsulates the data into BBFrame / GSE streams. The decapsulated PDU data is then sent to the ACL module, which identifies which data is network management data. The ACL module then encapsulates the network management data with an Ethernet header and transmits the data to the Linux kernel via the KNI interface. After receiving the data, the kernel forwards it to the NMS Agent.
[0054] The NMS Agent's response data is first submitted to the LINUX kernel. After querying the ARP table, the kernel forwards the data to the KNI interface. The terminal's KNI service application reads the network management data from the KNI interface and encapsulates the data into a MAC / SLC packet, which is then transmitted to the NMS Server via the reverse satellite link.
[0055] Network management data is transmitted from the satellite link to the terminal and then from the terminal to the kernel. The kernel then forwards the data to the NMS AGENT (network management agent). The response data from the NMS AGNET is also returned to the NMSSERVER (network management server) along the same transmission path.
[0056] Because this embodiment transmits data from DPDK to the kernel, the NMS AGENT can maintain its interface and operate normally on the satellite terminal.
[0057] Network management data is transmitted from the satellite link to the terminal and then from the terminal to the kernel. The kernel then forwards the data to the NMS AGENT. The response data from the NMS AGNET is also returned to the NMS SERVER along this transmission path.
[0058] The terminal receives network management data for identification, and then sends the identification data. After receiving data from the satellite link, the terminal needs to identify the network management data through the ACL (Access Control List) before transmitting the network management data to the kernel.
[0059] Introducing an ARP proxy enables data transmission to upper-layer applications. The role of the ARP proxy is that if network management data wants to be sent out of the kernel, the kernel must first query its own ARP table. Only if there is a destination ARP entry can the kernel send the data out. Since DPDK does not implement the TCP / IP protocol stack, this embodiment implements an ARP proxy function.
[0060] Establishment of channels between KNI and Kernel:
[0061] In order for DPDK to communicate with the Kernel, this embodiment uses the KNI (Kernel NIC Interface) tool provided by DPDK to establish a channel for network management data.
[0062] Since DPDK does not implement a protocol stack, KNI is DPDK's solution for allowing user space and kernel space to exchange messages. It simulates a virtual network interface to provide communication between DPDK applications and the Linux kernel. The KNI interface allows messages received in user space to be forwarded to the Linux protocol stack.
[0063] Ethernet bidirectional adapter encapsulation for network management data:
[0064] After the network management data is transmitted to the terminal via the satellite link, the network management data after the terminal decapsulates the BBFrame does not have an Ethernet header. In this embodiment, the network management data needs to be encapsulated with an Ethernet header before it can be transmitted to the kernel, so that the kernel can correctly process the network management data.
[0065] One specific embodiment, such as Figure 4 As shown, after receiving the BBframe / GSE packet from the forward satellite link, the terminal first decapsulates the BBframe / GSE packet. After parsing the PDU packet, the terminal needs to pass the IP address and port number in the PDU packet as parameters to the ACL module. The ACL module will identify the direction and type of the data flow through the IP address and port number. If the data is forward flow data and network management data, the data will be handed over to the KNI interface.
[0066] Before the data is handed over to the KNI interface, the PDU packet needs to be encapsulated with an Ethernet header and then sent to the kernel through the KNI-provided sending interface. The kernel then forwards the data to the NMS Agent.
[0067] One specific embodiment, such as Figure 5As shown, after receiving the reverse data, the KNI interface needs to identify the direction and type of the data flow by using the IP address and port number in the data. If the data is a reverse data flow and is network management data, the data is handed over to the link layer program for processing. The link layer program encapsulates the PDU data into MAC / SLC format data and sends it to the NMS Server through the reverse link.
[0068] One specific embodiment, such as Figure 6 As shown, data sent by the NMS Agent to the network management terminal needs to be transmitted to the NMS Server via the reverse link. First, the Linux kernel must be able to establish an ARP entry. This ARP entry consists of the NMS Server's IP address and the MAC address of the KNI interface. Due to the limitations of DPDK, the Linux kernel cannot establish this entry. In fact, the kernel does not verify the correctness of the MAC address. Therefore, in this embodiment, an ARP proxy function can be implemented in the terminal application. The ARP proxy is responsible for constructing an ARP entry and sending it to the Linux kernel through the KNI interface. After the Linux kernel establishes the ARP entry, it can send the data sent by the NMS Agent to the kernel through the SOCKET interface, and the kernel then passes it to the KNI interface.
[0069] First, the NMS Agent sends data to the NMS Server, causing the Linux kernel to generate an ARP request. The source MAC address of this ARP request is the MAC address of the KNI interface, and the destination IP address is the IP address of the IPGW (the NMS server and the terminal air interface are not on the same network segment, so Linux needs to look up the routing table first, and then the ARP request is made to the IPGW). This ARP request is sent to the terminal application through the KNI interface. The terminal application checks that the source MAC address of this ARP is its own, but the destination IP address is not its own IP address, so it hands it over to the ARP Agent for processing. The ARP Agent will generate an ARP response message, where both the source MAC and destination MAC addresses of the ARP message are filled in with the MAC address of the KNI interface. After the kernel receives the response message, the ARP table entry is established.
[0070] By creating a KNI device, the NMS Agent program can remain consistent, eliminating the need to modify the program due to different network environments. This also resolves the issue of network management data not being able to interact with the kernel due to the use of the DPDK driver.
[0071] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the implementation of the present invention. For those skilled in the art, other variations or modifications can be made based on the above description. It is impossible to exhaustively list all the implementation methods here. All obvious variations or modifications derived from the technical solutions of the present invention are still within the protection scope of the present invention.
Claims
1. A method for transmitting satellite terminal network management data, characterized in that, include: Use the KNI interface tool provided by DPDK to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal; After receiving data from the satellite link, the satellite terminal identifies the network management data according to the access control list and transmits the network management data to the LINUX kernel through the network management data transmission channel. The transmission of network management data to the KNI interface through the network management data transmission channel further includes encapsulating the network management data packet with an Ethernet header and sending it to the LINUX kernel through the KNI sending interface. The LINUX kernel then forwards the network management data with the Ethernet header to the network management agent. The method also includes: The PDU packet contains the IP address and port number, which are passed as parameters to the ACL module. The ACL module uses the IP address and port number to identify the direction and type of the data flow. If it is forward flow data and network management data, the data flow is handed over to the KNI interface. Before the data flow is handed over to the KNI interface, the PDU packet is encapsulated with an Ethernet header.
2. The method for transmitting satellite terminal network management data according to claim 1, characterized in that, After receiving the network management data, NMS AGNET sends the response data to the LINUX kernel. The LINUX kernel then forwards the response data to the KNI interface, which in turn forwards the response data to the network management server.
3. The method for transmitting satellite terminal network management data according to claim 1, characterized in that, The upper-layer application in the satellite terminal introduces an address resolution protocol proxy, enabling the LINUX kernel to transmit network management data to the upper-layer application of the satellite terminal.
4. The method for transmitting satellite terminal network management data according to claim 2, characterized in that, The KNI interface forwards the response data to the network management server, and further includes encapsulating the response data into MAC / SLC format data.
5. The method for transmitting satellite terminal network management data according to claim 1, characterized in that, After receiving data, the KNI interface identifies the direction and type of the data stream by using the IP address and port number in the data.
6. A satellite terminal network management data transmission system, utilizing the method described in any one of claims 1-5, characterized in that, The transmission system includes: The network management data transmission channel establishment module is used to establish a network management data transmission channel between the satellite terminal and the LINUX kernel in the satellite terminal using the KNI interface tool provided by DPDK. The network management data identification module is used to identify network management data in the satellite link data received by the satellite terminal based on the access control list; The network management data transmission module transmits network management data to the LINUX kernel through the network management data transmission channel.
7. The satellite terminal network management data transmission system according to claim 6, characterized in that, The system also includes a data identification module, which is used to identify the direction and type of data flow by using the IP address and port number in the data.
8. The satellite terminal network management data transmission system according to claim 6, characterized in that, The system also includes an address resolution protocol proxy module, which is used to transmit network management data to upper-layer applications in the satellite terminal.
Citation Information
Patent Citations
Method and device for accessing local machine based on DPDK
CN115242895A