本发明涉及ip配置技术领域,尤其涉及一种分配ip地址的方法、终端及服务器。
背景技术:
基板管理控制器(baseboardmanagementcontroller,bmc),是嵌入在服务器主板上的专用微控制器,支持智能平台管理接口协议(intelligentplatformmanagementinterface,ipmi)。当前的批量服务器bmcip配置方案,主要有两种:一种是由管理员一个一个地静态配置bmcip;另一种由管理员搭建动态主机配置协议(dynamichostconfigurationprotocol,dhcp)来批量配置bmcip。
然而,对于静态配置bmcip地址的方案,其效率低下,难以应付数据中心大规模bmc配置的情形;而对于dhcp动态配置bmcip地址的方案,因dhcp是从ip地址池随机分配ip给bmc的,dhcp服务端仅能看到bmcmac地址与ip的映射关系,这让管理员难以直观了解服务器与bmcip的对应关系。
技术实现要素:
本发明实施例为了解决现有bmcip配置方案存在的问题,本发明提供了一种分配ip地址的方法、终端及服务器。
根据本发明第一方面,提供了一种分配ip地址的方法,应用于dhcp服务器,所述方法包括:接收dhcpdiscover数据包,所述dhcpdiscover数据包中携带有用于唯一标识终端的终端标识;读取所述dhcpdiscover数据包中的终端标识;根据所述终端标识进行bmcip的分配;完成分配后,反馈分配的bmcip。
根据本发明一实施方式,所述方法还包括:完成分配后,记录所述终端标识和分配的bmcip的映射关系表。
根据本发明一实施方式,所述根据所述终端标识进行bmcip的分配,包括:根据配置文件确定分配方式是否为从预定义地址映射表进行分配;若经确定分配方式是从预定义地址映射表进行分配,则根据所述终端标识从预先定义的地址映射表进行bmcip的分配。
根据本发明一实施方式,所述方法还包括:若经确定分配方式不是从预定义地址映射表进行分配,则根据所述终端标识进行bmcip的随机分配。
根据本发明第二方面,还提供了一种分配ip地址的方法,应用于终端,所述终端上安装有dhcp客户端,所述方法包括:通过所述dhcp客户端读取终端标识;发送dhcpdiscover数据包,所述dhcpdiscover数据包中携带有所述终端标识,以指示根据所述终端标识进行bmcip的分配;接收分配的bmcip。
根据本发明第三方面,又提供了一种dhcp服务器,该服务器包括:接收模块,用于接收dhcpdiscover数据包,所述dhcpdiscover数据包中携带有终端标识;读取模块,用于读取所述dhcpdiscover数据包中的终端标识;ip分配模块,用于根据所述终端标识进行bmcip的分配;发送模块,用于经ip分配模块完成分配后,反馈分配的bmcip。
根据本发明一实施方式,所述服务器还包括:记录模块,用于经ip分配模块完成分配后,记录所述终端标识和分配的bmcip的映射关系表。
根据本发明一实施方式,所述ip分配模块,具体用于根据配置文件确定分配方式是否为从预定义地址映射表进行分配;若经确定分配方式是从预定义地址映射表进行分配,则根据所述终端标识从预先定义的地址映射表进行bmcip的分配。
根据本发明一实施方式,所述ip分配模块,还用于若经确定分配方式不是从预定义地址映射表进行分配,则根据所述终端标识进行bmcip的随机分配。
根据本发明第四方面,又提供了一种终端,所述终端上安装有dhcp客户端,所述终端包括:读取模块,用于通过所述dhcp客户端读取终端标识;发送模块,用于发送dhcpdiscover数据包,所述dhcpdiscover数据包中携带有所述终端标识,以指示根据所述终端标识进行bmcip的分配;接收模块,用于接收分配的bmcip。
本发明实施例分配ip地址的方法、终端及服务器,首先dhcp服务器接收由终端发送的dhcpdiscover数据包,dhcpdiscover数据包中携带有用于唯一标识终端的终端标识;接着读取dhcpdiscover数据包中的终端标识,并根据终端标识进行bmcip的分配;完成分配后,反馈分配的bmcip。如此,本发明可批量大规模地根据终端标识为终端分配bmcip。进一步地,完成分配后,dhcp服务器实时记录终端标识和分配的bmcip的映射关系表,使得管理员可以一目了然地获取并查看bmcip的分配情况。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例分配ip地址的系统交互示意图;
图2示出了本发明实施例分配ip地址的方法的实现流程示意图一;
图3示出了本发明一应用实例分配ip地址的方法的实现流程示意图;
图4示出了本发明实施例dhcpdiscover数据包的格式示意图;
图5示出了本发明又一应用实例分配ip地址的系统架构图;
图6示出了图5所示又一应用实例服务器特定属性和分配的bmcip的映射关系表;
图7示出了本发明实施例分配ip地址的方法的实现流程示意图二;
图8示出了本发明实施例dhcp服务器的组成结构示意图;
图9示出了本发明实施例终端的组成结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明实施例分配ip地址的系统交互示意图。
参考图1,本发明实施例分配ip地址的系统包括dhcp服务器(dhcpserver)和dhcp客户端(dhcpclient);其中,首先在dhcp客户端从uefi读取终端标识之后,发送带终端标识的dhcpdiscover数据包至dhcp服务器;接着,dhcp服务器读取dhcpdiscover数据包中的终端标识,并根据终端标识进行bmcip的分配,这里dhcp服务器会根据配置文件中的开关决定从预先定义的地址映射表来分配bmcip,还是随机分配;完成分配后,dhcp服务器向dhcp客户端反馈分配的bmcip。另外,在完成分配后,dhcp服务器还会实时记录终端标识与bmcip的映射关系表。
其中,终端标识属于一种用于唯一标识终端的标识信息。举例来说,终端标识可以是服务器为批量终端预定义的服务器特定属性,如预定义的位置信息。比如主机a、主机b及主机c分别对应服务器特定属性1机柜19u、2机柜7u及2机柜21u。终端标识还可以是终端自身的物理特性,如机型、出厂时的产品编号等。
图2示出了本发明实施例分配ip地址的方法的实现流程示意图一;图3示出了本发明一应用实例分配ip地址的方法的实现流程示意图;图4示出了本发明实施例dhcpdiscover数据包的格式示意图;图5示出了本发明又一应用实例分配ip地址的系统架构图;图6示出了图5所示又一应用实例服务器特定属性和分配的bmcip的映射关系表。
参考图2,本发明实施例dhcp服务器分配ip地址的方法包括:操作101,接收dhcpdiscover数据包;操作102,读取dhcpdiscover数据包中的终端标识;操作103,根据终端标识进行bmcip的分配;操作104,完成分配后,反馈分配的bmcip。
在操作101,dhcpdiscover数据包中携带有用于唯一标识终端的终端标识。参考图3,在终端通过dhcp客户端从uefi读取终端标识之后,发送带终端标识的dhcpdiscover数据包至dhcp服务器,使得终端服务器接收到携带有用于唯一标识终端的终端标识的dhcpdiscover数据包。
其中,终端标识属于一种用于唯一标识终端的标识信息。举例来说,终端标识可以是服务器为批量终端预定义的服务器特定属性,如预定义的位置信息。比如主机a、主机b及主机c分别对应服务器特定属性1机柜19u、2机柜7u及2机柜21u。终端标识还可以是终端自身的物理特性,如机型、出厂时的产品编号等。
这里,携带有用于唯一标识终端的终端标识的dhcpdiscover数据包的格式如图4所示。其中,op:报文的操作类型。请求报文值为1,响应报文值为2;htype:网络硬件类型。值为1时表示以太网mac地址类型;hlen:硬件地址长度。以太网mac地址长度为6个字节,即hlen值为6;hops:跳数,dhcp报文经过的中继数量,每经过一个路由器,该字段就会增加1,如果没有经过路由器,则值为0(同一网内);xid:事务id。客户端发起一次请求时选择的随机数,用来标识一次地址请求过程;secs:dhcp客户端从获取到ip地址或者续约过程开始到现在所过去的时间,以秒为单位。在没有获得ip地址前,该字段始终为0;flags:bootp标志位,用来标识dhcp服务器应答报文是采用单播还是广播发送。其中,ciaddr:dhcp客户端的ip地址,仅在dhcp服务器发送的ack报文中显示,在其他报文中均显示为0;yiaddr:dhcp服务器分配给客户端的ip地址,仅在dhcp服务器发送的offer和ack报文中显示,其他报文中显示为0;siaddr:为dhcp客户端分配ip地址等信息的其他dhcp服务器ip地址,仅在dhcpoffer、dhcpack报文中显示,其他报文中显示为0;giaddr:转发代理(网关)ip地址,dhcp客户端发出请求报文后经过的第一个dhcp中继的ip地址,如果没有经过dhcp中继,则显示为0;chaddr:dhcp客户端的mac地址,在每个报文中都会显示对应dhcp客户端的mac地址;sname:为客户端分配ip地址的服务器名称,只在dhcpoffer和dhcpack报文中显示发送报文的dhcp服务器名称,其他报文显示为0;file:dhcp服务器为dhcp客户端指定的启动配置文件名称及路径信息,仅在dhcpoffer报文中显示,其他报文中显示为空;options:可选选项,格式为“代码+长度+数据”。
在操作102~103,dhcp服务器读取dhcpdiscover数据包中的终端标识,并根据终端标识进行bmcip的分配。
具体地,在操作103,参考图3具体包括:根据配置文件确定分配方式是否为从预定义地址映射表进行分配;若经确定分配方式是从预定义地址映射表进行分配,则根据终端标识从预先定义的地址映射表进行bmcip的分配;若经确定分配方式不是从预定义地址映射表进行分配,则根据终端标识进行bmcip的随机分配。其中,预先定义的地址映射表中至少包括有各终端标识对应的可选bmcip的相关信息。
在操作104,dhcp服务器完成分配后,向终端反馈分配的bmcip。
在一可实施方式中,如图3所示,本发明实施例所述方法还包括:操作105,完成分配后,记录所述终端标识和分配的bmcip的映射关系表。
在一应用实例中,参考图5和图6,主机a、主机b及主机c三终端通过dhcp服务器来分配bmcip。其中,作为主机a、主机b及主机c的终端标识的服务器特定属性(即预先定义的位置信息)分别为1机柜19u、2机柜7u及2机柜21u。dhcp服务器根据1机柜19u、2机柜7u及2机柜21u分别为三终端分配bmcip有192.168.10.2、192.168.10.3及192.168.10.4,并记录有如图6所示的服务器特定属性与bmcip的映射关系表。
本发明实施例分配ip地址的方法,首先由dhcp服务器接收由终端发送的dhcpdiscover数据包,dhcpdiscover数据包中携带有用于唯一标识终端的终端标识;接着读取dhcpdiscover数据包中的终端标识,并根据终端标识进行bmcip的分配;完成分配后,反馈分配的bmcip。如此,本发明可批量大规模地根据终端标识为终端分配bmcip。进一步地,完成分配后,dhcp服务器实时记录终端标识和分配的bmcip的映射关系表,使得管理员可以一目了然地获取并查看bmcip的分配情况。
图7示出了本发明实施例分配ip地址的方法的实现流程示意图二。
参考图7,本发明实施例终端分配ip地址的方法包括:操作201,通过dhcp客户端读取终端标识;操作202,发送dhcpdiscover数据包,所述dhcpdiscover数据包中携带有所述终端标识,以指示根据所述终端标识进行bmcip的分配;操作203,接收分配的bmcip。
在操作201~202,参考图3,终端通过dhcp客户端从uefi读取终端标识之后,发送带终端标识的dhcpdiscover数据包至dhcp服务器,使得终端服务器接收到携带有用于唯一标识终端的终端标识的dhcpdiscover数据包。
其中,终端标识属于一种用于唯一标识终端的标识信息。举例来说,终端标识可以是服务器为批量终端预定义的服务器特定属性,如预定义的位置信息。比如主机a、主机b及主机c分别对应服务器特定属性1机柜19u、2机柜7u及2机柜21u。终端标识还可以是终端自身的物理特性,如机型、出厂时的产品编号等。
在操作203,终端接收由dhcp服务器在完成bmcip分配后反馈的bmcip。
这样,本发明通过终端的dhcp客户端从uefi读取终端标识之后,发送带终端标识的dhcpdiscover数据包至dhcp服务器,使得dhcp服务器可批量大规模地根据终端标识为终端分配bmcip。
进一步地,基于如上文图2所示的分配ip地址的方法,本发明实施例还提供一种dhcp服务器,如图8所示,该dhcp服务器80包括:接收模块801,用于接收dhcpdiscover数据包,dhcpdiscover数据包中携带有终端标识;读取模块802,用于读取dhcpdiscover数据包中的终端标识;ip分配模块803,用于根据终端标识进行bmcip的分配;发送模块804,用于经ip分配模块完成分配后,反馈分配的bmcip。
根据本发明一实施方式,如图8所示,服务器80还包括:记录模块805,用于经ip分配模块完成分配后,记录所述终端标识和分配的bmcip的映射关系表。
根据本发明一实施方式,ip分配模块803,具体用于根据配置文件确定分配方式是否为从预定义地址映射表进行分配;若经确定分配方式是从预定义地址映射表进行分配,则根据所述终端标识从预先定义的地址映射表进行bmcip的分配。
根据本发明一实施方式,ip分配模块803,还用于若经确定分配方式不是从预定义地址映射表进行分配,则根据所述终端标识进行bmcip的随机分配。
这里需要指出的是:以上对dhcp服务器实施例的描述,与前述图2至6所示的方法实施例的描述是类似的,具有同前述图2至6所示的方法实施例相似的有益效果,因此不做赘述。对于本发明dhcp服务器实施例中未披露的技术细节,请参照本发明前述图2至6所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
同理,基于如上文图7所示的分配ip地址的方法,本发明实施例还提供一种终端,如图9所示,终端上安装有dhcp客户端,该终端90包括:读取模块901,用于通过dhcp客户端读取终端标识;发送模块902,用于发送dhcpdiscover数据包,dhcpdiscover数据包中携带有所述终端标识,以指示根据终端标识进行bmcip的分配;接收模块903,用于接收分配的bmcip。
这里需要指出的是:以上对终端实施例的描述,与前述图7所示的方法实施例的描述是类似的,具有同前述图7所示的方法实施例相似的有益效果,因此不做赘述。对于本发明终端实施例中未披露的技术细节,请参照本发明前述图6所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。