一种DHCP报文处理方法及装置与流程

文档序号:14993545发布日期:2018-07-20 23:02阅读:168来源:国知局

本申请涉及网络通信技术领域,尤其涉及一种dhcp报文处理方法及装置。



背景技术:

在数据中心构建过程中,通常会设置至少一个独立的业务区和一个集中的运维管理区。其中,业务区用于部署各种类型的业务系统,而运维管理区用于部署各种软硬件系统的管理和运维平台,并且与业务网络隔离。

具体地,在运维管理区中部署有各种管理节点,在各个业务区部署有用于各类业务系统的虚拟机或者物理机。其中,部署在运维管理区中的各个管理节点用于为业务区的虚拟机或者物理机提供管理和运维平台。

为实现业务区中虚拟机或物理机的网络互联协议(internetprotocol,ip)地址的统一管理,通常将用于分配ip地址的动态主机配置协议(dynamichostconfigurationprotocol,dhcp)服务节点部署在运维管理区。当管理员在某个业务区发放一台虚拟机或物理机时,虚拟机或物理机需要通过业务网络发送dhcp请求来获取ip地址。所述dhcp是一种二层网络协议,业务区的业务网络和运维管理区的管理网络二层不通,导致dhcp广播不能从业务区的虚拟机或物理机发送到运维管理区的dhcp服务节点,进而导致虚拟机或物理机无法利用dhcp广播自动配置ip地址。



技术实现要素:

本申请通过部署一个dhcp代理节点,使得该dhcp代理节点可以将从业务网络上获取的dhcp广播,通过管理网络转发到位于管理节点上的dhcp服务节点,以解决了因业务网络和管理网络的隔离导致的虚拟机或物理机无法实现ip地址自动配置的问题。

具体地,本申请公开了以下技术方案:

第一方面,本申请提供了一种动态主机配置协议dhcp报文处理方法,所述方法包括:dhcp代理节点从业务网络接收请求,所述请求用于指示为虚拟机或物理机分配ip地址;所述dhcp代理节点将所述请求发送给dhcp服务节点,在管理网络中根据所述请求从dhcp服务节点获取ip地址;以及向所述虚拟机或物理机发送所述ip地址。

可选的,所述请求包括dhcp协议中的dhcpdiscover广播报文。

可选的,所述ip地址可以通过dhcp协议中的dhcpoffer报文承载。

本方面,通过配置dhcp代理节点可以实现管理网络和业务网络之间的消息转发,进而为虚拟机或物理机自动分配ip地址。

结合第一方面,在第一方面的一种实现方式中,所述dhcp代理节点从业务网络接收请求包括:所述dhcp代理节点通过第一网卡接收来自所述虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络,以实现所述请求在业务网络中的接收和发送。

结合第一方面,在第一方面的另一种实现方式中,所述dhcp代理节点在管理网络中根据所述请求从dhcp服务节点获取ip地址,包括:所述dhcp代理节点通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络,以实现所述ip地址在管理网络中的接收和发送。

结合第一方面,在第一方面的又一种实现方式中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

第二方面,本申请还提供了一种dhcp代理节点,包括接收模块和发送模块,其中,所述接收模块,用于从业务网络接收请求,以及在管理网络中根据所述请求从dhcp服务节点获取ip地址,所述请求用于指示为虚拟机或物理机分配ip地址;所述发送模块,用于向所述虚拟机或物理机发送所述ip地址。

结合第二方面,在第二方面的一种实现方式中,所述接收模块具体用于通过第一网卡接收来自所述虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络。

结合第二方面,在第二方面的另一种实现方式中,所述接收模块具体用于通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

结合第二方面,在第二方面的又一种实现方式中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

第三方面,本申请还提供了一种数据中心,所述数据中心包括至少一个计算设备,每个所述计算设备包括处理器和存储器,所述至少一个处理器执行用于控制dhcp代理节点、dhcp服务节点和虚拟机,

所述dhcp代理节点,用于从业务网络接收请求,在管理网络中根据所述请求从dhcp服务节点获取ip地址,以及向虚拟机或物理机发送所述ip地址,其中所述请求用于指示为所述虚拟机或物理机分配ip地址。

结合第三方面,在第三方面的一种实现方式中,所述处理器具体用于控制所述dhcp代理节点通过第一网卡接收来自所述虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络。

结合第三方面,在第三方面的另一种实现方式中,所述处理器具体用于控制所述dhcp代理节点通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

结合第三方面,在第三方面的又一种实现方式中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

第四方面,本申请还提供了一种计算机存储介质,该计算机存储介质可存储有指令,该指令执行时可实现本申请提供的第一方面以及第一方面中的各种实现方式所述的dhcp报文处理方法的部分或全部步骤。

其中,所述存储介质包括第三方面中的所述计算设备中的存储器。

第五方面,本申请还提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,所述计算机执行上述各个方面所述的dhcp报文处理方法。

本申请提供的方法,在数据中心中部署dhcp代理节点,该dhcp代理节点具有将消息或报文在业务网络和管理网络之间的自由转发功能,比如通过第一网卡实现业务网络的消息收发,通过第二网卡实现管理网络的消息收发,从而解决了在云平台中,因业务网络和管理网络的隔离导致的虚拟机或物理机无法实现ip地址自动配置的问题,本方法实现了ip地址的自动配置,节约管理成本,并且还避免了管理员手工配置ip地址的操作,提高连接效率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请提供的一种数据中心的结构示意图;

图2为本申请提供的一种dhcp报文处理方法的流程图;

图3为本申请提供的一种dhcp租约过程的示意图;

图4为本申请提供的另一种dhcp报文处理方法的流程图;

图5为本申请提供的一种dhcp报文转发的示意图;

图6为本申请提供的一种dhcp代理节点的结构示意图;

图7为本申请提供的一种计算设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中的技术方案作进一步详细的说明。

首先,对本申请的技术场景和系统下的各个功能实体,以及技术术语进行介绍和说明。

如图1所示,为本申请实施例提供的一种数据中心结构示意图,该数据中心可以是一种云管理平台或云数据中心,其中,所述数据中心部署至少一个主机(即计算设备),至少一个主机的任一主机上可以部署虚拟机或管理节点,同时至少一个主机的任一主机也可以不进行虚拟化,作为物理机提供给用户,为用户提供服务。示例性地,图1中绘制出了一个主机上同时部署虚拟机和管理节点的情况,除此之外,一个主机上可以只部署虚拟机,不部署管理节点,本申请实施例对此不做限制。

如图1所示的数据中心,各个管理节点与管理节点相关的节点组成的区域可以称为运维管理区,其形成的网络为管理网络;将所有业务与业务相关的虚拟机及物理机之间组成的区域可以称为业务区,其形成的网络为业务网络。在运维管理区,管理节点用于虚拟机的创建和配置及物理机的配置,所述管理节点包括计算节点、网络节点。

可选的,本申请中的管理节点可以包括dhcp服务节点,用于为虚拟机或物理机分配ip地址以及其他参数。所述管理节点还可以不包括所述dhcp服务节点,本申请对此不予限制。

此外,业务区也可以只包含虚拟机,即只利用虚拟机为用户提供服务,本申请实施例对此不做限制。

虚拟机所在主机和物理机通过第一网卡接入业务网络,使得每个虚拟机或物理机通过业务网络其它虚拟机或物理机通信。同时,虚拟机所在主机和物理机通过第二网卡接入管理网络,使得管理节点通过管理网络配置物理机、创建和配置虚拟机。主机上配置的第一网卡和第二网卡实现业务网络和管理网络的隔离。所述隔离是指管理网络中的管理节点只能对虚拟机进行创建和配置操作,不能对业务进行干预。例如在业务网络中的虚拟机在进行业务传输时,管理节点不能获取业务传输的数据。

如图1所示,在业务区,各个虚拟机之间相互通信,并通过第一网卡建立业务网络,例如主机1中的虚拟机1、主机2中的虚拟机2和物理机3中分别通过各自的第一网卡接入到业务网络,并在该业务网络中实现不同的业务功能。

虚拟机所在的主机上还部署有dhcp代理节点。该dhcp代理节点为主机上的一个进程,可以对主机上的第一网卡和第二网卡实现分别监听,从而与业务网络的虚拟机或物理机及管理网络中的管理节点通信。该dhcp代理节点将从第二网卡中监听到的来自dhcp服务节点的报文转发至第一网卡,又通过第一网卡将该报文转发至虚拟机或物理机,从而解决了因业务网络和管理网络的隔离导致的虚拟机或物理机无法实现ip地址自动配置的问题。dhcp代理节点只监听dhcp报文,其他报文丢弃,从而不影响业务网络和虚拟网络的隔离。

进一步地,为了避免与管理网络内部的dhcp请求相干扰,可将该dhcp代理节点的监听端口调整为非原生dhcp协议制定的67,68端口。图1中,示例性地绘制出部署在虚拟机所在主机的dhcp代理节点,进一步地,由于物理机同样具有第一网卡和第二网卡,所以dhcp代理节点也可以部署在物理机上,本申请对此不做限制。

可选的,本申请提供的技术方案可以应用于openstack云平台,其中,openstack是一个免费的开源软件云计算平台。openstack网络业务是标准业务,通常涉及若干个程序在多个网络节点中的部署。openstack网络业务的主要程序是所谓的neutron服务器,所述neutron服务器是一种python后台程序,将openstack网络应用编程接口(applicationprogramminginterface,api)提供给网络业务的租户,并将租户请求传递给一系列插件进行处理。

neutron服务器(原来称为quantum)在处理器节点上运行,以服务组网api及其拓展。neutron服务器也可以用于执行网络模型以及每个端口的ip寻址。neutron服务器通常包括至少一个neutron插件。通常neutron插件在计算节点上运行,以管理和配置本地虚拟交换机。

可选的,本实施例中,网络管理节点的功能可以通过openstack云平台中的neutron服务器来实现,或者还可以通过其它计算机程序实现,本实施例对此不进行限制。

dhcp协议用于向网络设备分配ip地址及一些tcp/ip配置信息或网络配置参数。dhcp采用客户端/服务器通信模式,由客户端向服务器提出配置申请,服务器返回客户端分配的ip地址等相应的配置信息,以实现ip地址等信息的动态配置。dhcp提高安全、可靠且简单的tcp/ip网络设置,避免了tcp/ip网络中地址的冲突,同时也大大降低了管理ip地址设置的负担。

其中,本申请各实施例中,所述客户端包括业务区的虚拟机或者物理机,本申请对此不予限定。

为了实现在业务网络和管理网络的隔离的情况下,服务节点向虚拟机或物理机自动分配ip地址,本实施例提供了一种dhcp报文处理方法,该方法应用于数据中心,所述数据中心包括至少一个计算设备,每个计算设备包括处理器和存储器,所述至少一个计算设备用于运行dhcp代理节点、dhcp服务节点和虚拟机,

其中,所述dhcp代理节点部署在业务区的虚拟机或物理机上,虚拟机所在的主机包括两个网卡,第一网卡和第二网卡,所述第一网卡用于接入业务网络,实现业务网络的消息收发;所述第二网卡用于接入管理网络,实现管理网络的消息收发,所述dhcp代理节点用于监听第一网卡和第二网卡的进程。

参加图2,所述方法包括以下步骤:

步骤201:dhcp代理节点从业务网络接收请求,所述请求用于指示为虚拟机或物理机分配ip地址;

具体地,所述dhcp代理节点通过第一网卡接收来自虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络。

其中,所述请求包括dhcpdiscover广播报文。

步骤202:dhcp代理节点将所述请求发送给dhcp服务节点,在管理网络中根据所述请求从dhcp服务节点获取ip地址;

具体地,所述dhcp代理节点通过第二网卡将所述请求发送给dhcp服务节点,以及所述dhcp代理节点通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

所述dhcp服务节点与dhcp代理节点在获取请求之前已经建立了通信连接。

步骤203:dhcp代理节点向所述虚拟机或物理机发送所述ip地址。

具体地,所述dhcp代理节点通过第一网卡将所述ip地址发送给虚拟机或物理机。

其中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

可选的,所述ip地址可以以dhcpoffer报文携带的方式发送给虚拟机。

本实施例中,dhcp代理节点通过第一网卡接入业务网络,从业务网络中获取虚拟机发送的请求,然后将该请求通过管理网络转发给dhcp服务节点,其中,所述dhcp代理节点通过第二网卡接入管理网络,实现请求报文从业务网络到管理网络之间的转发。

同理地,当dhcp服务节点接收到来自dhcp代理节点转发的请求之后,分配ip地址,并通过管理网络发送给dhcp代理节点,所述dhcp代理节点通过第二网卡接收该ip地址之后,再将该ip地址转换到业务网络,并通过第一网卡将该ip地址转发给所述虚拟机或物理机,从而实现了ip地址从管理网络到业务网络之间的转发。

本实施例提供的方法,在数据中心中部署dhcp代理节点,该dhcp代理节点具有将消息或报文在业务网络和管理网络之间的自由转发功能,比如通过第一网卡实现业务网络的消息收发,通过第二网卡实现管理网络的消息收发,从而解决了在云平台中,因业务网络和管理网络的隔离导致的虚拟机或物理机无法实现ip地址自动配置的问题。

本方法实现了ip地址的自动配置,节约管理成本,并且还避免了管理员手工配置ip地址的操作,提高了ip地址绑定效率。

此外,业务区的物理机或者虚拟机除了可以从dhcp服务节点(即dhcpserver)获得ip地址外,还可以获得子网掩码、默认网关地址、dns服务器地址等信息,以上这个过程称为dhcp租约过程。因为当虚拟机或者物理机接收提供的ip地址时,dhcp服务节点将会把ip地址租用给虚拟机或者物理机一段指定的时间。

进一步地,所述dhcp租约过程概况地可以分为4个步骤,参见图3分别为:虚拟机或者物理机请求ip地址——服务器响应——虚拟机或者物理机选择ip地址——服务器确定租约。

基于图3所示的dhcp租约过程,对本实施例提供的一种dhcp报文处理方法进行详细的介绍,该方法可以应用于图1所示的数据中心。

所述数据中心包括:部署在运维管理区的网络管理节点,至少一个dhcp服务节点,dhcp代理节点和虚拟机或物理机。

具体地,如图4所示,所述方法包括以下步骤:

步骤1:用户(管理员或者租户)创建一个网络,网络管理节点接收来自用户的网络创建的请求。

步骤2:网络管理节点为新创建的网络在运维管理区上创建/启动一个dhcp服务节点,该dhcp服务节点可服务于该网络的ip地址自动分配,例如为请求的vm/pm提供ip地址。

步骤3:网络管理节点获取新创建的dhcp服务节点的ip地址信息。

步骤4:网络管理节点在新创建的网络中为所述pm/vm创建一个dhcp代理节点。

具体地,若业务区不具有dhcp代理节点,则网络管理节点在该业务区的一个物理机或该业务区的虚拟机所在的主机上创建一个dhcp代理节点。dhcp代理节点还可以以主备或者集群的形式部署在业务区的多个主机,本实施例对此不做限制。

步骤5:网络管理节点配置dhcp服务节点,将新创建的dhcp服务节点的ip地址、端口等信息发送给步骤4中新创建的dhcp代理节点或该业务区原有的节点,以使所述dhcp代理节点利用所述dhcp服务节点分配的ip地址与其建立通信连接。

可选的,所述方法还包括:

步骤6:dhcp代理节点接收到所述dhcp服务节点的ip地址之后,与dhcp服务节点建立通信连接,并测试其与dhcp服务节点的连通性,如果网络连接不通,则流程结束,以及向数据中心发送出错的告警信息,以便运维人员可以介入诊断故障点。

本实施例中,利用数据中心为虚拟机或物理机选择服务的dhcp服务节点和dhcp代理节点,并通过dhcp服务节点的ip地址建立dhcp服务节点和dhcp代理节点之间的通信连接,使得dhcp代理节点在获取来自vm/pm的请求之后,就可以将该请求自动转发给dhcp服务节点,并接收所述dhcp服务节点反馈的ip地址,从而自动地建立起dhcp服务节点与vm/pm的连接关系,从而实现ip地址的自动分配,同时避免修改报文内容和填充dhcp代理节所对应的dhcp服务节点的ip地址。

步骤7:dhcp代理节点在业务网络启动dhcp广播监听,用于监听其所在范围内所有客户端,例如虚拟机或物理机,广播的请求报文。

步骤8:当用户发放一个虚拟机或者物理机,或虚拟机或者物理机的ip地址需要刷新时,则需要获取并绑定一个ip地址,即向网络广播dhcpdiscover请求报文。

具体地,虚拟机或物理机在数据中心广播一个dhcpdiscover包以请求ip地址,此过程也称为dhcpdiscover。可选的,所述dhcpdiscover包的源ip地址为0.0.0.0;目的ip地址为255.255.255.255,该dhcpdiscover包还可以包含虚拟机或物理机的mac地址和计算机名,以使dhcp服务节点能够确定是由哪个虚拟机或物理机发送的请求报文。

步骤9:dhcp代理节点收到dhcpdiscover请求报文后,拷贝该报文以备转发,将所述报文从业务网络转换为管理网络,并且不修改报文内容,也不填充dhcprelay字段。

步骤10:dhcp代理节点通过管理网络将所述拷贝的dhcpdiscover请求报文发送给dhcp服务节点。

可选的,所述dhcp代理节点通过管理网络将所述请求报文以单播的形式发送给dhcp服务节点。

步骤11:dhcp服务节点接收来自dhcp代理节点发送的dhcpdiscover请求报文,然后对该请求报文进行处理,具体地,根据dhcpdiscover请求报文中包含的信息从ip地址资源池中选取合适的ip地址,并以dhcp响应报文,例如dhcpoffer报文的方式反馈给所述dhcp代理节点。

具体地,当dhcp服务节点接收到客户端请求ip地址的信息时,就在自己的ip地址库中查找是否有合法的ip地址提供给客户端,如果有,dhcp服务节点就将此ip地址做上标记,然后单播发送一个dhcpoffer包给dhcp代理节点(此过程又称dhcpoffer)。

步骤12:dhcp代理节点通过业务网络接收到来自dhcp服务节点的dhcp响应报文(比如dhcpoffer报文)后,将所述报文从管理网络转移到业务网络。

步骤13:dhcp代理节点通过业务网络将所述dhcpoffer报文发送给物理机或虚拟机。

步骤14:所述物理机或虚拟机从dhcpoffer报文中提取ip地址,并且在确认该ip地址没有被占用的情况下发送dhcp应答报文(例如dhcprequst报文)到dhcp代理节点;如果该ip地址被占用,则需要回到步骤8重新开始dhcp请求报文的发送。

具体地,物理机或虚拟机从收到的第一个dhcpoffer报文中选择ip地址,并生成dhcp应答报文,所述dhcp应答报文表示所述dhcp响应报文中的ip地址可用。可选的,所述dhcp应答报文为dhcprequest报文,此过程也称为dhcprequest。

步骤15:dhcp代理节点通过业务网络接收来自物理机或虚拟机的dhcprequest报文,拷贝该报文以备转发,并且不修改该报文内容,也不填充dhcprelay字段。

步骤16:dhcp代理节点将dhcprequest报文通过管理网络发送到dhcp服务节点。

步骤17:dhcp服务节点接收来自dhcp代理节点的dhcprequest报文,并通过管理网络发送dhcpack报文给所述dhcp代理节点。

具体地,dhcp租约过程中的最后一步为服务器确认ip租约,也称为dhcpack。dhcp服务节点在接收到dhcprequest后,以dhcpack(dhcpacknowledge)消息的形式反馈给物理机或虚拟机,表示成功确认,该dhcpack消息中包含ip地址的有效租约和其他可能配置的信息。当物理机或虚拟机收到dhcpack时,它就配置了ip地址,完成了tcp/ip的初始化,从而可以在tcp/ip网络上通信了。

另外,如果物理机或虚拟机接受了dhcp服务节点分配的ip地址,发送了dhcprequest报文,则分配该ip地址的dhcp服务节点会将该ip地址标记和保留,使得该ip地址不能再提供给其它dhcp客户端使用。

步骤18:dhcp代理节点通过管理网络接收来自dhcp服务节点的dhcpack报文,处理后将该dhcpack报文转移到业务网络。

步骤19:dhcp代理节点将所述dhcpack报文通过业务网络发送给客户端。

步骤20:物理机或虚拟机接收到所述dhcpack报文后,对请求的ip地址进行绑定。

流程结束。

参见图5,为本实施例提供的一种dhcp代理节点转发dhcp报文的结构示意图。

需要说明的是,本实施例中所述的dhcpdiscover广播报文、dhcpoffer报文、dhcprequest报文以及dhcpack报文均为在dhcp协议中的报文,且都具有明确的定义,具体地,dhcp协议中对各报文的作用定义如下:

dhcpdiscover报文/包:dhcp客户端(client)在需要获取ip地址时,向本地网络广播此类型的包。

dhcpoffer报文/包:dhcp服务节点(server)回复dhcp客户端发出的dhcpdiscover报文,且dhcpoffer包里包含了dhcp服务节点将要提供给客户端的一些配置参数,例如ip地址。

dhcprequest报文/包:dhcp客户端在以下情况下发送给dhcp服务器的包:

(a)客户端请求一个特定的服务节点发送的dhcpoffer中提供的配置信息,同时暗示的拒绝其他所有服务器的dhcpoffer包。

(b)客户端在某些时候确认之前分配给自己的配置信息的正确性,比如客户端的操作系统重启后,短暂的线路物理故障后。

(c)客户端延续其已经获得的明确的ip地址的租期。

dhcpack报文:dhcp服务节点回复dhcp客户端发送的dhcprequest包或者dhcpinform包,里面包含了dhcp服务节点分配给客户端的配置信息。

本申请提供的技术方案,在主机上部署dhcp代理节点,使得该dhcp代理节点可以将从业务网络上获取的dhcp广播通过管理网络转发到dhcp服务节点,以解决了因业务网络和管理网络的隔离导致的虚拟机或物理机无法实现ip地址自动配置的问题。

此外,本方法利用dhcp服务节点实现了对虚拟机请求的ip地址进行集中分配,使得云计算平台或者虚拟化平台满足当前数据中心的要求,运维管理集中的要求,进而使得网络管理节点可以统管整个数据中心,避免了在每个业务区都部署一套管理平台,节约了管理成本,进而提高了租约效率,并且通过ip地址自动化配置也使得平台管理员避免了手工操作的压力。

参见图6,为本申请dhcp代理节点的结构示意图,所述dhcp代理节点部署在服务器或者计算节点或计算设备上,用于执行图2或图4对应的dhcp报文处理方法。

如图6所示,该dhcp代理节点包括:接收模块601、处理模块602和发送模块603,此外,该dhcp代理节点还可以包括其它功能模块或部件,例如存储模块等。

其中,接收模块601,用于从业务网络接收请求,所述请求为dhcpdiscover广播报文。

处理模块602,用于将所述请求从业务网络转换到管理网络。

发送模块603,用于将所述请求以单播的形式发送给dhcp服务节点。

接收模块601,还用于在管理网络中根据所述请求从dhcp服务节点获取ip地址,所述请求用于指示为虚拟机或物理机分配ip地址。其中,所述ip地址可以通过dhcpoffer报文的方式获得。

发送模块603,用于向所述虚拟机或物理机发送所述ip地址。

可选的,在本实施例的一种具体的实现方式中,所述接收模块601,具体用于通过第一网卡接收来自虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络。

可选的,在本实施例的另一种具体的实现方式中,所述接收模块601,具体用于通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

其中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

可选的,在本实施例的一种具体的实现方式中,处理模块602,具体用于将所述dhcpoffer报文从管理网络转移到业务网络;发送模块603,具体用于通过第一网卡将dhcpoffer报文发送给虚拟机或物理机。

可选的,在本实施例的一种具体的实现方式中,接收模块601,还用于通过业务网络获取来自所述虚拟机或物理机的dhcprequest报文,所述dhcprequest报文表示dhcpoffer报文中的ip地址可用;处理模块602,还用于将所述dhcprequest报文从所述业务网络转移到所述管理网络;发送模块603,还用于通过第二网卡将所述dhcprequest报文发送给dhcp服务节点。

可选的,在本实施例的又一种具体的实现方式中,接收模块601,还用于通过所述管理网络接收来自所述dhcp服务节点的dhcpack报文;处理模块602,还用于将所述dhcpack报文从所述管理网络转移到所述业务网络;发送模块603,还用于通过第一网卡将所述dhcpack报文发送给所述虚拟机或物理机,以使所述虚拟机或物理机在获取所述dhcpack报文后绑定所述ip地址。

可选的,在本实施例的又一种具体的实现方式中,接收模块601,还用于在获取来请求报文之前,获取所述dhcp服务节点的ip地址;处理模块602,还用于根据所述ip地址与所述dhcp服务节点建立连接,并测试与所述dhcp服务节点之间的连通性。

此外,本申请实施例还提供一种网络管理节点,例如部署在openstack云计算平台中的neutron组件,该网络管理节点的结构可以与图6所示的dhcp代理节点结构相同,例如包括:接收模块、处理模块和发送模块等。

所述接收模块用于获取来自虚拟机或物理机的网络创建的请求;处理模块用于为所述虚拟机或物理机创建一个dhcp服务节点,以及为所述虚拟机或物理机确定一个dhcp代理节点,其中,所述dhcp服务节点用于提供ip地址,所述dhcp代理节点用于将所述ip地址通过管理网络发送给所述虚拟机或物理机。

可选的,所述发送模块还用于将所述dhcp服务节点对应的ip地址发送给dhcp代理节点,以使所述dhcp代理节点利用所述dhcp服务节点的ip地址与其建立通信连接。

另外,本申请实施例还提供一种dhcp服务节点,用于实现ip地址的自动分配。

可选的,该dhcp服务节点的结构可以与图6所示的dhcp代理节点结构相同,例如包括:接收模块、处理模块和发送模块等。

具体地,接收模块用于接收来自dhcp代理节点的dhcp请求;处理模块用于根据所述dhcp请求确定虚拟机或物理机的ip地址,发送模块用于将所述ip地址通过管理网络发送给dhcp代理节点。

可选的,在本实施例的又一种具体的实现方式中,所述接收模块还用于接收来自dhcp代理节点的dhcprequest报文,所述dhcprequest报文表示所述dhcp服务节点分配的ip地址可用;所述处理模块还用于生成ack报文并通过发送模块将该ack报文发送给dhcp代理节点。

需要说明的是,本申请各实施例中所述dhcp代理节点还可以称为dhcp中继代理,dhcp转发代理,dhcp中继,或dhcp转发节点等,还可以是其它代理模块,用于实现物理机上业务网络和管理网络之间的消息收发。

图7为本申请实施例提供的一种计算设备的结构示意图,该计算设备包括:网络接口701、处理器702和存储器703。处理器702执行存储器703中的代码,通过网络接口701来实现图6所示的dhcp代理节点,包括dhcp代理节点与dhcp服务器、虚拟机或物理机之间的通信传输。

进一步地,所述处理器702可以由集成电路(integratedcircuit,ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器可以仅包括cpu,也可以是gpu、数字信号处理器(digitalsignalprocessor,dsp)、及收发模块中的控制芯片(例如基带芯片)的组合。在本申请的各种实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

所述存储器703可以包括易失性存储器(volatilememory),例如随机存取内存(randomaccessmemory,ram);还可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);所述存储器还可以包括上述种类的存储器的组合。

在具体实现层面,本申请还提供了一种数据中心,所述数据中心包括至少一个计算设备或主机,每个计算设备或者主机中包括处理器和存储器,所述至少一个计算设备或者主机用于运行dhcp代理节点、dhcp服务节点和虚拟机,以实现前述实施例中所述的dhcp报文处理方法。

具体地,所述dhcp代理节点用于从业务网络接收请求,在管理网络中根据所述请求从dhcp服务节点获取ip地址,以及向虚拟机或物理机发送所述ip地址,其中所述请求用于指示为所述虚拟机或物理机分配ip地址。

可选的,在本实施例的一种具体的实现方式中,所述处理器具体用于控制所述dhcp代理节点通过第一网卡接收来自所述虚拟机的所述请求,所述第一网卡用于接入所述业务网络。

可选的,在本实施例的又一种具体的实现方式中,所述处理器具体用于控制所述dhcp代理节点通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

其中,所述第一网卡位于所述第二网卡所在的主机上,所述dhcp代理节点部署于所述第二网卡所在的主机。

具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的dhcp报文处理方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、rom或ram等。

其中,所述dhcp代理节点、dhcp服务节点、虚拟机的所有功能都可以通过计算机程序来实现。

另外,本实施例中,还提供一种计算机程序产品,该计算机程序产品包括一个或多个计算机指令,例如转发指令等。在计算机加载和执行所述计算机程序时,全部或部分地产生按照本申请上述实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。

具体地,所述计算机执行所述计算机程序时,可实现以下功能:

dhcp代理节点从业务网络接收请求,所述请求用于指示为虚拟机分配ip地址;在管理网络中根据所述请求从dhcp服务节点获取ip地址;以及向所述虚拟机或物理机发送所述ip地址。

此外,具体地实现包括,所述dhcp代理节点通过第一网卡接收来自所述虚拟机或物理机的所述请求,所述第一网卡用于接入所述业务网络;以及,所述dhcp代理节点通过第二网卡接收所述dhcp服务节点根据所述请求分配的所述ip地址,所述第二网卡用于接入所述管理网络。

所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络设备、计算机、服务器或数据中心通过有线或无线方式向另一个设备、计算机或服务器进行传输。

本申请还提供了一种终端,例如用户设备、物理机或者虚拟机,用于实现前述实施例中的dhcp请求报文的发送,以及dhcprequest报文、ack报文的发送等方法步骤。

具体地,所述终端可以包括控制节点、处理器和存储器,所述控制节点可以包括接收机、发射机与天线等部件。所述终端还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置,本申请对此不进行限定。

其中,所述控制节点,用于向广播dhcp请求报文,例如dhcpdiscover广播报文,用于向服务器请求ip地址;

所述控制节点,还用于接收来自dhcp代理节点的dhcp响应报文,所述dhcp响应报文可以是dhcpoffer报文,且该dhcpoffer报文中携带ip地址;所述处理器,用于从所述dhcp响应报文中提取ip地址,并且在确认该ip地址没有被占用的情况下通过所述控制节点发送dhcp应答报文给dhcp代理节点;其中,所述dhcp应答报文可以是dhcprequst报文。

可选的,如果该ip地址被占用,则终端需要重新向dhcp代理节点发送dhcpdiscover广播报文,以便重新请求获取新的ip地址。

可选的,在本实施例的一种具体的实现方式中,所述控制节点,还用于接收到来自dhcp代理节点发送的dhcpack,所述dhcpack是dhcp服务节点根据所述dhcprequst报文生成并发送的,用于标记该分配给客户端的ip地址不能再被其它设备使用。

所述处理器,还用于在接收到所述dhcpack报文后,对所述ip地址进行绑定。

另外,所述存储器中存储有程序指令,该程序指令执行时可实现上述客户端或终端对dhcp各自报文的发送和接收,以及对获取的ip地址进行绑定等方法流程。进一步地,所述存储器可以包括易失性存储器,例如ram;还可以包括非易失性存储器,例如flashmemory,硬盘hdd或ssd;所述存储器还可以包括上述种类的存储器的组合。

所述处理器可以是cpu,或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是asic,可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于上述装置和硬件设备的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1