CN108632070A - 虚拟网络设备的配置方法及服务器 - Google Patents

虚拟网络设备的配置方法及服务器 Download PDF

Info

Publication number
CN108632070A
CN108632070A CN201710179538.7A CN201710179538A CN108632070A CN 108632070 A CN108632070 A CN 108632070A CN 201710179538 A CN201710179538 A CN 201710179538A CN 108632070 A CN108632070 A CN 108632070A
Authority
CN
China
Prior art keywords
virtual network
network device
control plane
server
processor core
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.)
Granted
Application number
CN201710179538.7A
Other languages
English (en)
Other versions
CN108632070B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710179538.7A priority Critical patent/CN108632070B/zh
Publication of CN108632070A publication Critical patent/CN108632070A/zh
Application granted granted Critical
Publication of CN108632070B publication Critical patent/CN108632070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供了虚拟网络设备的配置方法和服务器,使得可以在不增加转发时延的前提下充分利用有限的资源配置更多的虚拟网络设备。方法包括:服务器获取第一配置信息;服务器根据第一配置信息,在服务器中配置多个控制面,以及一个与多个控制面对应的第一公共数据面,并将多个控制面与服务器中的第一处理器核绑定,将第一公共数据面与服务器中的第二处理器核绑定,以得到多个虚拟网络设备;其中,多个控制面中的任一控制面,用于控制与该控制面对应的虚拟网络设备的报文转发,第一公共数据面用于转发多个虚拟网络设备的报文。

Description

虚拟网络设备的配置方法及服务器
技术领域
本申请涉及通信技术领域,尤其涉及虚拟网络设备的配置方法及服务器。
背景技术
随着网络功能虚拟化(network function virtualization,NFV)技术的不断发展,交换机、路由器或防火墙等越来越多的传统以独立硬件形态存在的网络设备被配置到虚拟环境中。目前,NFV一般以服务器为硬件平台,通过虚拟化技术在虚拟机、容器等相关虚拟环境中运行具备特定功能的网络设备。如图1所示,服务器可以包括:内存、网卡、多核处理器、桥片等硬件资源,其中,内存、网卡等资源通过桥片与多核处理器连接。网卡例如可以包括网卡1、网卡2、…、网卡j等;多核处理器例如可以包括核1、核2、核3、…、核n等。服务器通过运行操作系统以及虚拟化软件,可以将内存,多核处理器和网卡等硬件资源分配给不同的虚拟网络设备。
在标准虚拟化机制下,每个虚拟网络设备包括一个控制面和一个数据面,控制面用于控制虚拟网络设备的报文转发,数据面用于虚拟网络设备的报文转发,每个虚拟网络设备的控制面和数据面分别与服务器中的处理器核一一对应。例如,如图2所示,虚拟网络设备1的控制面1与处理器核1绑定,虚拟网络设备1的数据面1与处理器核2绑定,虚拟网络设备2的控制面2与处理器核3绑定,虚拟网络设备2的数据面2与处理器核4绑定,等等。然而,一个服务器的多核处理器中处理器核的数量有限,若采用标准虚拟化机制配置虚拟网络设备,可配置的虚拟网络设备的数量有限。
为了增加服务器中可配置的虚拟网络设备的数量,通常是将多个虚拟网络设备的控制面与服务器的同一个处理器核绑定,将多个虚拟网络设备的不同数据面与服务器的同一个处理器核绑定。例如,如图3所示,虚拟网络设备1的控制面1、虚拟网络设备2的控制面2、…和虚拟网络设备m的控制面m均与服务器中的处理器核1绑定;虚拟网络设备1的数据面1、虚拟网络设备2的数据面2、…和虚拟网络设备m的数据面m均与服务器中的处理器核2绑定。然而,多个虚拟网络设备的不同数据面运行在同一个处理器核上,实际上是多进程按时间片调度,将存在进程切换的开销和调度的时延,而进程切换的开销和调度的时延对报文转发时延造成很大影响。
因此,如何在不增加转发时延的前提下充分利用有限的资源配置更多的虚拟网络设备是目前亟待解决的问题。
发明内容
本申请提供一种虚拟网络设备的配置方法及服务器,使得可以在不增加转发时延的前提下充分利用服务器上有限的资源配置更多的虚拟网络设备。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种虚拟网络设备的配置方法,该方法包括:服务器获取第一配置信息,该第一配置信息包括指示配置多个虚拟网络设备的信息;该服务器根据该第一配置信息,在该服务器中配置多个控制面,以及一个与该多个控制面对应的第一公共数据面,并将该多个控制面与该服务器中的第一处理器核绑定,将该第一公共数据面与该服务器中的第二处理器核绑定,以得到该多个虚拟网络设备;其中,该多个虚拟网络设备中包括第一虚拟网络设备和第二虚拟网络设备;该多个控制面中包括第一控制面和第二控制面;该第一控制面对应该第一虚拟网络设备,该第二控制面对应该第二虚拟网络设备;该多个控制面中的任一控制面,用于控制与该控制面对应的虚拟网络设备的报文转发,该第一公共数据面用于转发该多个虚拟网络设备的报文。这样,多个虚拟网络设备共享第一公共数据面,该第一公共数据面运行在一个处理器核上,也就是单进程转发报文,因此可以在包含有限数量的处理器核的服务器上配置更多的虚拟网络设备。另一方面,由于是单进程转发报文,因此多个虚拟网络设备进行报文转发时不存在进程切换的开销和进程间调度的时延,从而不会增加转发时延。此外,由于多个虚拟网络设备共享了第一公共数据面,因此第一公共数据面绑定的第二处理器核可以将第二处理器核上的计算资源合理调剂分配给不同的虚拟网络设备,从而可以有效提升服务器中处理器核计算资源的利用率。综上,本申请不仅可以在不增加转发时延的前提下充分利用有限的资源配置更多的虚拟网络设备,还可以提升服务器中处理器核计算资源的利用率。
结合第一方面,在第一方面的第一种可能的实现中,该第一控制面包括该第一虚拟网络设备的转发表项;该第二控制面包括该第二虚拟网络设备的转发表项;该第一公共数据面包括多个转发实例,该多个转发实例中包括与该第一虚拟网络设备对应的第一转发实例和与该第二虚拟网络设备对应的第二转发实例;该多个控制面中的任一控制面,用于控制与该控制面对应的虚拟网络设备的报文转发,包括:该第一控制面,用于向该第一转发实例下发该第一虚拟网络设备的转发表项;该第二控制面,用于向该第二转发实例下发该第二虚拟网络设备的转发表项;该第一公共数据面用于转发该多个虚拟网络设备的报文,包括:该第一公共数据面接收该第一虚拟网络设备的报文,并将该第一虚拟网络设备的报文发送给该第一转发实例;该第一转发实例根据该第一控制面下发的该第一虚拟网络设备的转发表项转发该第一虚拟网络设备的报文;该第一公共数据面接收该第二虚拟网络设备的报文,并将该第二虚拟网络设备的报文发送给该第二转发实例;该第二转发实例根据该第二控制面下发的该第二虚拟网络设备的转发表项转发该第二虚拟网络设备的报文。基于该方案,可以实现虚拟网络设备的报文转发。
可选的,本申请提供的虚拟网络设备的配置方法中,第一公共数据面的所有转发实例可以共享公共内存池。这样,各个转发实例可以相互调剂使用该公共内存池中的内存资源,比如,当第一公共数据面的一个转发实例不再使用时,公共内存池可以释放该转发实例使用的内存资源,以便该内存资源可以分配给其他转发实例使用,有效地提高了第一公共数据面中各个转发实例使用的内存的利用率。
可选的,本申请提供的虚拟网络设备的配置方法中,在服务器获取第一配置信息之后,还可以包括:服务器根据第一配置信息,在服务器中配置多个接口模块,每一个接口模块对应一个虚拟网络设备。基于该方案,通过在服务器中配置多个接口模块,每一个接口模块对应一个虚拟网络设备,使得第一公共数据面在接收到某个虚拟网络设备的报文之后,可以直接将报文发送给该虚拟网络设备对应的转发实例,从而可以实现不同虚拟网络设备报文的快速转发。
结合第一方面或第一方面的第一种可能的实现,在第一方面的第二种可能的实现中,该方法还包括:该服务器获取第二配置信息,该第二配置信息包括指示配置第三虚拟网络设备的信息;该服务器获取目标资源利用率,该目标资源利用率包括K组虚拟网络设备的公共数据面绑定的处理器核的资源利用率,以及该K组虚拟网络设备的控制面绑定的处理器核的资源利用率,其中,该多个虚拟网络设备属于该K组虚拟网络设备中的一组,K为不小于1的整数;该服务器根据该第二配置信息和该目标资源利用率在该服务器中配置该第三虚拟网络设备。基于该方案,可以根据预先配置的公共数据面和控制面绑定的各个处理器核的资源利用率来新增虚拟网络设备,提升了虚拟网络设备配置的灵活性。
结合第一方面的第二种可能的实现,在第一方面的第三种可能的实现中,该服务器根据该第二配置信息和该目标资源利用率在该服务器中配置该第三虚拟网络设备,包括:若该K组虚拟网络设备的公共数据面绑定的处理器核中存在第三处理器核的资源利用率未超过第一预设阈值,该服务器将该第三处理器核绑定的公共数据面确定为该第三虚拟网络设备的公共数据面;该服务器确定第四处理器核的资源利用率,其中,该第四处理器核为该第三处理器核绑定的公共数据面对应的控制面所绑定的处理器核;若该第四处理器核的资源利用率未超过第二预设阈值,该服务器根据该第二配置信息,在该服务器中配置该第三虚拟网络设备对应的第三控制面,并将该第三控制面与第四处理器核绑定;若该第四处理器核的资源利用率超过该第二预设阈值,该服务器根据该第二配置信息,在该服务器中配置该第三虚拟网络设备对应的第三控制面,并将该第三控制面与第五处理器核绑定,其中,该第五处理器核为该服务器中未绑定控制面且未绑定公共数据面的一个处理器核。基于该方案,由于服务器配置第三虚拟网络设备时,考虑了处理器核的资源利用率,因此避免了服务器中资源利用率很小的处理器核没有被使用,而资源利用率很大的处理器核可能超负载的问题,使得服务器中各个处理器核被合理均衡的使用,有效提升了服务器的性能。
结合第一方面的第二种可能的实现,在第一方面的第四种可能的实现中,该服务器根据该第二配置信息和该目标资源利用率在该服务器中配置该第三虚拟网络设备,包括:若该K组虚拟网络设备的公共数据面绑定的处理器核中不存在处理器核的资源利用率未超过该第一预设阈值,该服务器根据该第二配置信息,在该服务器中配置该第三虚拟网络设备对应的第三控制面和一个与该第三控制面对应的第二公共数据面,并将该第三控制面与第六处理器核绑定,将该第二公共数据面与第七处理器核绑定,以得到该第三虚拟网络设备,其中,该第六处理器核和该第七处理器核为该服务器中未绑定控制面且未绑定公共数据面的处理器核。基于该方案,由于服务器配置第三虚拟网络设备时,考虑了处理器核的资源利用率,因此避免了服务器中资源利用率很小的处理器核没有被使用,而资源利用率很大的处理器核可能超负载的问题,使得服务器中各个处理器核被合理均衡的使用,有效提升了服务器的性能。
第二方面,提供一种服务器,该服务器具有实现上述方法中服务器行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供一种服务器,包括:处理器、存储器和通信接口;该处理器与该通信接口通过总线相连,该处理器用于实现上述第一方面及其可能实现中任一项的虚拟网络设备的配置方法。
该存储器用于存储计算机程序指令,该处理器与该存储器通过该总线连接,该处理器执行该存储器存储的程序指令,以使该服务器执行如上述第一方面及其可能实现中任一项的虚拟网络设备的配置方法。
第四方面,提供了一种计算机可读存储介质,用于储存为上述服务器所用的计算机程序指令,当其在计算机上运行时,使得计算机可以执行上述第一方面及其可能的实现中任意一项的虚拟网络设备的配置方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面及其可能的实现中任意一项的虚拟网络设备的配置方法。
其中,第二方面至第五方面所带来的技术效果可参见第一方面及其可能的实现中的技术效果,此处不再赘述。
附图说明
图1为现有的服务器的结构示意图;
图2为现有的一种配置虚拟网络设备的示意图;
图3为现有的另一种配置虚拟网络设备的示意图;
图4为本发明实施例提供的一种虚拟网络设备的配置方法的流程示意图;
图5为本发明实施例配置的一种虚拟网络设备的示意图;
图6为本发明实施例配置的另一种虚拟网络设备的示意图;
图7为本发明实施例配置的另一种虚拟网络设备的示意图;
图8为本发明实施例配置的另一种虚拟网络设备的示意图;
图9为本发明实施例配置的另一种虚拟网络设备的示意图;
图10为本发明实施例配置的另一种虚拟网络设备的示意图;
图11为本发明实施例提供的又一种虚拟网络设备的配置方法的流程示意图;
图12为本发明实施例配置的又一种虚拟网络设备的示意图;
图13为本发明实施例配置的又一种虚拟网络设备的示意图;
图14为本发明实施例提供的又一种虚拟网络设备的配置方法的流程示意图;
图15为本发明实施例提供的又一种虚拟网络设备的配置方法的流程示意图;
图16为本发明实施例提供的又一种虚拟网络设备的示意图;
图17为本发明实施例提供的又一种虚拟网络设备的示意图;
图18为本发明实施例提供的又一种虚拟网络设备的配置方法的流程示意图;
图19为本发明实施例提供的又一种虚拟网络设备的示意图;
图20为本发明实施例提供的一种服务器的结构示意图;
图21为本发明实施例提供的又一种服务器的结构示意图;
图22为本发明实施例提供的一种服务器的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
需要说明的是,本发明实施例中的“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。
本发明实施例提供的虚拟网络设备的配置方法可用于配置一组或者多组虚拟网络设备,每组虚拟网络设备中包含的虚拟网络设备的个数可能相同,也可能不同,本发明实施例对此不作具体限定。为了方便,本发明实施例以配置一组虚拟网络设备为例进行说明。当然,在配置多组虚拟网络设备时,每组虚拟网络设备的配置方法均可参照本发明实施例提供的一组虚拟网络设备的配置方法进行配置,本发明实施例在此不再赘述。
具体的,如图4所示,为本发明实施例提供的一组虚拟网络设备的配置方法,包括如下步骤S401和S402。
S401、服务器获取第一配置信息,该第一配置信息包括指示配置多个虚拟网络设备的信息。
本发明实施例中,当存在多组虚拟网络设备时,所述多个虚拟网络设备属于多组虚拟网络设备中的一组。
其中,本发明实施例中的服务器可以是任意服务器。比如,可以为通用服务器,也可以为专用服务器;或者,可以为管理服务器,也可以为计算服务器,本发明实施例对此不作具体限定。
S402、服务器根据第一配置信息,在服务器中配置多个控制面,以及一个与所述多个控制面对应的第一公共数据面,并将所述多个控制面与服务器中的第一处理器核绑定,将所述第一公共数据面与服务器中的第二处理器核绑定,以得到所述多个虚拟网络设备。
本发明实施例中,在服务器中为所述多个虚拟网络设备配置多个控制面。所配置的控制面的个数等于虚拟网络设备的个数。换言之,所述多个控制面与所述多个虚拟网络设备一一对应。
其中,多个虚拟网络设备中包括第一虚拟网络设备和第二虚拟网络设备;多个控制面中包括第一控制面和第二控制面;第一控制面对应第一虚拟网络设备,第二控制面对应第二虚拟网络设备。
所述多个控制面中的任一控制面,用于控制与该控制面对应的虚拟网络设备的报文转发。具体地,所述第一控制面用于控制所述第一虚拟网络设备的报文转发;所述第二控制面用于控制所述第二虚拟网络设备的报文转发。
所述第一公共数据面,用于转发所述多个虚拟网络设备的报文。
需要说明的是,本发明实施例中,配置的多个控制面的个数等于配置的多个虚拟网络设备的个数。比如,配置3个控制面对应配置3个虚拟网络设备,在此统一说明,以下不在赘述。
需要说明的是,本发明实施例以多个虚拟网络设备中包括第一虚拟网络设备和第二虚拟网络设备,多个控制面中包括第一控制面和第二控制面,第一控制面对应第一虚拟网络设备,第二控制面对应第二虚拟网络设备为例,旨在为了说明一个控制面对应一个虚拟网络设备,并不排除多个虚拟网络设备中还包含其他虚拟网络设备,多个控制面中还包含其他控制面的可能。
比如,假设第一虚拟网络设备为虚拟网络设备1,第二虚拟网络设备为虚拟网络设备2,第一控制面为控制面1,第二控制面为控制面2,第一公共数据面为公共数据面1,则:
当配置的虚拟网络设备的个数为2时,如图5所示,多个控制面中包括控制面1和控制面2,其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2。控制面1和控制面2与服务器中的核1绑定,公共数据面1与服务器中的核2绑定。
当配置的虚拟网络设备的个数大于2时,比如,当配置的虚拟网络设备的个数为3时,则如图6所示,多个控制面中除了包括控制面1和控制面2,还包括控制面3,其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2,控制面3对应虚拟网络设备3。控制面1、控制面2和控制面3与服务器中的核1绑定,公共数据面1与服务器中的核2绑定。
可选的,本发明实施例中,也可以将多个控制面与服务器中的多个核绑定。换言之,第一处理器核可以包括服务器中的多个核。本发明实施例对此不作具体限定。
比如,假设第一虚拟网络设备为虚拟网络设备1,第二虚拟网络设备为虚拟网络设备2,第一控制面为控制面1,第二控制面为控制面2,第一公共数据面为公共数据面1,则:
当配置的虚拟网络设备的个数为2时,如图7所示,多个控制面中包括控制面1和控制面2,其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2。控制面1与服务器中的核1绑定,控制面2与服务器中的核3绑定,公共数据面1与服务器中的核2绑定。
当配置的虚拟网络设备的个数大于2时,比如,当配置的虚拟网络设备的个数为3时,则如图8所示,多个控制面中除了包括控制面1和控制面2,还包括控制面3,其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2,控制面3对应虚拟网络设备3。控制面1和控制面2与服务器中的核1绑定,控制面3与服务器中的核3绑定,公共数据面1与服务器中的核2绑定。
由于多个虚拟网络设备共享一个第一公共数据面,因此,该第一公共数据面绑定的第二处理器核需要将第二处理器核上的计算资源合理分配给不同的虚拟网络设备。比如,假设图6中,当控制面1对应的虚拟网络设备1和控制面2对应的虚拟网络设备2在T1时刻的报文流量较小,控制面3对应的虚拟网络设备3在T1时刻的报文流量较大时,公共数据面1绑定的核2可以将较多的计算资源分配给控制面3对应的虚拟网络设备3。
需要说明的是,本发明实施例提供的虚拟网络设备的配置方法在具体实现时,不限定配置公共数据面或者配置控制面的先后顺序,可能是先配置控制面,再配置公共数据面;也可能是先配置公共数据面,再配置控制面;还可能是同时配置公共数据面和控制面,本发明实施例对此不作具体限定。
本发明实施例提供的虚拟网络设备的配置方法中,服务器根据配置信息,配置多个控制面以及与该多个控制面对应的一个第一公共数据面,并将该多个控制面与服务器中的第一处理器核绑定,将该第一公共数据面与服务器中的第二处理器核绑定,以得到多个虚拟网络设备。多个控制面中的任一控制面,用于控制与控制面对应的虚拟网络设备的报文转发,第一公共数据面,用于转发多个虚拟网络设备的报文。也就是说,本发明实施例中,多个虚拟网络设备共享第一公共数据面,该第一公共数据面运行在一个处理器核上,也就是单进程转发报文。这样,一方面,由于多个虚拟网络设备共享第一公共数据面,该第一公共数据面运行在一个处理器核上,因此可以在包含有限数量的处理器核的服务器上配置更多的虚拟网络设备;另一方面,由于是单进程转发报文,因此多个虚拟网络设备进行报文转发时不存在进程切换的开销和进程间调度的时延,从而不会增加转发时延;又一方面,由于多个虚拟网络设备共享了第一公共数据面,因此,第一公共数据面绑定的第二处理器核可以将第二处理器核上的计算资源合理调剂分配给不同的虚拟网络设备,从而可以有效提升服务器中处理器核计算资源的利用率。综上,本发明实施例不仅可以在不增加转发时延的前提下充分利用有限的资源配置更多的虚拟网络设备,并且可以提升服务器中处理器核计算资源的利用率。
可选的,本发明实施例提供的虚拟网络设备的配置方法中,第一控制面包括第一虚拟网络设备的转发表项;第二控制面包括第二虚拟网络设备的转发表项;第一公共数据面包括多个转发实例,多个转发实例中包括与第一虚拟网络设备对应的第一转发实例和与第二虚拟网络设备对应的第二转发实例。
多个控制面中的任一控制面,用于控制与该控制面对应的虚拟网络设备的报文转发,包括:第一控制面,用于向第一转发实例下发第一虚拟网络设备的转发表项;第二控制面,用于向第二转发实例下发第二虚拟网络设备的转发表项。
第一公共数据面用于转发多个虚拟网络设备的报文,包括:第一公共数据面接收第一虚拟网络设备的报文,并将第一虚拟网络设备的报文发送给第一转发实例;第一转发实例根据第一控制面下发的第一虚拟网络设备的转发表项转发第一虚拟网络设备的报文;第一公共数据面接收第二虚拟网络设备的报文,并将第二虚拟网络设备的报文发送给第二转发实例;第二转发实例根据第二控制面下发的第二虚拟网络设备的转发表项转发第二虚拟网络设备的报文。
需要说明的是,本发明实施例中,配置的转发实例的个数等于配置的虚拟网络设备的个数,配置的转发表项的个数也等于配置的虚拟网络设备的个数。比如,3个转发实例对应配置3个虚拟网络设备,3个转发表项对应配置3个虚拟网络设备,在此统一说明,以下不在赘述。
示例性的,图9为配置的一组虚拟网络设备的示意图,假设需要配置3个虚拟网络设备,分别为虚拟网络设备1、虚拟网络设备2和虚拟网络设备3。则服务器根据第一配置信息配置3个控制面,分别为控制面1、控制面2、控制面3,其中控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2,控制面3对应虚拟网络设备3。并且服务器配置这3个控制面对应同一个公共数据面,为公共数据面1。其中,控制面1、控制面2和控制面3与服务器中的核1绑定,公共数据面1与服务器中的核2绑定。控制面1包括虚拟网络设备1的转发表项1,控制面2包括虚拟网络设备2的转发表项2,控制面3包括虚拟网络设备3的转发表项3;公共数据面1包括3个转发实例,分别为转发实例1、转发实例2和转发实例3。其中,转发实例1对应虚拟网络设备1,转发实例2对应虚拟网络设备2,转发实例3对应虚拟网络设备3。控制面1,用于向公共数据面1中与虚拟网络设备1对应的转发实例1下发转发表项1;控制面2,用于向公共数据面1中与虚拟网络设备2对应的转发实例2下发转发表项2;控制面3,用于向公共数据面1中与虚拟网络设备3对应的转发实例3下发转发表项3。公共数据面1接收虚拟网络设备1的报文,并将虚拟网络设备1的报文发送给虚拟网络设备1对应的转发实例1,由转发实例1根据控制面1下发的虚拟网络设备1的转发表项1转发虚拟网络设备1的报文;公共数据面2接收虚拟网络设备2的报文,并将虚拟网络设备2的报文发送给虚拟网络设备2对应的转发实例2,由转发实例2根据控制面2下发的虚拟网络设备2的转发表项2转发虚拟网络设备2的报文;公共数据面3接收虚拟网络设备3的报文,并将虚拟网络设备3的报文发送给虚拟网络设备3对应的转发实例3,由转发实例3根据控制面3下发的虚拟网络设备3的转发表项3转发虚拟网络设备3的报文。
基于本发明实施例提供的虚拟网络设备的配置方法,可以实现虚拟网络设备的报文转发。
可选的,本发明实施例中,第一公共数据面的所有转发实例可以共享公共内存池。这样,各个转发实例可以相互调剂使用该公共内存池中的内存资源,比如,当第一公共数据面的一个转发实例不再使用时,公共内存池可以释放该转发实例使用的内存资源,以便该内存资源可以分配给其他转发实例使用,有效地提高了第一公共数据面中各个转发实例使用的内存的利用率。
可选的,本发明实施例提供的虚拟网络设备的配置方法中,在服务器获取第一配置信息之后,还可以包括:服务器根据第一配置信息,在服务器中配置多个接口模块,每一个接口模块对应一个虚拟网络设备。例如,多个接口模块中包括第一接口模块和第二接口模块。其中,第一接口模块对应第一虚拟网络设备,用于接收第一虚拟网络设备的报文,再将报文发送给第一公共数据面。第二接口模块对应第二虚拟网络设备,用于接收第二虚拟网络设备的报文,再将报文发送给第一公共数据面。第一公共数据面具体用于接收第一接口模块发送的报文,并将该报文发送给第一虚拟网络设备对应的第一转发实例;以及,接收第二接口模块发送的报文,并将该报文发送给第二虚拟网络设备对应的第二转发实例。
需要说明的是,本发明实施例中,配置多个接口模块的个数等于配置多个虚拟网络设备的个数。比如,配置3个接口模块对应配置3个虚拟网络设备,在此统一说明,以下不在赘述。
示例性的,假设服务器根据第一配置信息已经配置了如图9所示的3个虚拟网络设备,则如图10所示,服务器还可以根据第一配置信息,在服务器中配置3个接口模块,分别为接口模块1、接口模块2和接口模块3。其中,接口模块1对应虚拟网络设备1,接口模块2对应虚拟网络设备2,接口模块3对应虚拟网络设备3。接口模块1用于接收虚拟网络设备1的报文,并将虚拟网络设备1的报文发送给公共数据面1,由公共数据面1将该报文发送给虚拟网络设备1对应的转发实例1;接口模块2用于接收虚拟网络设备2的报文,并将虚拟网络设备2的报文发送给公共数据面1,由公共数据面1将该报文发送给虚拟网络设备2对应的转发实例2;接口模块3用于接收虚拟网络设备3的报文,并将虚拟网络设备3的报文发送给公共数据面1,由公共数据面1将该报文发送给虚拟网络设备3对应的转发实例3。当然,接口模块1还用于接收公共数据面1发送的虚拟网络设备1的报文,并将虚拟网络设备1的报文转发出去,比如转发给其他接口模块;接口模块2还用于接收公共数据面1发送的虚拟网络设备2的报文,并将虚拟网络设备2的报文转发出去,比如转发给其他接口模块;接口模块3还用于接收公共数据面3发送的虚拟网络设备3的报文,并将虚拟网络设备3的报文转发出去,比如转发给其他接口模块,本发明实施例对此不作具体限定。
需要说明的是,本发明实施例中,某个虚拟网络设备对应的接口模块接收的报文可能是其它虚拟网络设备对应的接口模块发送的,也可能是服务器的外部接口发送的,本发明实施例对此不作具体限定。比如,当报文在虚拟网络设备1和虚拟网络设备2之间进行转发时,虚拟网络设备1对应的接口模块1接收的报文是虚拟网络设备2对应的接口模块2发送的。或者,比如,当报文是从服务器2转发给服务器1中的虚拟网络设备1时,虚拟网络设备1对应的接口模块1接收的报文是由服务器2发送给服务器1的外部接口,再由服务器1的外部接口发送给虚拟网络设备1对应的接口模块1的。
接口模块可以包括两个子接口,其中,一个子接口用于接收报文,另一个子接口用于发送报文;或者,接口模块也可以仅包括一个接口,该接口既用于接收报文也用于发送报文,本发明实施例对此不作具体限定。
本发明实施例提供的虚拟网络设备的配置方法,通过在服务器中配置多个接口模块,每一个接口模块对应一个虚拟网络设备,使得第一公共数据面在接收到某个虚拟网络设备的报文之后,可以直接将报文发送给该虚拟网络设备对应的转发实例,从而可以实现不同虚拟网络设备报文的快速转发。
可选的,本发明实施例还提供一种虚拟网络设备的配置方法,可用于在已经配置好的一组或者多组虚拟网络设备中增加一个或多个虚拟网络设备。为了方便,本发明实施例以在已经配置好的一组或者多组虚拟网络设备中增加一个虚拟网络设备为例进行说明。当然,在已经配置好的一组或者多组虚拟网络设备中增加多个虚拟网络设备时,增加每个虚拟网络设备的配置方法可参照本发明实施例提供的增加一个虚拟网络设备的配置方法进行配置,本发明实施例在此不再赘述。
具体的,如图11所示,为本发明实施例提供的在已经配置好的一组或者多组虚拟网络设备中增加一个虚拟网络设备的配置方法,包括如下步骤S403-S405。
S403、服务器获取第二配置信息,该第二配置信息包括指示配置第三虚拟网络设备的信息。
S404、服务器获取目标资源利用率。
其中,目标资源利用率包括K组虚拟网络设备的公共数据面绑定的处理器核的资源利用率,以及K组虚拟网络设备的控制面绑定的处理器核的资源利用率,其中,多个虚拟网络设备属于K组虚拟网络设备中的一组,K为不小于1的整数。
S405、服务器根据第二配置信息和目标资源利用率在服务器中配置第三虚拟网络设备。
其中,如上所述,本发明实施例中,K组虚拟网络设备中的每一组虚拟网络设备的数量可以相同,也可以不同,每一组虚拟网络设备的公共数据面对应的控制面绑定的处理器核可以为一个,也可以为多个,本发明实施例对此不作具体限定。
比如,假设K=3,即服务器中已经配置了3组虚拟网络设备,如图12所示,分别为虚拟网络设备组1、虚拟网络设备组2和虚拟网络设备组3。具体的,虚拟网络设备组1中包括:控制面1、控制面2、控制面3以及这3个控制面对应的公共数据面1。其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2,控制面3对应虚拟网络设备3。控制面1、控制面2和控制面3与服务器中的核1绑定,公共数据面1与服务器中的核2绑定。虚拟网络设备组2中包括:控制面4、控制面5、控制面6以及这3个控制面对应的公共数据面2。其中,控制面4对应虚拟网络设备4,控制面5对应虚拟网络设备5,控制面6对应虚拟网络设备6。控制面4、控制面5和控制面6与服务器中的核3绑定,公共数据面2与服务器中的核4绑定。虚拟网络设备组3中包括:控制面7、控制面8、控制面9以及这3个控制面对应的公共数据面3。其中,控制面7对应虚拟网络设备7,控制面8对应虚拟网络设备8,控制面9对应虚拟网络设备9。控制面7、控制面8和控制面9与服务器中的核5绑定,公共数据面3与服务器中的核6绑定。
或者,比如,假设K=3,即服务器中已经配置了3组虚拟网络设备,如图13所示,分别为虚拟网络设备组1、虚拟网络设备组2和虚拟网络设备组3。具体的,虚拟网络设备组1中包括:控制面1、控制面2、控制面3以及这3个控制面对应的公共数据面1。其中,控制面1对应虚拟网络设备1,控制面2对应虚拟网络设备2,控制面3对应虚拟网络设备3。控制面1、控制面2和控制面3与服务器中的核1绑定,公共数据面1与服务器中的核2绑定。虚拟网络设备组2中包括:控制面4、控制面5、控制面6以及这3个控制面对应的公共数据面2。其中,控制面4对应虚拟网络设备4,控制面5对应虚拟网络设备5,控制面6对应虚拟网络设备6。控制面4、控制面5和控制面6与服务器中的核3绑定,公共数据面2与服务器中的核4绑定。虚拟网络设备组3中包括:控制面7、控制面8、控制面9以及这3个控制面对应的公共数据面3。其中,控制面7对应虚拟网络设备7,控制面8对应虚拟网络设备8,控制面9对应虚拟网络设备9。控制面7和控制面8与服务器中的核5绑定,控制面9与服务器中的核7绑定,公共数据面3与服务器中的核6绑定。
本发明实施例提供的虚拟网络设备的配置方法,可以根据预先配置的公共数据面和控制面绑定的各个处理器核的资源利用率来新增虚拟网络设备,提升了虚拟网络设备配置的灵活性。
可选的,如图14所示,步骤S405具体可以包括步骤S405A-S405C:
S405A、若K组虚拟网络设备的公共数据面绑定的处理器核中存在第三处理器核的资源利用率未超过第一预设阈值,服务器将第三处理器核绑定的公共数据面确定为第三虚拟网络设备的公共数据面。
S405B、服务器确定第四处理器核的资源利用率,其中,第四处理器核为第三处理器核绑定的公共数据面对应的控制面所绑定的处理器核。
可选的,若第三处理器核绑定的公共数据面对应的控制面所绑定的处理器核为多个时,第四处理器核可能是第三处理器核绑定的公共数据面对应的控制面所绑定的多个处理器核中资源利用率最小的处理器核;或者,第四处理器核可能是第三处理器核绑定的公共数据面对应的控制面所绑定的多个处理器核中任意的一个处理器核,本发明实施例对此不作具体限定。
S405C、服务器根据第二配置信息,以及第四处理器核的资源利用率,在服务器中配置第三虚拟网络设备对应的第三控制面,并将第三控制面与第五处理器核绑定,以得到第三虚拟网络设备。
可选的,若K组虚拟网络设备的公共数据面绑定的处理器核中存在多个处理器核的资源利用率未超过第一预设阈值,则第三处理器核可能是资源利用率未超过第一预设阈值的处理器核中资源利用率最小的处理器核;或者,也可能是确定出的第一个资源利用率未超过第一预设阈值的处理器核;或者,还可能是资源利用率未超过第一预设阈值的处理器核中任意的一个处理器核,本发明实施例对此不作具体限定。
所述第一预设阈值可以根据虚拟网络设备的性能要求、处理器核的性能等来设置。本发明对此不做限定。
基于上述方案,由于服务器根据第二配置信息和目标资源利用率在服务器中配置第三虚拟网络设备时,若K组虚拟网络设备的公共数据面绑定的处理器核中存在第三处理器核的资源利用率未超过第一预设阈值,服务器将第三处理器核绑定的公共数据面确定为第三虚拟网络设备的公共数据面。也就是说,在选择公共数据面时考虑了处理器核的资源利用率,避免了服务器中资源利用率很小的处理器核没有被使用,而资源利用率很大的处理器核可能超负载的问题,使得服务器中各个处理器核被合理均衡的使用,有效提升了服务器的性能。
可选的,如图15所示,步骤S405C具体可以包括步骤S405C1和S405C2:
S405C1、若第四处理器核的资源利用率未超过第二预设阈值,服务器根据第二配置信息,在服务器中配置第三虚拟网络设备对应的第三控制面,并将第三控制面与第四处理器核绑定。
S405C2、若第四处理器核的资源利用率超过第二预设阈值,服务器根据第二配置信息,在服务器中配置第三虚拟网络设备对应的第三控制面,并将第三控制面与第五处理器核绑定,其中,第五处理器核为服务器中未绑定控制面且未绑定公共数据面的一个处理器核。
示例性的,假设服务器中已经配置了如图12所示的3组虚拟网络设备,当服务器需要增加虚拟网络设备10时,首先,服务器获取第二配置信息、核1的资源利用率、核2的资源利用率、核3的资源利用率、核4的资源利用率、核5的资源利用率和核6的资源利用率;其次,假设服务器确定虚拟网络设备组1的公共数据面1、虚拟网络设备组2的公共数据面2和虚拟网络设备组3的公共数据面3绑定处理器核中公共数据面3绑定的核6的资源利用率未超过第一预设阈值,则服务器将核6绑定的公共数据面3确定为虚拟网络设备10的公共数据面;再次,假设服务器确定公共数据面3绑定的核6对应的控制面绑定的核5的资源利用率未超过第二预设阈值,则服务器为虚拟网络设备10配置控制面10,并将该控制面10与核5绑定,结果如图16所示。
或者,示例性的,假设服务器中已经配置了如图12所示的3组虚拟网络设备。当服务器需要增加虚拟网络设备10时,首先,服务器获取第二配置信息、核1的资源利用率、核2的资源利用率、核3的资源利用率、核4的资源利用率、核5的资源利用率和核6的资源利用率;其次,假设服务器确定虚拟网络设备组1的公共数据面1、虚拟网络设备组2的公共数据面2和虚拟网络设备组3的公共数据面3绑定处理器核中公共数据面3绑定的核6的资源利用率未超过第一预设阈值,则服务器将核6绑定的公共数据面3确定为虚拟网络设备10的公共数据面;再次,假设服务器确定公共数据面3绑定的核6对应的控制面绑定的核5的资源利用率超过第二预设阈值,并且假设服务器中的核7为未绑定控制面且未绑定公共数据面的处理器核,则服务器配置控制面10,并将控制面10与核7绑定,以得到虚拟网络设备10,结果如图17所示。
所述第二预设阈值可以根据虚拟网络设备的性能要求、处理器核的性能等来设置。本发明对此不做限定。
基于上述方案,由于服务器根据第二配置信息和目标资源利用率在服务器中配置第三虚拟网络设备时,当确定了第三虚拟网络设备的公共数据面后,若第三虚拟网络设备的公共数据面绑定的第四处理器核的资源利用率未超过第二预设阈值,服务器配置第三虚拟网络设备对应的第三控制面,并将该第三控制面与该第四处理器核绑定;若第三虚拟网络设备的公共数据面绑定的第四处理器核的资源利用率超过第二预设阈值,服务器配置第三虚拟网络设备对应的第三控制面,并将该第三控制面与服务器中未绑定数据面且未绑定公共数据面的处理器核绑定。也就是说,在配置控制面时考虑了处理器核的资源利用率,避免了服务器中资源利用率很小的处理器核没有被使用,而资源利用率很大的处理器核可能超负载的问题,使得服务器中各个处理器核被合理均衡的使用,有效提升了服务器的性能。
可选的,如图18所示,步骤S405具体可以包括步骤S405D:
S405D、若K组虚拟网络设备的公共数据面绑定的处理器核中不存在处理器核的资源利用率未超过第一预设阈值,服务器根据第二配置信息,在服务器中配置第三虚拟网络设备对应的第三控制面和一个与第三控制面对应的第二公共数据面,并将第三控制面与第六处理器核绑定,将第二公共数据面与第七处理器核绑定,以得到第三虚拟网络设备。
其中,第六处理器核和第七处理器核为服务器中未绑定控制面且未绑定公共数据面的处理器核。
示例性的,假设服务器中已经配置了如图12所示的3组虚拟网络设备,当服务器需要增加虚拟网络设备10时,首先,服务器获取第二配置信息、核1的资源利用率、核2的资源利用率、核3的资源利用率、核4的资源利用率、核5的资源利用率和核6的资源利用率;其次,假设服务器确定虚拟网络设备组1的公共数据面1、虚拟网络设备组2的公共数据面2和虚拟网络设备组3的公共数据面3绑定处理器核中不存在处理器核的资源利用率未超过第一预设阈值,并且假设服务器中的核7和核8为未绑定控制面且未绑定公共数据面的处理器核,则服务器配置控制面10以及与控制面10对应的公共数据面4,并将控制面10与核7绑定,将公共数据面4与核8绑定,以得到虚拟网络设备10,结果如图19所示。其中,由于新配置了公共数据面4,因此增加了虚拟网络设备组4,虚拟网络设备10属于虚拟网络设备组4。
基于上述方案,由于服务器根据第二配置信息和目标资源利用率在服务器中配置第三虚拟网络设备时,若K组虚拟网络设备的公共数据面绑定的处理器核中不存在处理器核的资源利用率未超过第一预设阈值,服务器根据第二配置信息,在服务器中配置第三虚拟网络设备对应的第三控制面和一个与第三控制面对应的第二公共数据面,并将第三控制面与第六处理器核绑定,将第二公共数据面与第七处理器核绑定,以得到第三虚拟网络设备。也就是说,在配置虚拟网络设备时考虑了处理器核的资源利用率,避免了服务器中资源利用率很小的处理器核没有被使用,而资源利用率很大的处理器核可能超负载的问题,使得服务器中各个处理器核被合理均衡的使用,有效提升了服务器的性能。
可选的,本发明实施例中,当一个虚拟网络设备不再使用服务器上的资源时,可以将该虚拟网络设备从该服务器删除。具体的,服务器可以将为该虚拟网络设备配置的控制面和公共数据面删除,也可保留该虚拟网络设备的控制面和公共数据面,以通过该虚拟网络设备的控制面和公共数据面为新的虚拟网络设备提供服务,本发明实施例对此不作具体限定。
上述主要从服务器的角度对本发明实施例提供的方案进行了介绍。可以理解的是,上述服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本发明实施例可以根据上述方法示例对服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,在采用对应各个功能划分各个功能模块的情况下,图20示出了上述实施例中所涉及的服务器200的一种可能的结构示意图。如图20所示,服务器200包括获取模块201和配置模块202。获取模块201用于支持服务器220执行图4中的步骤S401;配置模块202用于支持服务器220执行图4中的步骤S402。或者,可选的,获取模块201用于支持服务器220执行图11中的步骤S401、S403和S404;配置模块202用于支持服务器220执行图11中的步骤S402和S405。或者,可选的,获取模块201用于支持服务器220执行图14中的步骤S401、S403和S404;配置模块202用于支持服务器220执行图14中的步骤S402、S405A、S405B和S405C。或者,可选的,获取模块201用于支持服务器220执行图15中的步骤S401、S403和S404;配置模块202用于支持服务器220执行图15中的步骤S402、S405A、S405B、S405C1和S405C2。或者,可选的,获取模块201用于支持服务器220执行图18中的步骤S401、S403和S404;配置模块202用于支持服务器220执行图18中的步骤S402和S405D。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
以采用集成的方式划分各个功能模块的情况下,图21示出了上述实施例中所涉及的服务器210的一种可能的结构示意图。如图21所示,服务器210包括处理模块211。处理模块211用于支持服务器210执行图4中的步骤S401和S402。可选的,处理模块211用于支持服务器210执行图11中的步骤S401、S402、S403、S404和S405。可选的,处理模块211用于支持服务器210执行图14中的步骤S401、S402、S403、S404、S405A、S405B和S405C。可选的,处理模块211用于支持服务器210执行图15中的步骤S401、S402、S403、S404、S405A、S405B、S405C1和S405C2。可选的,处理模块211用于支持服务器210执行图18中的步骤S401、S402、S403、S404和S405D。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本发明实施例中,该服务器以对应各个功能划分各个功能模块的形式来呈现,或者,该服务器以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到服务器200或者服务器210可以采用图22所示的形式。
如图22所示,为本发明实施例提供的一种服务器220的硬件结构示意图,该服务器220包括处理器221,通信总线222、存储器223以及通信接口224。
处理器221可以是一个通用处理器,例如中央处理器(Central Processing Unit,CPU),网络处理器(network processor,NP),或CPU和NP的组合。
通信总线222可包括一通路,在上述组件之间传送信息。
通信接口224,使用任何收发器一类的装置,用于与其他设备或通信网络通信。通信接口224包括有线通信接入口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(Wireless Local Area Networks,WLAN)接口,蜂窝网络通信接口或其组合等。
存储器223可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器223还可以包括上述种类的存储器的组合。
存储器223可用于存储程序代码。处理器221用于执行存储器223中存储的程序代码,从而实现本发明实施例提供的虚拟网络设备的配置方法。
在具体实现中,处理器221可以包括一个或多个核,例如图22中的核1和核2。
在具体实现中,服务器220可以包括一个处理器或多个处理器,例如图22中的处理器221和处理器228。
在具体实现中,作为一种实施例,服务器220还可以包括输出设备225和输入设备226。输出设备225和处理器221通信,可以以多种方式来显示信息。例如,输出设备225可以是液晶显示器(Liquid Crystal Display,LCD),发光二级管(Light Emitting Diode,LED)显示设备,阴极射线管(Cathode Ray Tube,CRT)显示设备,或投影仪(projector)等。输入设备226和处理器221通信,可以以多种方式接受用户的输入。例如,输入设备226可以是鼠标、键盘、触摸屏设备或传感设备等。
示例性的,图20中的获取模块201和配置模块202可以通过图22的处理器221和存储器223来实现,具体的,获取模块201和配置模块202可以通过由处理器221来调用存储器223中存储的应用程序代码来执行,本发明实施例对此不作任何限制。或者,比如,图21中的处理模块211可以通过图22的处理器221和存储器223来实现,具体的,处理模块211可以通过由处理器221来调用存储器223中存储的应用程序代码来执行,本发明实施例对此不作任何限制。
由于本发明实施例提供的服务器可用于执行上述虚拟网路设备的配置方法,因此其所能获得的技术效果可参考上述方法实施例,本发明实施例在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种虚拟网络设备的配置方法,其特征在于,所述方法包括:
服务器获取第一配置信息,所述第一配置信息包括指示配置多个虚拟网络设备的信息;
所述服务器根据所述第一配置信息,在所述服务器中配置多个控制面,以及一个与所述多个控制面对应的第一公共数据面,并将所述多个控制面与所述服务器中的第一处理器核绑定,将所述第一公共数据面与所述服务器中的第二处理器核绑定,以得到所述多个虚拟网络设备;
其中,所述多个虚拟网络设备中包括第一虚拟网络设备和第二虚拟网络设备;所述多个控制面中包括第一控制面和第二控制面;所述第一控制面对应所述第一虚拟网络设备,所述第二控制面对应所述第二虚拟网络设备;所述多个控制面中的任一控制面,用于控制与所述控制面对应的虚拟网络设备的报文转发,所述第一公共数据面用于转发所述多个虚拟网络设备的报文。
2.根据权利要求1所述的方法,其特征在于,所述第一控制面包括所述第一虚拟网络设备的转发表项;所述第二控制面包括所述第二虚拟网络设备的转发表项;所述第一公共数据面包括多个转发实例,所述多个转发实例中包括与所述第一虚拟网络设备对应的第一转发实例和与所述第二虚拟网络设备对应的第二转发实例;
所述多个控制面中的任一控制面,用于控制与所述控制面对应的虚拟网络设备的报文转发,包括:
所述第一控制面,用于向所述第一转发实例下发所述第一虚拟网络设备的转发表项;
所述第二控制面,用于向所述第二转发实例下发所述第二虚拟网络设备的转发表项;
所述第一公共数据面用于转发所述多个虚拟网络设备的报文,包括:
所述第一公共数据面接收所述第一虚拟网络设备的报文,并将所述第一虚拟网络设备的报文发送给所述第一转发实例;
所述第一转发实例根据所述第一控制面下发的所述第一虚拟网络设备的转发表项转发所述第一虚拟网络设备的报文;
所述第一公共数据面接收所述第二虚拟网络设备的报文,并将所述第二虚拟网络设备的报文发送给所述第二转发实例;
所述第二转发实例根据所述第二控制面下发的所述第二虚拟网络设备的转发表项转发所述第二虚拟网络设备的报文。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述服务器获取第二配置信息,所述第二配置信息包括指示配置第三虚拟网络设备的信息;
所述服务器获取目标资源利用率,所述目标资源利用率包括K组虚拟网络设备的公共数据面绑定的处理器核的资源利用率,以及所述K组虚拟网络设备的控制面绑定的处理器核的资源利用率,其中,所述多个虚拟网络设备属于所述K组虚拟网络设备中的一组,K为不小于1的整数;
所述服务器根据所述第二配置信息和所述目标资源利用率在所述服务器中配置所述第三虚拟网络设备。
4.根据权利要求3所述的方法,其特征在于,所述服务器根据所述第二配置信息和所述目标资源利用率在所述服务器中配置所述第三虚拟网络设备,包括:
若所述K组虚拟网络设备的公共数据面绑定的处理器核中存在第三处理器核的资源利用率未超过第一预设阈值,所述服务器将所述第三处理器核绑定的公共数据面确定为所述第三虚拟网络设备的公共数据面;
所述服务器确定第四处理器核的资源利用率,其中,所述第四处理器核为所述第三处理器核绑定的公共数据面对应的控制面所绑定的处理器核;
若所述第四处理器核的资源利用率未超过第二预设阈值,所述服务器根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面,并将所述第三控制面与第四处理器核绑定;
若所述第四处理器核的资源利用率超过所述第二预设阈值,所述服务器根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面,并将所述第三控制面与第五处理器核绑定,其中,所述第五处理器核为所述服务器中未绑定控制面且未绑定公共数据面的一个处理器核。
5.根据权利要求3所述的方法,其特征在于,所述服务器根据所述第二配置信息和所述目标资源利用率在所述服务器中配置所述第三虚拟网络设备,包括:
若所述K组虚拟网络设备的公共数据面绑定的处理器核中不存在处理器核的资源利用率未超过所述第一预设阈值,所述服务器根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面和一个与所述第三控制面对应的第二公共数据面,并将所述第三控制面与第六处理器核绑定,将所述第二公共数据面与第七处理器核绑定,以得到所述第三虚拟网络设备,其中,所述第六处理器核和所述第七处理器核为所述服务器中未绑定控制面且未绑定公共数据面的处理器核。
6.一种服务器,其特征在于,所述服务器包括获取模块和配置模块;
所述获取模块,用于获取第一配置信息,所述第一配置信息包括指示配置多个虚拟网络设备的信息;
所述配置模块,用于根据所述第一配置信息,在所述服务器中配置多个控制面,以及一个与所述多个控制面对应的第一公共数据面,并将所述多个控制面与所述服务器中的第一处理器核绑定,将所述第一公共数据面与所述服务器中的第二处理器核绑定,以得到所述多个虚拟网络设备;
其中,所述多个虚拟网络设备中包括第一虚拟网络设备和第二虚拟网络设备;所述多个控制面中包括第一控制面和第二控制面;所述第一控制面对应所述第一虚拟网络设备,所述第二控制面对应所述第二虚拟网络设备;所述多个控制面中的任一控制面,用于控制与所述控制面对应的虚拟网络设备的报文转发,所述第一公共数据面用于转发所述多个虚拟网络设备的报文。
7.根据权利要求6所述的服务器,其特征在于,所述第一控制面包括所述第一虚拟网络设备的转发表项;所述第二控制面包括所述第二虚拟网络设备的转发表项;所述第一公共数据面包括多个转发实例,所述多个转发实例中包括与所述第一虚拟网络设备对应的第一转发实例和与所述第二虚拟网络设备对应的第二转发实例;
所述多个控制面中的任一控制面,用于控制与所述控制面对应的虚拟网络设备的报文转发,包括:
所述第一控制面,用于向所述第一转发实例下发所述第一虚拟网络设备的转发表项;
所述第二控制面,用于向所述第二转发实例下发所述第二虚拟网络设备的转发表项;
所述第一公共数据面用于转发所述多个虚拟网络设备的报文,包括:
所述第一公共数据面接收所述第一虚拟网络设备的报文,并将所述第一虚拟网络设备的报文发送给所述第一转发实例;
所述第一转发实例根据所述第一控制面下发的所述第一虚拟网络设备的转发表项转发所述第一虚拟网络设备的报文;
所述第一公共数据面接收所述第二虚拟网络设备的报文,并将所述第二虚拟网络设备的报文发送给所述第二转发实例;
所述第二转发实例根据所述第二控制面下发的所述第二虚拟网络设备的转发表项转发所述第二虚拟网络设备的报文。
8.根据权利要求6或7所述的服务器,其特征在于,
所述获取模块,还用于获取第二配置信息,所述第二配置信息包括指示配置第三虚拟网络设备的信息;
所述获取模块,还用于获取目标资源利用率,所述目标资源利用率包括K组虚拟网络设备的公共数据面绑定的处理器核的资源利用率,以及所述K组虚拟网络设备的控制面绑定的处理器核的资源利用率,其中,所述多个虚拟网络设备属于所述K组虚拟网络设备中的一组,K为不小于1的整数;
所述配置模块,还用于根据所述第二配置信息和所述目标资源利用率在所述服务器中配置所述第三虚拟网络设备。
9.根据权利要求8所述的服务器,其特征在于,所述配置模块具体用于:
若所述K组虚拟网络设备的公共数据面绑定的处理器核中存在第三处理器核的资源利用率未超过第一预设阈值,将所述第三处理器核绑定的公共数据面确定为所述第三虚拟网络设备的公共数据面;
确定第四处理器核的资源利用率,其中,所述第四处理器核为所述第三处理器核绑定的公共数据面对应的控制面所绑定的处理器核;
若所述第四处理器核的资源利用率未超过第二预设阈值,根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面,并将所述第三控制面与第四处理器核绑定;
若所述第四处理器核的资源利用率超过所述第二预设阈值,根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面,并将所述第三控制面与第五处理器核绑定,其中,所述第五处理器核为所述服务器中未绑定控制面且未绑定公共数据面的一个处理器核。
10.根据权利要求8所述的服务器,其特征在于,所述配置模块还用于:
若所述K组虚拟网络设备的公共数据面绑定的处理器核中不存在处理器核的资源利用率未超过所述第一预设阈值,根据所述第二配置信息,在所述服务器中配置所述第三虚拟网络设备对应的第三控制面和一个与所述第三控制面对应的第二公共数据面,并将所述第三控制面与第六处理器核绑定,将所述第二公共数据面与第七处理器核绑定,以得到所述第三虚拟网络设备,其中,所述第六处理器核和所述第七处理器核为所述服务器中未绑定控制面且未绑定公共数据面的处理器核。
CN201710179538.7A 2017-03-23 2017-03-23 虚拟网络设备的配置方法及服务器 Active CN108632070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710179538.7A CN108632070B (zh) 2017-03-23 2017-03-23 虚拟网络设备的配置方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710179538.7A CN108632070B (zh) 2017-03-23 2017-03-23 虚拟网络设备的配置方法及服务器

Publications (2)

Publication Number Publication Date
CN108632070A true CN108632070A (zh) 2018-10-09
CN108632070B CN108632070B (zh) 2020-04-28

Family

ID=63707453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710179538.7A Active CN108632070B (zh) 2017-03-23 2017-03-23 虚拟网络设备的配置方法及服务器

Country Status (1)

Country Link
CN (1) CN108632070B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691572A (zh) * 2020-05-19 2021-11-23 中移(成都)信息通信科技有限公司 一种数据转发方法、装置、设备及计算机存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567187A (zh) * 2003-06-11 2005-01-19 华为技术有限公司 数据处理系统及方法
CN1987798A (zh) * 2006-12-08 2007-06-27 杭州华为三康技术有限公司 数据平面与控制平面之间的通讯方法
CN102231708A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置及其路由方法
CN102263667A (zh) * 2011-08-24 2011-11-30 迈普通信技术股份有限公司 网络管理系统以及网络管理处理方法
CN102541633A (zh) * 2011-12-16 2012-07-04 汉柏科技有限公司 基于多核cpu的数据平面和控制平面部署系统及方法
US20130242759A1 (en) * 2012-03-16 2013-09-19 Brocade Communications Systems, Inc. Packet Tracing through Control and Data Plane Operations using SNMP Trap Commands
US20140156954A1 (en) * 2012-12-03 2014-06-05 Ramsundar Janakiraman System and method for achieving enhanced performance with multiple networking central processing unit (cpu) cores
CN104521199A (zh) * 2012-08-03 2015-04-15 思科技术公司 用于分布式虚拟交换机的适应性基础设施
US20150222510A1 (en) * 2012-03-16 2015-08-06 Brocade Communications Systems, Inc. Packet Tracing through Control and Data Plane Operations
CN105138389A (zh) * 2015-07-30 2015-12-09 北京京东尚科信息技术有限公司 一种集群中虚拟设备的管理方法及系统
CN105283838A (zh) * 2013-06-10 2016-01-27 亚马逊科技公司 云计算环境中的分布式锁管理
US20160036946A1 (en) * 2012-08-20 2016-02-04 Cisco Technology, Inc. Hitless pruning protocol upgrade on single supervisor network devices

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567187A (zh) * 2003-06-11 2005-01-19 华为技术有限公司 数据处理系统及方法
CN1987798A (zh) * 2006-12-08 2007-06-27 杭州华为三康技术有限公司 数据平面与控制平面之间的通讯方法
CN102231708A (zh) * 2011-07-04 2011-11-02 清华大学 虚拟路由装置及其路由方法
CN102263667A (zh) * 2011-08-24 2011-11-30 迈普通信技术股份有限公司 网络管理系统以及网络管理处理方法
CN102541633A (zh) * 2011-12-16 2012-07-04 汉柏科技有限公司 基于多核cpu的数据平面和控制平面部署系统及方法
US20130242759A1 (en) * 2012-03-16 2013-09-19 Brocade Communications Systems, Inc. Packet Tracing through Control and Data Plane Operations using SNMP Trap Commands
US20150222510A1 (en) * 2012-03-16 2015-08-06 Brocade Communications Systems, Inc. Packet Tracing through Control and Data Plane Operations
CN104521199A (zh) * 2012-08-03 2015-04-15 思科技术公司 用于分布式虚拟交换机的适应性基础设施
US20160036946A1 (en) * 2012-08-20 2016-02-04 Cisco Technology, Inc. Hitless pruning protocol upgrade on single supervisor network devices
US20140156954A1 (en) * 2012-12-03 2014-06-05 Ramsundar Janakiraman System and method for achieving enhanced performance with multiple networking central processing unit (cpu) cores
CN105283838A (zh) * 2013-06-10 2016-01-27 亚马逊科技公司 云计算环境中的分布式锁管理
CN105138389A (zh) * 2015-07-30 2015-12-09 北京京东尚科信息技术有限公司 一种集群中虚拟设备的管理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691572A (zh) * 2020-05-19 2021-11-23 中移(成都)信息通信科技有限公司 一种数据转发方法、装置、设备及计算机存储介质
CN113691572B (zh) * 2020-05-19 2023-09-22 中移(成都)信息通信科技有限公司 一种数据转发方法、装置、设备及计算机存储介质

Also Published As

Publication number Publication date
CN108632070B (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN109565515B (zh) 分布式资源管理系统中的动态租户结构调整的系统、设备和过程
US10205601B2 (en) Message broadcasting in a clustered computing environment
Webb et al. Blender: Upgrading tenant-based data center networking
CN106385329B (zh) 资源池的处理方法、装置和设备
US9112733B2 (en) Managing service level agreements using statistical process control in a networked computing environment
CN106209402B (zh) 一种虚拟网络功能的伸缩方法和设备
CN109873868A (zh) 一种计算能力共享方法、系统及相关设备
US20160057019A1 (en) Integrated cloud data center management
US20110314069A1 (en) Data lifecycle management within a cloud computing environment
CN108614726A (zh) 虚拟机创建方法及装置
Grewal et al. A rule-based approach for effective resource provisioning in hybrid cloud environment
US9106675B2 (en) Intelligent network storage planning within a clustered computing environment
CN105144110A (zh) 基于网络活动自动配置外部服务
CN104618264A (zh) 为了高效资源利用而在数据中心网络中自适应调度数据流的方法和系统
CN104246741A (zh) 编制混合云服务
CN107959582A (zh) 一种切片实例的管理方法及装置
CN108701132B (zh) 资源管理系统和方法
CN108076156A (zh) 一种基于中国云产品的混合云系统
US10374914B2 (en) Rerouting data of a streaming application
US10805414B2 (en) Dynamic resource broker services
CN109428764A (zh) 虚拟网络功能的实例化方法
CN110389711A (zh) 帮助端点设备实现sr-iov功能的方法、设备和计算机程序产品
CN109446062A (zh) 云计算服务中的软件调试的方法和装置
CN114124740A (zh) 一种vnf实例化的方法和装置
CN108696373A (zh) 虚拟资源分配方法、nfvo和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant