High-performance message processing proxy acceleration method and device for network scheduling control system
By deploying a proxy server between a multimodal network controller and a switch, parsing and cacheing OpenFlow messages, the problem of excessive load processing of multimodal network controllers is solved, efficient message processing is accelerated, and network performance is improved.
Patent Information
- Application Number
- CN202411666855.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-21
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-11-21
AI Technical Summary
Excessive multimodal network controllers have high processing loads, resulting in performance bottlenecks, and an effective acceleration technology is needed to alleviate the processing burden of the controller and improve network performance.
By deploying a proxy server between the network controller and the switch, listening and parsing OpenFlow messages, cache packet-out messages, and querying whether there are matching packet-out messages in the cache based on the packet-in messages, and directly returning or forwarding messages to reduce the burden on the controller.
It effectively reduces the processing burden of the controller, improves the overall performance of the multimodal network, and realizes the effect of accelerated processing and cache reuse, which has the advantages of simplicity and low cost.
Smart Images

Figure CN119172435B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of multimodal networks, and in particular to a high-performance message processing proxy acceleration method and device for a network scheduling control system. Background Art
[0002] With the deep integration of information networks and economic society, the Internet, which has been developed for more than 50 years, has begun to expose "genetic defects", and problems such as function, performance, security, and scalability have become increasingly prominent. In order to solve the bottleneck problem of the existing Internet, the multimodal network environment represents the development direction of information network technology and industry, and can better meet the service quality requirements of various scenarios such as latency and jitter. Multimodal network is a new network architecture that combines multiple network modes (such as SDN, NFV, traditional networks, etc.) to achieve diversified and intelligent network management. Similar to software-defined networking (SDN), multimodal network also emphasizes the separation of the control plane and data plane of the network, aiming to achieve network flexibility and intelligence through centralized control. However, with the expansion of network scale and the increase of traffic, the processing pressure of the controller gradually increases, resulting in a decrease in network performance. Therefore, an effective acceleration technology is needed to alleviate the processing burden of the controller and improve the overall performance of the network. However, existing acceleration technologies are usually implemented through hardware acceleration or optimization inside the controller, but these methods are costly and complex. Summary of the invention
[0003] Technical problem to be solved by the present invention: In view of the above-mentioned problems in the prior art, a high-performance message processing proxy acceleration method and device for a network scheduling and control system are provided. The present invention aims to solve the problem of performance bottleneck caused by excessive processing load of a multimodal network controller in the prior art and to improve the overall performance of the multimodal network.
[0004] In order to solve the above technical problems, the technical solution adopted by the present invention is:
[0005] A high-performance message processing proxy acceleration method for a network dispatching control system comprises: monitoring the OpenFlow message between the network controller and the switch through a proxy server deployed between the network controller and the switch of the network controller dispatching system; if the OpenFlow message is monitored, parsing the message type of the OpenFlow message; if the message type is a packet-out message, caching the packet-out message and forwarding the packet-out message; if the message type is a packet-in message sent by the switch to the network controller, querying whether a matching packet-out message is cached according to the packet-in message; if a matching packet-out message exists, directly returning the matching packet-out message to the switch; if no matching packet-out message exists, forwarding the packet-in message to the network controller.
[0006] Optionally, caching the packet-out message refers to adding the packet-out message to the cache using a key-value pair consisting of the data field of the packet-out message as the key and the packet-out message as the value, and querying whether a matching packet-out message is cached according to the packet-in message refers to using the data field of the packet-in message as the key and querying the cache using a key-value pair consisting of the data field of the packet-out message as the key and the packet-out message as the value to determine whether a matching packet-out message exists.
[0007] Optionally, when the proxy server deployed between the network controller and the switch of the network scheduling control system monitors the OpenFlow messages between the network controller and the switch, it also includes directly forwarding other OpenFlow messages other than the two message types of packet-in messages and packet-out messages to achieve transparent proxy.
[0008] Optionally, before the proxy server deployed between the network controller and the switch of the network scheduling control system monitors the OpenFlow messages between the network controller and the switch, the process also includes: the proxy server initializes the network socket, binds the local port, and starts to monitor the connection request initiated by the switch to the network controller through the local port. If a connection request initiated by the switch to the network controller is received, the proxy server establishes a TCP connection with the switch and establishes a TCP connection with the network controller.
[0009] Optionally, the network controller is a network controller in a software defined network (SDN).
[0010] Optionally, the software defined network SDN is a multimodal network, an RYU network, an ONOS network or an ODL network, and the multimodal network is a computer network including some or all network modes in the software defined network SDN, the virtualized network NFV, and the physical internet network.
[0011] In addition, the present invention also provides a high-performance message processing proxy acceleration device for a network scheduling control system for applying the high-performance message processing proxy acceleration method of the network scheduling control system, comprising:
[0012] A connection management module, used to manage the connection with the network controller and the switch;
[0013] The message parsing module is used to parse the message type of the OpenFlow message to determine different processing methods: if it is a packet-out message, it is sent to the cache module; if it is a packet-in message, it is sent to the acceleration processing module; if it is an OpenFlow message other than the two message types of packet-in message and packet-out message, it is directly forwarded to achieve transparent proxy;
[0014] A cache module, used for caching the packet-out message into a cache and forwarding the packet-out message;
[0015] A buffer for storing packet-out messages;
[0016] The acceleration processing module is used to query whether there is a matching packet-out message cached in the buffer for the packet-in message sent by the switch to the network controller. If there is a matching packet-out message, the matching packet-out message is directly returned to the switch. If there is no matching packet-out message, the packet-in message is forwarded to the network controller.
[0017] In addition, the present invention also provides a high-performance message processing proxy acceleration device for a network scheduling and control system, comprising a processor and a cache connected to each other, wherein the processor is programmed or configured to execute the high-performance message processing proxy acceleration method for the network scheduling and control system.
[0018] In addition, the present invention also provides a computer-readable storage medium, which stores a computer program or instruction, and the computer program or instruction is programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system through a processor.
[0019] In addition, the present invention also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system through a processor.
[0020] Compared with the prior art, the present invention mainly has the following advantages:
[0021] 1. The high-performance message processing proxy acceleration method of the network scheduling control system of the present invention includes monitoring the OpenFlow message between the network controller and the switch through a proxy server deployed between the network controller and the switch. If the OpenFlow message is monitored, the message type of the OpenFlow message is parsed. If the message type is a packet-out message, the packet-out message is cached and the packet-out message is forwarded; if the message type is a packet-in message sent by the switch to the network controller, it is queried whether a matching packet-out message is cached according to the packet-in message. If a matching packet-out message exists, the matching packet-out message is directly returned to the switch. If there is no matching packet-out message, the packet-in message is forwarded to the network controller. By deploying a proxy server between the controller and the switch, the data message between the network controller and the switch is accelerated, unnecessary data transmission is reduced, the burden on the controller is effectively reduced, and common messages are cached and reused, thereby improving processing efficiency and improving the overall performance of the system. It has the advantages of simple implementation and low cost.
[0022] 2. The high-performance message processing agent acceleration method of the network scheduling control system of the present invention is suitable for accelerating various network controllers based on the OpenFlow protocol, and has the advantage of good versatility. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 Schematic diagram of the basic flow of the method of the embodiment of the present invention.
[0024] Figure 2 The figure is a schematic diagram of the message structure of the packet-in message in the embodiment of the present invention.
[0025] Figure 3 The figure is a schematic diagram of the message structure of the packet-out message in the embodiment of the present invention.
[0026] Figure 4 Schematic diagram of the structure of the proxy acceleration device in an embodiment of the present invention. DETAILED DESCRIPTION
[0027] like Figure 1As shown, the present embodiment provides a high-performance message processing proxy acceleration method for a network scheduling and control system, including: monitoring the OpenFlow message between the network controller and the switch through a proxy server deployed between the network controller and the switch of the network controller scheduling system, if the OpenFlow message is monitored, parsing the message type of the OpenFlow message, if the message type is a packet-out message, caching the packet-out message and forwarding the packet-out message; if the message type is a packet-in message sent by the switch to the network controller, querying whether a matching packet-out message is cached according to the packet-in message, if there is a matching packet-out message, directly returning the matching packet-out message to the switch, and forwarding the packet-in message to the network controller if there is no matching packet-out message. The network controller processes the packet-in message according to an existing well-known method, so its implementation details are not described in detail here.
[0028] Figure 2 The figure is a schematic diagram of the packet-in message structure. The fields of the packet-in message include: version number Version (8 bits), Open Shortest Path First (OSPF) incoming packet OSPF PACKETIN, length Length (16 bits), transaction identifier Xid (32 bits), buffer identifier Buffer id (32 bits), reason Reson (8 bits), total length Totallen (16 bits), padding Pad (8 bits), inlet port In_port (16 bits) and data Data (variable length). Figure 3The following is a diagram of the packet-out message structure. The fields of the packet-out message include: version number Version (8 bits), Open Shortest Path First (OSPF) output packet OSPF PACKETOUT, length Length (16 bits), transaction identifier Xid (32 bits), buffer identifier Buffer id (32 bits), inlet port In_port (16 bits), action array length (16 bits), action array (variable length) and data Data (variable length). Therefore, based on the above-mentioned well-known message structure, the packet-out message cache can select the required caching method according to actual needs. For example, as an optional implementation method, in this embodiment, cache acceleration between packet-in messages and packet-out messages is realized based on data Data. The packet-out message cache refers to adding the packet-out message to the cache using a key-value pair consisting of the data field of the packet-out message as the key and the packet-out message as the value. The querying whether a matching packet-out message is cached according to the packet-in message refers to using the data field of the packet-in message as the key, querying the key-value pair in the cache using the data field of the packet-out message as the key and the packet-out message as the value to determine whether there is a matching packet-out message. The key-value pair is used for caching and querying, which has the advantages of high caching and querying efficiency.
[0029] like Figure 1 As shown, in this embodiment, when a proxy server deployed between the network controller and the switch of the network scheduling control system monitors the OpenFlow messages between the network controller and the switch, it also includes direct forwarding of other OpenFlow messages other than the two message types of packet-in messages and packet-out messages to achieve transparent proxy.
[0030] In this embodiment, before the proxy server deployed between the network controller and the switch of the network scheduling control system monitors the OpenFlow messages between the network controller and the switch, it also includes: the proxy server initializes the network socket, binds the local port, and starts to monitor the connection request initiated by the switch to the network controller through the local port. If a connection request initiated by the switch to the network controller is received, the proxy server establishes a TCP connection with the switch and establishes a TCP connection with the network controller.
[0031] The network controller in this embodiment is a network controller of a multimodal network controller scheduling system. In addition, it can also be a network controller in other software-defined networks SDN (such as RYU network, ONOS network or ODL network, etc.) based on the OpenFlow protocol. In this embodiment, the multimodal network controller scheduling system is a scheduling system for a multimodal network, and the multimodal network is a computer network including some or all network modes in software-defined networks SDN, virtualized networks NFV, and physical interconnected networks. Generally speaking, a multimodal network system consists of multimodal network applications and services (application plane), northbound interfaces, multimodal network controllers (control plane), southbound interfaces, and network devices (data plane). It describes a network architecture that can use software to centrally and intelligently manage and control individual hardware components, and use open protocols such as OpenFlow to allow access to network devices such as switches, routers, or firewalls. Its core technology OpenFlow separates the control plane from the data plane of network devices, thereby achieving flexible control of network traffic, making the network more intelligent, and providing a good platform for innovation of core networks and applications. In short, the concept of multimodal networks represents the separation of infrastructure and its configuration. This embodiment is applicable to multimodal network systems, and is also applicable to any network controller based on the OpenFlow protocol, such as RYU network, ONOS network, ODL network, etc. OpenFlow is a network communication protocol used for communication between controllers and forwarders in the software-defined network SDN architecture. A core idea of software-defined network SDN is "separation of forwarding and control". To achieve separation of forwarding and control, it is necessary to establish a communication interface standard between the controller and the forwarder, allowing the network controller to directly access and control the forwarding plane of the forwarder. OpenFlow introduces the concept of "flow table", and the forwarder guides the forwarding of data packets through the flow table. The network controller deploys the corresponding flow table on the forwarder through the interface provided by OpenFlow, thereby realizing the control of the forwarding plane.
[0032] To sum up, the high-performance message processing proxy acceleration method of the network scheduling and control system of this embodiment realizes an efficient multimodal network controller acceleration proxy mechanism. The high-performance message processing proxy acceleration method of the network scheduling and control system of this embodiment realizes accelerated processing of data messages by introducing a proxy server between the multimodal network controller and the switch, reduces the load of the controller, and improves the overall performance of the system, and has broad application prospects.
[0033] like Figure 4As shown, this embodiment also provides a high-performance message processing proxy acceleration device for a network scheduling control system for applying the high-performance message processing proxy acceleration method of the network scheduling control system, the proxy acceleration device is used to be deployed between a network controller and a switch as a proxy server, and the proxy acceleration device includes:
[0034] The connection management module is used to manage the connection with the network controller and the switch, including establishing connection, maintaining connection and handling connection anomalies;
[0035] The message parsing module is used to parse the message type of the OpenFlow message to determine different processing methods: if it is a packet-out message, it is sent to the cache module; if it is a packet-in message, it is sent to the acceleration processing module; if it is an OpenFlow message other than the two message types of packet-in message and packet-out message, it is directly forwarded to achieve transparent proxy;
[0036] A cache module is used to cache packet-out messages in a cache and forward packet-out messages, so that when the same request comes again, the cached result can be directly returned, reducing the number of processing times of the network controller;
[0037] A buffer for storing packet-out messages;
[0038] The acceleration processing module is used to query whether there is a matching packet-out message cached in the buffer for the packet-in message sent by the switch to the network controller. If there is a matching packet-out message, the matching packet-out message is directly returned to the switch. If there is no matching packet-out message, the packet-in message is forwarded to the network controller, thereby realizing accelerated processing of specific types of messages to reduce the load on the network controller.
[0039] It should be noted that the above-mentioned module of the proxy acceleration device can be a hardware module implemented by FPGA or a program module implemented by computer program software. In this embodiment, the working process of the above-mentioned proxy acceleration device is as follows: S1, initialization: After the proxy server is started, it first initializes the necessary network sockets, binds the local port, and starts to listen to the connection request from the switch. S2, connection establishment: When the switch initiates a connection request, the proxy server establishes a connection with the switch through the connection management module, and initiates a connection to the network controller in the software defined network SDN through the proxy server. S3, message processing: After the proxy server receives the uplink message from the switch, it parses the message type through the message parsing module and processes it through the acceleration processing module. If the message is a predefined acceleration processing type, such as OFPT_PACKET_IN type (indicating packet-in message), the proxy server will check whether the processing result of the same request already exists in the cache module. If it exists, the cache result is directly returned. If it does not exist, the message is forwarded to the network controller in the software defined network SDN for processing. S4, cache update: For the response message returned from the controller, the proxy server will store it in the cache module according to the preset rules, so that future requests of the same type can directly use the cached results. S5, exception handling: The connection management module monitors the connection status between the proxy server and the controller and the switch. If a connection abnormality is found (such as a connection interruption), the relevant connection will be closed in time and resources will be released to ensure stable operation of the system. The high-performance message processing proxy acceleration device of the network scheduling and control system of this embodiment realizes accelerated processing of data messages by adding a proxy server between the controller and the switch, thereby effectively reducing the load on the multimodal network controller. The introduction of the cache module enables repeated requests to be responded to quickly, reduces the number of processing times of the controller, and improves the response speed of the system. The system has a simple structure, is easy to implement, and can significantly improve the overall performance of the SDN network.
[0040] In addition, this embodiment also provides a high-performance message processing proxy acceleration device for a network scheduling and control system, including an interconnected processor and a cache, and the processor is programmed or configured to execute the high-performance message processing proxy acceleration method of the network scheduling and control system.
[0041] In addition, this embodiment also provides a computer-readable storage medium, which stores a computer program or instruction, and the computer program or instruction is programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system through a processor.
[0042] In addition, this embodiment also provides a computer program product, including a computer program or instructions, which are programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system through a processor.
[0043] Those skilled in the art should understand that the technical solutions provided by the embodiments of the present application may be in the form of methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the process Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0044] The above is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments. All technical solutions under the concept of the present invention belong to the protection scope of the present invention. It should be pointed out that for ordinary technicians in this technical field, some improvements and modifications without departing from the principle of the present invention should also be regarded as the protection scope of the present invention.
Claims
1. A high-performance message processing agent acceleration method for a network scheduling control system, characterized in that: include: The OpenFlow message between the network controller and the switch is monitored by a proxy server deployed between the network controller and the switch of the network scheduling control system. If the OpenFlow message is monitored, the message type of the OpenFlow message is parsed. If the message type is a packet-out message, the packet-out message is cached and forwarded. If the message type is a packet-in message sent by the switch to the network controller, it is queried whether a matching packet-out message is cached according to the packet-in message. If a matching packet-out message exists, the matching packet-out message is directly returned to the switch. If no matching packet-out message exists, the packet-in message is forwarded to the network controller. When the OpenFlow message between the network controller and the switch is monitored by the proxy server deployed between the network controller and the switch of the network scheduling control system, it also includes directly forwarding other OpenFlow messages other than the two message types of packet-in message and packet-out message to realize transparent proxy.
2. The high-performance message processing agent acceleration method of the network dispatching control system according to claim 1 is characterized in that: The caching of the packet-out message refers to adding the packet-out message to the cache using a key-value pair consisting of the data field of the packet-out message as the key and the packet-out message as the value, and the querying whether a matching packet-out message is cached according to the packet-in message refers to using the data field of the packet-in message as the key and querying the key-value pair in the cache using the data field of the packet-out message as the key and the packet-out message as the value to determine whether a matching packet-out message exists.
3. The high-performance message processing agent acceleration method of the network dispatching control system according to claim 1 is characterized in that: Before the proxy server deployed between the network controller and the switch of the network scheduling control system monitors the OpenFlow messages between the network controller and the switch, the method also includes: the proxy server initializes the network socket, binds the local port, and starts to monitor the connection request initiated by the switch to the network controller through the local port. If a connection request initiated by the switch to the network controller is received, the proxy server establishes a TCP connection with the switch and establishes a TCP connection with the network controller.
4. The high-performance message processing agent acceleration method of the network dispatching control system according to claim 1 is characterized in that: The network controller is a network controller in a software defined network (SDN).
5. The high-performance message processing agent acceleration method of the network dispatching control system according to claim 4 is characterized in that: The software defined network SDN is a multimodal network, an RYU network, an ONOS network or an ODL network. The multimodal network is a computer network including some or all network modes in the software defined network SDN, the virtualized network NFV and the physical internet network.
6. A high-performance message processing proxy acceleration device for a network dispatching control system for applying the high-performance message processing proxy acceleration method for a network dispatching control system as claimed in any one of claims 1 to 5, characterized in that: include: A connection management module, used to manage the connection with the network controller and the switch; The message parsing module is used to parse the message type of the OpenFlow message to determine different processing methods: if it is a packet-out message, it is sent to the cache module; if it is a packet-in message, it is sent to the acceleration processing module; if it is an OpenFlow message other than the two message types of packet-in message and packet-out message, it is directly forwarded to achieve transparent proxy; A cache module, used for caching the packet-out message into a cache and forwarding the packet-out message; A buffer for storing packet-out messages; The acceleration processing module is used to query whether there is a matching packet-out message cached in the buffer for the packet-in message sent by the switch to the network controller. If there is a matching packet-out message, the matching packet-out message is directly returned to the switch. If there is no matching packet-out message, the packet-in message is forwarded to the network controller.
7. A high-performance message processing proxy acceleration device for a network dispatching control system, comprising a processor and a cache connected to each other, characterized in that: The processor is programmed or configured to execute the high-performance message processing agent acceleration method for the network scheduling control system as described in any one of claims 1 to 5.
8. A computer-readable storage medium having a computer program or instruction stored therein, characterized in that: The computer program or instruction is programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system described in any one of claims 1 to 5 through a processor.
9. A computer program product comprising a computer program or instructions, characterized in that The computer program or instruction is programmed or configured to execute the high-performance message processing agent acceleration method of the network scheduling control system described in any one of claims 1 to 5 through a processor.
Citation Information
Patent Citations
Kernel mode and user mode joint optimization high-performance network processing method and device
CN118301090A