CN115499414A - 地址分配方法及装置 - Google Patents
地址分配方法及装置 Download PDFInfo
- Publication number
- CN115499414A CN115499414A CN202210972334.XA CN202210972334A CN115499414A CN 115499414 A CN115499414 A CN 115499414A CN 202210972334 A CN202210972334 A CN 202210972334A CN 115499414 A CN115499414 A CN 115499414A
- Authority
- CN
- China
- Prior art keywords
- network segment
- address
- sub
- dhcp
- network
- 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.)
- Pending
Links
Images
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种地址分配方法及装置,该方法包括:当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在第一子网段;若未存在,则判断是否能够从第一网段内划分出第一子网段;若是,则创建第一子网段,并获取第一地址;当确定第一DHCP客户端使用第一地址上线后,向从设备发送第一同步报文,第一同步报文包括第一子网段的网段信息以及第一DHCP客户端的第一表项,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从第一子网段内剔除第一地址,并生成第一表项;若未存在,则根据第一子网段的网段信息,从第二网段内创建第一子网段,从第一子网段内剔除第一地址,并生成第一表项。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种地址分配方法及装置。
背景技术
分布式弹性网络互联(英文:Distributed Resilient Network Interconnect,简称:DRNI)是一种跨设备链路聚合技术,其将多台物理设备在聚合层面上虚拟为一台网络设备,实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。
如图1所示,图1为DRNI网络模型示意图。在图1中,网络设备(Device A)与网络设备B互为邻居,网络设备A为主设备,网络设备B为从设备。主从设备形成负载分担,共同对主机发送的业务流量转发。当其中一台网络设备故障时,业务流量可快速由另一台网络设备转发,保证业务流量的正常运行。
动态主机配置协议(英文:Dynamic Host Configuration Protocol,简称:DHCP)采用客户端(Client)/服务器(Server)模式,由服务器为网络设备动态地分配IP地址、默认网关等网络配置参数。
如图2所示,图2为DHCP基本组网示意图。在图2中,当DHCP客户端与多个DHCP服务器处于相同物理网段时,DHCP客户端对外广播发送DHCP发现(Discover)报文。每个DHCP服务器接收到DHCP Discover报文后,根据接收DHCP Discover报文的接口的地址查找相同网段的地址池,并从地址池中选择一个地址分配给该DHCP客户端。每个DHCP服务器向客户端发送DHCP提供(Offer)报文,该DHCP Offer报文包括该DHCP服务器为DHCP客户端分配的地址、默认网关地址、DNS服务器地址等信息。
DHCP客户端可能收到多个DHCP Offer报文后,并对最先接收到的第一DHCP Offer报文进行处理,该第一DHCP Offer报文包括一个DHCP服务器的地址。DHCP客户端广播发送DHCP请求(Request)报文,该DHCP Request报文包括DHCP客户端选择的该DHCP服务端地址。被选择的该DHCP服务端向DHCP客户端发送DHCP确认(Ack)报文,该DHCP Ack报文包括DHCP服务端分配的地址的租期。至此,DHCP客户端与DHCP服务端之间的交互过程完成。
DHCP客户端接收到DHCP ACK报文后,检查该DHCP服务端分配的地址是否能够使用。若可以使用,则DHCP客户端成功获取地址并根据地址的租期自动启动续延过程;若不可以使用,则DHCP客户端向该DHCP服务端发送DHCP拒绝(Decline)报文,以通知DHCP服务端禁用该地址。DHCP客户端再次启动新的地址申请过程。
由于DHCP是被广泛使用的地址分配、管理技术,而DRNI的使用范围也越来越广,因此,如何在DRNI环境下支持DHCP是当前需要解决的问题。
目前,在DRNI环境下支持DHCP可通过下述方式实现:
在主从设备内同时配置DHCP服务端,但两台网络设备内地址池的可分配地址段不重叠。例如,网络设备A与网络设备B内均配置地址池test_pool,该地址池的网段是20.0.0.0/24。但,网络设备A能够分配的地址段为20.0.0.1-20.0.0.125,网络设备B能够分配的地址段是20.0.0.126-20.0.0.254。
每个网络设备接收到DHCP客户端发送的DHCP Discover报文后,可使用自身配置的地址段独立为DHCP客户端分配地址,并在分配地址后,将本地生成的客户端表项同步至对端,保证DHCP客户端可在任一台网络设备上完成续约、下线等操作。
但是,在上述实现方式中,主从设备为未实现地址的集中管理、分配。例如,网络设备A内地址段使用完后,即使网络设备B内的地址段中仍存在可用的地址,DHCP客户端也无法从网络设备A处上线成功。
发明内容
有鉴于此,本申请提供了一种地址分配方法及装置,用以解决现有DRNI环境下支持DHCP的实现方式中,主从设备无法实现对地址的集中管理、分配,导致DHCP客户端无法在DRNI环境下任一网络设备处上线的问题。
第一方面,本申请提供了一种地址分配方法,所述方法应用于主设备,所述主设备处于DRNI组网内,所述DRNI组网还包括从设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述方法包括:
当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段;
若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段;
若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址;
向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括所述第一地址;
当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
第二方面,本申请提供了一种地址分配方法,所述方法应用于从设备,所述从设备处于DRNI组网内,所述DRNI组网还包括主设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述方法包括:
接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址;
根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段;
若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
第三方面,本申请提供了一种地址分配装置,所述装置应用于主设备,所述主设备处于DRNI组网内,所述DRNI组网还包括从设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
第一判断单元,用于当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段;
第二判断单元,用于若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段;
获取单元,用于若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址;
发送单元,用于向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCPOffer报文包括所述第一地址;
所述发送单元还用于,当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
第四方面,本申请提供了一种地址分配装置,所述装置应用于从设备,所述从设备处于DRNI组网内,所述DRNI组网还包括主设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
接收单元,用于接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址;
第一判断单元,用于根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段;
剔除单元,用于若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
创建单元,用于若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
第五方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
第六方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第二方面所提供的方法。
因此,通过应用本申请提供的地址分配方法及装置,当主设备接收到第一DHCP客户端发送的第一DHCP Discover报文时,主设备判断本地是否存在可用于分配地址的第一子网段;若未存在,则主设备判断是否能够从第一网段内划分出第一子网段;若是,则主设备创建第一子网段,并从第一子网段内获取第一地址;主设备向第一DHCP客户端发送第一DHCP Offer报文,该第一DHCP Offer报文包括第一地址;当主设备确定第一DHCP客户端使用第一地址上线后,主设备向从设备发送第一同步报文,该第一同步报文包括第一子网段的网段信息以及第一DHCP客户端的第一表项,该第一表项包括第一地址,以使得从设备判断本地是否存在第一地址归属的第一子网段,若存在,则从设备从第一子网段内剔除第一地址,并生成第一表项;若未存在,则从设备根据第一子网段的网段信息,从第二网段内创建第一子网段,从第一子网段内剔除第一地址,并生成第一表项;其中,第一地址池与第二地址池相同,第一网段与第二网段相同。
如此,主从设备共享相同的总网段,从设备上的子网段由主设备分配,但每个设备独享本地的子网段并为在自身上线的DHCP客户端分配地址,既实现了地址的集中管理,又避免了多设备同时分配地址时的冲突。解决了现有DRNI环境下支持DHCP的实现方式中,主从设备无法实现对地址的集中管理、分配,导致DHCP客户端无法在DRNI环境下任一网络设备处上线的问题。实现了降低网络设备的性能压力,提高DHCP客户端的上线速率。
附图说明
图1为DRNI网络模型示意图;
图2为DHCP基本组网示意图;
图3为本申请实施例提供的一种地址分配方法的流程图;
图4为本申请实施例提供的另一种地址分配方法的流程图;
图5为本申请实施例提供的一种地址分配装置结构图;
图6为本申请实施例提供的另一种地址分配装置结构图;
图7为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的一种地址分配方法进行详细地说明。参见图3,图3为本申请实施例提供的一种地址分配方法的流程图。该方法应用于主设备。本申请实施例提供的地址分配方法可包括如下所示步骤。
步骤310、当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段。
具体地,如图1所示,DRNI组网内包括主设备、从设备,主从设备与同一个交换设备连接,并通过该交换设备接收主机发送的报文,或者,主从设备通过该交换设备向主机发送报文。主从设备之间已建立IPL链路。主从设备形成负载分担,共同对主机发送的业务流量转发。当其中一台网络设备故障时,业务流量可快速由另一台网络设备转发,保证业务流量的正常运行。
在本申请实施例中,主从设备内均已配置相同的地址池,每个地址池可分配的地址段完全相同。主从设备内已配置DHCP服务端功能,均可独立接收DHCP客户端发送的DHCP报文,并为DHCP客户端分配地址。
进一步地,主设备内配置第一地址池,第一地址池具有对应的第一网段,从设备内配置第二地址池,第二地址池具有对应的第二网段。其中,第一地址池与第二地址池相同,第一网段与第二网段相同。例如,第一网段、第二网段均为20.0.0.0/16。
当主设备接收到第一DHCP客户端发送的第一DHCP Discover报文时,主设备判断本地是否存在可用于分配地址的第一子网段。若本地未存在第一子网段,则主设备执行步骤320。
在本申请实施例中,第一网段可被划分为多个子网段,例如,20.0.1.0/24、20.0.2.0/24、20.0.3.0/24等等。作为一种实现方式,主设备内当前可用于分配地址的第一子网段未存在,也即是,当前已存在的子网段内,未存在剩余地址,即未分配地址数量为0,剩余的网段还未被划分;或者,第一网段未被划分。
步骤320、若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段。
具体地,根据步骤310的判断,若未存在第一子网段,则主设备继续判断是否能够从第一网段内划分出第一子网段。若第一网段内能够划分出第一子网段,则主设备执行步骤330;若第一网段内未能够划分出第一子网段,则主设备生成并向第一DHCP客户端发送第一通知报文,以提示第一DHCP客户端分配地址失败。
其中,第一网段内未能够划分出第一子网段,也即是,第一网段内已无剩余网段进行划分。
步骤330、若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址。
具体地,根据步骤330的判断,若第一网段内能够划分出第一子网段,则主设备创建一个子网段,即第一子网段,并从第一子网段内获取第一地址。该第一地地址。
需要说明的是,尽管主设备从可用子网段中为DHCP客户端分配地址,但为客户端分配的掩码还是第一网段的掩码(即,前面的例子中为16),而不是子网段的掩码(即,前面的例子中为24)。
主设备可参考现有为DHCP客户端分配地址的过程,从第一子网段内获取第一地址,在此不再复述。
步骤340、向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括所述第一地址。
具体地,根据步骤330的描述,主设备为第一DHCP客户端分配地址后,其依照现有DHCP规定,生成第一DHCP Offer报文,该第一DHCP Offer报文包括yiaddr字段以及siaddr字段。yiaddr字段承载第一地址,siaddr字段承载主设备地址。
主设备向第一DHCP客户端发送第一DHCP Offer报文。第一DHCP客户端接收到第一DHCP Offer报文后,从中获取第一地址以及主设备地址,确定主设备为自身分配第一地址。
可以理解的是,按照现有DHCP规定,主设备为第一DHCP客户端分配第一地址后,还将已分配的第一地址与第一DHCP客户端对应记录。
步骤350、当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项。
具体地,根据步骤340的描述,第一DHCP客户端接收到第一DHCP Offer报文后,依照现有DHCP规定,选择DHCP服务端发送的地址、广播发送DHCP Request报文、验证地址是否可用等过程。同时,作为DHCP服务端的主设备,也继续与第一DHCP客户端进行DHCP交互。
待第一DHCP客户端成功将第一地址作为自身的地址时,主设备生成第一DHCP客户端的第一表项。该第一表项包括第一DHCP客户端标识、第一地址,第一地址的租约信息等内容。
主设备生成并通过IPL链路,向从设备发送第一同步报文。该第一同步报文包括第一子网段的网段信息以及第一表项。
从设备接收到第一同步报文后,从中获取第一子网段的网段信息以及第一表项。从设备判断本地是否存在对应的第一子网段。
可以理解的是,若第一DHCP客户端为第一子网段内上线的首个客户端,则主设备向从设备同步网段信息以及DHCP客户端表项时,从设备内未存在对应的第一子网段。此时,从设备根据第一子网段的网段信息,从第二网段内创建第一子网段,并从第一子网段内剔除第一地址。从设备也在本地生成第一表项。如此,主从设备实现DHCP客户端表项的同步。
若第一DHCP客户端为第一子网段内上线的非首个客户端,则主设备向从设备同步网段信息以及DHCP客户端表项时,从设备内应存在对应的第一子网段。此时,从设备从第一子网段内剔除第一地址。从设备也在本地生成第一表项。如此,主从设备实现DHCP客户端表项的同步。
上述从设备从第一子网段内剔除第一地址,也即是,从设备将第一地址记录为已分配地址,并将第一地址与第一DHCP客户端对应记录。
因此,通过应用本申请提供的地址分配方法,当主设备接收到第一DHCP客户端发送的第一DHCP Discover报文时,主设备判断本地是否存在可用于分配地址的第一子网段;若未存在,则主设备判断是否能够从第一网段内划分出第一子网段;若是,则主设备创建第一子网段,并从第一子网段内获取第一地址;主设备向第一DHCP客户端发送第一DHCPOffer报文,该第一DHCP Offer报文包括第一地址;当主设备确定第一DHCP客户端使用第一地址上线后,主设备向从设备发送第一同步报文,该第一同步报文包括第一子网段的网段信息以及第一DHCP客户端的第一表项,该第一表项包括第一地址,以使得从设备判断本地是否存在第一地址归属的第一子网段,若存在,则从设备从第一子网段内剔除第一地址,并生成第一表项;若未存在,则从设备根据第一子网段的网段信息,从第二网段内创建第一子网段,从第一子网段内剔除第一地址,并生成第一表项;其中,第一地址池与第二地址池相同,第一网段与第二网段相同。
如此,主从设备共享相同的总网段,从设备上的子网段由主设备分配,但每个设备独享本地的子网段并为在自身上线的DHCP客户端分配地址,既实现了地址的集中管理,又避免了多设备同时分配地址时的冲突。解决了现有DRNI环境下支持DHCP的实现方式中,主从设备无法实现对地址的集中管理、分配,导致DHCP客户端无法在DRNI环境下任一网络设备处上线的问题。实现了降低网络设备的性能压力,提高DHCP客户端的上线速率。
可选地,在本申请实施例中还包括:主设备本地存在第一子网段后,主设备为第一DHCP客户端分配地址的过程。
具体地,若本地存在第一子网段,则主设备从第一子网段内获取第一地址。该第一地址即为主设备为第一DHCP客户端分配的地址。
可以理解的是,主设备为第一DHCP客户端分配地址后,可重复执行步骤340-步骤350,在此不再复述。
在本申请实施例中,由于第一网段可被划分为多个子网段,作为一种实现方式,主设备内当前可用于分配地址的第一子网段通常为一个,也就是说,当前能够提供未分配地址的子网段为一个。
当然,在另一种实现方式中,主设备内用于分配地址的子网段也可存在多个,也就是说,当前能够提供未分配地址的子网段为多个。若本地存在多个子网段,则主设备可通过接收DHCP Discover报文的接口的接口地址,确定该接口地址归属的子网段,并在该子网段内获取地址。
本申请实施例以当前能够提供未分配地址的子网段数量为一个进行后续说明,子网段数量为多个的情况相同。
可选地,在本申请实施例中还包括:从设备无法为第二DHCP客户端分配地址,并向主设备申请子网段的过程。
具体地,当从设备接收到第二DHCP客户端发送的第二DHCP Discover报文时,从设备判断本地是否存在可用于分配地址的子网段,例如,第二子网段(为了与前述实施例中的子网段进行区分,在此称之为第二子网段)。
若存在第二子网段,则从设备从第二子网段内获取第一地址。该第二地址即为从设备为第二DHCP客户端分配的地址。
可以理解的是,从设备为第二DHCP客户端分配地址后,可重复执行前述主设备执行步骤340-步骤350相同的过程,在此不再复述。
若未存在第二子网段,则从设备通过IPL链路,向主设备发送第二DHCP Discover报文。
可以理解的是,从设备内当前可用于分配地址的第二子网段未存在,也即是,当前已存在的子网段内,未存在剩余地址,即未分配地址数量为0,剩余的网段还未被划分;或者,第二网段未被划分。
主设备接收到第二DHCP Discover报文后,判断是否能够从第一网段中划分出第二子网段。若第一网段内能够划分出第二子网络,则主设备创建第二子网段,并从第二子网段内获取第二地址,该第二地址为主设备为第二DHCP客户端分配的地址。其中,第二子网段不与主设备内已创建的其他子网段重叠,以避免地址冲突。
若第一网段内未能够划分出第二子网段,则主设备生成并向从设备发送DHCP NAK报文,以提示从设备为第二DHCP客户端分配地址失败。从设备生成并向第二DHCP客户端发送第二通知报文,以提示第二DHCP客户端分配地址失败。
其中,第一网段内未能够划分出第二子网段,也即是,第一网段内已无剩余网段进行划分。
主设备为第二DHCP客户端分配地址后,生成第二DHCP Offer报文,该第二DHCPOffer报文包括yiaddr字段以及siaddr字段。yiaddr字段承载第二地址,siaddr字段承载主设备地址。
主设备向从设备发送第二DHCP Offer报文。从设备接收到第二DHCP Offer报文后,从中获取第二地址。根据第二地址,从设备在第二网段内创建第二子网段。从设备将第二DHCP Offer报文包括的siaddr字段承载的主设备地址更新为从设备地址,并向第二DHCP客户端发送第二DHCP Offer报文。第二DHCP客户端接收到第二DHCP Offer报文后,从中获取第二地址以及从设备地址,确定从设备为自身分配第二地址。
可以理解的是,按照现有DHCP规定,从设备还将已分配的第二地址与第二DHCP客户端对应记录。同时,待第二DHCP客户端成功将第二地址作为自身的地址时,从设备也生成第二客户端的第二表项,该第二表项包括第二DHCP客户端标识、第二地址,第二地址的租约信息等内容。
从设备生成并通过IPL链路,向主设备发送第二同步报文。第二同步报文包括第二子网段的网段信息以及第二表项。
主设备接收到第二同步报文后,从中获取第二子网段的网段信息以及第二表项。根据第二子网段的网段信息以及第二地址,主设备从第二子网段内剔除第二地址。主设备也在本地生成第二表项。如此,主从设备实现DHCP客户端表项的同步。
上述主设备从第二子网段内剔除第二地址,也即是,主设备将第二地址记录为已分配地址,并将第二地址与第二DHCP客户端对应记录。
可选地,在本申请实施例中还包括:主从设备回收已分配地址,并同步至对端的过程。
具体地,依据现有DHCP规定,DHCP客户端在成功获取地址后,可随时通过发送DHCPRelease报文释放自身的地址。DHCP服务端接收到DHCP Release报文后,将回收相应的地址并重新分配。
主设备接收到第三DHCP客户端发送的DHCP Release报文后,回收已为第三DHCP客户端分配的第三地址。同时,主设备删除本地记录的第三地址与第三DHCP客户端对应关系,以及第三DHCP客户端的相关表项。
主设备生成并通过IPL链路,向从设备发送第三同步报文,该第三同步报文包括第三地址以及第三子网段的网段信息。
从设备接收到第三同步报文后,从中获取第三地址以及第三子网段的网段信息。从设备从第三子网段内回收第三地址。同时,从设备删除本地记录的第三地址与第三DHCP客户端对应关系,以及第三DHCP客户端的相关表项。从设备还判断第三子网段内包括的全部地址是否均已回收,若是,则从设备删除第三子网段。
同理,主设备也判断第三子网段内包括的全部地址是否均已回收,若是,则主设备删除第三子网段,该第三子网段后续可再被重复划分。
进一步地,若第四DHCP客户端在从设备处上线,则第四DHCP客户端释放自身的第四地址时,其可通过IPL链路向从设备发送DHCP Release报文。
从设备接收到DHCP Release报文后,也执行前述主设备回收地址、删除本地记录、发送同步报文、删除子网段的全部过程;同理,主设备也执行前述从设备回收地址、删除本地记录以及删除子网段的全部过程,在此仅简单说明。
主设备接收从设备发送的第四同步报文,该第四同步报文包括第四地址以及所述第四地址归属的第四子网段的网段信息。根据第四子网段的网段信息以及第四地址,主设备从第四子网段内回收第四地址。主设备判断第四子网段内包括的全部地址是否均已回收;若是,则主设备删除第四子网段,该第四子网段后续可再被重复划分。
可选地,在本申请实施例中还包括:主从设备倒换后,新主设备向新从设备同步信息的过程。
具体地,若主设备故障,则主设备进行重启,并在重启后主从设备进行角色倒换,主设备降级为新从设备,从设备升级为新主设备。
新主设备将为对端状态的本地子网段的网段状态更新为本端状态,而为本端状态的子网段的网段状态保持不变。新主设备生成并通过IPL链路,向新从设备发送第五同步报文,该第五同步报文包括新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项,第三表项包括每个DHCP客户端的第五地址。
新从设备接收到第五同步报文后,从中获取新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项。根据全部子网段的网段信息,新从设备在第一网段内创建对应的子网段。
根据第五地址,新从设备从对应的子网段内剔除第五地址;同时,新从设备还生成第三表项。
可以理解的是,在前述实施例中,已详细说明设备从子网段内剔除地址、生成DHCP客户端表项的过程,在此不再复述。
可选地,在本申请实施例中还包括:主设备在本地网段内创建子网段后,记录创建的子网段的网段状态的过程。
具体地,主设备创建第一子网段之后,主设备记录第一子网段的网段状态为本端状态,也即是在主设备在本地第一网段内创建的第一子网段,该第一子网段内的地址仅可由主设备进行分配。同时,从设备内也创建第一子网段,并记录第一子网段的网段状态为对端状态,该第一子网段内的地址从设备不可进行分配。
主设备创建第二子网段之后,主设备记录第二子网段的网段状态为对端状态,也即是主设备在第一网段内为从设备创建的第二子网段,该第二子网段内的地址仅可由从设备进行分配,主设备不可进行分配。
新从设备,即原主设备创建第五子网段,主从设备倒换之后,新从设备记录第五子网段的网段状态为对端状态,也即是,该第五子网段内的地址仅可由新主设备,即原从设备进行分配,新从设备不可进行分配。
例如,主设备故障前,主设备内已存在的子网段包括第一子网段20.0.2.0/24(本端状态)、第二子网段20.0.4.0/24(对端状态),备设备内已存在的子网段包括第一子网段20.0.2.0/24(对端状态)、第二子网段20.0.4.0/24(本端状态)。
主设备重启后,从设备升级为新主设备,主设备降级为新从设备。新主设备将为对端状态的本地子网段的网段状态更新为本端状态,而为本端状态的子网段的网段状态保持不变。
新主设备生成并通过IPL链路,向新从设备发送第五同步报文。如此,主从设备倒换后,新主设备内包括第一子网段20.0.2.0/24(本端状态)、第二子网段20.0.4.0/24(本端状态);新从设备内包括第一子网段20.0.2.0/24(对端状态)、第二子网段20.0.4.0/24(对端状态)。
需要说明的是,在前述实施例中,上述同步报文可采用下述报文实现,一种为借用DHCP协议报文实现,另一种为各厂商自行定义的私网报文实现。
下面对本申请实施例提供的另一种地址分配方法进行详细地说明。参见图4,图4为本申请实施例提供的另一种地址分配方法的流程图。该方法应用于从设备。本申请实施例提供的地址分配方法可包括如下所示步骤。
步骤410、接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址。
具体地,主从设备内均已配置相同的地址池,每个地址池可分配的地址段完全相同。主从设备内已配置DHFP服务端功能,均可独立接收DHCP客户端发送的DHCP报文,并为DHCP客户端分配地址。
进一步地,主设备内配置第一地址池,第一地址池具有对应的第一网段,从设备内配置第二地址池,第二地址池具有对应的第二网段。其中,第一地址池与第二地址池相同,第一网段与第二网段相同。例如,第一网段、第二网段均为20.0.0.0/16。
根据前述实施例可知,主设备为第一DHCP客户端分配地址,待第一DHCP客户端成功将第一地址作为自身的地址时,主设备生成第一DHCP客户端的第一表项。主设备生成并通过IPL链路,向从设备发送第一同步报文。该第一同步报文包括第一子网段的网段信息以及第一表项。
从设备接收到第一同步报文后,从中获取第一子网段的网段信息以及第一表项。
步骤420、根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段。
具体地,根据步骤410的描述,从设备获取到第一子网段的网段信息后,判断本地是否存在对应的第一子网段。
若本地存在第一子网段,则从设备执行步骤430;若本地未存在第一子网段,则从设备执行步骤440。
步骤430、若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项。
具体地,根据步骤420的判断,从设备本地存在第一子网段,从设备从第一子网段内剔除第一地址。从设备也在本地生成第一表项。如此,主从设备实现DHCP客户端表项的同步。
步骤440、若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项。
具体地,根据步骤420的判断,从设备本地未存在第一子网段,从设备根据第一子网段的网段信息,从第二网段内创建第一子网段,并从第一子网段内剔除第一地址。从设备也在本地生成第一表项。如此,主从设备实现DHCP客户端表项的同步。
因此,通过应用本申请提供的地址分配方法,从设备接收主设备发送的第一同步报文,该第一同步报文包括主设备在第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,该第一表项包括第一DHCP客户端的第一地址;根据第一子网段的网段信息,从设备判断本地是否存在对应的第一子网段;若存在,则从设备从第一子网段内剔除第一地址,并生成第一表项;若未存在,则从设备从第二网段内创建第一子网段,从第一子网段内剔除第一地址,并生成第一表项。
如此,主从设备共享相同的总网段,从设备上的子网段由主设备分配,但每个设备独享本地的子网段并为在自身上线的DHCP客户端分配地址,既实现了地址的集中管理,又避免了多设备同时分配地址时的冲突。解决了现有DRNI环境下支持DHCP的实现方式中,主从设备无法实现对地址的集中管理、分配,导致DHCP客户端无法在DRNI环境下任一网络设备处上线的问题。实现了降低网络设备的性能压力,提高DHCP客户端的上线速率。
可选地,在本申请实施例中还包括:从设备无法为第二DHCP客户端分配地址,并向主设备申请子网段的过程。
具体地,当从设备接收到第二DHCP客户端发送的第二DHCP Discover报文时,从设备判断本地是否存在可用于分配地址的子网段,例如,第二子网段(为了与前述实施例中的子网段进行区分,在此称之为第二子网段)。
若存在第二子网段,则从设备从第二子网段内获取第一地址。该第二地址即为从设备为第二DHCP客户端分配的地址。
可以理解的是,从设备为第二DHCP客户端分配地址后,可重复执行前述主设备执行步骤340-步骤350相同的过程,在此不再复述。
若未存在第二子网段,则从设备通过IPL链路,向主设备发送第二DHCP Discover报文。
主设备接收到第二DHCP Discover报文后,判断是否能够从第一网段中划分出第二子网段。若第一网段内能够划分出第二子网络,则主设备创建第二子网段,并从第二子网段内获取第二地址,该第二地址为主设备为第二DHCP客户端分配的地址。其中,第二子网段不与主设备内已创建的其他子网段重叠,以避免地址冲突。
若第一网段内未能够划分出第二子网段,则主设备生成并向从设备发送DHCP NAK报文,以提示从设备为第二DHCP客户端分配地址失败。从设备生成并向第二DHCP客户端发送第二通知报文,以提示第二DHCP客户端分配地址失败。
主设备为第二DHCP客户端分配地址后,生成第一DHCP Offer报文,该第一DHCPOffer报文包括yiaddr字段以及siaddr字段。yiaddr字段承载第二地址,siaddr字段承载主设备地址。
主设备向从设备发送第一DHCP Offer报文。从设备接收到第一DHCP Offer报文后,从中获取第二地址。根据第二地址,从设备在第二网段内创建第二子网段。从设备将第一DHCP Offer报文包括的siaddr字段承载的主设备地址更新为从设备地址,得到第二DHCPOffer报文。
从设备向第二DHCP客户端发送第二DHCP Offer报文。第二DHCP客户端接收到第二DHCP Offer报文后,从中获取第二地址以及从设备地址,确定从设备为自身分配第二地址。
可以理解的是,按照现有DHCP规定,从设备还将已分配的第二地址与第二DHCP客户端对应记录。同时,待第二DHCP客户端成功将第二地址作为自身的地址时,从设备也生成第二客户端的第二表项,该第二表项包括第二DHCP客户端标识、第二地址,第二地址的租约信息等内容。
从设备生成并通过IPL链路,向主设备发送第二同步报文。第二同步报文包括第二子网段的网段信息以及第二表项。
主设备接收到第二同步报文后,从中获取第二子网段的网段信息以及第二表项。根据第二子网段的网段信息以及第二地址,主设备从第二子网段内剔除第二地址。主设备也在本地生成第二表项。如此,主从设备实现DHCP客户端表项的同步。
可选地,在本申请实施例中还包括:主从设备回收已分配地址,并同步至对端的过程。
具体地,依据现有DHCP规定,DHCP客户端在成功获取地址后,可随时通过发送DHCPRelease报文释放自身的地址。DHCP服务端接收到DHCP Release报文后,将回收相应的地址并重新分配。
主设备接收到第三DHCP客户端发送的DHCP Release报文后,回收已为第三DHCP客户端分配的第三地址。同时,主设备删除本地记录的第三地址与第三DHCP客户端对应关系,以及第三DHCP客户端的相关表项。
主设备生成并通过IPL链路,向从设备发送第三同步报文,该第三同步报文包括第三地址以及第三子网段的网段信息。
从设备接收到第三同步报文后,从中获取第三地址以及第三子网段的网段信息。从设备从第三子网段内回收第三地址。同时,从设备删除本地记录的第三地址与第三DHCP客户端对应关系,以及第三DHCP客户端的相关表项。从设备还判断第三子网段内包括的全部地址是否均已回收,若是,则从设备删除第三子网段,该第三子网段后续可再被分配。
同理,主设备也判断第三子网段内包括的全部地址是否均已回收,若是,则主设备删除第三子网段。
进一步地,若第四DHCP客户端在从设备处上线,则第四DHCP客户端释放自身的第四地址时,其可通过IPL链路向从设备发送DHCP Release报文。
从设备接收到DHCP Release报文后,也执行前述主设备回收地址、删除本地记录、发送同步报文、删除子网段的全部过程;同理,主设备也执行前述从设备回收地址、删除本地记录以及删除子网段的全部过程,在此仅简单说明。
从设备生成并通过IPL链路,向主设备发送第四同步报文,该第四同步报文包括第四地址以及所述第四地址归属的第四子网段的网段信息。
主设备接收到第四同步报文后,根据第四子网段的网段信息以及第四地址,主设备从第四子网段内回收第四地址。主设备判断第四子网段内包括的全部地址是否均已回收;若是,则主设备删除第四子网段。
同理,从设备也判断第四子网段内包括的全部地址是否均已回收,若是,则从设备删除第四子网段。
可选地,在本申请实施例中还包括:主从设备倒换后,新主设备向新从设备同步信息的过程。
具体地,若主设备故障,则主设备进行重启,并在重启后主从设备进行角色倒换,主设备降级为新从设备,从设备升级为新主设备。
新主设备将为对端状态的本地子网段的网段状态更新为本端状态,而为本端状态的子网段的网段状态保持不变。新主设备生成并通过IPL链路,向新从设备发送第五同步报文,该第五同步报文包括新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项,第三表项包括每个DHCP客户端的第五地址。
新从设备接收到第五同步报文后,从中获取新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项。根据全部子网段的网段信息,新从设备在第一网段内创建对应的子网段。
根据第五地址,新从设备从对应的子网段内剔除第五地址;同时,新从设备还生成第三表项。
可选地,在本申请实施例中还包括:从设备在本地网段内创建子网段后,记录创建的子网段的网段状态的过程。
具体地,从设备创建第一子网段之后,从设备记录第一子网段的网段状态为对端状态,也即是,该第一子网段内的地址从设备不可进行分配,仅可由主设备进行分配。
从设备创建第二子网段之后,从设备记录第二子网段的网段状态为本端状态,该第二子网段内的地址从设备仅可由进行分配,主设备不可进行分配。
需要说明的是,在前述实施例中,上述同步报文可采用下述报文实现,一种为借用DHCP协议报文实现,另一种为各厂商自行定义的私网报文实现。
基于同一发明构思,本申请实施例还提供了与地址分配方法对应的一种地址分配装置。参见图5,图5为本申请实施例提供的一种地址分配装置,所述装置应用于主设备,所述主设备处于DRNI组网内,所述DRNI组网还包括从设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
第一判断单元510,用于当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段;
第二判断单元520,用于若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段;
获取单元530,用于若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址;
发送单元540,用于向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括所述第一地址;
所述发送单元540还用于,当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
可选地,所述获取单元530还用于,若存在,则从所述第一子网段内获取第一地址;
所述发送单元540还用于,向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括获取的第一地址;
所述发送单元540还用于,当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,在所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项。
可选地,所述第二判断单元520还用于,当接收到所述从设备发送的第二DHCPDiscover报文时,判断是否能够从所述第一网段中划分出第二子网段;
所述获取单元530还用于,若是,则创建所述第二子网段,并从所述第二子网段内获取第二地址,所述第二地址为所述主设备为发送所述第二DHCP Discover报文的第二DHCP客户端分配的地址;
所述发送单元540还用于,向所述从设备发送第二DHCP Offer报文,所述第二DHCPOffer报文包括所述第二地址,以使得所述从设备根据所述第二地址,在所述第二网段内创建所述第二子网段;
所述装置还包括:接收单元(图中未示出),用于接收所述从设备发送的第二同步报文,所述第二同步报文包括所述第二子网段的网段信息以及所述第二DHCP客户端的第二表项,所述第二表项包括所述第二地址;
剔除单元(图中未示出),用于根据所述第二子网段的网段信息以及所述第二地址,从所述第二子网段内剔除所述第二地址;
生成单元(图中未示出),用于生成所述第二表项;
其中,所述第二子网段不与所述主设备内已创建的其他子网段重叠。
可选地,所述发送单元540还用于,若第三子网段内包括的第三地址已回收,则向所述从设备发送第三同步报文,所述第三同步报文包括所述第三地址以及所述第三子网段的网段信息,以使得所述从设备从所述第三子网段内回收所述第三地址,并在确定所述第三子网段内包括的全部地址均已回收后,删除所述第三子网段;
所述装置还包括:删除单元(图中未示出),用于若所述第三子网段内包括的全部地址均已回收,则删除所述第三子网段;
其中,所述第三地址为第三DHCP客户端的地址。
可选地,所述接收单元(图中未示出)还用于,接收所述从设备发送的第四同步报文,所述第四同步报文包括第四地址以及所述第四地址归属的第四子网段的网段信息;
所述装置还包括:回收单元(图中未示出),用于根据所述第四子网段的网段信息以及所述第四地址,从所述第四子网段内回收所述第四地址;
第三判断单元(图中未示出),用于判断所述第四子网段内包括的全部地址是否均已回收;
所述删除单元(图中未示出)还用于,若是,则删除所述第四子网段;
其中,所述第四地址为第四DHCP客户端的地址。
可选地,当所述主设备降级为新从设备且所述从设备升级为新主设备时,所述接收单元(图中未示出)还用于,接收所述新主设备发送的第五同步报文,所述第五同步报文包括所述新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项,所述第三表项包括每个DHCP客户端的第五地址;
所述剔除单元(图中未示出)还用于,根据所述全部子网段的网段信息以及所述第五地址,在所述第一网段内创建对应的子网段,并从对应的子网段内剔除所述第五地址;
所述生成单元(图中未示出)还用于,生成所述第三表项。
可选地,所述装置还包括:记录单元(图中未示出),用于记录所述第一子网段的网段状态为本地状态;
所述记录单元(图中未示出)还用于,记录所述第二子网段的网段状态为对端状态;
所述记录单元(图中未示出)还用于,记录所述第五子网段的网段状态为对端状态。
基于同一发明构思,本申请实施例还提供了与地址分配方法对应的一种地址分配装置。参见图6,图6为本申请实施例提供的另一种地址分配装置,所述装置应用于从设备,所述从设备处于DRNI组网内,所述DRNI组网还包括主设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
接收单元610,用于接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址;
第一判断单元620,用于根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段;
剔除单元630,用于若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
创建单元640,用于若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
可选地,第二判断单元(图中未示出),用于当接收到第二DHCP客户端发送的第二DHCP Discover报文时,判断本地是否存在可用于分配地址的第二子网段;
所述装置还包括:发送单元(图中未示出),用于若未存在,则向所述主设备发送所述第二DHCP Discover报文;
所述接收单元610还用于,接收所述主设备发送的第一DHCP Offer报文,所述第一DHCP Offer报文包括第二地址,所述第二地址为所述主设备从本地创建的第二子网段内为所述第二DHCP客户端分配的地址;
所述创建单元640还用于,根据所述第二地址,在所述第二网段内创建所述第二子网段;
所述发送单元(图中未示出)还用于,向所述第二DHCP客户端发送第二DHCP Offer报文,所述第二DHCP Offer报文包括所述第二地址;
所述发送单元(图中未示出)还用于,当确定所述第二DHCP客户端使用所述第二地址上线后,向所述主设备发送第二同步报文,所述第二同步报文包括所述第二子网段的网段信息以及所述第二DHCP客户端的第二表项,所述第二表项包括所述第二地址,以使得所述主设备从本地创建的所述第二子网段内剔除所述第二地址,并生成所述第二表项。
可选地,所述接收单元610还用于,接收所述主设备发送的第三同步报文,所述第三同步报文包括第三地址以及所述第三地址归属的第三子网段的网段信息;
所述装置还包括:回收单元(图中未示出),用于根据所述第三子网段的网段信息以及所述第三地址,从所述第三子网段内回收所述第三地址;
第三判断单元(图中未示出),用于判断所述第三子网段内包括的全部地址是否均已回收;
删除单元(图中未示出),用于若是,则删除所述第三子网段;
其中,所述第三地址为第三DHCP客户端的地址。
可选地,所述发送单元(图中未示出)还用于,若第四子网段内包括的第四地址已回收,则向所述主设备发送第四同步报文,所述第四同步报文包括所述第四地址以及所述第四子网段的网段信息,以使得所述主设备从所述第四子网段内回收所述第四地址,并在确定所述第四子网段内包括的全部地址均已回收后,删除所述第四子网段;
所述删除单元(图中未示出)还用于,若所述第四子网段内包括的全部地址均已回收,则删除所述第四子网段;
其中,所述第四地址为第四DHCP客户端的地址。
可选地,当所述主设备降级为新从设备且所述从设备升级为新主设备时,所述方法还包括:
所述装置还包括:更新单元(图中未示出),用于将为对端状态的本地子网段的网段状态更新为本端状态;
所述发送单元(图中未示出)还用于,向所述新从设备发送第五同步报文,所述第五同步报文包括所述新主设备内已存在的全部子网段的网段状态以及已上线的全部DHCP客户端的第三表项,所述第三表项包括每个DHCP客户端的第五地址,以使得所述新从设备根据所述全部子网段的网段信息,创建对应的子网段,从对应的子网段内剔除所述第五地址,并生成所述第三表项。
可选地,所述装置还包括:记录单元(图中未示出),用于记录所述第一子网段的网段状态为对端状态;
所述记录单元(图中未示出)还用于,记录所述第二子网段的网段状态为本端状态。
因此,通过应用本申请提供的地址分配装置,当主设备接收到第一DHCP客户端发送的第一DHCP Discover报文时,主设备判断本地是否存在可用于分配地址的第一子网段;若未存在,则主设备判断是否能够从第一网段内划分出第一子网段;若是,则主设备创建第一子网段,并从第一子网段内获取第一地址;主设备向第一DHCP客户端发送第一DHCPOffer报文,该第一DHCP Offer报文包括第一地址;当主设备确定第一DHCP客户端使用第一地址上线后,主设备向从设备发送第一同步报文,该第一同步报文包括第一子网段的网段信息以及第一DHCP客户端的第一表项,该第一表项包括第一地址,以使得从设备判断本地是否存在第一地址归属的第一子网段,若存在,则从设备从第一子网段内剔除第一地址,并生成第一表项;若未存在,则从设备根据第一子网段的网段信息,从第二网段内创建第一子网段,从第一子网段内剔除第一地址,并生成第一表项;其中,第一地址池与第二地址池相同,第一网段与第二网段相同。
如此,主从设备共享相同的总网段,从设备上的子网段由主设备分配,但每个设备独享本地的子网段并为在自身上线的DHCP客户端分配地址,既实现了地址的集中管理,又避免了多设备同时分配地址时的冲突。解决了现有DRNI环境下支持DHCP的实现方式中,主从设备无法实现对地址的集中管理、分配,导致DHCP客户端无法在DRNI环境下任一网络设备处上线的问题。实现了降低网络设备的性能压力,提高DHCP客户端的上线速率。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图7所示,包括处理器710、收发器720和机器可读存储介质730,机器可读存储介质730存储有能够被处理器710执行的机器可执行指令,处理器710被机器可执行指令促使执行本申请实施例所提供的地址分配方法。前述图5、图6所示的地址分配装置,可采用如图7所示的网络设备硬件结构实现。
上述计算机可读存储介质730可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质730还可以是至少一个位于远离前述处理器710的存储装置。
上述处理器710可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器710通过读取机器可读存储介质730中存储的机器可执行指令,被机器可执行指令促使能够实现处理器710自身以及调用收发器720执行前述本申请实施例描述的地址分配方法。
另外,本申请实施例提供了一种机器可读存储介质730,机器可读存储介质730存储有机器可执行指令,在被处理器710调用和执行时,机器可执行指令促使处理器710自身以及调用收发器720执行前述本申请实施例描述的地址分配方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于地址分配装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (15)
1.一种地址分配方法,其特征在于,所述方法应用于主设备,所述主设备处于DRNI组网内,所述DRNI组网还包括从设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述方法包括:
当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段;
若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段;
若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址;
向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括所述第一地址;
当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若存在,则从所述第一子网段内获取第一地址;
向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCP Offer报文包括获取的第一地址;
当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,在所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述从设备发送的第二DHCP Discover报文时,判断是否能够从所述第一网段中划分出第二子网段;
若是,则创建所述第二子网段,并从所述第二子网段内获取第二地址,所述第二地址为所述主设备为发送所述第二DHCP Discover报文的第二DHCP客户端分配的地址;
向所述从设备发送第二DHCP Offer报文,所述第二DHCP Offer报文包括所述第二地址,以使得所述从设备根据所述第二地址,在所述第二网段内创建所述第二子网段;
接收所述从设备发送的第二同步报文,所述第二同步报文包括所述第二子网段的网段信息以及所述第二DHCP客户端的第二表项,所述第二表项包括所述第二地址;
根据所述第二子网段的网段信息以及所述第二地址,从所述第二子网段内剔除所述第二地址;
生成所述第二表项;
其中,所述第二子网段不与所述主设备内已创建的其他子网段重叠。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若第三子网段内包括的第三地址已回收,则向所述从设备发送第三同步报文,所述第三同步报文包括所述第三地址以及所述第三子网段的网段信息,以使得所述从设备从所述第三子网段内回收所述第三地址,并在确定所述第三子网段内包括的全部地址均已回收后,删除所述第三子网段;
若所述第三子网段内包括的全部地址均已回收,则删除所述第三子网段;
其中,所述第三地址为第三DHCP客户端的地址。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述从设备发送的第四同步报文,所述第四同步报文包括第四地址以及所述第四地址归属的第四子网段的网段信息;
根据所述第四子网段的网段信息以及所述第四地址,从所述第四子网段内回收所述第四地址;
判断所述第四子网段内包括的全部地址是否均已回收;
若是,则删除所述第四子网段;
其中,所述第四地址为第四DHCP客户端的地址。
6.根据权利要求1所述的方法,其特征在于,当所述主设备降级为新从设备且所述从设备升级为新主设备时,所述方法还包括:
接收所述新主设备发送的第五同步报文,所述第五同步报文包括所述新主设备内已存在的全部子网段的网段信息以及已上线的全部DHCP客户端的第三表项,所述第三表项包括每个DHCP客户端的第五地址;
根据所述全部子网段的网段信息以及所述第五地址,在所述第一网段内创建对应的子网段,并从对应的子网段内剔除所述第五地址;
生成所述第三表项。
7.根据权利要求1或3或6任一项所述的方法,其特征在于,所述创建所述第一子网段之后,所述方法还包括:
记录所述第一子网段的网段状态为本地状态;
所述创建所述第二子网段之后,所述方法还包括:
记录所述第二子网段的网段状态为对端状态;
所述创建第五子网段之后,所述方法还包括:
记录所述第五子网段的网段状态为对端状态。
8.一种地址分配方法,其特征在于,所述方法应用于从设备,所述从设备处于DRNI组网内,所述DRNI组网还包括主设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述方法包括:
接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址;
根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段;
若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当接收到第二DHCP客户端发送的第二DHCP Discover报文时,判断本地是否存在可用于分配地址的第二子网段;
若未存在,则向所述主设备发送所述第二DHCP Discover报文;
接收所述主设备发送的第一DHCP Offer报文,所述第一DHCP Offer报文包括第二地址,所述第二地址为所述主设备从本地创建的第二子网段内为所述第二DHCP客户端分配的地址;
根据所述第二地址,在所述第二网段内创建所述第二子网段;
向所述第二DHCP客户端发送第二DHCP Offer报文,所述第二DHCP Offer报文包括所述第二地址;
当确定所述第二DHCP客户端使用所述第二地址上线后,向所述主设备发送第二同步报文,所述第二同步报文包括所述第二子网段的网段信息以及所述第二DHCP客户端的第二表项,所述第二表项包括所述第二地址,以使得所述主设备从本地创建的所述第二子网段内剔除所述第二地址,并生成所述第二表项。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收所述主设备发送的第三同步报文,所述第三同步报文包括第三地址以及所述第三地址归属的第三子网段的网段信息;
根据所述第三子网段的网段信息以及所述第三地址,从所述第三子网段内回收所述第三地址;
判断所述第三子网段内包括的全部地址是否均已回收;
若是,则删除所述第三子网段;
其中,所述第三地址为第三DHCP客户端的地址。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
若第四子网段内包括的第四地址已回收,则向所述主设备发送第四同步报文,所述第四同步报文包括所述第四地址以及所述第四子网段的网段信息,以使得所述主设备从所述第四子网段内回收所述第四地址,并在确定所述第四子网段内包括的全部地址均已回收后,删除所述第四子网段;
若所述第四子网段内包括的全部地址均已回收,则删除所述第四子网段;
其中,所述第四地址为第四DHCP客户端的地址。
12.根据权利要求8所述的方法,其特征在于,当所述主设备降级为新从设备且所述从设备升级为新主设备时,所述方法还包括:
将为对端状态的本地子网段的网段状态更新为本端状态;
向所述新从设备发送第五同步报文,所述第五同步报文包括所述新主设备内已存在的全部子网段的网段状态以及已上线的全部DHCP客户端的第三表项,所述第三表项包括每个DHCP客户端的第五地址,以使得所述新从设备根据所述全部子网段的网段信息,创建对应的子网段,从对应的子网段内剔除所述第五地址,并生成所述第三表项。
13.根据权利要求8或9任一项所述的方法,其特征在于,所述创建所述第一子网段之后,所述方法还包括:
记录所述第一子网段的网段状态为对端状态;
所述创建所述第二子网段之后,所述方法还包括:
记录所述第二子网段的网段状态为本端状态。
14.一种地址分配装置,其特征在于,所述装置应用于主设备,所述主设备处于DRNI组网内,所述DRNI组网还包括从设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
第一判断单元,用于当接收到第一DHCP客户端发送的第一DHCP Discover报文时,判断本地是否存在可用于分配地址的第一子网段;
第二判断单元,用于若未存在,则判断是否能够从所述第一网段内划分出所述第一子网段;
获取单元,用于若是,则创建所述第一子网段,并从所述第一子网段内获取第一地址;
发送单元,用于向所述第一DHCP客户端发送第一DHCP Offer报文,所述第一DHCPOffer报文包括所述第一地址;
所述发送单元还用于,当确定所述第一DHCP客户端使用所述第一地址上线后,向所述从设备发送第一同步报文,所述第一同步报文包括所述第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一地址,以使得从设备判断本地是否存在对应的第一子网段,若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;若未存在,则根据所述第一子网段的网段信息,从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
15.一种地址分配装置,其特征在于,所述装置应用于从设备,所述从设备处于DRNI组网内,所述DRNI组网还包括主设备,所述主设备内配置第一地址池,所述第一地址池具有对应的第一网段,所述从设备内配置第二地址池,所述第二地址池具有对应的第二网段,所述装置包括:
接收单元,用于接收所述主设备发送的第一同步报文,所述第一同步报文包括所述主设备在所述第一网段内创建的第一子网段的网段信息以及第一DHCP客户端的第一表项,所述第一表项包括所述第一DHCP客户端的第一地址;
第一判断单元,用于根据所述第一子网段的网段信息,判断本地是否存在对应的第一子网段;
剔除单元,用于若存在,则从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
创建单元,用于若未存在,则从所述第二网段内创建所述第一子网段,从所述第一子网段内剔除所述第一地址,并生成所述第一表项;
其中,所述第一地址池与所述第二地址池相同,所述第一网段与所述第二网段相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210972334.XA CN115499414A (zh) | 2022-08-15 | 2022-08-15 | 地址分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210972334.XA CN115499414A (zh) | 2022-08-15 | 2022-08-15 | 地址分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115499414A true CN115499414A (zh) | 2022-12-20 |
Family
ID=84466323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210972334.XA Pending CN115499414A (zh) | 2022-08-15 | 2022-08-15 | 地址分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192801A (zh) * | 2023-02-17 | 2023-05-30 | 浪潮思科网络科技有限公司 | 一种基于mlag环境的dhcp表项同步方法、设备及介质 |
-
2022
- 2022-08-15 CN CN202210972334.XA patent/CN115499414A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192801A (zh) * | 2023-02-17 | 2023-05-30 | 浪潮思科网络科技有限公司 | 一种基于mlag环境的dhcp表项同步方法、设备及介质 |
CN116192801B (zh) * | 2023-02-17 | 2024-03-26 | 浪潮思科网络科技有限公司 | 一种基于mlag环境的dhcp表项同步方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101330531B (zh) | Dhcp地址分配处理方法和dhcp中继 | |
CN108307002B (zh) | 一种dhcp报文处理方法及装置 | |
CN102025798B (zh) | 地址分配处理方法、装置和系统 | |
CN101068208B (zh) | 一种动态分配网络地址的方法、系统及代理设备 | |
CN108429824B (zh) | 一种地址分配方法及装置 | |
WO2020001045A1 (zh) | 管理地址的方法和装置 | |
CN102244690B (zh) | 动态主机配置协议地址分配方法、系统、客户端及服务器 | |
CN111615066A (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CN108989476B (zh) | 一种地址分配方法以及装置 | |
CN114070822B (zh) | 一种Kubernetes Overlay IP地址管理方法 | |
CN101090309A (zh) | 一种实现dhcp服务冗余的方法及dhcp服务器 | |
EP2888863B1 (en) | Method and apparatus for configuring dhcp client | |
CN102299932A (zh) | 一种dhcp服务器备份方法和dhcp服务器 | |
KR100501971B1 (ko) | 외부 네트워크 접속을 위한 설정 정보 할당 방법 | |
CN113169895A (zh) | 用于具有低时延故障转移的虚拟化服务的n+1冗余 | |
CN104506654A (zh) | 云计算系统及动态主机配置协议服务器备份方法 | |
CN111935335A (zh) | 一种dhcp地址分配方法及装置 | |
CN115567486A (zh) | 一种mlag环境下的租约同步方法、装置、设备及介质 | |
CN111131445B (zh) | Dhcp集群的调度方法和dhcp集群系统 | |
CN115499414A (zh) | 地址分配方法及装置 | |
CN101304372B (zh) | 一种配置访问控制列表的方法、设备及系统 | |
CN101237460A (zh) | DHCP Server端租约状态发生变化时的处理方法、系统及装置 | |
CN104158694B (zh) | DHCPv6服务器的热备方法和装置 | |
CN108259636B (zh) | 一种报文处理方法及装置 | |
CN111064819B (zh) | 一种地址备份方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |