一种实现对虚拟化环境中虚拟机提供DHCP服务的方法及系统技术方案

技术编号:22420262 阅读:33 留言:0更新日期:2019-10-30 02:35
本发明专利技术提供一种实现对虚拟化环境中虚拟机提供DHCP服务的方法及系统,开启虚拟交换机DHCP功能在该虚拟交换机上下发一条流表;虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnport,并将IP地址信息在后台程序中缓存;虚拟机开机完成后,发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器中;控制器对接收到的DHCP报文进行处理,从所述的程序缓存中获取到IP地址信息,组装成DHCP回应报文,发送给该虚拟机,实现IP地址信息的分配。

【技术实现步骤摘要】
一种实现对虚拟化环境中虚拟机提供DHCP服务的方法及系统
本专利技术涉及云平台虚拟网络
,具体涉及一种实现对虚拟化环境中虚拟机提供DHCP服务的方法及系统。
技术介绍
随着云计算技术日益普及越来越多网络服务应用,人们对云计算平台提出了越来越高的要求,在物理网络中虚拟机若想通过自动分配的形式获得IP,则需要在相应的网络中建立一个DHCP服务器。动态主机配置协议(DynamicHostConfigurationProtocol,DHCP)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。首先,DHCP服务器必须是一台安装有Windows2000Server/AdvancedServer系统的计算机;其次,担任DHCP服务器的计算机需要安装TCP/IP协议,并为其设置静态IP地址、子网掩码、默认网关等内容。而在虚拟化环境中,虚拟机可能在不同的网络,假如在每个网络中都建立一个虚拟机为相应的网络分配IP,则会每个网络都需要有这样一个用作DHCP服务器的虚拟机,这样不但浪费了大量的资源,而且对这些DHCP服务器的管理也不是一件容易的事。
技术实现思路
针对在虚拟化环境中,虚拟机可能在不同的网络,假如在每个网络中都建立一个虚拟机为相应的网络分配IP,则会每个网络都需要有这样一个用作DHCP服务器的虚拟机,这样不但浪费了大量的资源而且也不容易对这些DHCP服务器进行管理的问题,本专利技术提供一种实现对虚拟化环境中虚拟机提供DHCP服务的方法及系统。本专利技术的技术方案是:一方面,本专利技术技术方案提供一种实现对虚拟化环境中虚拟机提供DHCP服务的方法,包括如下步骤:开启虚拟交换机DHCP功能在该虚拟交换机上下发一条流表;虚拟机开机后被分配IP地址并将IP地址信息进行缓存;虚拟机发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器中;控制器对接收到的DHCP报文进行处理,返回由IP地址组装成DHCP回应报文发送给该虚拟机实现IP地址的分配。进一步的,所述的虚拟机开机后被分配IP地址并将IP地址信息进行缓存的步骤具体包括:虚拟机开机后生成虚拟端口vnport;其中,每个虚拟端口对应虚拟机的一个网卡;每个网卡被分配一个IP地址,并把分配的IP地址信息存储在该虚拟端口vnport;触发该虚拟端口相关的事件将虚拟端口存储的IP地址信息缓存到控制程序。进一步的,所述的每个网卡被分配一个IP地址,并把分配的IP地址信息存储在该虚拟端口vnport的步骤中,通过调用底层命令把分配的IP地址信息存储在该虚拟端口vnport的external_id字段中。进一步的,所述的虚拟机发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器的步骤中,虚拟机发送DHCP报文包括DHCPDISCOVER包括和DHCPREQUEST报文。进一步的,所述的控制器对接收到的DHCP报文进行处理,返回IP地址组装成DHCP回应报文发送给该虚拟机实现IP地址的分配的步骤具体包括:控制器接收到DHCPDISCOVER报文,其中,DHCPDISCOVER报文中含有提供的IP地址;控制器根据程序缓存的信息查询对应的虚拟端口存储的IP地址信息是否存在;若是,根据查询到的信息组装成DHCPOFFER报文返回给请求虚拟机;否则不回应;虚拟机收到DHCPOFFER报文后,会发送DHCPREQUEST报文正式请求DHCPOFFER报文中提供的IP地址;所述的流表将该虚拟机发出的DHCPREQUEST报文上送到控制器;控制器接收到DHCPREQUEST报文后根据程序缓存的信息查询对应的虚拟端口存储的IP地址信息是否存在;若是,根据查询到的信息组装成DHCPACK报文返回给请求虚拟机确认IP可用,完成整个DHCP过程。第二方面,本专利技术技术方案提供一种实现对虚拟化环境中虚拟机提供DHCP服务的系统,包括若干台服务器主机,每台服务器主机设置有若干个虚拟机,每台服务器主机设置有一个或多个虚拟交换机;每台服务器主机中的虚拟机通过虚拟端口vnport连接到本服务器主机的虚拟交换机上,虚拟交换机通过其上行链路,与主服务器主机之外的物理交换机连接;该系统的一个虚拟交换机还连接有一个控制器;所述的虚拟交换机开启DHCP功能后下发一条流表到该虚拟交换机;控制器,用于和下发在虚拟交换机上的流表配合,完成控制虚拟机DHCP报文的转发实现虚拟机IP地址的分配。进一步的,所述的流表,用于将虚拟交换机上连接的所有虚拟机发出的DHCP报文上送到控制器。进一步的,所述的控制器,用于对接收到的DHCP报文进行处理,返回IP地址组装成DHCP回应报文发送给该虚拟机实现IP地址的分配。进一步的,所述的控制器,还用于将存储在该虚拟端口vnport的external_id字段中IP地址信息缓存到控制程序;控制器,还用于接收到的DHCP报文后根据控制程序缓存的IP地址信息查询对应的虚拟端口vnport是否有存储的对应的请求虚拟机的IP地址信息,如果没有则不回应,如果有则将对应的IP地址信息取出组装DHCP回应报文发送给该虚拟机实现IP地址的分配。从以上技术方案可以看出,本专利技术具有以下优点:把虚拟机DHCP请求报文拦截,然后把这个报文上送给控制器,然后控制器将相关IP信息进行封装,组装成DHCP回应报文,原路返回,发送给虚拟机。实现虚拟机通过DHCP配置IP地址的功能。而且,在一个虚拟化环境中,只通过一个控制器,就可以实现虚拟化环境中为所有虚拟网络的虚拟机,通过DHCP配置IP地址的功能。所有的虚拟网络中的虚拟机都能由一个控制器进行分配IP,不用每个网络都再创建DHCP服务器。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的实现对虚拟化环境中虚拟机提供DHCP服务的系统环境示意图。图2是本专利技术实施例提供的实现对虚拟化环境中虚拟机提供DHCP服务的方法示意性流程图。图3为本专利技术实施例提供的控制器对接收到的DHCP报文进行处理流程示意图。图4为基本的DHCP报文交互过程流程示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。实施例一如图1、图2所示,本专利技术技术方案提供一种实现对虚拟化环境中虚拟机提供DHCP服务的方法,包括如下步骤:S1:开启虚拟交换机DHCP功能在该虚拟交换机上下发一条流表;S2:虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnpor本文档来自技高网
...

【技术保护点】
1.一种实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,包括如下步骤:开启虚拟交换机DHCP功能在该虚拟交换机上下发一条流表;虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnport,并将IP地址信息在后台程序中缓存;虚拟机开机完成后,发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器中;控制器对接收到的DHCP报文进行处理,从所述的程序缓存中获取到IP地址信息,组装成DHCP回应报文,发送给该虚拟机,实现IP地址信息的分配。

【技术特征摘要】
1.一种实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,包括如下步骤:开启虚拟交换机DHCP功能在该虚拟交换机上下发一条流表;虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnport,并将IP地址信息在后台程序中缓存;虚拟机开机完成后,发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器中;控制器对接收到的DHCP报文进行处理,从所述的程序缓存中获取到IP地址信息,组装成DHCP回应报文,发送给该虚拟机,实现IP地址信息的分配。2.根据权利要求1所述的实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,所述的虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnport,并将IP地址信息在后台程序中缓存的步骤具体包括:虚拟机开机后,每个网卡生成一个相应的虚拟端口vnport;每个网卡被分配一个IP地址,并通过命令下发到后台,将分配的IP地址信息存储在该虚拟端口vnport;上一步骤中的保存动作触发该虚拟端口相关事件,当程序感知到此事件时,会自动将虚拟端口存储的IP地址信息缓存到控制程序。3.根据权利要求2所述的实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,所述的虚拟机开机后通过命令将待分配的IP地址信息保存到虚拟机对应的虚拟端口vnport,并将IP地址信息在后台程序中缓存的步骤中,通过调用底层命令把分配的IP地址信息存储在该虚拟端口vnport的external_id字段中。4.根据权利要求3所述的实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,所述的虚拟机开机完成后,发送DHCP报文请求IP地址,所述的流表将该虚拟机发出的DHCP报文上送到控制器中的步骤中,虚拟机发送DHCP报文包括DHCPDISCOVER包括和DHCPREQUEST报文。5.根据权利要求4所述的实现对虚拟化环境中虚拟机提供DHCP服务的方法,其特征在于,所述的控制器对接收到的DHCP报文进行处理,从所述的程序缓存中获取到IP地址信息,组装成DHCP回应报文,发送给该虚拟机,实现IP地址信息的分配的步骤具体包括:控制器接收到DHCPDISCOVER报文,其中,DHCPDISCOVER报文中...

【专利技术属性】
技术研发人员:张兆增
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏,32

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

1