CN105657081B - 提供dhcp服务的方法、装置及*** - Google Patents
提供dhcp服务的方法、装置及*** Download PDFInfo
- Publication number
- CN105657081B CN105657081B CN201610216278.1A CN201610216278A CN105657081B CN 105657081 B CN105657081 B CN 105657081B CN 201610216278 A CN201610216278 A CN 201610216278A CN 105657081 B CN105657081 B CN 105657081B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- dynamic host
- host configuration
- configuration protocol
- protocol server
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例提供一种提供DHCP服务的方法、装置及***,涉及通信领域,能够缩短DHCP服务器的响应时延。方法包括:网络管理装置获取第一虚拟机的接入信息;网络管理装置指示第一DHCP服务器记录第一虚拟机的MAC地址与IP地址的对应关系;指示第一虚拟交换机建立第一虚拟机与第一DHCP服务器之间的协议交互通道;第一DHCP服务器为第一虚拟机提供DHCP服务。本发明用于通过分布式DHCP服务器为部署于多个计算节点内的虚拟机提供DHCP服务器。
Description
技术领域
本发明涉及通信领域,尤其涉及一种提供DHCP服务的方法、装置及***。
背景技术
随着虚拟化、云计算技术的高速发展,传统的物理动态主机配置协议(英文全称:Dynamic Host Configuration Protocol,英文简称:DHCP)。服务器也实现了虚拟化部署。
现有的一种DHCP服务器的部署方案如图1-A所示,虚拟的DHCP服务器集中部署在网络节点,虚拟机(英文全称:Virtual Machine,英文简称:VM)部署在计算节点。虚拟机与DHCP服务器之间通过位于网络节点内的虚拟机交换机(英文全称:Virtual Switch)以及网络节点和计算节点之间的基础网络互连,图1-A中以物理交换机代表基础网络。
虚拟交换机将位于不同子网的虚拟机以及DHCP服务器进行划分。结合图1-B所示,DHCP服务器A连接子网A,DHCP服务器B连接子网B。计算节点A中的VMa、VMb,以及计算节点B中的VMf连接子网A。计算节点A中的VMc,以及计算节点B中的VMd、VMe连接子网B。一个DHCP服务器可以连接一个或者多个子网,图1-B所示为一个DHCP服务器接入一个子网,为一个子网内的虚拟机提供DHCP服务的情形。
以图1-B中VMa为例,在创建VMa或重启VMa时,VMa广播DHCP Discover报文,该报文经过VMa所在计算节点的虚拟交换机101、物理交换机102以及DHCP服务器A所在的网络节点内的虚拟交换机103,最终被DHCP服务器A接收并返回DHCP Offer报文,该报文以及后续的DHCP服务器A与VMa之间交互的报文同样要经过虚拟交换机101、虚拟交换机103以及物理交换机102这三个交换机,最终被VMa和DHCP服务器A接收并处理。
DHCP服务器与VM之间的进行报文交互的传输路径,包括虚拟机所在计算节点的虚拟交换机、网络节点内的虚拟交换机、以及计算节点和网络节点之间的基础网络(物理交换机),由于传输路径长,DHCP服务器响应VM服务请求的时延较长。另外,当租户网络为虚拟可扩展局域网(英文全称:Virtual extensible Local Area Network,英文简称:VxLAN)时,计算节点和网络节点封装和解封装Vxlan报文头,同样会增加响应时延。尤其是在DHCP服务器需要为位于多个计算节点的VM提供DHCP服务的情况下,由于传输路径长且访问流量大,使得DHCP服务器的响应时延成为制约云计算服务效率的瓶颈。
发明内容
本申请提供一种提供DHCP服务的方法、装置及***,能够缩短DHCP服务器的响应时延。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种提供DHCP服务的方法,由网络管理装置负责在计算节点内创建或者删除分布式的DHCP服务器,其中网络管理装置可以是集中部署,也可以分布式部署与多个计算节点内。网络管理装置对一个计算节点内的一个DHCP服务器进行配置,以使得该DHCP服务器为所在计算节点内的虚拟机提供DHCP服务,以第一计算节点为例,第一虚拟机、第一DHCP服务器以及第一虚拟交换机均运行于所述第一计算节点内,具体方案包括:
网络管理装置获取第一虚拟机的接入信息,接入信息用于指示第一虚拟机的身份标识,包括MAC地址以及IP地址,另外还用于指示第一虚拟机位于哪个计算节点上、接入哪个子网,本申请中以第一虚拟机位于第一计算节点,接入目标子网的情况为例进行说明。
网络管理装置获取第一虚拟机的接入信息后,指示第一DHCP服务器记录所述第一虚拟机的MAC地址与IP地址的对应关系,这样当第一DHCP服务器接收到第一虚拟机发送的DHCP Discover报文时,就能够响应DHCP Discover报文,为第一虚拟机提供DHCP服务。
第一DHCP服务器与第一虚拟机之间的交互需要通过协议交互通道进行,包括DHCP交互通道,或者还可以进一步包括互联网控制报文协议(英文全称:Internet ControlMessage Protocol,英文简称:ICMP)交互通道,因此网络管理装置还需要指示第一虚拟机与所述第一DHCP服务器之间的转发设备即第一虚拟交换机,建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道。
在完成上述步骤之后,第一虚拟机就可以通过协议交互通道向第一DHCP服务器请求DHCP服务。由于第一DHCP服务器与第一虚拟机位于同一个计算节点,因此虚拟机与DHCP服务器之间的传输路径更短,传输时延更短。
可选的,在一种具体的实施方式中,网络管理装置在多个计算节点内创建多个分布式DHCP服务器,每个DHCP服务器为各自所在计算节点内的虚拟机提供DHCP服务。一个DHCP服务器可以为所在计算节点内接入一个或者多个子网的虚拟机提供DHCP服务。通过DHCP服务器的分布式部署,即使一个DHCP服务器故障,也仅仅影响该DHCP服务器所在计算节点内的虚拟机获得IP地址,其它计算节点内的虚拟机则不受影响。
优选的,当一个计算节点内的一个DHCP服务器不可用时,位于另一计算节点内的DHCP服务器可以作为代理服务器,提供跨计算节点的DHCP服务,迅速恢复对受故障影响的虚拟机的DHCP服务,从而提高了***的容错能力。其中一个DHCP服务器不可用,包括该DHCP服务器故障或者被禁用的情况。
第二方面,提供一种网络管理装置,包括:处理器、存储器、总线以及收发器;处理器、存储器,收发器通过总线相互连接;存储器存储有程序代码,当处理器调用程序代码时,实现第一方面所提供的方法中网络管理装置的功能。
第三方面,提供一种计算节点,包括:处理器、存储器、总线以及收发器;处理器、存储器,收发器通过总线相互连接;存储器存储有程序代码,当处理器调用程序代码时,实现运行于计算节点内的虚拟机、DHCP服务器以及虚拟交换机,该虚拟机、该DHCP服务器以及该虚拟交换机用于实现第一方面所提供的方法中第一虚拟机、第一DHCP服务器以及第一虚拟交换机的功能。
第四方面,提供一种通信***,包括网络管理装置以及至少两个计算节点;其中网络管理装置为第二方面所描述的网络管理装置,计算节点为第三方面所提供的计算节点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-A为现有的一种DHCP服务器的部署方案中的物理连接示意图;
图1-B为现有的一种DHCP服务器的部署方案中的逻辑连接示意图;
图2为本发明的实施例所提供的提供DHCP服务的方法的应用场景说明示意图;
图3为本发明的实施例所提供的一种提供DHCP服务的方法的流程示意图;
图4为本发明的实施例中对DHCP报文转发路径的说明示意图;
图5为本发明的实施例中对DHCP报文转发路径的另一说明示意图;
图6为本发明的实施例所提供的一种网络管理装置结构示意图;
图7为本发明的实施例所提供的一种计算节点结构示意图;
图8为本发明的实施例所提供的一种通信***结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
本发明的实施例所提供的提供DHCP服务的方法,应用于如图2所示的通信***中。通信***包括网络管理装置20和至少两个计算节点,图2所示为包括计算节点201和计算节点202两个计算节点的情况。
网络管理装置20判断一个计算节点内的VM是否需要DHCP服务,若是,则指示计算节点创建DHCP服务器实例。为便于描述,本发明的实施例中用DHCP服务器指代DHCP服务器实例。
一个计算节点内可以有多个VM,一个VM可以接入一个或者多个子网,本发明的实施例中以一个VM接入一个子网的情况为例进行说明。两个不同的VM可以接入同一子网,或者接入不同的两个子网。一个DHCP服务器接入一个子网,为该DHCP服务器所在的计算节点内,与该DHCP服务器接入同一子网的VM提供DHCP服务。
结合图2所示,计算节点201内的VM,包括VM1、VM2以及VM3,其中VM1和VM2接入子网1,VM3接入子网2。计算节点201内的DHCP服务器包括DHCP 1和DHCP 2。
DHCP 1接入子网1,用于为计算节点201内接入子网1的VM提供DHCP服务,即为VM1和VM2提供DHCP服务。
DHCP2接入子网2,用于为计算节点201内接入子网2的VM提供DHCP服务,即为VM3提供DHCP服务。
类似地,计算节点202中,DHCP3为VM4提供DHCP服务。DHCP4为VM5提供DHCP服务。
网络管理装置20在多个计算节点内分别创建DHCP服务器,一个DHCP服务器为其所在计算节点内的VM提供DHCP服务,通过在虚拟机所在的计算节点内创建DHCP服务器,实现DHCP服务器的分布式部署。当虚拟机需要请求DHCP服务时,只需与所在计算节点内的DHCP服务器进行业务交互,相比现有技术的方案,传输路径无需经过基础网络(物理交换机),因此缩短了虚拟机请求DHCP服务时的传输路径,相应地缩短了传输时延,提高了服务效率。
网络管理装置20可以为网络管理器(英文全称:network Manager),也可以为软件定义网络控制器(英文全称:software defined network controller),或包括了网络管理器和软件定义网络控制器的装置。另外,本申请实施例中所称的访问某一个DHCP服务器的报文,是指向该DHCP服务器发送或者转发的单播、广播报文,包括DHCP报文、地址解析协议(英文全称:Address Resolution Protocol,英文简称:ARP)报文等。
实施例
本发明的实施例提供一种提供DHCP服务的方法,应用于网络管理装置,参照图3所示,包括以下步骤:
301、网络管理装置获取第一虚拟机的接入信息。
网络管理装置负责对互联网协议(英文全称:Internet Protocol,英文简称:IP)地址、媒介访问控制(英文全称:Media Access Control,英文简称:MAC)地址等网络资源的管理和分配,以及对虚拟网络的拓扑结构进行管理。包括管理全局IP地址,指示DHCP服务器记录虚拟机的IP地址和MAC地址的绑定关系(见步骤302)等。
DHCP服务器记录下虚拟机的IP地址和MAC地址的绑定关系之后,当虚拟机需要使用IP地址时,就可以向DHCP服务器请求获得与其MAC地址绑定的IP地址。
执行步骤301的触发条件:
在创建虚拟机时,网络管理装置确定需要为新建的虚拟机分配IP地址时,执行步骤301。或者,虚拟机创建完成之后网络管理装置检测到计算节点的虚拟交换机上新增tap接口时,执行步骤301。本发明的实施例中,以新建的虚拟机为第一虚拟机的情况为例进行说明。
在一种具体的应用场景中,当网络管理装置确定需要为第一虚拟机通过DHCP协议配置IP时,获取第一虚拟机的接入信息。其中接入信息的作用包括以下四点:
第一、指示目标子网,目标子网为第一虚拟机所接入的虚拟子网。目标子网可以通过其对应的VLAN ID或VxLAN ID标识。
第二、指示第一计算节点,第一计算节点为第一虚拟机所在的计算节点。
第三、提供第一虚拟机的标识信息,具体包括第一虚拟机的MAC地址以及IP地址。
302、网络管理装置指示第一DHCP服务器记录第一虚拟机的MAC地址与IP地址的对应关系。
其中,第一DHCP服务器位于第一计算节点,用于对位于第一计算节点且接入目标子网的虚拟机提供DHCP服务。
第一计算节点内,在接入第一子网的第一个虚拟机启动DHCP协议流程之前,创建第一DHCP服务器。通常在启动创建第一个虚拟机的同时启动创建DHCP服务器。
可选的,在一种具体的实施方式中,由网络管理装置对DHCP服务器进行统一管理,网络管理装置确定第一个接入目标子网的虚拟机创建完成时,创建第一DHCP服务器。
或者,在一种具体的实施方式中,网络管理装置分布式部署于计算节点内,当网络管理装置确定所在的计算节点上第一个接入目标子网的虚拟机创建时,网络管理装置创建第一DHCP服务器。
第一DHCP服务器本身需要占用一个IP地址,网络管理装置可以为第一DHCP服务器分配IP地址。第一DHCP服务器占用目标子网的一个IP地址。
第一DHCP服务器创建完成后,网络管理装置指示第一DHCP服务器记录第一虚拟机的MAC地址与IP地址的对应关系。第一DHCP服务器将第一虚拟机的MAC地址与第一虚拟机的IP地址绑定,并记录下来。当第一虚拟机向第一DHCP服务器请求DHCP服务时,第一DHCP服务器根据所记录的第一虚拟机的MAC和IP地址绑定关系,为第一虚拟机提供DHCP服务,包括配置IP地址、路由等。
第一DHCP服务器与第一虚拟机位于同一计算节点,二者之间交互的报文无需增加Vxlan报文头,因此省去了因为封装和解封装所造成的时延。
在第一计算节点内,每当有新的虚拟机创建并接入目标子网时,网络管理装置就指示将新的虚拟机MAC地址与IP地址的对应关系记录下来即可,此时无需再创建服务于目标子网的DHCP服务器(第一DHCP服务器)。
303、网络管理装置指示第一虚拟交换机建立第一虚拟机与第一DHCP服务器之间的协议交互通道。
协议交互通道包括DHCP交互通道。网络管理装置可以通过向第一虚拟交换机发送流表(英文全称:Flow table),建立第一虚拟机与第一DHCP服务器之间的DHCP交互通道。其中,第一虚拟交换机位于第一计算节点。第一虚拟交换机保存流表,按照流表转发DHCP报文。
以下结合图4所示对流表的具体内容进行说明。计算节点40中,DHCP401用于为VM402以及VM403提供DHCP服务。DHCP404用于为VM405以及VM406提供DHCP服务。
DHCP401连接虚拟交换机407的端口A1连接。
VM402连接虚拟交换机407的端口B1。
VM403连接虚拟交换机407的端口B2。
DHCP404连接虚拟交换机407的端口A2。
VM405连接虚拟交换机407的端口B3。
VM406连接虚拟交换机407的端口B4。
以虚拟交换机407为例,结合图4中带箭头的连线所指示的DHCP报文的转发路径,一种通过伪码表示的用于指示虚拟交换机407转发DHCP报文的流表如下所示:
Flowtable1:
In_port=B1,ip,udp_dst=67,output:A1
In_port=B2,ip,udp_dst=67,output:A1
In_port=B3,ip,udp_dst=67,output:A2
In_port=B4,ip,udp_dst=67,output:A2
In_port=A1,ip,udp_dst=68,output:B 1,B2
In_port=A2,ip,udp_dst=68,output:B3,B4
可选的,协议交互通道还包括互联网控制报文协议(英文全称:Internet ControlMessage Protocol,英文简称:ICMP)交互通道。这样,当第一虚拟机执行业务时就可以ping通第一DHCP服务器,向第一DHCP服务器请求DHCP服务。
第一虚拟机与第一DHCP服务器之间的协议交互通道建立后,第一DHCP服务器就可以通过第一虚拟交换机为第一虚拟机提供DHCP服务。
结合上述流表,VM402发出的DHCP Discover报文,通过端口B1发送给虚拟交换机407。
虚拟交换机407查询流表,端口B1为输入端口时,对应的输出端口为A1,则虚拟交换机407通过端口A1将报文转发至DHCP401。
DHCP401查询从网络管理装置接收到,并记录下来的MAC地址与IP地址的对应关系,确定与VM402的MAC地址绑定的IP地址,根据该IP地址生成DHCP Offer报文。DHCP401将该报文通过端口A1发送给虚拟交换机407。
虚拟交换机407查询流表,端口A1为输入端口时,对应的输出端口为B1和B2,则虚拟交换机407通过端口B1和B2将DHCP Offer报文转发至VM402和VM403。
VM402接收到DHCP Offer之后,获取与VM402的MAC地址绑定的IP地址。VM403接收到DHCP Offer之后,由于该报文中不包括VM403的MAC地址,因此将该报文丢弃。
304、网络管理装置建立多个分布式DHCP服务器。
本实施例中用分布式DHCP服务器统称位于多个计算节点内的DHCP服务器。
结合步骤301至步骤303,每当执行步骤301的触发条件满足时,就执行步骤301至步骤303。
在第一计算节点中,为保证DHCP服务器能够及时处理虚拟机发出的DHCPDiscover报文,网络管理装置需要在第一个接入目标子网的虚拟机发出DHCP Discover报文请求DHCP服务之前,创建第一DHCP服务器,具体可以在第一个接入目标子网的虚拟机创建过程中、创建完成时,或者在检测到该虚拟机与计算节点内的虚拟交换机连接时创建第一DHCP服务器。
第一计算节点中每当有虚拟机接入目标子网时,网络管理装置指示第一DHCP服务器记录下新的MAC地址与IP地址的对应关系,并向第一虚拟交换机下发更新的流表,描述虚拟机与DHCP服务器之间,DHCP报文的转发关系。
在不同的计算节点,均可以创建本计算节点内的DHCP服务器,服务于接入目标子网的虚拟机。当然,通过发明的实施例中所描述的提供DHCP服务的方法,还可以在各计算节点创建服务于其他子网的分布式服务器。结合图2中的计算节点201,当一个计算节点内的虚拟机接入两个子网时,可以建立两个DHCP服务器,分别用于服务于两个子网。进一步地,通过重复执行步骤301至步骤304,可以在一个计算节点内创建两个以上DHCP服务器,在一个计算节点内,不同DHCP服务器服务于不同子网。
当然,一个DHCP服务器可以服务于多个子网。本实施例中仅以一个DHCP服务器服务于一个子网的情况为例做详细说明。
服务于同一子网的多个分布式DHCP服务器可以共享MAC地址和IP地址,因此不会因为建立多个DHCP服务器而占用多个MAC地址和IP地址。本发明的实施例仅以服务于目标子网、分别位于第一计算节点和第二计算节点的两个DHCP服务器为例,对分布式DHCP服务器进行说明。
结合步骤301至步骤304,在第二计算节点内创建第二DHCP服务器,用于对位于第二计算节点且接入目标子网的虚拟机提供DHCP服务。第二DHCP服务器通过第二虚拟交换机与位于第二计算节点且接入目标子网的虚拟机连接。
由于第二DHCP服务器与第一DHCP服务器共享MAC地址以及IP地址,为防止第一DHCP服务器和第二DHCP服务器使用相同IP地址导致IP地址冲突,网络管理装置禁止第一虚拟交换机和第二虚拟交换机通过各自的上行接口转发访问DHCP服务器的报文。
访问DHCP服务器的报文包括DHCP报文。也就是说,一个计算节点内,虚拟机与DHCP服务器之间的DHCP报文,其传播范围控制在本计算节点内,不会被转发到另外一个计算节点。
访问DHCP服务器的报文还包括ARP报文,禁止虚拟交换机向DHCP服务器转发ARP报文,防止DHCP服务器的IP地址对外暴露。
本实施例提供两种禁止虚拟交换机通过上行接口转发访问DHCP服务器的报文的具体实施方式如下:
第一种实施方式中,网络管理装置可以通过向第一虚拟交换机下发流表,禁止第一虚拟交换机通过其上行接口转发其它计算节点内的虚拟机访问第一DHCP服务器的报文。结合图4所示,以虚拟交换机407为例,一种通过伪码表示的用于禁止虚拟交换机407通过其上行接口转发访问DHCP服务器的报文的流表如下所示:
Flowtable2:
In_port=C,arp,arp_tpa=vdhcp,actions:drop
dl_Vlan=net1,arp,arp_tpa=vdhcp,output:A1
dl_Vlan=net2,arp,arp_tpa=vdhcp,output:A2
Flowtable2中的端口C,为虚拟交换机407的上行端口4071。net1为DHCP401所对应子网的VLAN ID,net2为DHCP404所对应子网的VLAN ID。
根据Flowtable2,虚拟交换机407将从接入net1的虚拟机接收到的DHCP报文或者APR报文转发至端口A1,将从接入net2的虚拟机接收到的DHCP报文或者APR报文转发至端口A2,将从上行端口接收到DHCP报文或者APR报文丢弃。计算节点40内虚拟机与DHCP服务器之间的DHCP报文,仅在计算节点40内转发。另外,通过禁止DHCP服务器的IP地址对外暴露,达到不同计算节点使用相同的DHCP服务IP而不冲突的目的。
第二种实施方式中,网络管理装置可以通过向第一虚拟交换机下发流表,禁止第一虚拟交换机通过其上行接口转发第一计算节点内的虚拟机访问其它计算节点内的DHCP服务器报文。即第一计算节点内的虚拟机,只能够访问第一计算节点内的DHCP服务器。
在分布式DHCP服务器包括分布于多个计算节点内的多个DHCP服务器时,网络管理装置可针对每个DHCP服务器所在的虚拟交换机,分别下发流表,禁止虚拟交换机转发所在计算节点内的虚拟机访问另一个计算节点内DHCP服务器的报文,或者禁止另一个计算节点内的虚拟机访问本计算节点内DHCP服务器的报文。
以分布式DHCP服务器包括第一DHCP服务器和第二DHCP服务器的情况为例,第一虚拟机、第一DHCP服务器和第一虚拟交换机位于第一计算节点,第二虚拟机、第二DHCP服务器和第二虚拟交换机位于第二计算节点。
网络管理装置禁止第一虚拟交换机通过上行接口发送第一计算节点内虚拟机访问其它计算节点内DHCP服务器(第二DHCP服务器)的报文,并禁止第二虚拟交换机通过上行接口发送第二计算节点内虚拟机访问其它计算节点内DHCP服务器(第一DHCP服务器)的报文。
或者,网络管理装置禁止第一虚拟交换机转发其它计算节点内虚拟机(第二虚拟机)访问第一DHCP服务器的报文,并禁止第二虚拟交换机转发其它计算节点内虚拟机(第一虚拟机)访问第二DHCP服务器的报文。
进一步地,针对一个计算节点内的虚拟交换机,络管理装置可以既禁止虚拟交换机向其它计算节点发送本计算节点内虚拟机访问其它计算节点内DHCP服务器的报文,同时也禁止虚拟交换机转发其它计算节点内虚拟机访问本计算节点内DHCP服务器的报文。
305、分布式DHCP服务器提供跨计算节点的DHCP服务。
在分布式DHCP服务器均正常工作的情况下,一个DHCP服务器只需要为本计算节点内的虚拟机提供DHCP服务。
当一个DHCP服务器不可用时,为使得其所在计算节点内的虚拟机能够正常请求DHCP服务,网络管理装置可以指定另一个DHCP服务器,作为不可用的DHCP服务器的代理服务器,为不可用的DHCP服务器所在计算节点内的虚拟机提供DHCP服务。
一个DHCP服务器不可用的情况,包括该DHCP服务器出现故障不能提供DHCP服务,或者用户为了对该DHCP服务器进行升级维护而禁用该DHCP服务器的情况。优选的,DHCP服务器不可用的情况还包括,对DHCP服务器进行负载调度,使得DHCP服务器对部分虚拟机不再提供DHCP服务的情况。例如,如果一个DHCP服务器的工作负荷较大,网络管理装置可以禁止其为所在计算节点内的部分虚拟机提供DHCP服务,并指定位于另一计算节点的DHCP服务器作为代理服务器,为这部分虚拟机提供DHCP服务。
需要指出的是,这里的代理服务器,通常为服务于同一子网的DHCP服务器。例如,第二DHCP服务器不可用时,网络管理装置指定第一DHCP服务器作为第二DHCP服务器的代理服务器,对位于第二计算节点且接入目标子网的虚拟机提供DHCP服务。
结合图5,计算节点51和计算节点52通过物理交换机53连接。
计算节点51,包括虚拟交换机511、DHCP服务器512、VM513以及VM514。
计算节点52,包括虚拟交换机521、DHCP服务器522、VM523。
当DHCP服务器512和DHCP服务器522均正常工作时,DHCP报文的转发路径如图5中带箭头的虚线所示。
当DHCP服务器522不可用时,DHCP服务器512除了为VM513以及VM514提供DHCP服务之外,还为VM523提供DHCP服务。VM523与DHCP服务器512之间的DHCP报文需经过虚拟交换机521、物理交换机53以及虚拟交换机511转发,传输路径如图5带箭头的实线所示。为完成转发,网络管理装置50需要完成以下两点配置:
第一,由于在虚拟交换机511以及虚拟交换机521均正常工作的情况下,虚拟交换机511以及虚拟交换机521的上行接口被禁止转发访问DHCP服务器的报文,因此当DHCP服务器522不可用时,网络管理装置50需要分别向虚拟交换机511以及虚拟交换机521下发流表,允许虚拟交换机511以及虚拟交换机521通过各自的上行接口转发VM523与DHCP服务器512之间的DHCP报文。
允许虚拟交换机转发访问DHCP服务器的报文,与禁止虚拟交换机转发访问DHCP服务器的报文相对应。
若网络管理装置50只禁止了虚拟交换机511以及虚拟交换机521通过各自的上行接口发送本计算节点内虚拟机访问其它计算节点内DHCP服务器的报文,则只需允许虚拟交换机511以及虚拟交换机521通过各自的上行接口发送VM523与DHCP服务器512之间交互的DHCP报文。
若网络管理装置50只禁止了虚拟交换机511以及虚拟交换机521通过各自的上行接口转发其它计算节点内虚拟机访问本计算节点内DHCP服务器的报文,则只需允许虚拟交换机511以及虚拟交换机521通过各自的上行接口转发VM523与DHCP服务器512之间交互的DHCP报文。
若网络管理装置50既禁止了虚拟交换机发送本计算节点内虚拟机访问其它计算机点内DHCP服务器的报文,同时也禁止了虚拟交换机转发其它计算节点内虚拟机访问本节点内DHCP服务器的报文,则同时允许虚拟交换机511以及虚拟交换机521通过各自的上行接口发送以及转发VM523与DHCP服务器512之间交互的DHCP报文。
需要特别指出一点,原先禁止上行接口转发访问DHCP服务器的报文的流表,依然有效。这里只对VM523例外,允许VM523与DHCP服务器512之间的DHCP报文的转发。如果有其它虚拟机,需要跨计算节点访问DHCP服务器512,也需要通过下发流表允许虚拟交换机转发该虚拟机访问DHCP服务器512的报文。
第二,网络管理装置50指示虚拟交换机511建立VM523与DHCP服务器512之间的协议交互通道。并通过下发流表指示虚拟交换机522建立VM523与DHCP服务器512之间的协议交互通道。
这样,VM523与DHCP服务器512之间的DHCP报文,就能够通过图5中带箭头的实线所示的转发路径完成转发,使得DHCP服务器512能够为VM523提供跨计算节点的DHCP服务。
现有技术中DHCP服务器集中部署在网络节点的方案中,DHCP服务器与虚拟机之间的传输路径包括至少两个虚拟交换机和一个物理交换机,传输路径上的单点故障就会导致虚拟机获取DHCP服务失败。如果网络节点内的虚拟交换机故障,则接入目标子网的全部虚拟机都不能够正常访问DHCP服务器。
本发明的实施例中,DHCP服务器位于计算节点内,为本计算节点内的虚拟机提供DHCP服务,从而缩短了DHCP服务器与虚拟机之间的传输路径。另外,当分布式服务器的数量大于或者等于2时,如果一个DHCP服务器不可用,网络管理装置可以选择一个正常工作的DHCP服务器作为代理服务器,使得接入第一网络的虚拟机可以正常获取DHCP服务。因此通过分布式的DHCP服务器,不仅仅缩短了DHCP服务器与虚拟机之间的传输路径,同时还提高了***的容错能力,即使一个DHCP服务器故障,也可以通过另一个DHCP服务器作为其代理服务器,为虚拟机提供正常的DHCP服务。
306、网络管理装置在虚拟机删除时对分布式DHCP服务器以及虚拟交换机的配置。
当连接目标子网的一个虚拟机删除时,就可以指示DHCP服务器删除虚拟机的MAC地址与IP地址之间的绑定关系,并撤销用于为该虚拟机提供DHCP服务的协议交互通道。以下分两种情况进行说明。
第一种情况,被删除虚拟机点与服务于该虚拟机的DHCP服务器位于同一个计算节点的情况。
以第一虚拟机为例,当第一虚拟机被删除时,网络管理装置指示第一DHCP服务器,将原先记录的第一虚拟机的MAC地址与IP地址的绑定关系删除。另外,网络管理装置指示第一虚拟交换机删除第一虚拟机与第一DHCP服务器之间的协议交互通道。
进一步地,如果第一计算节点内的虚拟机中,除第一虚拟机之外没有别的虚拟机接入目标子网,则网络管理装置可以删除第一DHCP服务器,并指示第一虚拟交换机清理用于禁止第一虚拟交换机通过上行接口转发访问DHCP服务器的报文的流表。
第二种情况,被删除虚拟机点与服务于该虚拟机的DHCP服务器位于不同的两个计算节点的情况。
结合图5所示的DHCP服务器提供跨计算节点DHCP服务的情况,以第二虚拟机为例,当第二虚拟机被删除时,网络管理装置指示第一DHCP服务器,将原先记录的第二虚拟机的MAC地址与IP地址的绑定关系删除。另外,网络管理装置指示第一虚拟交换机和第二虚拟交换机删除第二虚拟机与第一DHCP服务器之间的协议交互通道。
进一步地,如果第二计算节点内的虚拟机中,除第二虚拟机之外没有别的虚拟机接入目标子网,则网络管理装置可以指示第一虚拟交换机和第二虚拟交换机清理用于允许第一虚拟交换机和第二虚拟交换机通过各自上行接口转发第二虚拟机访问第一DHCP服务器的报文的流表。
更进一步地,第二虚拟机删除后,如果第一计算节点内没有一个虚拟机接入目标子网,则删除第一DHCP服务器。并指示第一虚拟交换机清理用于禁止第一虚拟交换机通过上行接口转发访问DHCP服务器的报文的流表。
本发明的实施例所提供的提供DHCP服务的方法,网络管理装置首先获取第一虚拟机的接入信息,然后根据接入信息指示第一DHCP服务器记录第一虚拟机的MAC地址与IP地址的对应关系,并指示第一虚拟交换机建立第一虚拟机与第一DHCP服务器之间的协议交互通道,由此,当第一虚拟机请求DHCP服务时,就可以由第一DHCP服务器为其提供DHCP服务。相比现有技术,本申请中由于第一DHCP服务器与第一虚拟机位于同一个计算节点,因此虚拟机与DHCP服务器之间的传输路径更短,传输时延更短。另外,通过DHCP服务器的分布式部署,即使一个DHCP服务器故障,也仅仅影响该DHCP服务器所在计算节点内的虚拟机获得IP地址,其它计算节点内的虚拟机则不受影响。通过指定另一个DHCP服务器作为故障DHCP服务器的代理服务器,可以迅速恢复对受故障影响的虚拟机的DHCP服务,从而提高了***的容错能力。
基于本发明的实施例所提供的提供DHCP服务的方法,本发明的实施例还提供一种网络管理装置,用于完成图3所对应的实施例中网络管理装置所执行的步骤。参照图6所示,网络管理装置60包括:处理器601、存储器602、总线603以及收发器604;所述处理器601、所述存储器602,所述收发器604通过所述总线603相互连接;
用于执行本发明方案的程序代码保存在存储器602中,并由处理器601来控制执行。
存储器602可以包括易失性存储器(英文全称:volatile memory),例如随机存取存储器(英文全称:random-access memory,英文简称:RAM)。存储器602也可以包括非易失性存储器(英文全称:non-volatile memory),例如只读存储器(英文全称:read-onlymemory,英文简称:ROM),快闪存储器(英文全称:flash memory),硬盘(英文全称:harddisk drive,英文简称:HDD)或固态硬盘(英文全称:solid-state drive,英文简称:SSD)。存储器602还可以包括上述种类的存储器的组合。
处理器601可以是中央处理器601(全称:Central Processing Unit,简称:CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是网络处理器601(英文全称:networkprocessor,英文简称:NP),专用集成电路(英文全称:application-specific integratedcircuit,英文简称:ASIC),可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)或其任意组合。上述PLD可以是复杂可编程逻辑器件(英文全称:complexprogrammable logic device,英文简称:CPLD),现场可编程逻辑门阵列(英文全称:field-programmable gate array,英文简称:FPGA),通用阵列逻辑(英文全称:generic arraylogic,英文简称:GAL)或其任意组合。
处理器601,用于调用存储器602中的程序代码,并通过收发器604接收其它装置向网络管理装置60发送的数据、请求等信息,处理器601对接收到的信息完成处理后生成相应的指令、数据等信息,通过收发器604发出。本实施例中,网络管理装置60的处理器601通过发出指令指示计算节点内的虚拟交换机、DHCP服务器完成某种功能,处理器601发出的数据可以是向虚拟交换机发出的流表,以指示虚拟交换机按照流表对接收到的报文进行转发。
在一种可能的实施方式中,当上述程序被处理器601执行时,执行如下步骤:
通过所述收发器604获取所述第一虚拟机的接入信息,所述第一虚拟机运行于第一计算节点,所述接入信息用于指示目标子网、所述第一计算节点,以及所述第一虚拟机的媒体访问控制MAC地址以及互联网协议IP地址;其中,所述目标子网为所述第一虚拟机所接入的虚拟子网;
通过所述收发器604发送指令,指示第一DHCP服务器记录所述第一虚拟机的MAC地址与IP地址的对应关系;通过所述收发器604发送指令,指示第一虚拟交换机建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道;以便于所述第一DHCP服务器通过所述协议交互通道,根据所述第一虚拟机的MAC地址与IP地址的对应关系为所述第一虚拟机提供DHCP服务;其中,所述第一DHCP服务器以及所述第一虚拟交换机均运行于所述第一计算节点内。
可选的,所述处理器601执行所述程序代码时,还实现如下步骤:在确定所述第一虚拟机为所述第一计算节点内第一个接入所述目标子网的虚拟机时,通过所述收发器604发送指令,指示所述第一计算节点创建所述第一DHCP服务器。
可选的,所述处理器601执行所述程序代码时,还实现如下步骤:通过所述收发器604向第一虚拟交换机发送流表,以禁止所述第一虚拟交换机转发所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文;或通过所述收发器604发送流表以禁止所述第一虚拟交换机转发所述第一虚拟机访问所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的DHCP服务器的报文。
可选的,所述处理器601执行所述程序代码时,还实现如下步骤:通过所述收发器604发送指令,指示第二计算节点创建第二DHCP服务器,所述第二计算节点为所述至少两个计算节点中除所述第一计算节点之外的任一计算节点,所述第二DHCP服务器用于对位于所述第二计算节点且接入所述目标子网的虚拟机提供DHCP服务;所述第二DHCP服务器与所述第一DHCP服务器共享MAC地址以及IP地址;通过所述收发器604发送流表,禁止所述第一虚拟交换机和第二虚拟交换机通过各自的上行接口发送访问DHCP服务器的报文;其中所述第二虚拟交换机位于所述位于所述第二计算节点;或通过所述收发器604发送流表,禁止所述第一虚拟交换机转发所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文,并禁止所述第二虚拟交换机转发所述至少两个计算节点中除所述第二计算节点外的其它计算节点内的虚拟机访问所述第二DHCP服务器的报文。
可选的,所述处理器601执行所述程序代码时,还实现如下步骤:当确定所述第二DHCP服务器不可用时,通过所述收发器604发送流表,允许所述第一虚拟交换机和所述第二虚拟交换机通过各自的上行接口发送第二虚拟机与所述第一虚拟交换机之间交互的DHCP报文;并允许所述第一虚拟交换机转发所述第二虚拟机访问所述第一DHCP服务器的报文;其中所述第二虚拟机为位于所述第二计算节点且接入所述目标子网的虚拟机;
通过所述收发器604发送指令,指示所述第一虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道;还通过所述收发器604指示所述第二虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道。
基于本发明的实施例所提供的提供DHCP服务的方法,本发明的实施例还提供一种计算节点,用于完成图3所对应的实施例中计算节点所执行的步骤。参照图7所示,计算节点70包括:处理器701、存储器702、总线703以及收发器704;所述处理器701、所述存储器702,所述收发器704通过所述总线703相互连接;
用于执行本发明方案的程序代码保存在存储器702中,并由处理器701来控制执行。
存储器702可以包括易失性存储器(英文全称:volatile memory),例如随机存取存储器(英文全称:random-access memory,英文简称:RAM)。存储器702也可以包括非易失性存储器(英文全称:non-volatile memory),例如只读存储器(英文全称:read-onlymemory,英文简称:ROM),快闪存储器(英文全称:flash memory),硬盘(英文全称:harddisk drive,英文简称:HDD)或固态硬盘(英文全称:solid-state drive,英文简称:SSD)。存储器702还可以包括上述种类的存储器的组合。
处理器701可以是中央处理器701(全称:Central Processing Unit,简称:CPU),或者CPU和硬件芯片的组合。上述硬件芯片可以是网络处理器701(英文全称:networkprocessor,英文简称:NP),专用集成电路(英文全称:application-specific integratedcircuit,英文简称:ASIC),可编程逻辑器件(英文全称:programmable logic device,英文简称:PLD)或其任意组合。上述PLD可以是复杂可编程逻辑器件(英文全称:complexprogrammable logic device,英文简称:CPLD),现场可编程逻辑门阵列(英文全称:field-programmable gate array,英文简称:FPGA),通用阵列逻辑(英文全称:generic arraylogic,英文简称:GAL)或其任意组合。
处理器701,用于调用存储器702中的程序代码,在一种可能的实施方式中,当上述程序被处理器701执行时,完成第一虚拟机、第一DHCP服务器以及第一虚拟交换机各自对应的功能;
所述第一DHCP服务器,用于通过所述收发器704接收网络管理装置发送的所述第一虚拟机的媒体访问控制MAC地址以及互联网协议IP地址,并记录所述第一虚拟机的MAC地址与IP地址的对应关系;
所述第一虚拟交换机,用于根据所述网络管理装置的指示建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道;
所述第一DHCP服务器,还用于通过所述协议交互通道,根据所述第一虚拟机的MAC地址与IP地址的对应关系为所述第一虚拟机提供DHCP服务。
可选的,当所述处理器701执行所述程序代码时,还根据所述网络管理装置的指示创建所述第一DHCP服务器。
可选的,所述第一虚拟交换机,还用于根据所述网络管理装置的指示禁止所述第一虚拟交换机转发其它计算节点70内的虚拟机访问所述第一DHCP服务器的报文;或根据所述网络管理装置的指示禁止转发所述第一虚拟机访问其它计算节点70内的DHCP服务器的报文。
可选的,所述第一虚拟交换机,还用于根据所述网络管理装置的指示允许所述第一虚拟交换机通过上行接口发送第二虚拟机与所述第一虚拟交换机之间交互的DHCP报文;并根据所述网络管理装置的指示允许转发所述第二虚拟机访问所述第一DHCP服务器的报文;其中所述第二虚拟机为位于除所述计算节点70外的其他计算节点70且接入所述目标子网的虚拟机;
所述第一虚拟交换机,还用于根据所述网络管理装置的指示建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道。
基于本发明的实施例所提供的提供DHCP服务的方法,本发明的实施例还提供一种通信***,参照图8所示,通信***80包括网络管理装置801以及至少两个计算节点802,用于完成图3所对应的实施例中网络管理装置以及计算节点所执行的步骤。
至少两个计算节点802之间通过基础网络互连,图8中以物理交换机803代表基础网络。
网络管理装置801可以为图6所对应的实施例中所描述的网络管理装置,至少两个计算节点中的任一计算节点802,可以为图7所对应的实施例中所描述的计算节点。
本发明的实施例所提供的提供网络管理装置、计算节点以及通信***,网络管理装置首先获取第一虚拟机的接入信息,然后根据接入信息指示第一DHCP服务器记录第一虚拟机的MAC地址与IP地址的对应关系,并指示第一虚拟交换机建立第一虚拟机与第一DHCP服务器之间的协议交互通道,由此,当第一虚拟机请求DHCP服务时,就可以由第一DHCP服务器为其提供DHCP服务。相比现有技术,本申请中由于第一DHCP服务器与第一虚拟机位于同一个计算节点,因此虚拟机与DHCP服务器之间的传输路径更短,传输时延更短。另外,通过DHCP服务器的分布式部署,即使一个DHCP服务器故障,也仅仅影响该DHCP服务器所在计算节点内的虚拟机获得IP地址,其它计算节点内的虚拟机则不受影响。通过指定另一个DHCP服务器作为故障DHCP服务器的代理服务器,可以迅速恢复对受故障影响的虚拟机的DHCP服务,从而提高了***的容错能力。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信***。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。例如,本申请的方案同样适用于将虚拟机替换为容器(如docker)的情况、虚拟机与容器共存的情况、或者对虚拟机与容器不做区分,而以虚拟机或者容器在虚拟交换机上的接口来标识虚拟机或者容器的情况。倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种提供动态主机配置协议DHCP服务的方法,应用于网络管理装置及至少两个计算节点,所述至少两个计算节点包括第一计算节点,其特征在于,第一虚拟机、第一DHCP服务器以及第一虚拟交换机均运行于所述第一计算节点,所述提供DHCP服务的方法包括:
所述网络管理装置获取所述第一虚拟机的接入信息,所述接入信息用于指示目标子网、所述第一计算节点,以及所述第一虚拟机的媒体访问控制MAC地址以及互联网协议IP地址;其中,所述目标子网为所述第一虚拟机所接入的虚拟子网;
所述网络管理装置指示所述第一DHCP服务器记录所述第一虚拟机的MAC地址与IP地址的对应关系;指示所述第一虚拟交换机建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道;
所述第一DHCP服务器通过所述协议交互通道,根据所述第一虚拟机的MAC地址与IP地址的对应关系为所述第一虚拟机提供DHCP服务;
所述网络管理装置禁止所述第一虚拟交换机转发所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文;
或所述网络管理装置禁止所述第一虚拟交换机转发所述第一虚拟机访问所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的DHCP服务器的报文。
2.根据权利要求1所述的提供DHCP服务的方法,其特征在于,所述网络管理装置获取所述第一虚拟机的接入信息之后,还包括:
当所述网络管理装置确定所述第一虚拟机为所述第一计算节点内第一个接入所述目标子网的虚拟机时,指示所述第一计算节点创建所述第一DHCP服务器。
3.根据权利要求1或2所述的提供DHCP服务的方法,其特征在于,还包括:
所述网络管理装置指示第二计算节点创建第二DHCP服务器,所述第二计算节点为所述至少两个计算节点中除所述第一计算节点之外的任一计算节点,所述第二DHCP服务器用于对位于所述第二计算节点且接入所述目标子网的虚拟机提供DHCP服务;所述第二DHCP服务器与所述第一DHCP服务器共享MAC地址以及IP地址;
所述网络管理装置禁止所述第一虚拟交换机和第二虚拟交换机通过各自的上行接口发送访问DHCP服务器的报文;其中所述第二虚拟交换机位于所述位于所述第二计算节点;
或所述网络管理装置禁止所述第一虚拟交换机转发所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文,并禁止所述第二虚拟交换机转发所述至少两个计算节点中除所述第二计算节点外的其它计算节点内的虚拟机访问所述第二DHCP服务器的报文。
4.根据权利要求3所述的提供DHCP服务的方法,其特征在于,所述提供DHCP服务的方法还包括:
当所述网络管理装置确定所述第二DHCP服务器不可用时,允许所述第一虚拟交换机和所述第二虚拟交换机通过各自的上行接口发送第二虚拟机与所述第一虚拟交换机之间交互的DHCP报文;并允许所述第一虚拟交换机转发所述第二虚拟机访问所述第一DHCP服务器的报文;其中所述第二虚拟机为位于所述第二计算节点且接入所述目标子网的虚拟机;
所述网络管理装置指示所述第一虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道;还指示所述第二虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道。
5.一种网络管理装置,其特征在于,包括:处理器、存储器、总线以及收发器;所述处理器、所述存储器,所述收发器通过所述总线相互连接;所述存储器存储有程序代码,当所述处理器执行所述程序代码时,实现如下步骤:
通过所述收发器获取第一虚拟机的接入信息,所述第一虚拟机运行于第一计算节点,所述接入信息用于指示目标子网、所述第一计算节点,以及所述第一虚拟机的媒体访问控制MAC地址以及互联网协议IP地址;其中,所述目标子网为所述第一虚拟机所接入的虚拟子网;
通过所述收发器指示第一DHCP服务器记录所述第一虚拟机的MAC地址与IP地址的对应关系;通过所述收发器指示第一虚拟交换机建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道;以便于所述第一DHCP服务器通过所述协议交互通道,根据所述第一虚拟机的MAC地址与IP地址的对应关系为所述第一虚拟机提供DHCP服务;其中,所述第一DHCP服务器以及所述第一虚拟交换机均运行于所述第一计算节点内;
所述处理器执行所述程序代码时,还实现如下步骤:通过所述收发器禁止所述第一虚拟交换机转发至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文;或通过所述收发器禁止所述第一虚拟交换机转发所述第一虚拟机访问所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的DHCP服务器的报文。
6.根据权利要求5所述的网络管理装置,其特征在于,所述处理器执行所述程序代码时,还实现如下步骤:在确定所述第一虚拟机为所述第一计算节点内第一个接入所述目标子网的虚拟机时,通过所述收发器指示所述第一计算节点创建所述第一DHCP服务器。
7.根据权利要求5或6所述的网络管理装置,其特征在于,所述处理器执行所述程序代码时,还实现如下步骤:通过所述收发器指示第二计算节点创建第二DHCP服务器,所述第二计算节点为所述至少两个计算节点中除所述第一计算节点之外的任一计算节点,所述第二DHCP服务器用于对位于所述第二计算节点且接入所述目标子网的虚拟机提供DHCP服务;所述第二DHCP服务器与所述第一DHCP服务器共享MAC地址以及IP地址;通过所述收发器禁止所述第一虚拟交换机和第二虚拟交换机通过各自的上行接口发送访问DHCP服务器的报文;其中所述第二虚拟交换机位于所述位于所述第二计算节点;或通过所述收发器禁止所述第一虚拟交换机转发所述至少两个计算节点中除所述第一计算节点外的其它计算节点内的虚拟机访问所述第一DHCP服务器的报文,并禁止所述第二虚拟交换机转发所述至少两个计算节点中除所述第二计算节点外的其它计算节点内的虚拟机访问所述第二DHCP服务器的报文。
8.根据权利要求7所述的网络管理装置,其特征在于,所述处理器执行所述程序代码时,还实现如下步骤:当确定所述第二DHCP服务器不可用时,通过所述收发器允许所述第一虚拟交换机和所述第二虚拟交换机通过各自的上行接口发送第二虚拟机与所述第一虚拟交换机之间交互的DHCP报文;并允许所述第一虚拟交换机转发所述第二虚拟机访问所述第一DHCP服务器的报文;其中所述第二虚拟机为位于所述第二计算节点且接入所述目标子网的虚拟机;
通过所述收发器指示所述第一虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道;还通过所述收发器指示所述第二虚拟交换机建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道。
9.一种计算节点,其特征在于,包括:处理器、存储器、总线以及收发器;所述处理器、所述存储器,所述收发器通过所述总线相互连接;所述存储器存储有程序代码,当所述处理器执行所述程序代码时,实现第一虚拟机、第一DHCP服务器以及第一虚拟交换机;
所述第一DHCP服务器,用于通过所述收发器接收网络管理装置发送的所述第一虚拟机的媒体访问控制MAC地址以及互联网协议IP地址,并记录所述第一虚拟机的MAC地址与IP地址的对应关系;
所述第一虚拟交换机,用于根据所述网络管理装置的指示建立所述第一虚拟机与所述第一DHCP服务器之间的协议交互通道;
所述第一DHCP服务器,还用于通过所述协议交互通道,根据所述第一虚拟机的MAC地址与IP地址的对应关系为所述第一虚拟机提供DHCP服务;
所述第一虚拟交换机,还用于根据所述网络管理装置的指示禁止所述第一虚拟交换机转发其它计算节点内的虚拟机访问所述第一DHCP服务器的报文;或根据所述网络管理装置的指示禁止转发所述第一虚拟机访问其它计算节点内的DHCP服务器的报文。
10.根据权利要求9所述的计算节点,其特征在于,当所述处理器执行所述程序代码时,还根据所述网络管理装置的指示创建所述第一DHCP服务器。
11.根据权利要求9所述的计算节点,其特征在于,
所述第一虚拟交换机,还用于根据所述网络管理装置的指示允许所述第一虚拟交换机通过上行接口发送第二虚拟机与所述第一虚拟交换机之间交互的DHCP报文;并根据所述网络管理装置的指示允许转发所述第二虚拟机访问所述第一DHCP服务器的报文;其中所述第二虚拟机为位于除所述计算节点外的其他计算节点且接入目标子网的虚拟机;
所述第一虚拟交换机,还用于根据所述网络管理装置的指示建立所述第二虚拟机与所述第一DHCP服务器之间的协议交互通道。
12.一种通信***,其特征在于,包括如权利要求5-8任一项所述的网络管理装置以及至少两个如权利要求9-11任一项所述的计算节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610216278.1A CN105657081B (zh) | 2016-04-07 | 2016-04-07 | 提供dhcp服务的方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610216278.1A CN105657081B (zh) | 2016-04-07 | 2016-04-07 | 提供dhcp服务的方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105657081A CN105657081A (zh) | 2016-06-08 |
CN105657081B true CN105657081B (zh) | 2019-01-18 |
Family
ID=56497002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610216278.1A Active CN105657081B (zh) | 2016-04-07 | 2016-04-07 | 提供dhcp服务的方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105657081B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018006926A1 (en) | 2016-07-04 | 2018-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | A method, apparatus and system for handling an internet protocol packet |
CN106936943A (zh) * | 2017-03-21 | 2017-07-07 | 深信服科技股份有限公司 | 虚拟机地址的分配方法及*** |
CN110546620B (zh) * | 2017-04-14 | 2022-05-17 | 华为技术有限公司 | 数据处理方法、存储***和交换设备 |
CN106953943B (zh) * | 2017-04-25 | 2019-07-16 | 中国联合网络通信集团有限公司 | 适用于交换机通信的方法及装置 |
CN108933844B (zh) * | 2017-05-27 | 2020-08-25 | 华为技术有限公司 | 提供dhcp服务的方法及设备 |
CN107800696B (zh) * | 2017-10-23 | 2020-07-03 | 国云科技股份有限公司 | 一种云平台虚拟交换机上通信伪造源识别方法 |
CN109768871B (zh) * | 2017-11-09 | 2022-09-16 | 阿里巴巴集团控股有限公司 | 配置多个虚拟网卡的方法、宿主机和存储介质 |
CN108039968B (zh) * | 2017-12-12 | 2021-02-23 | 深圳市泰信通信息技术有限公司 | 网络优化方法、设备及计算机可读存储介质 |
CN108307002B (zh) * | 2018-05-09 | 2021-06-22 | 华为技术有限公司 | 一种dhcp报文处理方法及装置 |
CN108390956A (zh) * | 2018-05-29 | 2018-08-10 | 郑州云海信息技术有限公司 | 一种为虚拟机配置互联网协议ip地址的方法和*** |
CN108833613B (zh) * | 2018-09-28 | 2021-11-26 | 郑州云海信息技术有限公司 | 一种动态主机配置协议的实现方法及*** |
CN115291964B (zh) * | 2018-12-21 | 2023-05-09 | 华为云计算技术有限公司 | 减少无服务器函数启动延迟的机制 |
CN113286011B (zh) * | 2021-04-27 | 2023-08-22 | 锐捷网络股份有限公司 | 基于vxlan的ip地址分配方法及装置 |
CN113923253A (zh) * | 2021-10-12 | 2022-01-11 | 西安万像电子科技有限公司 | 一种虚拟机图像传输方法、电子设备及存储介质 |
CN114338609A (zh) * | 2022-01-25 | 2022-04-12 | 广东省广播电视网络股份有限公司 | 一种ip地址分配管理***及其方法 |
CN114884922A (zh) * | 2022-04-28 | 2022-08-09 | 济南浪潮数据技术有限公司 | 一种数据中心中ip冲突检测方法、设备及存储介质 |
CN115484232A (zh) * | 2022-07-29 | 2022-12-16 | 天翼云科技有限公司 | Dhcp服务器的部署方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534329A (zh) * | 2009-04-16 | 2009-09-16 | 华为技术有限公司 | 一种ip地址分配方法及*** |
CN104394130A (zh) * | 2014-11-12 | 2015-03-04 | 国云科技股份有限公司 | 一种多租户虚拟网络隔离方法 |
CN104468574A (zh) * | 2014-12-05 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种虚拟机动态获取ip地址的方法、***及装置 |
CN104717081A (zh) * | 2013-12-13 | 2015-06-17 | 杭州华为数字技术有限公司 | 一种网关功能的实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9419937B2 (en) * | 2014-01-29 | 2016-08-16 | Vmware, Inc. | System and method for dynamically configuring a DNS server in a virtual network environment |
-
2016
- 2016-04-07 CN CN201610216278.1A patent/CN105657081B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534329A (zh) * | 2009-04-16 | 2009-09-16 | 华为技术有限公司 | 一种ip地址分配方法及*** |
CN104717081A (zh) * | 2013-12-13 | 2015-06-17 | 杭州华为数字技术有限公司 | 一种网关功能的实现方法及装置 |
CN104394130A (zh) * | 2014-11-12 | 2015-03-04 | 国云科技股份有限公司 | 一种多租户虚拟网络隔离方法 |
CN104468574A (zh) * | 2014-12-05 | 2015-03-25 | 中国联合网络通信集团有限公司 | 一种虚拟机动态获取ip地址的方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105657081A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105657081B (zh) | 提供dhcp服务的方法、装置及*** | |
CN112470436B (zh) | 用于提供多云连通性的***、方法、以及计算机可读介质 | |
US20240113998A1 (en) | Domain name system operations implemented using scalable virtual traffic hub | |
US11050586B2 (en) | Inter-cloud communication method and related device, and inter-cloud communication configuration method and related device | |
US10897417B2 (en) | Automated route propagation among networks attached to scalable virtual traffic hubs | |
US10742446B2 (en) | Interconnecting isolated networks with overlapping address ranges via scalable virtual traffic hubs | |
US20220377045A1 (en) | Network virtualization of containers in computing systems | |
WO2017045471A1 (zh) | 一种在云计算***中获取业务链信息的方法和装置 | |
CN108347493B (zh) | 混合云管理方法、装置和计算设备 | |
JP5976942B2 (ja) | ポリシーベースのデータセンタネットワーク自動化を提供するシステムおよび方法 | |
TWI543566B (zh) | 基於軟體定義網路的資料中心網路系統及其封包傳送方法、位址解析方法與路由控制器 | |
CN111917893B (zh) | 虚拟私有云与云下数据中心通信、配置方法及相关装置 | |
US9584369B2 (en) | Methods of representing software defined networking-based multiple layer network topology views | |
JP6738965B2 (ja) | ネットワークサービスライフサイクル管理許可方法及び装置 | |
CN110896371B (zh) | 一种虚拟网络设备及相关方法 | |
JP6330923B2 (ja) | オーケストレータ装置、システム、仮想マシンの作成方法及びプログラム | |
JP2013097394A (ja) | ネットワークシステムの管理方法、ネットワークシステム及び管理サーバ | |
CN109995639B (zh) | 一种数据传输方法、装置、交换机及存储介质 | |
CN105991387A (zh) | 虚拟扩展局域网的报文传输方法和装置 | |
CN110855488B (zh) | 一种虚拟机接入方法及装置 | |
WO2021037133A1 (zh) | 一种网络管理的方法及设备 | |
CN105704042A (zh) | 报文处理方法、bng及bng集群*** | |
WO2021147358A1 (zh) | 一种网络接口的建立方法、装置及*** | |
WO2020029928A1 (zh) | Bgp会话建立、发送接口地址和别名的方法及网络设备 | |
CN107454011A (zh) | 一种报文转发方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |