动态地址分配方法和设备

阅读: 评论:0

著录项
  • CN201210171603.9
  • 20120525
  • CN102685270A
  • 20120919
  • 杭州华三通信技术有限公司
  • 王志晟;王伟
  • H04L29/12
  • H04L29/12 H04L12/70

  • 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地
  • 中国,CN,浙江(33)
  • 北京德琦知识产权代理有限公司
  • 谢安昆;宋志强
摘要
本发明提供了一种动态地址分配方法和设备,该方法中,中继设备向DHCP服务器申请IP地址并将申请的IP地址放入动态地址池;当接收到DHCP客户端的分配IP地址的请求时,如果动态地址池中存在空闲IP地址,则基于动态地址池为DHCP客户端分配IP地址。本发明能够降低DHCP服务器的负载。
权利要求

1.一种动态地址分配方法,其特征在于,该方法包括:

中继设备向动态主机配置协议DHCP服务器申请IP地址,将申请得到的IP地址放入动态地址池;

中继设备接收到DHCP客户端的分配IP地址的请求时,判断所述动态地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述动态地址池为DHCP客户端分配IP地址。

2.根据权利要求1所述的动态地址分配方法,其特征在于,该方法进一步包括:

当所述动态地址池不存在空闲IP地址时,将所述DHCP客户端发送的分配IP地址的请求转发给所述DHCP服务器处理。

3.根据权利要求1所述的动态地址分配方法,其特征在于,该方法进一步包括:

中继设备接收到DHCP服务器发送的指示DHCP配置变化的DHCP配置通告报文时,回收分配给各DHCP客户端的IP地址,删除分配给各DHCP客户端的IP地址对应的租约信息,并重新向DHCP服务器申请IP地址。

4.根据权利要求1所述的动态地址分配方法,其特征在于,所述中继设备接收到DHCP客户端的分配IP地址的请求时,判断所述动态地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述动态地址池为DHCP客户端分配IP地址包括:

当中继设备接收到DHCP客户端的DHCP发现报文时,判断所述动态地址池中是否存在空闲IP地址,当存在空闲IP地址时,从所述动态地址池中选择一个空闲IP地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息,并模拟DHCP服务器返回携带该IP地址的DHCP授权报文;

当中继设备接收到DHCP客户端的DHCP请求报文时,判断是否存在DHCP请求报文中携带的IP地址对应的临时租约信息,当存在所述IP地址对应的临时 租约信息时,建立DHCP请求报文中携带的IP地址对应的租约信息,并模拟DHCP服务器返回DHCP确认报文。

5.根据权利要求4所述的动态地址分配方法,其特征在于,

所述选择一个空闲IP地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息之后,进一步包括:如果临时租约到期未接收到DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收该IP地址,删除该IP地址对应的临时租约信息;

所述建立DHCP请求报文中携带的IP地址对应的租约信息之后,进一步包括:如果租约到期,则回收该IP地址,删除该IP地址对应的租约信息。

6.根据权利要求4所述的动态地址分配方法,其特征在于,该方法进一步包括:

中继设备接收到DHCP客户端的DHCP续约报文时,判断是否存在DHCP续约报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,重置该IP地址对应的租约信息;

当中继设备接收到DHCP客户端的DHCP释放报文时,判断是否存在DHCP释放报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,回收该IP地址,并删除该IP地址对应的租约信息。

7.根据权利要求1或3所述的动态地址分配方法,其特征在于,

所述中继设备为DHCP中继设备relay;

所述中继设备向DHCP服务器申请IP地址的方法为:向DHCP服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设备地址的值为中继设备的IP地址;接收DHCP服务器返回的DHCP配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务器中该中继设备地址对应的地址池范围的交集运算结果。

8.根据权利要求1或3所述的动态地址分配方法,其特征在于,

所述中继设备为DHCP探测设备snooping; 

所述中继设备向DHCP服务器申请IP地址的方法为:向DHCP服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设备地址的值为0;接收DHCP服务器返回的DHCP配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务器接收该DCHP配置请求报文的端口的IP地址对应的地址池范围的交集运算结果。

9.一种动态地址分配方法,其特征在于,该方法包括:

DHCP服务器接收到中继设备的DHCP配置请求报文;

判断所述DCHP配置请求报文中携带的中继设备地址的值是否为0,当中继设备地址的值为0时,查接收DHCP配置请求报文的端口的IP地址对应的地址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请求报文的端口的IP地址对应的地址池范围进行交集运算;当中继设备地址的值不为0时,查该中继设备地址的值对应的地址池,对DHCP配置请求报文中携带的IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

将交集运算结果中的每个IP地址设置为禁用IP;

将交集运算结果中的所有IP地址携带在DHCP配置应答报文中返回给中继设备。

10.根据权利要求9所述的动态地址分配方法,其特征在于,该方法进一步包括:

DHCP服务器检测到自身的DHCP配置变化时,恢复所有被禁止IP并向中继设备发送指示DHCP配置变化的DHCP配置通告报文,用以使中继设备回收已经分配给各DHCP客户端的IP地址并重新发送DHCP配置请求报文。

11.一种中继设备,其特征在于,该中继设备包括:地址申请单元、地址分配单元;

所述地址申请单元,用于向动态主机配置协议DHCP服务器申请IP地址,将申请得到的IP地址放入动态地址池;

所述地址分配单元,用于接收到DHCP客户端的分配IP地址的请求时,判 断所述动态地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述动态地址池为DHCP客户端分配IP地址。

12.根据权利要求11所述的中继设备,其特征在于,

所述地址分配单元,进一步用于当所述动态地址池不存在空闲IP地址时,将所述DHCP客户端发送的分配IP地址的请求转发给所述DHCP服务器处理。

13.根据权利要求11所述的中继设备,其特征在于,

所述地址申请单元,进一步用于接收DHCP服务器发送的指示DHCP配置变化的DHCP配置通告报文,回收分配给各DHCP客户端的IP地址,删除分配给各DHCP客户端的IP地址对应的租约信息,并重新向DHCP服务器申请IP地址。

14.根据权利要求11所述的中继设备,其特征在于,所述地址分配单元包括:接收单元、分配单元、发送单元;

所述接收单元,用于接收DHCP客户端发送的DHCP发现报文;用于接收DHCP客户端发送的DHCP请求报文;

所述分配单元,用于在收发单元接收到DHCP客户端的DHCP发现报文时,判断动态地址池中存在空闲IP地址,当存在空闲IP地址时,选择一个空闲IP地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息,并通知发送单元模拟DHCP服务器返回携带该IP地址的DHCP授权报文;用于在接收单元接收到DHCP客户端的DHCP请求报文时,判断是否存在DHCP请求报文中携带的IP地址对应的临时租约信息,当存在所述IP地址对应的临时租约信息时,建立DHCP请求报文中携带的IP地址对应的租约信息,并通知发送单元模拟DHCP服务器返回DHCP确认报文。

15.根据权利要求14所述的中继设备,其特征在于,

所述分配单元在选择一个空闲IP地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息之后,进一步用于:如果临时租约到期接收单元未接收到DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收该IP地址,删除该IP地址对应的临时租约信息; 

所述分配单元在建立DHCP请求报文中携带的IP地址对应的租约信息之后,进一步用于:如果租约到期,则回收该IP地址,删除该IP地址对应的租约信息。

16.根据权利要求14所述的中继设备,其特征在于,

所述接收单元,进一步用于接收DHCP客户端的DHCP续约报文;用于接收DHCP客户端的DHCP释放报文;

所述分配单元,进一步用于在接收单元接收到DHCP客户端的DHCP续约报文时,判断是否存在DHCP续约报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,重置该IP地址对应的租约信息;用于在接收单元接收到DHCP客户端的DHCP释放报文时,判断是否存在DHCP释放报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,回收该IP地址,并删除该IP地址对应的租约信息,否则,正常处理该DHCP释放报文。

17.根据权利要求11或13所述的中继设备,其特征在于,

所述中继设备为DHCP中继设备relay;

所述地址申请单元在向DHCP服务器申请IP地址时,用于:向DHCP服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设备地址的值为中继设备的IP地址;接收DHCP服务器返回的DHCP配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务器中该中继设备地址对应的地址池范围的交集运算结果。

18.根据权利要求11或13所述的中继设备,其特征在于,

所述中继设备为DHCP探测设备snooping;

所述地址申请单元在向DHCP服务器申请IP地址时,用于:向DHCP服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设备地址的值为0;接收DHCP服务器返回的DHCP配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务 器接收该DHCP配置请求报文的端口的IP地址对应的地址池范围的交集运算结果。

19.一种DHCP服务器,其特征在于,该DHCP服务器包括:报文接收单元、地址运算单元、地址设置单元、报文发送单元;

所述报文接收单元,用于接收中继设备的DHCP配置请求报文;

所述地址运算单元,用于在报文接收单元接收到中继设备的DHCP配置请求报文时,判断DHCP配置请求报文中携带的中继地址字段的值是否为0,当中继设备地址的值为0时,查接收该DHCP配置请求报文的端口的IP地址对应的地址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请求报文的端口的IP地址对应的地址池范围进行交集运算,当中继设备地址的值不为0时,查该中继设备地址对应的地址池,对DHCP配置请求报文中携带的IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

所述地址设置单元,用于将地址运算单元的交集运算结果中的每个IP地址设置为禁用IP;

所述报文发送单元,用于将地址运算单元的交集运算结果中的所有IP地址携带在DHCP配置应答报文中返回给中继设备。

20.根据权利要求19所述的DHCP服务器,其特征在于,该DHCP服务器还包括检测单元;

所述检测单元,用于检测本设备的DHCP配置是否发生变化;

所述报文发送单元,进一步用于在检测单元检测到本设备的DHCP配置变化时,向中继设备发送指示DHCP配置变化的DHCP配置通告报文,用以使中继设备回收已经分配给各DHCP客户端的IP地址并重新发送DHCP配置请求报文;

所述地址设置单元,用于在检测单元检测到本设备的DHCP配置变化时,恢复所有被禁止IP。 

说明书
技术领域

本发明涉及通信技术领域,特别涉及一种动态地址分配方法和设备。

当前主流企业及部分家庭用户获取IP地址均是通过动态主机配置协议 (Dynamic Host Configuration Protocol,DHCP)实现的。DHCP采用C/S通 信模式,对网络中的客户端进行网络地址及配置信息的分配。DHCP的一个 显著特点是DHCP客户端可以通过DHCP报文交互的方式从DHCP服务器中 获得需要的网络配置信息。DHCP的另一个特点是为IP地址指定了一个有限 的租约,租约到期后DHCP服务器将收回该IP地址,使得网络中的地址能 够被最大限度的利用,而客户端也可以向服务器提出延长租约的请求,因此, 网络中的地址能够被不断地复用。

参见图1,图1是现有技术中DHCP报文交互过程的示意图,包括以下 步骤:

步骤101、客户端发送DHCP‑DISCOVER(DHCP发现)报文查可用 DHCP服务器;

步骤102、DHCP服务器返回DHCP‑OFFER(DHCP授权)报文;

步骤103、DHCP根据接收到的DHCP‑OFFER报文确定可用的DCHP服 务器,并选择其中一台DHCP服务器,向该DHCP服务器发送 DHCP‑REQUEST(DHCP请求)报文以申请地址;

步骤104、接收到DHCP‑REQUEST报文的DHCP服务器正式将IP地址 分配给DHCP客户端,返回DHCP‑ACK报文并在本地建立对应的租约信息。

参见图2,图2是现有技术第一种典型的DHCP组网示意图,包括DHCP 客户端、DHCP中继设备(Relay)和DHCP服务器;其中,DHCP服务器用 于为DHCP客户端分配IP地址及网络配置参数以及管理租约表。DHCP Relay 用于转发DHCP客户端和DHCP服务器交互之间的DHCP报文。

参见图3,图3是现有技术第二种典型的DHCP组网示意图,包括DHCP 客户端,DHCP探测设备(Snooping)和DHCP服务器。其中,DHCP服务 器用于为DHCP客户端分配IP地址及网络配置参数以及管理租约表。DHCP Snooping在二层网络中使用,用于记录DHCP客户端信息、设置信任端口防 止冒牌DHCP服务器、为来自DHCP客户端的报文添加Option82选项、以 及为来自DHCP服务器的报文脱去Option82选项。

由于DHCP Server需要管理大量租约表并频繁分配、释放地址,负载较 大,而且,由于内存有限,会限制地址分配的数量,当达到租约表的管理上 限后无法对DHCP客户端进行地址分配,而此时地址池可能还有大量地址空 闲;另外,DHCP Relay/Snooping主要用于记录DHCP客户端信息和透传 DHCP报文,利用率较低。

有鉴于此,本发明的目的在于提供一种动态地址分配方法,该方法能够 降低DHCP服务器的负载。

为了达到上述目的,本发明提供的技术方案为:

一种动态地址分配方法,该方法包括:

中继设备向动态主机配置协议DHCP服务器申请IP地址,将申请得到的IP 地址放入动态地址池;

中继设备接收到DHCP客户端的分配IP地址的请求时,判断所述动态地址 池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述动态地址池为 DHCP客户端分配IP地址。

该方法进一步包括:

当所述动态地址池不存在空闲IP地址时,将所述DHCP客户端发送的分配 IP地址的请求转发给所述DHCP服务器处理。

该方法进一步包括:

中继设备接收到DHCP服务器发送的指示DHCP配置变化的DHCP配置通 告报文时,回收分配给各DHCP客户端的IP地址,删除分配给各DHCP客户端 的IP地址对应的租约信息,并重新向DHCP服务器申请IP地址。

所述中继设备接收到DHCP客户端的分配IP地址的请求时,判断所述动态 地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述动态地址池 为DHCP客户端分配IP地址包括:

当中继设备接收到DHCP客户端的DHCP发现报文时,判断所述动态地址 池中是否存在空闲IP地址,当存在空闲IP地址时,从所述动态地址池中选择一 个空闲IP地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息, 并模拟DHCP服务器返回携带该IP地址的DHCP授权报文;

当中继设备接收到DHCP客户端的DHCP请求报文时,判断是否存在DHCP 请求报文中携带的IP地址对应的临时租约信息,当存在所述IP地址对应的临时 租约信息时,建立DHCP请求报文中携带的IP地址对应的租约信息,并模拟 DHCP服务器返回DHCP确认报文。

上述方法中,所述选择一个空闲IP地址分配给所述DHCP客户端,建立该 IP地址对应的临时租约信息之后,进一步包括:如果临时租约到期未接收到 DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收该IP地址,删除 该IP地址对应的临时租约信息;

所述建立DHCP请求报文中携带的IP地址对应的租约信息之后,进一步包 括:如果租约到期,则回收该IP地址,删除该IP地址对应的租约信息。

该方法进一步包括:

中继设备接收到DHCP客户端的DHCP续约报文时,判断是否存在DHCP 续约报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,重置该 IP地址对应的租约信息;

当中继设备接收到DHCP客户端的DHCP释放报文时,判断是否存在DHCP 释放报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,回收该 IP地址,并删除该IP地址对应的租约信息。

上述方法中,所述中继设备为DHCP中继设备relay;

所述中继设备向DHCP服务器申请IP地址的方法为:向DHCP服务器发送 携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设 备地址的值为中继设备的IP地址;接收DHCP服务器返回的DHCP配置应答报 文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息 为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和 DHCP服务器中该中继设备地址对应的地址池范围的交集运算结果;

上述方法中,所述中继设备为DHCP探测设备snooping;

所述中继设备向DHCP服务器申请IP地址的方法为:向DHCP服务器发送 携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述中继设 备地址的值为0;接收DHCP服务器返回的DHCP配置应答报文,获取DHCP 配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP服务器 对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务器接收 该DCHP配置请求报文的端口的IP地址对应的地址池范围的交集运算结果。

本发明还提供了另一种动态地址分配方法,该方法包括:

DHCP服务器接收到中继设备的DHCP配置请求报文;

判断所述DCHP配置请求报文中携带的中继设备地址的值是否为0,当中继 设备地址的值为0时,查接收DHCP配置请求报文的端口的IP地址对应的地 址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请求报文 的端口的IP地址对应的地址池范围进行交集运算;当中继设备地址的值不为0 时,查该中继设备地址的值对应的地址池,对DHCP配置请求报文中携带的 IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

将交集运算结果中的每个IP地址设置为禁用IP;

将交集运算结果中的所有IP地址携带在DHCP配置应答报文中返回给中继 设备。

该方法进一步包括:

DHCP服务器检测到自身的DHCP配置变化时,恢复所有被禁止IP并向中 继设备发送指示DHCP配置变化的DHCP配置通告报文,用以使中继设备回收 已经分配给各DHCP客户端的IP地址并重新发送DHCP配置请求报文。

本发明还提供了一种中继设备,该中继设备包括:地址申请单元、地址 分配单元;

所述地址申请单元,用于向动态主机配置协议DHCP服务器申请IP地址, 将申请得到的IP地址放入动态地址池;

所述地址分配单元,用于接收到DHCP客户端的分配IP地址的请求时,判 断所述动态地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述 动态地址池为DHCP客户端分配IP地址。

所述地址分配单元,进一步用于当所述动态地址池不存在空闲IP地址时, 将所述DHCP客户端发送的分配IP地址的请求转发给所述DHCP服务器处理。

所述地址申请单元,进一步用于接收DHCP服务器发送的指示DHCP配置 变化的DHCP配置通告报文,回收分配给各DHCP客户端的IP地址,删除分配 给各DHCP客户端的IP地址对应的租约信息,并重新向DHCP服务器申请IP 地址。

上述装置中,所述地址分配单元包括:接收单元、分配单元、发送单元;

所述接收单元,用于接收DHCP客户端发送的DHCP发现报文;用于接收 DHCP客户端发送的DHCP请求报文;

所述分配单元,用于在收发单元接收到DHCP客户端的DHCP发现报文时, 判断动态地址池中存在空闲IP地址,当存在空闲IP地址时,选择一个空闲IP 地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息,并通知发 送单元模拟DHCP服务器返回携带该IP地址的DHCP授权报文;用于在接收单 元接收到DHCP客户端的DHCP请求报文时,判断是否存在DHCP请求报文中 携带的IP地址对应的临时租约信息,当存在所述IP地址对应的临时租约信息时, 建立DHCP请求报文中携带的IP地址对应的租约信息,并通知发送单元模拟 DHCP服务器返回DHCP确认报文。

所述分配单元在选择一个空闲IP地址分配给所述DHCP客户端,建立该IP 地址对应的临时租约信息之后,进一步用于:如果临时租约到期接收单元未接 收到DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收该IP地址, 删除该IP地址对应的临时租约信息;

所述分配单元在建立DHCP请求报文中携带的IP地址对应的租约信息之 后,进一步用于:如果租约到期,则回收该IP地址,删除该IP地址对应的租约 信息。

所述接收单元,进一步用于接收DHCP客户端的DHCP续约报文;用于接 收DHCP客户端的DHCP释放报文;

所述分配单元,进一步用于在接收单元接收到DHCP客户端的DHCP续约 报文时,判断是否存在DHCP续约报文中携带的IP地址对应的租约信息,当存 在对应的租约信息时,重置该IP地址对应的租约信息;用于在接收单元接收到 DHCP客户端的DHCP释放报文时,判断是否存在DHCP释放报文中携带的IP 地址对应的租约信息,当存在对应的租约信息时,回收该IP地址,并删除该IP 地址对应的租约信息,否则,正常处理该DHCP释放报文。

所述中继设备为DHCP中继设备relay;

所述地址申请单元在向DHCP服务器申请IP地址时,用于:向DHCP服务 器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述 中继设备地址的值为中继设备的IP地址;接收DHCP服务器返回的DHCP配置 应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地 址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址范 围和DHCP服务器中该中继设备地址对应的地址池范围的交集运算结果;

所述中继设备为DHCP探测设备snooping;

所述地址申请单元在向DHCP服务器申请IP地址时,用于:向DHCP服务 器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文,所述 中继设备地址的值为0;接收DHCP服务器返回的DHCP配置应答报文,获取 DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP 服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务 器接收该DHCP配置请求报文的端口的IP地址对应的地址池范围的交集运算结 果。

本发明还提供了一种DHCP服务器,该DHCP服务器包括:报文接收单 元、地址运算单元、地址设置单元、报文发送单元;

所述报文接收单元,用于接收中继设备的DHCP配置请求报文;

所述地址运算单元,用于在报文接收单元接收到中继设备的DHCP配置请 求报文时,判断DHCP配置请求报文中携带的中继地址字段的值是否为0,当中 继设备地址的值为0时,查接收该DHCP配置请求报文的端口的IP地址对应 的地址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请求 报文的端口的IP地址对应的地址池范围进行交集运算,当中继设备地址的值不 为0时,查该中继设备地址对应的地址池,对DHCP配置请求报文中携带的 IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

所述地址设置单元,用于将地址运算单元的交集运算结果中的每个IP地址 设置为禁用IP;

所述报文发送单元,用于将地址运算单元的交集运算结果中的所有IP地址 携带在DHCP配置应答报文中返回给中继设备。

该DHCP服务器还包括检测单元;

所述检测单元,用于检测本设备的DHCP配置是否发生变化;

所述报文发送单元,进一步用于在检测单元检测到本设备的DHCP配置变 化时,向中继设备发送指示DHCP配置变化的DHCP配置通告报文,用以使中 继设备回收已经分配给各DHCP客户端的IP地址并重新发送DHCP配置请求报 文;

所述地址设置单元,用于在检测单元检测到本设备的DHCP配置变化时, 恢复所有被禁止IP。

由上面的技术方案可知,本发明中,中继设备向DHCP服务器申请IP 地址并将申请的IP地址放入动态地址池;当接收到DHCP客户端的申请地 址的请求时,如果动态地址池中存在空闲IP地址,则基于动态地址池为DHCP 客户端分配IP地址。应用本发明后,中继设备可以代替DHCP服务器完成 执行部分IP地址的动态分配,从而可以降低DHCP服务器的负载。

图1是现有技术中DHCP报文交互过程的示意图;

图2是现有技术第一种典型的DHCP组网示意图;

图3是现有技术第二种典型的DHCP组网示意图;

图4是本发明实施例动态地址分配方法的流程图;

图5是本发明实施例另一种动态地址分配方法的流程图;

图6是本发明实施例DHCP配置报文中UDP数据部分的格式示意图;

图7是本发明实施例提供的中继设备的结构示意图;

图8是本发明实施例提供的DHCP服务器的结构示意图。

为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并 举实施例,对本发明的技术方案进行详细说明。

本发明的主要思想是:中继设备代替DHCP服务器完成部分地址分配工 作。为此,先向DHCP服务器申请批量IP地址放入动态地址池;当接收到 DHCP客户端的分配IP地址的请求时,判断动态地址池中是否存在空闲的IP 地址,当存在空闲的IP地址时,基于动态地址池为DHCP客户端分配IP地 址,当不存在空闲的IP地址时,按照现有技术的方法转发DHCP客户端的 分配IP地址的请求到DHCP服务器处理。其中,DHCP客户端发送的分配 IP地址的请求包括:DHCP发现报文和DHCP请求报文,下面结合图4对中 继设备接收到这两种报文后的IP地址分配处理进行说明。

参见图4,图4是本发明实施例动态地址分配方法的流程图,包括以下步骤:

步骤401、中继设备向DHCP服务器申请IP地址,将申请得到的IP地址放 入动态地址池。

本实施例中,预先定义了DHCP配置请求报文和DHCP配置应答报文,其 中,DHCP配置请求报文是中继设备向DHCP服务器发送的,用于向DHCP服 务器申请批量IP地址;DHCP配置应答报文是DHCP服务器向中继设备发送的, 用于将中继设备可以申请到的IP地址信息反馈给中继设备。

因此,中继设备向DHCP服务器申请IP地址的方法为:向DHCP服务器发 送携带预设IP地址范围信息的DHCP配置请求报文;接收DHCP服务器返回的 DHCP配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中, DHCP配置应答报文中携带的IP地址即为中继设备从DHCP服务器申请得到的 IP地址。DHCP接收到中继设备的申请IP地址的请求后,确定可以分配给中继 设备的IP地址的具体实现将在后续进行详细说明。

步骤402、当中继设备接收到DHCP客户端的DHCP发现报文时,判断动 态地址池中是否存在空闲IP地址,当存在空闲IP地址时,选择一个空闲IP地 址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息,并模拟DHCP 服务器返回携带该IP地址的DHCP授权报文。

在实际应用中,DHCP客户端和DHCP服务器之间需要交互DHCP发现报 文、DHCP授权报文、DHCP请求报文和DHCP确认报文完成地址分配。

本步骤中,中继设备接收到DHCP客户端的DHCP发现报文后,先判断动 态地址池中是否存在空闲IP地址(也即尚未分给给其他DHCP客户端的IP地 址),如果存在,则由中继设备为DHCP客户端分配IP地址,并模拟DHCP服 务器返回DHCP授权报文,DHCP授权报文中携带临时分配给DHCP客户端的 IP地址,如果不存在,则由DHCP服务器为DHCP客户端分配IP地址,也即按 照现有技术的方法正常处理DHCP客户端发送的DHCP发现报文,包括:转发 DHCP发现报文到DHCP服务器,如果接收到DHCP服务器在接收到DHCP发 现报文后返回的DHCP授权报文,则转发DHCP授权报文至DHCP客户端。

这里,临时租约的租期较短,如果在分配给DHCP客户端的IP地址对应的 临时租约到期时,如果未能接收到DHCP客户端的DHCP请求报文,则需要回 收该IP地址,并删除该IP地址对应的临时租约信息。

步骤403、中继设备接收到DHCP客户端的DHCP请求报文时,判断是否 存在DHCP请求报文中携带的IP地址对应的临时租约信息,当存在存在所述IP 地址对应的临时租约信息时,建立将DHCP请求报文中携带的IP地址对应的租 约信息,并模拟DHCP服务器返回DHCP确认报文。

本步骤中,中继设备接收到DHCP客户端的DHCP请求报文时,如果存在 DHCP请求报文中携带的IP地址对应的临时租约信息,则说明该IP地址是由中 继设备分配给DHCP客户端的,中继设备可以将该IP地址正式分配给DHCP客 户端,建立该IP地址对应的正式的租约信息(将该IP地址对应的临时租约的租 期修改为正式租约的租期即可),同时还需要模拟DHCP服务器返回DHCP确认 报文;如果DHCP请求报文中携带的IP地址不是中继设备的动态地址池中的IP 地址,则说明该IP地址是由DHCP服务器按照现有技术的方法分配给DHCP客 户端的,因此,中继设备需要正常处理该DHCP请求报文,也即:转发该DHCP 请求报文至DHCP服务器,如果接收到DHCP服务器在接收到DHCP请求报文 后返回的DHCP确认报文或DHCP nak(DHCP否决)报文时,则转发DHCP 确认报文或DHCP否决报文至DHCP客户端。

本步骤中,在判断是否存在DHCP请求报文中携带的IP地址对应的临时租 约信息时,还可以进一步判断DHCP请求报文中的服务器标识(identifier)字段 的值,根据该字段的值确定DHCP请求报文是否是发送给自己的。

本实施例中,中继设备可以使DHCP Relay,也可以是DHCP Snooping。

当中继设备为DHCP Relay时,DHCP Relay接收到DHCP客户端的DHCP 发现报文后,模拟DHCP服务器向DHCP客户端发送的DHCP授权报文中携带 DHCP Relay的IP地址,而DHCP客户端在接着发送的DHCP请求报文中,会 将DHCP Relay的IP地址作为DHCP请求报文中服务器标识字段的值。这样, 当DHCP relay接收到DHCP客户端的DHCP请求报文时,如果DHCP请求报文 中携带的服务器标识字段的值是自身的IP地址,则可以确定DHCP请求报文是 发给自己的。

当中继设备为DHCP snooping时,由于DHCP snooping应用于二层网络, 不具备IP地址,为了标识DHCP Snooping,DHCP服务器在回应DHCP Snooping 的申请IP地址的请求时,可以在回应报文中携带接收DHCP snooping的申请IP 地址的请求的端口的IP地址,以下将该IP地址简称为服务器IP地址。DHCP snooping接收到DHCP客户端的DHCP发现报文时,可以将该服务器IP地址作 为自身的IP地址携带在DHCP授权报文中,而DHCP客户端在接着发送DHCP 请求报文中,可以将该服务器IP地址作为DHCP请求报文中服务器标识字段的 值。这样,当DHCP Snooping接收到DHCP客户端的DHCP请求报文时,如果 DHCP请求报文中携带的服务器标识字段的值是该服务器IP地址,则可以确定 DHCP请求报文是发给自己的。

图4所示本发明实施例中,当中继设备选择一个空闲IP地址分配给DHCP 客户端时,如果因为设备故障或网络故障等原因导致DHCP客户端未能及时发 送DHCP请求报文,导致中继设备未能再及时接收到DHCP客户端的DHCP请 求报文,则需要及时对该IP地址进行回收。为此,中继设备建立分配给DHCP 客户端的IP地址对应的临时租约信息,并模拟DHCP服务器返回携带临时分配 给DHCP客户端的IP地址的DHCP授权报文之后,进一步包括:如果临时租 约到期未接收到DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收 该IP地址,并删除该IP地址对应的临时租约信息。IP地址被回收后,重新作为 动态地址池中的空闲IP地址,可以继续被分配给其它DHCP客户端。

另外,中继设备为DHCP客户端正式分配IP地址后,建立该IP地址对应的 租约信息之后,如果租约到期,则也需要及时回收该IP地址,删除该IP地址对 应的租约信息。

图4所示本发明实施例中,中继设备接收到DHCP客户端发送的DHCP请 求报文,并建立DHCP请求报文携带的IP地址对应的租约信息,实现将IP地 址正式分配给DHCP客户端后,还需要能够支持DHCP客户端对分配到的IP地 址的续约需求。

当中继设备接收到DHCP客户端的DHCP续约报文时,需要先判断DHCP 续约报文中携带的IP地址是否存在对应的租约信息,如果是,则说明该IP地址 是由中继设备分配给DHCP客户端的,中继设备可以重置该IP地址对应的租约 信息,从而由中继设备实现DHCP客户端的IP地址续约需求,如果否,则说明 该IP地址是由DHCP服务器分配给DHCP客户端的,因此,可以按照现有技术 的方法正常处理该DHCP续约报文:也即转发该DHCP续约报文至DHCP服务 器,从而由DHCP服务器实现根据DHCP客户端的需求延长该IP地址的租期。

另外,中继设备为DHCP客户端正式分配IP地址后,还需要能够支持DHCP 客户端对分配到的IP地址的释放需求。

当中继设备接收到DHCP客户端的DHCP release(DHCP释放)报文时,需 要先判断DHCP释放报文中携带的IP地址是否存在对应的租约信息,如果是, 则说明该IP地址是由中继设备分配给DHCP客户端的,中继设备可以回收该IP 地址,并删除该IP地址对应的租约信息,由中继设备实现DHCP客户端的IP 地址释放需求,如果否,则说明该IP地址是由DHCP服务器分配给DHCP客户 端的,因此,可以按照现有技术的方法正常处理该DHCP释放报文:也即转发 该DHCP释放报文至DHCP服务器,由DHCP服务器实现DHCP客户端的IP 地址释放需求。

在实际应用中,当DHCP服务器的DHCP配置发生变化时,中继设备需要 重新向DHCP服务器申请IP地址,以免造成DHCP配置信息不一致。为此,图 4所示本发明实施例中,还预先定义了DHCP配置通告报文,由DHCP服务器 向中继设备发送,用于通知中继设备DHCP服务器的DHCP配置发送变化。

中继设备接收到DHCP服务器发送的指示DHCP配置变化的DHCP配置通 告报文时,需要回收分配给各DHCP客户端的IP地址,删除分配给各DHCP客 户端的IP地址对应的租约信息,并重新向DHCP服务器申请IP地址。

图4所示本发明实施例中,所述DHCP配置请求报文携带有预设IP地址范 围信息和中继设备地址。其中,预设IP地址范围信息包括最大地址掩码长度和 最小地址掩码长度,表明中继设备申请的IP地址范围,例如,当最大地址掩码 长度为32,最小地址掩码长度为24时,说明中继设备能够申请255个IP地址 (其中包括广播地址等无法分配的地址在内)。中继设备地址的值随中继设备的 不同而不同,当中继设备为DHCP Relay时,中继设备地址的值为该中继设备的 IP地址,相应的,DHCP服务器接收到中继设备的DHCP配置请求报文后,为 中继设备分配申请的IP地址的方法也不相同,下面分别进行说明:

当中继设备为DHCP Relay时,中继设备发送的DHCP配置请求报文中的中 继设备地址的值为该中继设备的IP地址。DHCP服务器接收到中继设备的DHCP 配置请求报文时,会查DHCP配置请求报文中携带的中继设备地址的值对应 的地址池,对DHCP配置请求报文中携带的预设IP地址范围和中继设备地址字 段的值对应的地址池范围进行交集运算,得到的交集运算结果中的IP地址即为 中继设备可以申请得到的IP地址,可以将交集运算结果中的所有IP地址携带在 DHCP配置应答报文中返回给中继设备。

当中继设备为DHCP Snooping时,由于DHCP Snooping应用于二层网络, 中继设备发送的DHCP配置请求报文中的中继设备地址的值为0。DHCP服务器 接收到中继设备的DHCP配置请求报文时,会查接收DHCP配置请求报文的 端口的IP地址对应的地址池,对DHCP配置请求报文中携带的预设IP地址范 围和接收该DHCP配置请求报文的端口的IP地址对应的地址池范围进行交集运 算,得到的交集运算结果中的IP地址即为中继设备可以申请得到的IP地址,可 以将交集运算结果中的所有IP地址携带在DHCP配置应答报文中返回给中继设 备。

需要说明的是,DHCP服务器将所述交集运算结果中的IP地址携带在DHCP 配置应答报文中返回给DHCP中继设备时,还需要将所述交集运算结果中的IP 地址得到的各IP地址设置为禁用IP(forbidden IP),从而这些IP地址不会再被 分配给其它中继设备。DHCP服务器中该中继设备对应的地址池范围包括该地址 池中当前未被设置为禁用IP的所有IP地址,不包括该地址池中当前已经被设置 为禁用IP的IP地址。

本发明还提供了一种动态地址分配方法,应用于DHCP服务器,下面结合 图5进行说明。

图5是本发明实施例另一种动态地址分配方法的流程图,包括以下步骤:

步骤501、DHCP服务器接收到中继设备的DHCP配置请求报文;

步骤502、判断DCHP配置请求报文中携带的中继设备地址的值是否为0, 当中继设备地址的值为0时,查接收DHCP配置请求报文的端口的IP地址对 应的地址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请 求报文的端口的IP地址对应的地址池范围进行交集运算,当中继设备地址的值 不为0时,查该中继设备地址的值对应的地址池,对DHCP配置请求报文中 携带的IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

步骤503、将交集运算结果中的每个IP地址设置为禁用IP;

步骤504、将交集运算结果中的所有IP地址携带在DHCP配置应答报文中 返回给中继设备。

图5所示本发明实施例还进一步包括:DHCP服务器检测到自身的DHCP 配置变化时,恢复所有被禁用IP并向中继设备发送指示DHCP配置变化的DHCP 配置通告报文,用以使中继设备回收已经分配给各DHCP客户端的IP地址并重 新发送DHCP配置请求报文。

在上述图4、图5所示本发明实施例中,DHCP配置报文(包括DHCP配置 请求报文、DHCP配置应答报文、DHCP配置通告报文)可以采用UDP封装, 并作为单播报文传输,UDP数据部分的格式具体可以如图6所示,包括操作码 (op‑code)字段、中继设备地址(relay‑addr)字段、CLV(code、length、value) 字段。其中,op‑code字段用于标识报文的类型,例如,该字段的值为0x01时, 表示是DHCP配置请求报文,该字段的值为0x02时,表示是DHCP配置应答报 文,该字段的值为0x03时,表示是DHCP配置通告报文;relay‑addr字段表示 中继设备地址;CLV字段则用于封装DHCP相关选项,例如,在DHCP配置请 求报文中,该字段可以封装预设IP地址范围信息,;在DHCP配置应答报文中, 该字段可以封装IP地址信息、IP地址掩码、以及相应的DHCP选项等信息,在 DHCP配置通告报文中,该字段可以为空。

以上对本发明实施例动态地址分配方法进行了详细说明,本发明还提供了一 种中继设备和一种DHCP服务器,下面结果图7、图8进行说明。

图7是本发明实施例提供的中继设备的结构示意图,该中继设备包括:地址 申请单元710、地址分配单元720;其中,

地址申请单元710,用于向动态主机配置协议DHCP服务器申请IP地址, 将申请得到的IP地址放入动态地址池;

地址分配单元720,用于接收到DHCP客户端的分配IP地址的请求时,判 断所述动态地址池中是否存在空闲的IP地址,当存在空闲IP地址时,基于所述 动态地址池为DHCP客户端分配IP地址。

所述地址分配单元720,进一步用于当所述动态地址池不存在空闲IP地址 时,将所述DHCP客户端发送的分配IP地址的请求转发给所述DHCP服务器处 理。

所述地址申请单元710,进一步用于接收DHCP服务器发送的指示DHCP 配置变化的DHCP配置通告报文,回收分配给各DHCP客户端的IP地址,删除 分配给各DHCP客户端的IP地址对应的租约信息,并重新向DHCP服务器申请 IP地址。

在上述装置中,所述地址分配单元720包括:接收单元721、分配单元722、 发送单元723;

所述接收单元721,用于接收DHCP客户端发送的DHCP发现报文;用于 接收DHCP客户端发送的DHCP请求报文;

所述分配单元,用于在收发单元接收到DHCP客户端的DHCP发现报文时, 判断动态地址池中存在空闲IP地址,当存在空闲IP地址时,选择一个空闲IP 地址分配给所述DHCP客户端,建立该IP地址对应的临时租约信息,并通知发 送单元723模拟DHCP服务器返回携带该IP地址的DHCP授权报文;用于在接 收单元721接收到DHCP客户端的DHCP请求报文时,判断是否存在DHCP请 求报文中携带的IP地址对应的临时租约信息,当存在所述IP地址对应的临时租 约信息时,建立DHCP请求报文中携带的IP地址对应的租约信息,并通知发送 单元723模拟DHCP服务器返回DHCP确认报文。

所述分配单元722在选择一个空闲IP地址分配给所述DHCP客户端,建立 该IP地址对应的临时租约信息之后,进一步用于:如果临时租约到期接收单元 721未接收到DHCP客户端发送的携带该IP地址的DHCP请求报文,则回收该 IP地址,删除该IP地址对应的临时租约信息;

所述分配单元722在建立DHCP请求报文中携带的IP地址对应的租约信息 之后,进一步用于:如果租约到期,则回收该IP地址,删除该IP地址对应的租 约信息。

所述接收单元721,进一步用于接收DHCP客户端的DHCP续约报文;用 于接收DHCP客户端的DHCP释放报文;

所述分配单元722,进一步用于在接收单元721接收到DHCP客户端的 DHCP续约报文时,判断是否存在DHCP续约报文中携带的IP地址对应的租约 信息,当存在对应的租约信息时,重置该IP地址对应的租约信息;用于在接收 单元721接收到DHCP客户端的DHCP释放报文时,判断是否存在DHCP释放 报文中携带的IP地址对应的租约信息,当存在对应的租约信息时,回收该IP地 址,并删除该IP地址对应的租约信息,否则,正常处理该DHCP释放报文。

在上述装置中,所述中继设备为DHCP中继设备relay;

所述地址申请单元710在向DHCP服务器申请IP地址时,用于:向DHCP 服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文, 所述中继设备地址的值为中继设备的IP地址;接收DHCP服务器返回的DHCP 配置应答报文,获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP 地址信息为DHCP服务器对接收到的DHCP配置请求报文中携带的预设IP地址 范围和DHCP服务器中该中继设备地址对应的地址池范围的交集运算结果;

在上述装置中,所述中继设备为DHCP探测设备snooping;

所述地址申请单元710在向DHCP服务器申请IP地址时,用于:向DHCP 服务器发送携带预设IP地址范围信息和中继设备地址的DHCP配置请求报文, 所述中继设备地址的值为0;接收DHCP服务器返回的DHCP配置应答报文, 获取DHCP配置应答报文中携带的IP地址信息,其中,所述IP地址信息为DHCP 服务器对接收到的DHCP配置请求报文中携带的预设IP地址范围和DHCP服务 器接收该DHCP配置请求报文的端口的IP地址对应的地址池范围的交集运算结 果。

图8是本发明实施例提供的DHCP服务器的结构示意图,该DHCP服务器 包括:报文接收单元801、地址运算单元802、地址设置单元803、报文发送单 元803;其中,

报文接收单元801,用于接收中继设备的DHCP配置请求报文;

地址运算单元802,用于在报文接收单元701接收到中继设备的DHCP配置 请求报文时,判断DHCP配置请求报文中携带的中继地址字段的值是否为0,当 中继设备地址的值为0时,查接收该DHCP配置请求报文的端口的IP地址对 应的地址池,对DHCP配置请求报文中携带的IP地址范围和接收DHCP配置请 求报文的端口的IP地址对应的地址池范围进行交集运算,当中继设备地址的值 不为0时,查该中继设备地址对应的地址池,对DHCP配置请求报文中携带 的IP地址范围和该中继设备地址对应的地址池范围进行交集运算;

地址设置单元803,用于将地址运算单元的交集运算结果中的每个IP地址 设置为禁用IP;

报文发送单元803,用于将地址运算单元802的交集运算结果中的所有IP 地址携带在DHCP配置应答报文中返回给中继设备。

该DHCP服务器还包括检测单元805;

所述所述检测单元805,用于检测本设备的DHCP配置是否发生变化;

所述报文发送单元804,进一步用于在检测单元805检测到本设备的 DHCP配置变化时,向中继设备发送指示DHCP配置变化的DHCP配置通告 报文,用以使中继设备回收已经分配给各DHCP客户端的IP地址并重新发 送DHCP配置请求报文;

所述地址设置单元803,用于在检测单元805检测到本设备的DHCP配置变 化时,恢复所有被禁止IP。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。

本文发布于:2023-04-14 16:03:59,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/86572.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图