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 PDF

Info

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
Application number
CN201710197652.2A
Other languages
Chinese (zh)
Inventor
肖骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloud Power (beijing) Technology Co Ltd
Original Assignee
Cloud Power (beijing) Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cloud Power (beijing) Technology Co Ltd filed Critical Cloud Power (beijing) Technology Co Ltd
Priority to CN201710197652.2A priority Critical patent/CN107181703A/en
Publication of CN107181703A publication Critical patent/CN107181703A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual 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

A kind of virtual switch control plane and the method for User space data-plane communication
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.
CN201710197652.2A 2017-03-29 2017-03-29 A kind of virtual switch control plane and the method for User space data-plane communication Pending CN107181703A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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