一种集群节点IP地址的可视化分配方法与流程

文档序号:11138873阅读:606来源:国知局
一种集群节点IP地址的可视化分配方法与制造工艺
本发明涉及网络通信
技术领域
,尤其涉及一种集群节点IP地址的可视化分配方法。
背景技术
:在现有技术中,IP地址分配和管理技术方案如下:在大规模组网中,采用了DHCPServer+Snooping+Option82技术进行地址分配,具体来说,DHCPClient:即集群节点(本文后续统一称为集群节点或DHCPClient,与DHCPServer区分),通过DHCP协议的报文的交互过程,向DHCPServer申请地址;DHCPServer:即地址服务器,响应DHCPClient的地址请求,从未分配的地址中选择并分配给DHCPClient。DHCPSnooping:即机架交换机,位于DHCPClient与DHCPServer之间,DHCPSnooping在DHCPClient发送的DHCPDISCOVER报文中,会插入一个称为Option82的信息字段。其中的子选项(Sub-option)部分,可以由交换机进行自定义填充,目前填充内容包括:VLANID、接口名称、MAC等信息。DHCPServer收到含有上述信息的DHCP请求,将子选项值与地址池(含有多个连续的IP地址)进行匹配,进行地址的分配,如表1所示:表1在现有技术方案中,具体到地址池内的地址分配,是采用时间顺序分配方式。以三个节点的集群为例(位于同一个机架内,位置编号是1、2、3),上电顺序为(1、3、2),则地址的分配结果如表2所示:节点位置编号地址1192.168.0.12192.168.0.33192.168.0.2表2随着大数据业务的兴起,越来越多的计算业务需要在数据中心部署大规模的计算节点集群,甚至达到上万台的规模。在这样的场景下,需要选择合理的技术进行IP地址分配和管理,使之能实现如下需求:A)IP地址可视化,即可以直观的根据IP地址确定节点物理位置,包括房间、机架、机架位置、所连交换机端口号等信息,便于设备巡检、升级、维修等操作;B)自动、快捷的给所有节点分配IP地址,不需要持续的人工干预,且应当是一次分配,一劳永逸;C)IP地址长期固定,在更换网卡或整机后,该节点地址保持不变,保持可视化效果的完整性。但是,现有技术中IP地址分配和管理技术方案无法达到地址与位置的对应关系,也无法实现可控分配。技术实现要素:鉴于上述的分析,本发明旨在提供一种集群节点IP地址的可视化分配方法,用以解决现有技术中IP地址分配和管理技术方案无法达到地址与位置的对应关系,也无法实现可控分配的问题。本发明的目的主要是通过以下技术方案实现的:一种集群节点IP地址可视化分配方法,包括如下步骤:步骤1:集群节点通过机架交换机向DHCPServer发送DHCPDISCOVER报文;步骤2:机架交换机在DHCPDISCOVER报文中插入含有表示集群节点物理位置的地址的Option82信息字段,将插入Option82信息字段后的DHCPDISCOVER报文转发给DHCPServer;其中,所述物理位置包括房间号、机架号、机架内顺序;步骤3:DHCPServer根据接收到的DHCPDISCOVER报文中的Option82信息字段,进行地址的分配,向集群节点发送DHCPOFFER报文;步骤4:机架交换机收到DHCPOFFER报文后,刷新本地的记录表,将所述DHCPOFFER报文转发给集群节点。所述步骤2还包括如下子步骤:子步骤2.1:机架交换机根据自身物理位置,预配置好地址格式中表示房间号的值和表示机架号的值;子步骤2.2:机架交换机根据集群节点在机架内的上下顺序确定地址格式中表示机架内顺序的值;子步骤2.3:机架交换机在本地建立本地记录表,记录信息包括如下字段:A字段表示组织编号的值,B字段表示房间号的值,C字段表示机架号的值,D字段表示机架内顺序的值,MAC字段表示集群节点的物理地址,状态字段表示集群节点申请地址过程中所处的状态;此时将A的值设为空,状态设为Requesting;子步骤2.4:机架交换机在集群节点发送的DHCPDISCOVER报文中添加Option82信息字段,包括A、B、C、D以及MAC的值。所述交换机在建立本地记录表时,发现该表项已经存在,且A的值不为空,则交换机做进一步判断:若DHCPDISCOVER报文中的MAC信息与表项中记录的一致,则获取A的值;若DHCPDISCOVER报文中的MAC信息与表项中记录的不一致,则获取A的值,并刷新MAC。所述步骤3还包括如下子步骤:子步骤3.1:DHCPServer解析出Option82信息字段中的B、C、D三个字段的值,添加DHCPServer上预先配置好的字段A的值,组装成完整的地址:A.B.C.D;子步骤3.2:在进行地址分配之前,DHCPServer对上述B、C、D三个字段进行取值范围合理性检查;子步骤3.3:如果取值范围合理性检查通过,则DHCPServer对地址是否已分配进行检查。所述子步骤3.3进一步包括:若地址未分配,DHCPServer直接在DHCPOFFER报文中指定该地址,并在DHCPServer上记录该地址的租约信息;若地址已分配,且所记录的集群节点的MAC与DHCPDISCOVER报文一致,则DHCPServer直接在DHCPOFFER报文中指定该地址,并刷新该地址的租约信息;若地址已分配,且所记录的集群节点的MAC与DHCPDISCOVER报文不一致,则DHCPServer向已分配地址发送检测报文。所述DHCPServer向已分配地址发送检测报文进一步包括:DHCPServer向分配出去的地址发送EchoRequest或ARPRequest检测报文;若分配出去的地址有回复,结束本次分配过程;若分配出去的地址没有回复,DHCPServer在DHCPOFFER报文中指定该地址,并刷新该地址租约中的MAC信息。所述方法进一步包括以下步骤:集群节点向DHCPServer发送DHCPREQUEST报文,确认选择DHCPServer为它提供的IP地址;被选择的DHCPServer向对应的集群节点发送DHCPACK报文,将在DHCPOFFER报文中准备的IP地址租约给对应的集群节点。所述集群节点出现故障,需要更换网卡或整机更换时,直接完成更换,且网线连接在机架交换机上的同一个端口,IP地址不变。所述DHCPServer出现故障时,机架交换机检查本地表项的状态是否长期为Requesting,判断DHCPServer是否分配地址及进行回复;若DHCPServer没有进行回复,则在集群节点发送多次请求后,机架交换机检查本地记录的其他地址表项,从处于Offered状态的其他表项中,获取A字段的值,构成地址A.B.C.D。所述机架交换机代替DHCPServer,主动给集群节点分配地址及回复,并在本地记录该地址,将状态设为Temp;机架交换机持续检测DHCPServer是否恢复工作,当DHCPServer恢复工作后,机架交换机代替集群节点向DHCPServer发送DHCPDISCOVER报文,便于DHCPServer记录或刷新租约信息。本发明有益效果如下:仅需要修改DHCPSnooping和DHCPServer的实现,不需要修改DHCPClient,保证本技术方案的可行性与适配性;将仅具有网络意义的IP地址,转化成含有物理位置信息的地址格式,能够直接的提升位置定位效率;通过自动化的方式,实现固定IP地址的分配,即使在维修而导致的MAC变化时,依然能按照原有IP进行分配;只需要在机架交换机和DHCPServer服务器进行相对简单的配置,节省了配置的工作量,且后续的维护工作量可以忽略不计。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。图1为集群节点与DHCPServer的交互过程示意图;图2为机架交换机处理DHCPDISCOVER报文流程图;图3为DHCPServer分配地址流程图。具体实施方式下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。步骤1-4集群节点与DHCPServer的交互过程示意图如图1所示。步骤1、集群节点DHCPClient,通过机架交换机DHCPSnooping向地址服务器DHCPServer发送DHCPDISCOVER报文;发现阶段(DHCP客户端在网络中广播发送DHCPDISCOVER报文,发现DHCPServer,请求IP地址租约)。步骤2、机架交换机DHCPSnooping,在DHCPClient发送的DHCPDISCOVER报文中插入含有表示集群节点物理位置的地址的Option82信息字段,将插入Option82信息字段后的DHCPDISCOVER报文转发给DHCPServer;其中,所述物理位置包括房间号、机架号、机架内顺序,具体地,如图2所示,包括以下子步骤:子步骤2.1、机架交换机根据自身物理位置,预配置好地址格式(即A.B.C.D)中B、C这两个值。子步骤2.2、机架交换机根据节点在机架内的上下顺序确定地址格式(即A.B.C.D)中D的值。机架交换机各端口与机架内的节点连接顺序,与节点在机架内的上下顺序一致,由此形成对应关系,最终确定D的取值。即,针对数据中心的服务器集群部署和管理模式,建立服务器地理位置数据库,将服务器的物理位置映射到IP地址中,作为IP地址的字段;具体地,在IP地址标准书写格式(十进制点分法格式A.B.C.D)基础上,将物理位置映射到IP地址中,将其拆分成4个层次:需要说明的是:这样的结构可以根据实际规模进行融合或简化,例如在只有一个房间的情况下:同时需要指出的是:本实施例所针对的数据中心集群,基本全都是以独立的一个二层网络方式运行,部署的是私网地址,且具有足够的地址空间。本实施例以8位长度进行划分层次,在特定的情况下,可以根据实际数量选择其他的长度划分,但对应的技术效果可能有一定降低。子步骤2.3、机架交换机在本地建立本地记录表,记录信息包括AValueBValueCValueDValueMAC状态此时A的值为空,状态为Requesting。如果交换机在建立本地记录表时,发现该表项已经存在,且A的值不为空,说明该端口上已有节点申请过地址,则交换机需要进行进一步判断:如果DHCPDISCOVER报文中的MAC信息与表项中记录的一致,说明此场景为DHCPClient做地址续约,则获取A的值;如果DHCPDISCOVER报文中的MAC信息与表项中记录的不一致,说明此场景是更换节点设备(因为机架交换机与DHCPClient是直连,交换机可以根据端口状态的变化,判断是否是更换设备),则获取A的值,并刷新MAC。子步骤2.4、机架交换机在DHCPClient发送的DHCPDISCOVER报文中添加Option82信息字段,格式内容包括A、B、C、D和MAC的值,每个字段长度1个字节,此时A的值为空。步骤3、DHCPServer根据接收到的DHCPDISCOVER报文中Option82信息字段,进行地址的分配,向集群节点发送DHCPOFFER报文;具体地,如图3所示,包括以下子步骤:子步骤3.1、DHCPServer收到含有Option82信息字段的DHCP请求,解析出Option82信息字段中的B、C、D三个字段的取值,添加DHCPServer上预先配置好的字段A的值,组装成完整的地址:A.B.C.D。子步骤3.2、在进行地址分配之前,DHCPServer对上述B、C、D三个字段进行取值范围合理性检查。子步骤3.3如果取值范围合理性检查通过,则DHCPServer对地址是否已分配进行检查;如果地址未分配,则DHCPServer直接在DHCPOFFER报文中指定该地址,并在DHCPServer上记录该地址的租约信息。如果地址已经分配出去(即存在此地址的租约),且所记录的DHCPClient的MAC与DHCPDISCOVER报文一致,说明此情况为DHCPClient进行地址的续约,则DHCPServer直接在DHCPOFFER报文中指定该地址,并刷新该地址的租约信息等;如果地址已经分配出去,但是所记录的DHCPClient的MAC与DHCPDISCOVER报文不一致,说明有可能存在更换服务器的情况,因为DHCPServer与DHCPClient非直连(通过DHCPSnooping间接连接),不能直接判断结论,所以需要DHCPServer做进一步的检测。DHCPServer先向原地址发送EchoReqest或ARPRequest等检测报文:如果有回复,则说明原节点存在,此DHCPDISCOVER报文可能是错误报文,则结束本次分配过程。如果没有回复,则说明原节点可能已经替换掉了,则DHCPServer直接在DHCPOFFER报文中指定该地址,并刷新该地址租约中的MAC信息等。步骤4、DHCPSnooping收到DHCPOFFER报文后,获得地址信息中的A字段,并刷新本地的记录表,将状态设置为Offered;将所述DHCPOFFER报文消息转发给DHCPClient。步骤5、选择阶段(DHCPClient通过DHCPREQUEST报文确认选择DHCPServer为它提供的IP地址)。步骤6、确认阶段(被选择的DHCP服务器通过DHCPACK报文把在DHCPOFFER报文中准备的IP地址租约给对应的DHCPClient)。在本发明的一个优选实施例中,当某个集群节点出现故障,需要更换网卡或整机更换时,直接完成更换,且网线连接在机架交换机上的同一个端口。假设已经分配到的地址是1.2.3.4,对于机架交换机而言,由于端口不变,其在Option82中填充的地址子选项不变,交换机查询其本地记录表,可以获取A、B、C、D4个字段的值,因此地址子选项的内容仍为1.2.3.4。DHCPServer收到请求后,根据上述子选项内容,如果组织编号A的值保持不变,则为其继续分配1.2.3.4的地址,过程与上面相同。在本发明的另一个优选实施例中,在DHCPServer出现故障时,集群节点DHCPClient发送的DHCP请求将会无法及时响应,此时机架交换机DHCPSnooping进行如下处理:机架交换机DHCPSnooping检查本地表项的状态是否长期为Requesting,判断Server是否分配地址及进行回复。如果DHCPServer没有进行回复,则在DHCPClient发送多次请求后,DHCPSnooping检查本地记录的其他地址表项,从处于Offered状态的其他表项中,获取A字段的值,构成地址A.B.C.D;DHCPSnooping代替DHCPServer,主动给DHCPClient分配地址及回复,并在本地记录该地址,将状态设为Temp;DHCPSnooping持续检测DHCPServer是否恢复工作,当DHCPServer恢复工作后,DHCPSnooping代替DHCPClient发送DHCPDISCOVER报文,便于DHCPServer记录或刷新租约信息。综上所述,本发明实施例提供了一种集群节点IP地址可视化分配方法,实现了IP地址与节点物理位置的一一对应,即实现了IP地址的可视化,不需要持续的人工干预,自动、快捷的为所有节点分配IP地址,且IP地址长期固定,在更换网卡或整机后,该节点地址保持不变,保持可视化效果的完整性。由于IP地址与物理位置存在对应关系,在DHCPServer上可以将租约表进行聚合管理,展现如下信息:每个机房或机架的节点上电比例,可以从宏观上把握整个集群的运行情况;集群节点更换次数和比例,可以揭示节点故障率与物理位置所带来的温湿度、粉尘等因素的关系。本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1