一种虚拟交换机控制平面与用户态数据平面通信的方法技术

技术编号:16236166 阅读:26 留言:0更新日期:2017-09-19 16:14
本发明专利技术提供的方法是用于虚拟交换机控制平面与用户态数据平面之间的通信。根据一个实施例,提供了一种用于虚拟交换机控制平面与用户态数据平面通信的方法。控制平面发送请求消息至数据平面通信端口,数据平面在数据平面通信端口上接收请求消息,如果请求消息需要应答,数据平面向对应的控制平面的请求消息通信端口发送应答消息,控制平面在请求消息通信端口上接收应答消息;数据平面向控制平面通知消息接收端口发送通知消息,控制平面在通知消息接收端口上接收通知消息。该方法是一种简单高效的虚拟交换机控制平面与独立的用户态数据平面通信的方式,现有与内核态数据平面通信的虚拟交换机控制平面只需改动数据平面通信端口即可实现与用户态数据平面的通信。

Method for communication between control plane of virtual switch and user state data plane

The method provided by the invention is used for the communication between the control plane of the virtual switch and the user state data plane. According to one embodiment, a method for communicating between a control plane of a virtual switch and a subscriber state data plane is provided. The control plane sends a request message to the data plane communication port, the data plane receives a request message in the data plane communication port, if the request message needs to request message response, data plane communication port to send a response message corresponding to the control plane, the control plane receives the response message in the request message communication port; data plane control plane to the notification message send a notification message receiving port, the control plane receives a notification message in the notification message receiving port. This method is a simple and efficient virtual switch control plane and data plane state independent user communication, the existing virtual switches and kernel state data plane communication control plane need only change the data plane communication port to achieve communication with user data plane.

【技术实现步骤摘要】
一种虚拟交换机控制平面与用户态数据平面通信的方法
本申请涉及网络通信领域,特别涉及一种虚拟交换机控制平面与用户态数据平面通信的方法。
技术介绍
随着虚拟化技术的广泛应用,虚拟交换机需要支撑越来越多的关键业务,这些关键业务对虚拟交换机的数据平面的性能及高可用性也提出越来越高的要求。传统的虚拟交换机数据平面通常位于系统的内核态,性能不能满足新型业务的需求。也有新一代的虚拟交换机将数据平面在用户态实现从而可以利用DPDK等高性能数据平面技术,但通常将用户态数据平面和控制平面在一个系统进程中实现,这样导致用户态数据平面的高可靠性不能得到满足。因此,本领域存在高可靠的独立的高性能的虚拟交换机用户态数据平面的需求,由此产生出对虚拟交换机控制平面与用户态数据平面通信方法的需求。
技术实现思路
本申请叙述的方法用于虚拟交换机控制平面与用户态数据平面之间进行通信,从而使得虚拟交换机用户态数据平面可以与控制平面实现分离以提高用户态数据平面的可靠性。根据一个实施例,提供了一种用于虚拟交换机控制平面与用户态数据平面之间进行通信的方法,该方法包括:控制平面发送请求消息至数据平面通信端口,数据平面在数据平面通信端口上接收请求消息,如果请求消息需要应答,数据平面向对应的控制平面的请求消息通信端口发送应答消息,控制平面在请求消息通信端口上接收应答消息;数据平面向控制平面通知消息接收端口发送通知消息,控制平面在通知消息接收端口上接收通知消息。在前述实施例的上下文中,虚拟交换机数据平面为用户态数据平面。在前述实施例的上下文中,每个消息包含一种消息类型ID,一种消息类型ID对应于数据平面中一类可以被控制平面操作的对象。在前述实施例的上下文中,每个请求消息包含一种消息操作类型,操作类型指定对该请求消息包含的数据平面可操作对象进行的操作。在前述实施例的上下文中,每个请求消息包含一个序号。在前述实施例的上下文中,每个应答消息包含对应的请求消息相同的序号。在前述实施例的上下文中,控制平面和数据平面有相同的数据平面通信端口设置。在前述实施例的上下文中,控制平面的通知消息接收端口由控制平面通过请求消息告知数据平面。本专利技术实施例的其他特征将从附图和后面的详细叙述中更明显得到。本专利技术的突出优点为该方法是一种简单高效的虚拟交换机控制平面与独立的用户态数据平面通信的方式,现有与内核态数据平面通信的虚拟交换机控制平面只需改动数据平面通信端口即可实现与用户态数据平面的通信。附图说明在附图中的视图中借助举例方式对本专利技术的实施例进行描述,这些实施例并非起局限作用,附图中类似的参考数字将表示类似的元件,其中:图1是从概念上描述本专利技术方法的逻辑关系图。图2描述了应用本专利技术的一个具体实施例的功能模块图。图3描述了GenericNetlink的原理图。图4描述了GenericNetlink消息格式。图5描述了用于虚拟交换机控制平面与数据平面通信的消息类型。图6描述了用于虚拟交换机控制平面与数据平面通信的消息操作类型。图7是可以使用本专利技术实施例的计算机系统的实例。具体实施方式本申请叙述了一种用于虚拟交换机控制平面与用户态数据平面通信的方法。本申请实施的技术方案中,用于虚拟交换机控制平面(210)和用户态数据平面(215)通信的消息基于GenericNetlink消息总线(280)。消息头部字段包含消息类型ID和消息操作类型,每个请求消息包含一个序号,每个应答消息包含对应的请求消息相同的序号。消息类型注册模块(282)向GenericNetlink控制器(281)注册所有使用的消息类型,注册完成后控制平面和用户态数据平面可以向GenericNetlink控制器(281)查询消息类型ID。数据平面通信端口选择模块(218)从用户态数据平面启动前系统未使用的GenericNetlink端口中选取,并通知控制平面和用户态数据平面。控制平面的通知消息接收端口(220,225)由控制平面决定并通过请求消息告知用户态数据平面。控制平面(210)发送请求消息(250)至数据平面通信端口(240),数据平面(215)在数据平面通信端口(240)上接收请求消息(250),如果请求消息需要应答,数据平面(215)向对应的控制平面的请求消息通信端口(235)发送应答消息(255),控制平面(210)在请求消息通信端口(235)上接收应答消息(255);数据平面(215)向控制平面的通知消息接收端口(225)发送通知消息(270),控制平面(210)在通知消息接收端口(225)上接收通知消息(270)。在后面的叙述中,为了提供对本专利技术实施例的全面理解,公开了许多特定的详细内容。然而,本领域的技术人员将明白,在不具有这些具体细节中的某些细节的情况下,也可以实现本专利技术的实施例。术语虚拟交换机:由软件实现的根据以太网报头进行报文转发的系统,也可提供安全访问控制、流量控制和隧道等功能。控制平面:用于控制和管理所有网络协议的运行,控制平面提供了数据平面数据处理转发前所必须的各种网络信息和转发查询表项。数据平面IO端口:用于接收发送数据报文的端口,可以是连接虚拟机的虚拟端口,连接物理网卡的物理端口,也可以是其它的特殊端口如隧道端口,TAP端口等。数据平面:用于处理数据报文在各种数据平面IO端口之间的转发。用户态数据平面:运行在操作系统用户态的数据平面。Netlink:一种完成用户态程序和内核模块通信的机制,Netlink内核提供的服务类型已经提前定义,扩展新的服务类型必须重新编译内核。Netlink端口:用来描述基于Netlink通信的端点,操作系统内核对应的Netlink端口为0。GenericNetlink:一种建立在Netlink上通用的用户态和内核态通信的机制,内核模块可以动态注册,注销GenericNetlink数据总线上的服务。GenericNetlinkFamily:对应于GenericNetlink数据总线上的一种服务,根据Family名称可以区分不同的服务。GenericNetlinkFamilyID:与一种GenericNetlinkFamily对应的ID,用于消息首部。GenericNetlink控制器:管理GenericNetlink数据总线上GenericNetlinkFamily注册和注销,维护GenericNetlinkFamily与GenericNetlinkFamilyID的映射。请求消息:控制平面向数据平面发送的用于完成指定操作的消息。应答消息:数据平面向控制平面发送的返回请求消息的处理结果的消息。通知消息:数据平面向控制平面发送的数据平面特定事件的消息。数据平面通信端口:数据平面上用于接收请求消息,发送应答消息和通知消息的通信端口。请求消息通信端口:控制平面上用于发送请求消息,接收应答消息的通信端口。通知消息接收端口:控制平面上用于接收通知消息的通信端口。图2描述了应用本专利技术的一个具体实施例的功能模块图,每个功能模块以及之间的关系将在后面的实施例中具体描述。图3描述了GenericNetlink的原理图,GenericNetlink是一种可扩展的用于用户态应用与内核态服务进行通信的机制。在用户态应用与内核态服务通信开始前,内核服务程序(350,355)通过Gener本文档来自技高网...
一种虚拟交换机控制平面与用户态数据平面通信的方法

【技术保护点】
一种虚拟交换机控制平面与用户态数据平面通信的方法,其特征在于,所述方法包括:控制平面发送请求消息至数据平面通信端口,数据平面在数据平面通信端口上接收请求消息;如果请求消息需要应答,数据平面向对应的控制平面的请求消息通信端口发送应答消息,控制平面在请求消息通信端口上接收应答消息;数据平面向控制平面通知消息接收端口发送通知消息,控制平面在通知消息接收端口上接收通知消息。

【技术特征摘要】
1.一种虚拟交换机控制平面与用户态数据平面通信的方法,其特征在于,所述方法包括:控制平面发送请求消息至数据平面通信端口,数据平面在数据平面通信端口上接收请求消息;如果请求消息需要应答,数据平面向对应的控制平面的请求消息通信端口发送应答消息,控制平面在请求消息通信端口上接收应答消息;数据平面向控制平面通知消息接收端口发送通知消息,控制平面在通知消息接收端口上接收通知消息。2.根据权利要求1所述的方法,其特征在于,该方法还包括:虚拟交换机数据平面为用户态数据平面。3.根据权利要求1所述的方法,其特征在于,该方法还包括:每个消息包含一种消息类型ID,一种消息类型ID对应于数据平面中...

【专利技术属性】
技术研发人员:肖骏
申请(专利权)人:云络动力北京科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1