首页> 中国专利> 因特网协议地址分配方法及动态主机配置协议中继

因特网协议地址分配方法及动态主机配置协议中继

摘要

本发明公开了一种IP地址分配方法,包括:DHCP中继收到DHCP客户端发来的DHCP发现报文,则在自身查找与该DHCP客户端绑定的IP地址,判断查找到的IP地址与该DHCP客户端标识的连续绑定次数是否小于预定次数,若是,将该IP地址作为当前网关IP地址携带在DHCP发现报文中发送给DHCP服务器;否则,在接收该报文的接口的其它IP地址中选择一个作为当前网关IP地址携带在DHCP发现报文中发送给DHCP服务器;本发明同时公开了一种DHCP中继,包括:报文收发模块和绑定IP地址查询模块。本发明提高了DHCP客户端申请IP地址成功的概率,且不需改变原有网络地址规划,在不需增加IP地址的情况下,扩大了局域网的地址范围,适应了目前为快速增加的网络用户分配IP地址需求。

著录项

  • 公开/公告号CN1889572A

    专利类型发明专利

  • 公开/公告日2007-01-03

    原文格式PDF

  • 申请/专利权人 杭州华为三康技术有限公司;

    申请/专利号CN200610099123.0

  • 发明设计人 邱元香;何杭军;

    申请日2006-07-27

  • 分类号H04L29/06(20060101);H04L29/12(20060101);H04L12/56(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人宋志强;麻海明

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路东华为3com公司

  • 入库时间 2023-12-17 18:04:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-17

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20060727

    专利权人的姓名或者名称、地址的变更

  • 2010-06-09

    授权

    授权

  • 2007-02-28

    实质审查的生效

    实质审查的生效

  • 2007-01-03

    公开

    公开

说明书

技术领域

本发明涉及动态主机配置协议技术领域,具体涉及因特网协议地址分配方法以及动态主机配置协议中继。

背景技术

随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化导致因特网协议(IP)地址重分配的情况和计算机数量超过可分配的IP地址的情况,动态主机配置协议(DHCP)就是为满足这些需求而发展起来的。DHCP采用客户端/服务器(Client/Server)方式工作,DHCP客户端向DHCP服务器动态地请求配置信息,DHCP服务器根据策略返回相应的配置信息如:IP地址等。

目前,局域网内的DHCP客户端可以通过DHCP中继与其它子网的DHCP服务器通信,以取得合法的IP地址,从而实现跨网段的IP地址分配。图1为应用DHCP进行跨网段IP地址分配的流程图,如图1所示,其具体步骤如下:

步骤101:DHCP客户端向DHCP中继发送DHCP发现(DISCOVER)报文,以向DHCP服务器申请IP地址。

步骤102:DHCP中继收到该DHCP发现报文后,判断该报文携带的网关IP地址(giaddr)是否为0,若是,执行步骤104;否则,执行步骤103。

DHCP发现报文会经过一个或一个以上的DHCP中继的转发才能到达DHCP服务器,DHCP发现报文在从DHCP客户端发出时,该报文携带的网关IP地址为0,DHCP中继通过判断该报文携带的网关IP地址是否为0,可以得知自身是否为第一个接收到该报文的DHCP中继。

步骤103:DHCP中继直接将该DHCP发现报文转发给DHCP服务器,转至步骤105。

步骤104:DHCP中继以接收该DHCP发现报文的自身接口的主IP地址作为该报文当前携带的网关IP地址,然后将该DHCH发现报文转发给DHCP服务器。

DHCP中继的每个接口通常都对应一个以上的IP地址,且其中一个IP地址为主IP地址。

步骤105:DHCP服务器收到该DHCP发现报文后,判断自身地址池内是否有与该报文携带的网关IP地址同属一个网段的IP地址,若是,执行步骤106;否则,本流程结束。

步骤106:DHCP服务器将自身地址池内与DHCP发现报文携带的网关IP地址同属一个网段的一个IP地址携带在DHCP提供(OFFER)报文中通过DHCP中继发送给DHCP客户端。

DHCP服务器判定自身地址池内没有与DHCP发现报文携带的网关IP地址同属一个网段的IP地址,则不会向DHCP客户端返回DHCP提供报文,DHCP客户端在预定时长内未收到DHCP服务器返回的DHCP提供报文,会向DHCP服务器重新发送DHCP发现报文。

步骤107:DHCP客户端收到该DHCP提供报文后,将该报文携带的IP地址携带在DHCP请求(REQUEST)报文中通过DHCP中继发送给DHCP服务器。

步骤108:DHCP服务器收到该DHCP请求报文后,通过DHCP中继向DHCP客户端返回DHCP确认(ACK)报文,IP地址分配过程结束。

从上述流程可以看出:对于同一DHCP客户端来说,该DHCP客户端每次发送的DHCP发现报文所经过的DHCP中继是相同的,因此每次发送的DHCP发现报文携带的网关IP地址是相同的,若DHCP服务器在第一次收到DHCP发现报文时,在自身地址池内没有查找到与该网关IP地址同属一个网段的IP地址,则本次DHCP客户端将无法申请到IP地址;且,即使DHCP客户端再次发起DHCP发现报文,由于该报文携带的网关IP地址仍然没有改变,所以,除非有其它DHCP客户端刚刚释放了一个与该网关IP地址同属一个网段的IP地址,否则,DHCP客户端仍然无法申请到IP地址。

发明内容

有鉴于此,本发明提供一种IP地址分配方法,以提高DHCP客户端申请IP地址成功的概率;

同时,本发明提供一种DHCP中继,以实现同一DHCP客户端所对应的网关IP地址的更改,从而提高DHCP客户端申请IP地址成功的概率。

为达到上述目的,本发明的技术方案是这样实现的:

一种IP地址分配方法,其特征在于,该方法包括:

A、DHCP中继收到DHCP客户端发来的DHCP发现报文,在自身查找与该DHCP客户端标识绑定的IP地址,根据预先设定的条件将查找到的IP地址或者接收该报文的接口的其它IP地址作为当前网关IP地址,转至步骤B;

B、DHCP中继将携带当前网关IP地址的DHCP发现报文发送给DHCP服务器,DHCP服务器根据所述网关IP地址为DHCP客户端分配IP地址。

步骤A所述根据预先设定的条件将查找到的IP地址或者接收该报文的接口的其它IP地址作为当前网关IP地址包括:DHCP中继判断查找到的IP地址与该DHCP客户端标识的连续绑定次数是否大于预定次数,若是,将该查找到的IP地址作为当前网关IP地址;否则,在接收该DHCP发现报文的接口的其它IP地址中选择一个IP地址作为当前网关IP地址。

所述步骤B之后进一步包括:DHCP客户端向DHCP中继发送DHCP请求报文,DHCP中继收到该报文后,在自身查找与该报文携带的DHCP客户端标识绑定的IP地址,将该IP地址作为当前网关IP地址携带DHCP请求报文中发送给DHCP服务器;DHCP服务器收到该DHCP请求报文后,判断该报文携带的网关IP地址与自身为DHCP客户端分配的IP地址是否属于同一网段,若是,向DHCP客户端返回DHCP确认报文;否则,向DHCP客户端返回DHCP否定报文。

步骤A所述DHCP中继在自身查找与该DHCP客户端绑定的IP地址之后,判断查找到的IP地址与该DHCP客户端标识的连续绑定次数是否小于预定次数之前,进一步包括:

DHCP中继判断是否查找到与该DHCP客户端绑定的IP地址,若是,判断查找到的IP地址与该DHCP客户端标识的连续绑定次数是否小于预定次数;否则,在接收该DHCP发现报文的接口的IP地址中选择一个作为与该DHCP客户端标识绑定的IP地址,并将该IP地址作为当前网关IP地址,转至步骤B。

所述步骤A之前进一步包括:DHCP中继在自身的每个接口为每个客户端设置一个默认IP地址,

所述DHCP中继在接收该DHCP发现报文的接口的IP地址中选择一个作为与该DHCP客户端标识绑定的IP地址为:选择所述为该DHCP客户端设置的默认IP地址作为与该DHCP客户端标识绑定的IP地址。

所述DHCP中继在自身的每个接口为每个DHCP客户端设置一个默认IP地址为:DHCP在每个接口上,将该接口的主IP地址设为所有DHCP客户端的默认IP地址。

所述DHCP中继在自身的每个接口为每个DHCP客户端设置一个默认IP地址包括:DHCP根据DHCP客户端标识在自身的每个接口为每个DHCP客户端设置一个默认IP地址。

所述客户端标识为:客户端的MAC地址,或为:客户端的MAC地址对应的厂商标识。

所述步骤A之前进一步包括:DHCP中继为每个接口的所有IP地址设定一个绑定顺序;

步骤A所述DHCP中继在接收该报文的接口的其它IP地址中选择一个IP地址作为网关IP地址为:根据所述设定的绑定顺序在所述接口的其它IP地址中选择一个IP地址作为网关IP地址。

一种DHCP中继,包括:报文收发模块和绑定IP地址查询模块,其中:

报文收发模块,用于将DHCP客户端发来的DHCP发现报文转发给绑定IP地址查询模块;将绑定IP地址查询模块发来的DHCP发现报文转发给DHCP服务器;

绑定IP地址查询模块,用于在收到报文收发模块发来的DHCP发现报文后,在自身查找与该报文携带的DHCP客户端标识绑定的IP地址,根据预先设定的条件将查找到的IP地址或接收该报文的接口的其它IP地址作为当前网关IP地址携带在DHCP发现报文中发送给报文收发模块。

所述报文收发模块进一步用于,将DHCP客户端发来的DHCP请求报文报文转发给绑定IP地址查询模块,并将绑定IP地址查询模块发来的DHCP请求报文转发给DHCP服务器;

且,绑定IP地址查询模块进一步用于,在收到报文收发模块发来的DHCP请求报文后,在自身查找与该报文携带的DHCP客户端标识绑定的IP地址,若查找到,将该IP地址作为当前网关IP地址携带在DHCP请求报文中发送给报文收发模块,若未查找到,在接收该DHCP请求报文的接口的IP地址中选择一个与该报文携带的DHCP服务器为DHCP客户端分配的IP地址同属一个网段的IP地址作为当前网关IP地址携带在DHCP请求报文中发送给报文收发模块。

所述绑定IP地址查询模块进一步用于,在收到报文收发模块发来的DHCP发现报文后,在自身未查找到与该报文携带的DHCP客户端标识绑定的IP地址,则在接收该报文的自身接口的所有IP地址中选择一个IP地址作为当前网关IP地址携带在该报文中发送给报文收发模块。

与现有技术相比,本发明通过DHCP中继在收到DHCP客户端连续发来的DHCP发现报文后,对每次发送的DHCP发现报文设置不同的网关IP地址,从而提高了DHCP服务器在自身查找到与该网关IP地址同属一个网段的IP地址的概率,即:提高了DHCP客户端申请IP地址成功的概率,且本发明不需改变原有网络地址规划,在不需增加IP地址的情况下,方便地扩大了局域网的地址范围,适应了目前为快速增加的网络用户分配IP地址需求。

附图说明

图1为现有的应用DHCP进行跨网段IP地址分配的流程图;

图2为本发明实施例提供的应用DHCP进行跨网段IP地址分配的流程图;

图3为本发明实施例提供的DHCP中继的结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明再作进一步详细的说明。

图2是本发明实施例提供的应用DHCP进行跨网段IP地址分配的流程图,如图2所示,其具体步骤如下:

步骤201:DHCP客户端向DHCP中继发送DHCP发现(DISCOVER)报文,以申请IP地址

步骤202:DHCP中继收到DHCP发现报文后,判断该报文携带的网关IP地址(giaddr)是否为0,若是,执行步骤204;否则,执行步骤203。

步骤203:DHCP中继直接将该DHCP发现报文转发给DHCP服务器,转至步骤210。

步骤204:DHCP中继根据该报文携带的DHCP客户端标识,在自身查找与该DHCP客户端标识绑定的IP地址。

DHCP客户端标识可以是DHCP客户端的媒体接入控制(MAC)地址等。

步骤205:DHCP中继判断是否查找到与DHCP客户端标识绑定的IP地址,若是,执行步骤206;否则,执行步骤209。

步骤206:DHCP中继判断该IP地址与该DHCP客户端标识的连续绑定次数是否小于预设次数,若是,执行步骤208;否则,执行步骤207。

DHCP客户端通过DHCP发现报文申请IP地址,DHCP服务器通过DHCP提供报文向DHCP客户端分配IP地址,若DHCP客户端在预定时长内未收到DHCP提供报文,则会继续发送DHCP发现报文。DHCP中继每收到一次DHCP发现报文,就会在自身查找一次与DHCP客户端标识绑定的IP地址。

步骤207:DHCP中继在接收该DHCP发现报文的接口的其它IP地址中选择一个IP地址,将与DHCP客户端标识绑定的IP地址切换到该选择的IP地址上,并记录DHCP客户端标识与该切换后的IP地址的连续绑定次数为1,将该IP地址作为网关IP地址携带在DHCP发现报文中发送给DHCP服务器,转至步骤210

DHCP中继可预先设定DHCP客户端标识与自身接口的一个以上IP地址的绑定顺序,此后根据该绑定顺序切换与DHCP客户端标识绑定的IP地址。

步骤208:DHCP中继将该IP地址作为网关IP地址携带在DHCP发现报文中发送给DHCP服务器,转至步骤210。

步骤209:DHCP中继在接收该DHCP发现报文的接口的IP地址中选择一个IP地址,将该IP地址作为网关IP地址携带在DHCP发现报文中发送给DHCP服务器,并建立该DHCP发现报文携带的DHCP客户端标识与该IP地址的绑定关系,记录该IP地址与DHCP客户端标识的连续绑定次数为1。

DHCP服务器可将每个接口的主IP地址作为与DHCP客户端绑定的默认IP地址;或者,为了能够实现负载分担,DHCP服务器可预先构造一个以DHCP客户端MAC地址或DHCP客户端MAC地址所属厂商标识为关键字的哈希(hash)算法,根据该算法计算得到IP地址网段,在每个接口上,为每个DHCP客户端选择一个在所述计算得到的IP地址网段内的IP地址作为与该DHCP客户端标识绑定的默认IP地址。

步骤210:DHCP服务器收到该DHCP发现报文后,判断自身地址池内是否有与该报文携带的网关IP地址同属一个网段的IP地址,若是,执行步骤211;否则,本流程结束。

步骤211:DHCP服务器将自身地址池内与DHCP发现报文同属一个网段的一个IP地址携带在DHCP提供(OFFER)报文中发送给DHCP客户端。

步骤212:DHCP客户端收到该DHCP提供报文后,将该报文携带的IP地址携带在DHCP请求(REQUEST)报文中发送给DHCP中继。

步骤213:DHCP中继收到DHCP请求报文后,在自身保存的DHCP客户端标识与IP地址的绑定关系中,查找到与该DHCP请求报文携带的DHCP客户端标识绑定的IP地址,将该IP地址作为网关IP地址携带在DHCP请求报文中发送给DHCP服务器。

这里,若DHCP中继在自身保存的DHCP客户端标识与IP地址的绑定关系中,未查找到与该DHCP请求报文携带的DHCP客户端标识绑定的IP地址,则在接收该DHCP请求报文的接口的所有IP地址中,查找与该报文携带的DHCP客户端从DHCP服务器申请到的IP地址同属一个网段的IP地址,若查找到,则将该查找到的IP地址作为网关IP地址携带在DHCP请求报文中;若未查找到,则将接收该DHCP请求报文的接口的主IP地址作为网关IP地址携带在DHCP请求报文中。

步骤214:DHCP服务器收到DHCP请求报文后,判断该DHCP请求报文携带的网关IP地址与自身为DHCP客户端分配的IP地址是否属于同一网段,若是,向DHCP客户端返回DHCP确认(ACK)报文;否则,向DHCP客户端返回DHCP否定(NAK)报文。

步骤213同样适用于DHCP请求报文用于续租IP地址的情况。另外,若DHCP中继收到DHCP客户端发来的所携带的网关IP地址为0的DHCP拒绝(DELINE)报文或DHCP通知(INFORM)报文或DHCP释放(RELEASE)报文,则也可采用步骤213得到所述报文携带的当前网关IP地址。

图3是本发明实施例提供的DHCP中继的结构示意图,如图3所示,其主要包括:报文收发模块31和绑定IP地址查询模块32,其中:

报文收发模块31:用于接收DHCP客户端发来的DHCP发现报文,在检测到该报文携带的网关IP地址为0时,将该报文转发给绑定IP地址查询模块32,并在收到绑定IP地址查询模块发来的DHCP发现报文后,将该DHCP发现报文转发给DHCP服务器。

进一步地,报文收发模块31用于接收DHCP客户端发来的DHCP请求报文,在检测到该报文携带的网关IP地址为0时,将该报文转发给绑定IP地址查询模块32,并将绑定IP地址查询模块32发来的DHCP请求报文转发给DHCP服务器。

绑定IP地址查询模块32:用于在收到报文收发模块31发来的DHCP发现报文后,在自身查找与该报文携带的DHCP客户端标识绑定的IP地址,若查找到,判断该IP地址与该DHCP客户端标识的连续绑定次数是否小于预定次数,若小于,将该IP地址作为当前网关IP地址携带在DHCP发现报文中发送给报文收发模块31,并将该IP地址与该DHCP客户端标识的连续绑定次数加1,若不小于,在接收该DHCP发现报文的接口的其它IP地址中选择一个IP地址作为当前网关IP地址携带在DHCP发现报文中发送给报文收发模块31,并记录该选择的IP地址与该DHCP客户端标识的连续绑定次数为1;若未查找到,则在接收该DHCP发现报文的接口的所有IP地址中选择一个IP地址作为当前网关IP地址携带在DHCP发现报文中发送给报文收发模块31,并记录该选择的IP地址与该DHCP客户端标识的连续绑定次数为1。

进一步地,绑定IP地址查询模块32用于,在收到报文收发模块31发来的DHCP请求报文后,在自身查找与该报文携带的DHCP客户端标识绑定的IP地址,若查找到,将该IP地址作为当前网关IP地址携带在DHCP请求报文中发送给报文收发模块31;若未查找到,则根据该报文携带的DHCP客户端从DHCP服务器申请到的IP地址,在接收该DHCP请求报文的接口的所有IP地址中查找与所述申请到的IP地址同属一个网段的IP地址,若查找到,则将该查找到的IP地址作为当前网关IP地址携带在DHCP请求报文中发送给报文收发模块31,否则,将接收该DHCP请求报文的接口的主IP地址作为当前网关IP地址携带在DHCP请求报文中发送给报文收发模块31。

本发明中,DHCP服务器的地址池内,应该在DHCP中继的每个接口所对应的每个IP地址所属的网段内都分配对应的IP地址,以避免携带某个网关IP地址的DHCP发现报文对应的DHCP客户端总是申请不到IP地址的情况。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号