CN107181703A - A kind of virtual switch control plane and the method for User space data-plane communication - Google Patents
A kind of virtual switch control plane and the method for User space data-plane communication Download PDFInfo
- Publication number
- CN107181703A CN107181703A CN201710197652.2A CN201710197652A CN107181703A CN 107181703 A CN107181703 A CN 107181703A CN 201710197652 A CN201710197652 A CN 201710197652A CN 107181703 A CN107181703 A CN 107181703A
- Authority
- CN
- China
- Prior art keywords
- plane
- message
- control plane
- request message
- datum
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
The method that the present invention is provided is for the communication between virtual switch control plane and User space datum plane.According to one embodiment there is provided a kind of for virtual switch control plane and the method for User space data-plane communication.Control plane sends request message to data-plane communication port, datum plane receives request message on data-plane communication port, if request message needs response, datum plane sends response message to the request message COM1 of corresponding control plane, and control plane receives response message on request message COM1;Datum plane sends a notification message to control plane notification message receiving port, and control plane receives notification message on notification message receiving port.This method is a kind of simple efficient virtual switch control plane and the mode of independent User space data-plane communication, and existing and kernel state data-plane communication virtual switch control plane need to only change the data-plane communication port i.e. achievable communication with User space datum plane.
Description
Technical field
The application is related to network communication field, more particularly to a kind of virtual switch control plane and User space datum plane
The method of communication.
Background technology
With the extensive use of virtualization technology, virtual switch needs to support increasing key business, these passes
Key business is to the performance and high availability of the datum plane of virtual switch it is also proposed that higher and higher requirement.Traditional virtual friendship
Datum plane of changing planes is usually located at the kernel state of system, and performance can not meet the demand of new business.Also there is the virtual of a new generation
Interchanger realizes datum plane so as to utilize the high performance data-plane technologies such as DPDK, but generally by user in User space
State datum plane and control plane are realized in a system process, so cause the high reliability of User space datum plane can not
It is met.Therefore, there is the demand of highly reliable independent high performance virtual switch User space datum plane in this area,
Thus the demand to virtual switch control plane and User space data-plane communication method is produced.
The content of the invention
The method of the application narration is used to be communicated between virtual switch control plane and User space datum plane, from
And allow virtual switch User space datum plane and control plane to realize that separate can with improve User space datum plane
By property.It is used to carry out between virtual switch control plane and User space datum plane there is provided one kind according to one embodiment
The method of communication, this method includes:Control plane sends request message to data-plane communication port, and datum plane is flat in data
Receive request message on the COM1 of face, if request message needs response, request from datum plane to corresponding control plane
Message communicating port sends response message, and control plane receives response message on request message COM1;Datum plane to
Control plane notification message receiving port sends a notification message, and control plane receives notice on notification message receiving port and disappeared
Breath.
In the context of previous embodiment, virtual switch datum plane is User space datum plane.
In the context of previous embodiment, each message package contains a kind of type of message ID, a kind of type of message ID correspondences
A class can be by the object of control plane operations in datum plane.
In the context of previous embodiment, each request message includes a kind of Message Opcode type, and action type is specified
The operation that the operable object of datum plane included to the request message is carried out.
In the context of previous embodiment, each request message includes a sequence number.
In the context of previous embodiment, each response message includes corresponding request message identical sequence number.
In the context of previous embodiment, control plane and datum plane have identical data-plane communication port to set
Put.
In the context of previous embodiment, the notification message receiving port of control plane is disappeared by control plane by request
Breath informs datum plane.
Other features of the embodiment of the present invention will become apparent from obtaining in detailed narration from accompanying drawing and below.
The outstanding advantages of the present invention are a kind of simple efficient virtual switch control plane and independent use for this method
The mode of family state data-plane communication, it is existing only to change number with kernel state data-plane communication virtual switch control plane
It is that the communication with User space datum plane can be achieved according to plane commu port.
Brief description of the drawings
Embodiments of the invention are described by way of example in view in the accompanying drawings, these embodiments not rise
Limitation is acted on, and similar reference numeral will refer to like element in accompanying drawing, wherein:
Fig. 1 is the logic relation picture for conceptually describing the inventive method.
Fig. 2 describes the functional block diagram of a specific embodiment using the present invention.
Fig. 3 describes Generic Netlink schematic diagram.
Fig. 4 describes Generic Netlink message formats.
Fig. 5 describes the type of message for virtual switch control plane and data-plane communication.
Fig. 6 describes the Message Opcode type for virtual switch control plane and data-plane communication.
Fig. 7 is the example for the computer system that can use the embodiment of the present invention.
Embodiment
The application describes a kind of for virtual switch control plane and the method for User space data-plane communication.This Shen
In the technical scheme that please implement, for virtual switch control plane(210)With User space datum plane(215)The message of communication
Based on Generic Netlink messaging bus(280).Message header field includes type of message ID and Message Opcode type, often
Individual request message includes a sequence number, and each response message includes corresponding request message identical sequence number.Type of message is registered
Module(282)To Generic Netlink controllers(281)All type of messages used of registration, are controlled flat after the completion of registration
Face and User space datum plane can be to Generic Netlink controllers(281)Type of query message ID.Datum plane leads to
Believe port selecting module(218)The choosing from the untapped Generic Netlink ports of system before the startup of User space datum plane
Take, and notify control plane and User space datum plane.The notification message receiving port of control plane(220,225)It is flat by control
Face determines and informs User space datum plane by request message.Control plane(210)Send request message(250)It is flat to data
Face COM1(240), datum plane(215)In data-plane communication port(240)Upper reception request message(250)If,
Request message needs response, datum plane(215)To the request message COM1 of corresponding control plane(235)Send response
Message(255), control plane(210)In request message COM1(235)Upper reception response message(255);Datum plane
(215)To the notification message receiving port of control plane(225)Send a notification message(270), control plane(210)Notifying to disappear
Cease receiving port(225)Upper reception notification message(270).
In narration below, in order to provide the comprehensive understanding to the embodiment of the present invention, disclose many specific detailed
Content.It will be apparent, however, to one skilled in the art that in the case of without some of these details details,
Embodiments of the invention can be realized.
Term
Virtual switch:The system that message forwarding is carried out according to ethernet header realized by software, can also provide secure access
The functions such as control, flow control and tunnel.
Control plane:Operation for controlling and managing all-network agreement, control plane provides data plane data
The various network informations and forwarding inquiries list item necessary to before processing forward.
Datum plane I/O port:Can be the virtual port of connecting virtual machine for receiving the port sent datagram,
Connect the physical port or other particular port such as tunnel ports of physical network card, TAP ports etc..
Datum plane:For forwarding of the processing data message between various datum plane I/O ports.
User space datum plane:Operate in the datum plane of operating system User space.
Netlink:A kind of mechanism for completing User space program and kernel module communication, the service that Netlink kernels are provided
Type is defined in advance, and kernel must be recompilated by extending new service type.
Netlink ports:For describing the end points communicated based on Netlink, the corresponding Netlink ends of operating system nucleus
Mouth is 0.
Generic Netlink:A kind of foundation User space general on Netlink and the mechanism of kernel state communication, it is interior
Core module can nullify the service on Generic Netlink data/address bus with dynamic registration.
Generic Netlink Family:Serviced corresponding to one kind on Generic Netlink data/address bus, according to
Family titles can distinguish different services.
Generic Netlink Family ID:ID corresponding with a kind of Generic Netlink Family, for disappearing
Cease stem.
Generic Netlink controllers:Manage Generic Netlink on Generic Netlink data/address bus
Family registration and unregistrations, safeguard Generic Netlink Family and Generic Netlink Family ID mapping.
Request message:The message for being used to complete assigned operation that control plane is sent to datum plane.
Response message:The message of the result for the return request message that datum plane is sent to control plane.
Notification message:The message for the datum plane particular event that datum plane is sent to control plane.
Data-plane communication port:It is used to receive request message on datum plane, sends response message and notification message
COM1.
Request message COM1:It is used to send request message in control plane, receives the COM1 of response message.
Notification message receiving port:It is used for the COM1 for receiving notification message in control plane.
Fig. 2 describe using the present invention a specific embodiment functional block diagram, each functional module and between
Relation will in embodiment below specifically describe.
Fig. 3 describes Generic Netlink schematic diagram, and Generic Netlink are a kind of expansible use
Family state applies the mechanism communicated with kernel state service.In User space using before starting with kernel state communication for service, kernel takes
Business program(350,355)Pass through Generic Netlink messaging bus(340)To Generic Netlink controllers(345)Enter
The Generic Netlink Family that row registration is needed to use, User space application program(310,315)Use Netlink
Socket API(320)Correspondence is inquired about to Generic Netlink controllers according to Generic Netlink Family titles
Generic Netlink Family ID.Application program(310,315)Use Generic Netlink message(Purpose
Netlink ports are the Generic Netlink Family ID that 0, Netlink header informations type is respective service)With it is interior
Core service routine communicates.
Fig. 4 describes the structure of Generic Netlink message, and message is made up of three parts:Netlink message headers,
Generic Netlink stems and message text.
Fig. 5 describes virtual switch control plane and type of message used in User space data-plane communication, including:
The type of Datapath, Port, Flow and Packet tetra-.Every kind of type of message corresponds to a kind of Generic Netlink
Family, type of message ID are Generic Netlink Family ID, and it is first that type of message ID is included in Netlink message
Portion's type field(411)In.
Fig. 6 describes virtual switch control plane and Message Opcode type used in User space data-plane communication,
Including:Create, delete, update, obtain and batch obtains five kinds of action types.Create, delete, update and obtain four kinds of operation classes
Type is included in Generic Netlink stem action type fields(420)In, batch obtains operation by Netlink stem marks
Field(412)In NLM_F_DUMP positions determine.
Virtual switch control plane in Fig. 2(210)With User space datum plane(215)Between be used for communicate port bag
Include:Data-plane communication port(240), control plane request message COM1(230,235), control plane notification message connects
Receiving end mouthful(220,235), these ports correspond to Netlink ports.
Before control plane and data-plane communication, there are two important preparation process:
1)Ensure control plane(210)And datum plane(215)There is identical type of message ID.The present embodiment uses type of message
Registering modules(282)For every kind of type of message(That is Generic Netlink Family)Controlled to kernel Generic Netlink
Device processed is registered and generates type of message ID(That is Generic Netlink Family ID), control plane(210)And data
Plane(215)Disappeared according to type of message title by Netlink socket to the inquiry of kernel Generic Netlink controllers
Type ID is ceased, so as to ensure control plane(210)And datum plane(215)There is identical type of message ID.Other embodiment
User space Generic Netlink controllers can be built or in advance in control plane and the predefined identical message of datum plane
Type ID ensures that control plane and datum plane have identical type of message ID.
2)Ensure control plane(210)And datum plane(215)There is identical data-plane communication port(240)Set.
The present embodiment uses data-plane communication port selecting module(218)The Netlink ports being not used by are selected from system, and
Inform control plane(210)And datum plane(215)Using the data-plane communication port(240)Set.
Datum plane(215)Should be in control plane(210)Start and interception data plane before sending any request message
COM1(240).
The step of building request message, response message and notification message includes:
1)Fill Netlink message headers
A) length field(410):Including Netlink message headers, Generic Netlink message headers and message text
Length after the byte-aligned of length polishing 4.
B) type field(411):For the type of message ID of the message., should if batch obtains the end of operation
Field is NLMSG_DONE.
C) attribute field(412):Request message needs to put NLM_F_REQUEST.If the request message is batch
Action type is obtained, while putting NLM_F_DUMP.If batch obtains the response message of action type, NLM_ need to be put
F_MULTI.
D) sequence number field(413):Produced by control plane, for associating response message and request message, and correspondence one
Individual batch obtains multiple response messages of operation requests message.
E) sending port(414):The local Netlink ports sent for the message.
2)Fill Generic Netlink message headers
A) action type(420):For the action type of the message.
B) version number(421):For the version number of correspondence Generic Netlink Family services.
3)Fill message text
Control plane(210)According to service logic needs, request message is built(250), from request message COM1(235)Hair
To data-plane communication port(240).Datum plane(215)From data-plane communication port(240)Receive request message(250)
And handled, if request message(250)It is required that response, datum plane(215)Response is built according to request implementing result to disappear
Breath(255)And send to request message(250)The request message COM1 of corresponding control plane(235).
Control plane(210)If necessary to receive datum plane(215)Specific notification message, control plane(210)Can
To build request message(260)Advance notice datum plane(215)The notification message receiving port of control plane(220,225).
Work as datum plane(215)During specific event trigger notice message mechanism, datum plane(215)Build notification message(270)Hair
Deliver to notification message receiving port(225).When a notification message can be sent to the notification message of more than one control plane
During receiving port, datum plane(215)Can by the way of rotation or Hash mode or other modes select one control
The notification message receiving port of plane is transmitted.
Through the above description of the embodiments, it is apparent to those skilled in the art that the present invention can make
Realized with the mode of software, naturally it is also possible to by hardware, but the former is more preferably embodiment in many cases.Based on this
The understanding of sample, the part that technical scheme substantially contributes to prior art in other words can be with software product
Form is embodied, and the computer software product is stored in the storage medium that can be read, such as the floppy disk of computer, hard disk or light
Disk etc., including some instructions are to cause a computer equipment (can be personal computer, server, or the network equipment
Deng) perform method described in each of the invention embodiment.
It is described above, it is only the embodiment of the present invention, but protection scope of the present invention is not limited thereto, and it is any
Those familiar with the art the invention discloses technical scope in, change or replacement can be readily occurred in, should all be contained
Cover within protection scope of the present invention.Therefore, protection scope of the present invention described should be defined by scope of the claims.
Claims (8)
1. a kind of virtual switch control plane and the method for User space data-plane communication, it is characterised in that methods described bag
Include:
Control plane sends request message to data-plane communication port, and datum plane is received on data-plane communication port please
Seek message;If request message needs response, datum plane is sent to the request message COM1 of corresponding control plane should
Message is answered, control plane receives response message on request message COM1;Datum plane connects to control plane notification message
Receiving end mouthful sends a notification message, and control plane receives notification message on notification message receiving port.
2. according to the method described in claim 1, it is characterised in that this method also includes:
Virtual switch datum plane is User space datum plane.
3. according to the method described in claim 1, it is characterised in that this method also includes:
Each message package contains a kind of type of message ID, and a kind of type of message ID corresponds to a class in datum plane can be flat by control
The object of face operation.
4. according to the method described in claim 1, it is characterised in that this method also includes:
Each request message includes a kind of Message Opcode type, and action type is specified can to the datum plane that the request message is included
The operation that operation object is carried out.
5. according to the method described in claim 1, it is characterised in that this method also includes:
Each request message includes a sequence number.
6. according to the method described in claim 1, it is characterised in that this method also includes:
Each response message includes corresponding request message identical sequence number.
7. according to the method described in claim 1, it is characterised in that this method also includes:
Control plane and datum plane have the setting of identical data-plane communication port.
8. according to the method described in claim 1, it is characterised in that this method also includes:
The notification message receiving port of control plane informs datum plane by control plane by request message.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197652.2A CN107181703A (en) | 2017-03-29 | 2017-03-29 | A kind of virtual switch control plane and the method for User space data-plane communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710197652.2A CN107181703A (en) | 2017-03-29 | 2017-03-29 | A kind of virtual switch control plane and the method for User space data-plane communication |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107181703A true CN107181703A (en) | 2017-09-19 |
Family
ID=59829855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710197652.2A Pending CN107181703A (en) | 2017-03-29 | 2017-03-29 | A kind of virtual switch control plane and the method for User space data-plane communication |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107181703A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669356A (en) * | 2019-03-08 | 2020-09-15 | 厦门网宿有限公司 | Method for processing network isolation space in batch in IPsec VPN server and IPsec VPN server |
-
2017
- 2017-03-29 CN CN201710197652.2A patent/CN107181703A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111669356A (en) * | 2019-03-08 | 2020-09-15 | 厦门网宿有限公司 | Method for processing network isolation space in batch in IPsec VPN server and IPsec VPN server |
CN111669356B (en) * | 2019-03-08 | 2022-05-27 | 厦门网宿有限公司 | Method for processing network isolation space in batch in IPsec VPN server and IPsec VPN server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592464B2 (en) | Methods for enabling direct memory access (DMA) capable devices for remote DMA (RDMA) usage and devices thereof | |
KR101864813B1 (en) | Method and device for processing operation request in storage system | |
CN101251806B (en) | Method to enable firmware to boot a system from an iscsi device, system and equipment therefor | |
US8776080B2 (en) | Management component transport protocol interconnect filtering and routing | |
CN1864376B (en) | Method, system, and product for utilizing host memory from an offload adapter | |
CN107078969A (en) | Realize computer equipment, the system and method for load balancing | |
CN107977255A (en) | The apparatus and method that tenant's specific data is separated during for using MPLS in the cloud computing for enable OPENFLOW | |
US20150139243A1 (en) | System and Method for Utilizing a Unique Identifier while Registering a Device in a Network | |
JP2020524869A (en) | Virtual machine management | |
CN110830574B (en) | Method for realizing intranet load balance based on docker container | |
US9396051B2 (en) | Integration application building tool | |
USRE46770E1 (en) | Computer managing method | |
US20210289027A1 (en) | Implicit discovery controller registration of non-volatile memory express (nvme) elements in an nvme-over-fabrics (nvme-of) system | |
US11050661B2 (en) | Creating an aggregation group | |
CN100353307C (en) | Storage system and method of storaging data and method of reading data | |
CN103503421A (en) | SCTP association endpoint relocation in a load balancing system | |
CN108337116B (en) | Message order-preserving method and device | |
US8806267B2 (en) | Small computer system interface input output (SCSI IO) referral | |
WO2023000630A1 (en) | Distributed routing method and apparatus, device, and storage medium | |
CN110708275B (en) | Protocol message processing method and device | |
CN114679349A (en) | Data communication method and device | |
CN106878052A (en) | A kind of customer shift method and device | |
CN107181703A (en) | A kind of virtual switch control plane and the method for User space data-plane communication | |
US11079939B1 (en) | Distributing I/O Q-connections of subsytems among hosts | |
CN111600833B (en) | Network operating system and message forwarding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170919 |
|
WD01 | Invention patent application deemed withdrawn after publication |