CN101330531B - Dhcp地址分配处理方法和dhcp中继 - Google Patents

Dhcp地址分配处理方法和dhcp中继 Download PDF

Info

Publication number
CN101330531B
CN101330531B CN2008101175135A CN200810117513A CN101330531B CN 101330531 B CN101330531 B CN 101330531B CN 2008101175135 A CN2008101175135 A CN 2008101175135A CN 200810117513 A CN200810117513 A CN 200810117513A CN 101330531 B CN101330531 B CN 101330531B
Authority
CN
China
Prior art keywords
address
dhcp
message
dynamic host
configuration protocol
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.)
Active
Application number
CN2008101175135A
Other languages
English (en)
Other versions
CN101330531A (zh
Inventor
邱元香
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2008101175135A priority Critical patent/CN101330531B/zh
Publication of CN101330531A publication Critical patent/CN101330531A/zh
Application granted granted Critical
Publication of CN101330531B publication Critical patent/CN101330531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种DHCP地址分配处理方法,应用在部署有互相备份的DHCP服务器的组网中,各DHCP服务器关于地址分配的配置相同,包括:DHCP中继接收来自DHCP客户端的与地址相关的请求报文,将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;当DHCP中继接收到各DHCP服务器根据所述配置对所述与地址相关的请求报文进行处理的处理结果报文时,将所接收的处理结果报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送。本发明还公开了一种DHCP中继。使用本发明确保各DHCP服务器可以获得相同的租约记录,从而实现租约记录的备份。

Description

DHCP地址分配处理方法和DHCP中继
技术领域
本发明涉及动态主机配置协议(DHCP,Dynamic Host ConfigurationProtocol)技术领域,具体涉及应用于部署有互相备份的DHCP服务器的组网中的DHCP地址分配处理方法和一种DHCP中继。
背景技术
随着网络规模的扩大和网络复杂度的提高,网络配置越来越复杂,经常出现计算机位置变化(如便携机或无线网络)和计算机数量超过可分配的IP地址的情况。动态主机配置协议(DHCP)就是为满足这些需求而发展起来的。
DHCP采用客户端/服务器通信模式,由DHCP客户端向DHCP服务器提出地址配置申请,DHCP服务器返回为DHCP客户端分配的IP地址等相应的配置信息,以实现IP地址等信息的动态配置。
由于在IP地址动态配置过程中,DHCP客户端会在有些阶段采用广播方式向DHCP服务器发送报文,因此DHCP只适用于DHCP客户端和DHCP服务器处于同一个子网内的情况。为了在各个网段上都是实现动态主机配置,需要在所有网段上都分别设置一个DHCP服务器,这显然是很不经济的。于是就引入了DHCP中继:DHCP客户端可以通过DHCP中继与不同子网的DHCP服务器通信,最终获取到IP地址。这样,多个网段上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于集中管理。
为了保证网络的可靠性,通常在组建网络时设置两台或多台DHCP服务器,并令多台DHCP服务器互为备份。
图1为部署互相备份的DHCP服务器的组网图,如图1所示,多个DHCP客户端通过DHCP中继向DHCP服务器申请地址,DHCP中继指定下挂DHCP客户端的DHCP服务器为DHCP服务器A和DHCP服务器B,且两台DHCP服务器互为备份。以DHCP客户端1申请地址为例,假如DHCP中继的IP地址为192.168.100.1/24,DHCP服务器A的IP地址为192.168.200.10/24,DHCP服务器B的IP地址为192.168.201.10/24,DHCP客户端1申请地址的完整流程如图2所示,具体步骤如下:
步骤201:DHCP客户端1发送广播的DHCP发现(DISCOVER)报文,用于发现网络中的DHCP服务器。DHCP DISCOVER报文是开始DHCP过程的第一个报文。
步骤202:DHCP中继收到DHCP DISCOVER报文后,根据网络管理员预先配置在DHCP中继的DHCP服务器地址,将DHCP DISCOVER报文同时转发到DHCP服务器A和DHCP服务器B上。
步骤203:DHCP服务器A和DHCP服务器B根据自身与地址分配相关的配置,为DHCP客户端1分配一个可用的IP地址,然后DHCP服务器A和DHCP服务器B分别给DHCP中继回应OFFER报文,该报文中携带分配的IP地址。
由于DHCP服务器A和DHCP服务器B的配置不同,为DHCP客户端1分配的IP地址也不同。例如,DHCP服务器A分配的IP地址为192.168.100.50,DHCP服务器B分配的IP地址为192.168.100.200。
步骤204:DHCP中继分别收到DHCP服务器A和DHCP服务器B发来的OFFER报文,将这两个OFFER报文转发给DHCP客户端1。
步骤205:DHCP客户端1收到DHCP服务器A和DHCP服务器B的OFFER报文后,根据内部选择策略从两个DHCP服务器中选择一个。
这里,假设DHCP客户端1选定DHCP服务器B。
步骤206:DHCP客户端1发送广播的DHCP REQUEST报文,DHCPREQUEST报文中的Option 54(Server Identifier)填充为DHCP客户端1选定的DHCP服务器B的IP地址:192.168.201.10/24;Option 50填充为选定的DHCP服务器B准备分配给DHCP客户端1的IP地址:192.168.100.200。
其中,Option 54是DHCP报文中的服务器标识字段,标识DHCP客户端选择的DHCP服务器的IP地址;Option 50是DHCP报文中的客户请求的IP地址字段。
步骤207:DHCP中继收到DHCP REQUEST报文后,将报文转发给DHCP服务器A和DHCP服务器B。
步骤208:DHCP服务器A收到DHCP REQUEST报文后,解析Option54,发现服务器标识字段中的IP地址不是自己的IP地址,于是获知DHCP客户端1未选定自己,则丢弃该报文,同时清除准备分配给DHCP客户端1的IP地址记录。
DHCP服务器B收到DHCP REQUEST报文后,解析Option 54,发现服务器标识字段中的IP地址是自己的IP地址,获知DHCP客户端1选定了自己,于是再确认分配给DHCP客户端1的IP地址:192.168.100.200是否仍然可分配给DHCP客户端1,若是,则向DHCP客户端1返回DHCP ACK(确认响应)报文;否则,通过DHCP中继向DHCP客户端1返回DHCP NAK(拒绝响应)报文,以便DHCP客户端1重新申请其它地址。假设,DHCP服务器B向DHCP客户端1返回DHCP ACK报文。
步骤209:DHCP客户端1收到DHCP服务器B的ACK报文,将DHCP服务器B分配的IP地址设置到网卡,此后使用该IP地址直到租约到期;同时,DHCP客户端1记录DHCP服务器B的IP地址,用于后续的续约和租约释放。
图3示出了续约过程,如图3所示,具体步骤如下:
步骤301:DHCP客户端1发现IP地址使用时间达到整个租约时间的50%,且确定要续约该IP地址,则发送单播的请求续约的DHCP REQUEST报文,报文的目的IP为DHCP服务器B的IP地址。
单播的REQUEST报文在DHCP中继上直接进行硬件三层转发,所以,DHCP中继无法感知,DHCP服务器A也接收不到该报文。
步骤302:DHCP服务器B收到单播DHCP REQUEST报文后,若允许DHCP客户端1继续使用IP地址:192.168.100.200,则返回ACK报文;否则,返回NAK报文。这里,假设允许DHCP客户端1继续使用IP地址,并返回ACK报文。
步骤303:若DHCP客户端1收到DHCP服务器B的DHCP ACK报文,则延长租约时间,继续使用IP地址。
在实际中,如果DHCP服务器B发生迁移,或者DHCP服务器B的IP地址发生变化,则可能导致DHCP客户端1一直收不到DHCP ACK报文。
在这种情况下,DHCP客户端1到租约时间的87.5%时,会再次发送广播的DHCP REQUEST报文进行续约,若收到DHCP服务器的ACK报文,则延长租约,继续使用IP地址。如果仍不能收到ACK报文,则在租约到期后,DHCP客户端1发送广播的DHCP DISCOVER报文重新申请地址。
若DHCP客户端1一直在线,且一直需要使用该IP地址:192.168.100.200,则每到租约时间的50%时,都会重复步骤301~303,这样DHCP客户端1的租约就可以不断得到延长。
步骤304:DHCP客户端1不希望继续使用该IP地址:192.168.100.200,则发送DHCP RELEASE报文,让DHCP服务器B回收该IP地址。
从上述DHCP客户端申请地址的过程可以看出,DHCP客户端在向选定的DHCP服务器确认申请的IP地址后,会记录该DHCP服务器的IP地址,这样在续约申请的IP地址时,可直接在单播DHCP REQUEST报文中填充该DHCP服务器的IP地址,而无需通过DHCP中继向所有DHCP服务器广播DHCP REQUEST报文。这样带来的问题是:在多台DHCP服务器互为备份组网时,若刚好DHCP客户端选定的DHCP服务器出现故障,则续约就会失败;同时,由于续约失败,当租约到期时,DHCP客户端会向其它DHCP服务器申请新的IP地址,在删除客户端网卡上的旧IP地址到获得新IP地址之前,用户流量会中断,尤其是,若DHCP客户端不具备自动重新申请IP的机制,则用户流量会一直中断。
可见,虽然在组网时部署了多台互为备份的DHCP服务器,但实际上并没有起到租约记录备份的作用,当一台或多台DHCP服务器出现故障时,向故障DHCP服务器请求续约的客户端无法进行续约。
发明内容
本发明提供一种应用在部署有互相备份的DHCP服务器的组网中的地址分配处理方法,使得各DHCP服务器可以获得相同的租约记录,从而实现租约记录的备份。
本发明的技术方案是这样实现的:
一种动态主机配置协议DHCP地址分配处理方法,应用在部署有互相备份的DHCP服务器的组网中,各DHCP服务器关于地址分配的配置相同,该方法包括:
DHCP中继接收来自DHCP客户端的与地址相关的请求报文,将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,针对所接收的与地址相关的请求报文进行处理;
在所述DHCP中继接收到DHCP服务器进行所述处理后返回的处理结果报文时,将所接收的处理结果报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送。
所述将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送为:
DHCP中继按照所述DHCP服务器的数目,将所接收的与地址相关的请求报文复制成多份,分别将各份与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向每个DHCP服务器发送一份修改后的与地址相关的请求报文。
所述将所接收的处理结果报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送为:DHCP中继接收到不同DHCP服务器返回的相同的处理结果报文后,将其中一个处理结果报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送。
在所述与地址相关的请求报文为请求地址分配的发现DISCOVER报文时,所述处理结果报文为OFFER报文;
在所述与地址相关的请求报文为请求为地址续约的请求REQUEST报文、且该报文中的服务器标识字段填充为所述DHCP中继的地址时,所述处理结果报文为确认响应ACK报文或拒绝响应NAK报文。
一种DHCP中继,应用在部署有互相备份的DHCP服务器的组网中,其特征在于,各DHCP服务器关于地址分配的配置相同;该DHCP中继包括:
接收单元,用于将接收自DHCP客户端的与地址相关的请求报文发送给第一报文处理单元;将接收自各DHCP服务器的处理结果报文发送给第二报文处理单元;所述处理结果报文是DHCP服务器根据自身关于地址分配的配置对与地址相关的请求报文进行处理后得到的;
第一报文处理单元,用于将接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送;
第二报文处理单元,用于将接收的处理结果报文中的服务器标识修改为所在DHCP中继的地址,然后向所述DHCP客户端发送。
所述第一报文处理单元包括复制模块、第一修改模块和第一发送模块:
所述复制模块,用于按照所在组网中DHCP服务器的数目,将接收的与地址相关的请求报文复制成多份;
所述第一修改模块,用于将复制模块复制得到的多份与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址;
所述第一发送模块,用于将第一修改模块修改后的与地址相关的请求报文分别向各DHCP服务器发送。
所述第二报文处理单元包括第二修改模块和第二发送模块;
所述第二修改模块,用于在接收到各DHCP服务器返回的处理结果报文后,将其中一个处理结果报文中的服务器标识修改为所在DHCP中继的地址;
所述第二发送模块,用于将所述第二修改模块修改后的处理结果报文向所述DHCP客户端发送。
所述接收单元和所述第一报文处理单元处理的与地址相关的请求报文为:DISCOVER报文、REQUEST报文、RELEASE报文、INFORM报文或者DECLINE报文;
所述接收单元和所述第二报文处理单元处理的处理结果报文为OFFER报文、ACK报文或者NAK报文。
另一种DHCP地址分配处理方法,应用在部署有互相备份的DHCP服务器的组网中,各DHCP服务器关于地址分配的配置相同,该方法包括:
DHCP中继将来自DHCP客户端的DISCOVER报文发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端分配地址,向所述DHCP中继返回携带所分配地址的OFFER报文;
DHCP中继将所接收的其中一个OFFER报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送;
DHCP中继接收来自DHCP客户端的确认地址分配的REQUEST报文,将所接收的REQUEST报文中的服务器标识由DHCP中继的地址分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端进行确认地址分配处理,并在确认分配时生成租约记录;向所述DHCP中继返回响应报文;
DHCP中继将所接收的其中一个响应报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送。
该方法进一步包括:
DHCP中继接收来自DHCP客户端的请求续约的REQUEST报文,将所接收的REQUEST报文中的服务器标识由DHCP中继的地址分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端进行续约处理并更新租约记录,向所述DHCP中继返回响应报文;
DHCP中继将所接收的其中一个响应报文中的服务器标识修改为DHCP中继的地址,然后向所述DHCP客户端发送。
可见,本发明的DHCP中继通过修改服务器标识选项,对DHCP客户端屏蔽了多个DHCP服务器的存在,DHCP客户端与DHCP服务器间的所有DHCP报文都会经过DHCP中继;那么DHCP中继感知到所有来自DHCP客户端的报文,并将报文发送给所有DHCP服务器。由于所有DHCP具有相同的配置,因此地址分配以及地址续约的处理结果都是相同的,因此不同DHCP获得租约记录相同。
即使其中某台服务器出现故障,其他备份服务器可以根据租约记录进行续约处理,保证DHCP客户端能够继续使用原先的IP地址,而不会出现流量中断需要重新申请地址的情况。
其次,DHCP中继统一处理来往于DHCP客户端和DHCP服务器的报文,有益于DHCP中继采取集中控制策略,统一管理DHCP流量。
此外,按本发明的方案,DHCP客户端和DHCP服务器都不需要任何修改,完全可以按照DHCP协议实现,只需要把DHCP服务器关于地址分配的配置设置成一样即可,所以,也就不存在不同厂家的设备间不能互通的问题。
附图说明
图1为现有的部署备份DHCP服务器的组网图。
图2为现有技术中在图1所示组网中申请IP地址的流程图。
图3为现有技术中在图1所示组网中续约和释放IP地址的流程图。
图4A和图4B为本发明实施例中DHCP客户端申请IP地址的流程图。
图5为本发明实施例中DHCP客户端请求续约IP地址的流程图。
图6为本发明实施例中DHCP中继的结构示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的核心思想是:将所有DHCP服务器关于地址分配的配置设置为相同;DHCP中继接收来自DHCP客户端的与地址相关的请求报文,将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送;各DHCP服务器接收到与地址相关的请求报文后,根据自身配置进行相应处理;在DHCP中继接收到DHCP服务器进行相应处理后返回的处理结果报文时,将所接收的处理结果报文中的服务器标识修改为DHCP中继的地址,然后向DHCP客户端发送。
其中,与地址相关的请求报文是指请求分配地址的报文(DHCPDISCOVER),请求为地址续约的报文(DHCP REQUEST),请求释放地址的报文(DHCP RELEASE)、请求禁止再分配某个地址的报文(DHCPDECLINE)以及请求获得网络配置信息的报文(DHCP INFORM)等等。相应地,处理结果报文是DHCP服务器根据与地址相关的请求报文进行处理后,回应DHCP客户端的报文。当然,DHCP服务器根据某个与地址相关的请求报文进行处理后,也可能不回应客户端。
可见,本发明的DHCP中继通过修改服务器标识选项,对DHCP客户端屏蔽了多个DHCP服务器的存在,DHCP客户端与DHCP服务器间的所有DHCP报文都会经过DHCP中继;那么DHCP中继感知到所有来自DHCP客户端的报文,并将报文发送给所有DHCP服务器。由于所有DHCP具有相同的配置,因此地址分配以及地址续约的处理结果都是相同的,因此不同DHCP获得租约记录相同。这样,只要有一个DHCP服务器正常,就可以保证续约成功。
图4A和图4B示出了本发明实施例提供的DHCP客户端申请IP地址的流程图,如图4A和图4B所示,其具体步骤如下:
步骤401:DHCP客户端发送广播的DHCP DISCOVER报文。
步骤402:DHCP中继收到DHCP DISCOVER报文后,按照DHCP服务器的数目,复制该报文,根据网络管理员预先配置的DHCP服务器的IP地址,将每个DHCP DISCOVER报文的Option 54分别修改为每个DHCP服务器的IP地址,然后将每个修改后的DHCP DISCOVER报文分别发送给每个DHCP服务器。DHCP报文中的Option 54项内容为服务器标识(ServerIdentifier)。
DHCP DISCOVER报文的数目与DHCP服务器的数目相同,所有DHCP服务器都可收到一个DHCP DISCOVER报文。
在实际中,本步骤也可以不执行复制和修改操作,按照现有对DISCOVER报文的处理操作,将接收的DHCP DISCOVER报文转发给各DHCP服务器。
步骤403:每个DHCP服务器收到DHCP DISCOVER报文,根据配置的IP地址分配规则,从自身的IP地址池中选择一个可用的IP地址,给DHCP中继返回DHCP OFFER报文,报文中携带选择的IP地址。
其中,IP地址池和地址分配规则为前述关于地址分配的配置。由于所有DHCP服务器的IP地址池相同、地址分配规则相同,所以,所有DHCP服务器为DHCP客户端分配的IP地址相同。
如果某个DHCP服务器出现了故障的话,它不会处理DHCP DISCOVER报文,但由于有其他存活的DHCP服务器,所以不会影响给DHCP客户端分配IP地址。
步骤404:DHCP中继收到各DHCP服务器返回的DHCP OFFER报文,将其中一个DHCP OFFER报文的Option54选项修改为该DHCP中继的IP地址,将该报文发送给DHCP客户端。
本实施例中,DHCP中继虽然收到了多个DHCP OFFER报文,但是只会向DHCP客户端发送一个DHCP OFFER报文,从而减少了网络传输负担。
如果DHCP中继接收到的DHCP OFFER报文少于其发送出去的DISCOVER报文,则可能出现了某个或某些DHCP服务器故障,DHCP中继不需要关心是哪个DHCP服务器出现了故障。
步骤405:DHCP客户端收到DHCP OFFER报文后,解析报文中的Option54,将Option54中的DHCP中继的IP地址记录为选定的DHCP服务器的IP地址。
步骤406:DHCP客户端发送广播的DHCP REQUEST报文,以确认DHCP服务器分配的IP地址,所发送的DHCP REQUEST报文中的Option 54填充为DHCP中继的IP地址;Option 50填充为DHCP服务器准备分配给DHCP客户端的IP地址。
步骤407:DHCP中继收到DHCP REQUEST报文后,按照DHCP服务器的数目,将所接收的DHCP REQUEST报文复制为多份,根据网络管理员预先配置好的各DHCP服务器的IP地址,将每份报文中的Option 54分别修改为一个DHCP服务器的IP地址,然后将修改后的每份报文分别发送给Option 54指示的目的DHCP服务器。
步骤408:DHCP服务器收到DHCP REQUEST报文后,解析报文中的Option 54,发现Option54记载的服务器标识是自己的IP地址,且Option 50中的IP地址也是自己最近分配给DHCP客户端的IP地址,于是认为DHCP客户端选定了自己,则生成正式的租约记录,将IP地址正式分配给DHCP客户端,同时向DHCP客户端返回ACK报文。
由于每个DHCP服务器都接到了DHCP REQUEST报文,因此本步骤中,每个DHCP服务器的行为相同,都认定DHCP客户端选中了自己,且都会生成正式租约记录并返回DHCP ACK报文。这样,所有DHCP服务器上都会有相同的租约记录。
如果此时DHCP服务器确定不能将准备分配给DHCP客户端的地址分配给客户端,则返回DHCP NAK报文。
由于每个DHCP服务器关于地址分配的配置都相同,所以各个DHCP服务器返回的信息也是相同的,即要么都返回DHCP ACK报文,要么都返回DHCP NAK报文。
另外,这个时候,如果某个DHCP服务器出现了故障的话,它不会处理DHCP REQUEST报文,但由于有其他存活的DHCP服务器,所以也不会影响给DHCP客户端分配IP地址。
步骤409:DHCP中继收到各DHCP ACK报文后,将其中一个DHCPACK报文中的Option 54修改为DHCP中继的IP地址,将修改后的DHCPACK报文发送给DHCP客户端。
步骤410:DHCP客户端收到DHCP ACK报文后,将DHCP服务器分配的IP地址设置到网卡,此后使用该IP地址直到租约到期;同时,DHCP客户端将DHCP中继的IP地址记录为选定的DHCP服务器的IP地址。
图5为本发明实施例提供的DHCP客户端续约和释放租约的流程图,如图5所示,其具体步骤如下:
步骤501:DHCP客户端发现IP地址使用时间达到整个租约时间的50%,且确定续约该IP地址,则发送单播的DHCP REQUEST报文,报文的目的IP地址为客户端所记录的认为其选定的DHCP服务器的IP地址,即:DHCP中继的IP地址。
步骤502:DHCP中继收到DHCP REQUEST报文后,按照DHCP服务器的数目,复制该DHCP REQUEST报文,将每个DHCP REQUEST报文中的Option 54修改为一个DHCP服务器的IP地址,分别将每个报文发送给目的DHCP服务器。
步骤503:每个DHCP服务器收到DHCP REQUEST报文,确定是否继续让DHCP客户端使用IP地址,在是的情况下则执行步骤504。
如果DHCP服务器不让DHCP客户端继续使用IP地址,则返回DHCPNAK报文。
同样由于各个DHCP服务器关于地址分配的配置都相同,所以各个DHCP服务器返回的信息也是相同的,即要么都返回DHCP ACK报文,要么都返回DHCP NAK报文。
另外,这个时候,如果某个DHCP服务器出现了故障的话也没有关系,因为其他DHCP服务器会发送相关同意续约与否的信息。
步骤504:DHCP服务器返回DHCP ACK报文,并延长自身记录租约记录中IP地址的使用时间。
步骤505:DHCP中继收到各DHCP ACK报文后,将其中一个DHCPACK报文的Option 54修改为该DHCP中继的IP地址,将修改后的DHCPACK报文发送给DHCP客户端。
步骤506:DHCP客户端收到DHCP ACK报文后,延长租约时间,继续使用IP地址。
若DHCP客户端一直未收到续约应答的DHCP ACK报文,则直到租约时间的87.5%时,DHCP客户端会再次发送广播DHCP REQUEST报文进行续约,DHCP中继收到该DHCP REQUEST报文后,会将该报文发送给所有DHCP服务器,且,在DHCP服务器返回了DHCP ACK报文时,则将其中一个DHCP ACK报文的Option 54修改为该DHCP中继的IP地址,然后将修改后的ACK报文发送给DHCP客户端,DHCP客户端收到该DHCP ACK报文后,延长租约。
步骤507:当DHCP客户端不希望继续使用当前IP地址时,发送DHCPRELEASE报文,DHCP RELEASE报文的目的IP地址为选定的DHCP服务器的IP地址即:DHCP中继的IP地址。
步骤508:DHCP中继收到DHCP RELEASE报文,按照DHCP服务器的数目复制该DHCP RELEASE报文,并将每个DHCP RELEASE报文的Option 54修改为一个DHCP服务器的IP地址,将每个修改后的DHCPRELEASE报文发送给目的DHCP服务器。
步骤509:每个DHCP服务器收到DHCP RELEASE报文后,回收报文中Option 50所指示的IP地址的租约,更新自身租约记录。
至此,本流程结束。
从图4和图5所示流程可以看出:由于在DHCP客户端请求续约时,DHCP中继会将DHCP REQUEST报文发送给所有DHCP服务器,所有只要有一个DHCP服务器正常,就可以保证续约成功。
此外,按本发明的方案,DHCP客户端和DHCP服务器都不需要任何修改,完全可以按照DHCP协议实现,只需要把DHCP服务器关于地址分配的配置设置成一样即可,所以,也就不存在不同厂家的设备间不能互通的问题。
在实际中,如果DHCP客户端发现DHCP服务器分配给自身的地址无法使用,例如检测到地址冲突,则向DHCP服务器发送DHCP拒绝(DECLINE)报文通知DHCP服务器禁止再分配这个地址。此时,DHCP客户端仍是向DHCP中继发送DHCP DECLINE报文,且报文中的目的地址为DHCP中继;当DHCP中继收到DHCP DECLINE报文后,进行复制和服务器标识修改工作,然后将修改后的DHCP DECLINE报文发送给各个DHCP服务器,那么所有DHCP服务器就可以根据接收到的DHCP DECLINE报文进行相应处理了。
DHCP报文还包括DHCP INFORM报文,当客户端已经获得地址后,通过发送该DHCP INFORM报文可以从DHCP服务器获取其他一些网络配置信息,例如网关地址、域名解析服务器地址,等等。DHCP服务器采用ACK报文返回网络配置信息。在本实施例中,DHCP INFORM报文的发送过程以及服务器响应过程都是通过DHCP中继完成的。
为了实现以上方案,本发明还提供了一种DHCP中继,且该DHCP中继应用在部署有互相备份的DHCP服务器的组网中,该组网中各DHCP服务器的地址池和地址分配规则被配置为相同。
图6为本发明实施例中DHCP中继的结构示意图。如图6所示,该DHCP中继包括接收单元、第一报文处理单元和第二报文处理单元;
接收单元,用于将接收自DHCP客户端的与地址相关的请求报文发送给第一报文处理单元;将接收自各DHCP服务器的处理结果报文发送给第二报文处理单元。
这里,处理结果报文是DHCP服务器根据自身地址池和地址分配规则对其接收的与地址相关的请求报文进行处理后得到的。
其中,与地址相关的请求报文可以为DHCP DISCOVER报文、DHCPREQUEST报文、DHCP RELEASE报文、DHCP DECLINCE报文或DHCPINFORM报文;处理结果报文可以为DHCP OFFER报文、DHCP ACK报文或DHCP NAK报文。
第一报文处理单元,用于将接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送。
具体地,该第一报文处理单元包括复制模块、第一修改模块和第一发送模块,其中,
复制模块,用于按照所在组网中DHCP服务器的数目,将接收的与地址相关的请求报文复制成多份;
第一修改模块,用于将复制模块复制得到的多份与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址;
第一发送模块,用于将第一修改模块修改后的与地址相关的请求报文分别发送给各DHCP服务器。
第二报文处理单元,用于将接收的处理结果报文中的服务器标识修改为所在DHCP中继的地址,然后向DHCP客户端发送。该DHCP客户端为发送与地址相关的请求报文的客户端。
具体地,该第二报文处理单元包括第二修改模块和第二发送模块;其中,
第二修改模块,用于在接收到各DHCP服务器返回的处理结果报文后,将其中一个处理结果报文中的服务器标识修改为所在DHCP中继的地址;
第二发送模块,用于将第二修改模块修改后的处理结果报文发送给DHCP客户端。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种动态主机配置协议DHCP地址分配处理方法,应用在部署有互相备份的DHCP服务器的组网中,其特征在于,各DHCP服务器关于地址分配的配置相同,该方法包括:
DHCP中继装置接收来自DHCP客户端的与地址相关的请求报文,将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,针对所接收的与地址相关的请求报文进行处理;
在所述DHCP中继装置接收到DHCP服务器进行所述处理后返回的处理结果报文时,将所接收的处理结果报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送。
2.如权利要求1所述的方法,其特征在于,所述将所接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送为:
DHCP中继装置按照所述DHCP服务器的数目,将所接收的与地址相关的请求报文复制成多份,分别将各份与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向每个DHCP服务器发送一份修改后的与地址相关的请求报文。
3.如权利要求1所述的方法,其特征在于,所述将所接收的处理结果报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送为:
DHCP中继装置接收到不同DHCP服务器返回的相同的处理结果报文后,将其中一个处理结果报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送。
4.如权利要求1或2或3所述的方法,其特征在于,在所述与地址相关的请求报文为请求地址分配的发现DISCOVER报文时,所述处理结果报文为OFFER报文;
在所述与地址相关的请求报文为请求为地址续约的请求REQUEST报文、且该报文中的服务器标识字段填充为所述DHCP中继装置的地址时,所述处理结果报文为确认响应ACK报文或拒绝响应NAK报文。
5.一种DHCP中继装置,应用在部署有互相备份的DHCP服务器的组网中,其特征在于,各DHCP服务器关于地址分配的配置相同;
该DHCP中继装置包括:
接收单元,用于将接收自DHCP客户端的与地址相关的请求报文发送给第一报文处理单元;将接收自各DHCP服务器的处理结果报文发送给第二报文处理单元;所述处理结果报文是DHCP服务器根据自身关于地址分配的配置对与地址相关的请求报文进行处理后得到的;
第一报文处理单元,用于将接收的与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址,然后向各DHCP服务器发送;
第二报文处理单元,用于将接收的处理结果报文中的服务器标识修改为所在DHCP中继装置的地址,然后向所述DHCP客户端发送。
6.如权利要求5所述的DHCP中继装置,其特征在于,所述第一报文处理单元包括复制模块、第一修改模块和第一发送模块:
所述复制模块,用于按照所在组网中DHCP服务器的数目,将接收的与地址相关的请求报文复制成多份;
所述第一修改模块,用于将复制模块复制得到的多份与地址相关的请求报文中的服务器标识分别修改为各DHCP服务器的地址;
所述第一发送模块,用于将第一修改模块修改后的与地址相关的请求报文分别向各DHCP服务器发送。
7.如权利要求6所述的DHCP中继装置,其特征在于,所述第二报文处理单元包括第二修改模块和第二发送模块;
所述第二修改模块,用于在接收到各DHCP服务器返回的处理结果报文后,将其中一个处理结果报文中的服务器标识修改为所在DHCP中继装置的地址;
所述第二发送模块,用于将所述第二修改模块修改后的处理结果报文向所述DHCP客户端发送。
8.如权利要求5或6或7所述的DHCP中继装置,其特征在于,所述接收单元和所述第一报文处理单元处理的与地址相关的请求报文为:DISCOVER报文、REQUEST报文、RELEASE报文、INFORM报文或者DECLINE报文;
所述接收单元和所述第二报文处理单元处理的处理结果报文为OFFER报文、ACK报文或者NAK报文。
9.一种DHCP地址分配处理方法,应用在部署有互相备份的DHCP服务器的组网中,其特征在于,各DHCP服务器关于地址分配的配置相同,该方法包括:
DHCP中继装置将来自DHCP客户端的DISCOVER报文发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端分配地址,向所述DHCP中继装置返回携带所分配地址的OFFER报文;
DHCP中继装置将所接收的其中一个OFFER报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送;
DHCP中继装置接收来自DHCP客户端的确认地址分配的REQUEST报文,将所接收的REQUEST报文中的服务器标识由DHCP中继装置的地址分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端进行确认地址分配处理,并在确认分配时生成租约记录;向所述DHCP中继装置返回响应报文;
DHCP中继装置将所接收的其中一个响应报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送。
10.如权利要求9所述的方法,其特征在于,该方法进一步包括:
DHCP中继装置接收来自DHCP客户端的请求续约的REQUEST报文,将所接收的REQUEST报文中的服务器标识由DHCP中继装置的地址分别修改为各DHCP服务器的地址,然后发送给各DHCP服务器;
各DHCP服务器根据所述配置,为所述DHCP客户端进行续约处理并更新租约记录,向所述DHCP中继装置返回响应报文;
DHCP中继装置将所接收的其中一个响应报文中的服务器标识修改为DHCP中继装置的地址,然后向所述DHCP客户端发送。
CN2008101175135A 2008-07-31 2008-07-31 Dhcp地址分配处理方法和dhcp中继 Active CN101330531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101175135A CN101330531B (zh) 2008-07-31 2008-07-31 Dhcp地址分配处理方法和dhcp中继

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101175135A CN101330531B (zh) 2008-07-31 2008-07-31 Dhcp地址分配处理方法和dhcp中继

Publications (2)

Publication Number Publication Date
CN101330531A CN101330531A (zh) 2008-12-24
CN101330531B true CN101330531B (zh) 2011-01-19

Family

ID=40206109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101175135A Active CN101330531B (zh) 2008-07-31 2008-07-31 Dhcp地址分配处理方法和dhcp中继

Country Status (1)

Country Link
CN (1) CN101330531B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494669B (zh) * 2009-03-10 2012-11-21 华为技术有限公司 给用户终端分配ip地址的方法和装置
US20120066369A1 (en) * 2009-05-13 2012-03-15 Koninklijke Philips Electronics N.V. Method for assigning a network address for communicating in a segmented network
CN101577738B (zh) * 2009-06-25 2011-08-31 杭州华三通信技术有限公司 一种地址分配的方法和设备
CN101964970B (zh) * 2009-07-24 2014-12-10 中兴通讯股份有限公司 一种中继节点获取网络节点地址的方法及系统
CN101729559B (zh) * 2009-12-03 2012-12-19 中兴通讯股份有限公司 一种dhcp服务器备份的实现方法及系统
CN101873320B (zh) * 2010-06-17 2014-02-12 杭州华三通信技术有限公司 一种基于DHCPv6中继的客户端信息确认方法及其装置
CN101951417B (zh) * 2010-09-21 2013-01-30 北京星网锐捷网络技术有限公司 多服务器地址分配方法、系统及中继设备
CN102098354B (zh) * 2011-02-28 2014-09-10 北京星网锐捷网络技术有限公司 动态主机配置协议地址分配方法及服务器
CN102299932B (zh) * 2011-09-22 2015-03-18 杭州华三通信技术有限公司 一种dhcp服务器备份方法和dhcp服务器
CN102624627A (zh) * 2012-03-15 2012-08-01 杭州华三通信技术有限公司 一种报文的传输方法和设备
CN103533091B (zh) * 2012-07-02 2017-04-12 杭州华三通信技术有限公司 DHCP中继relay处理单播报文的方法和设备
CN103581107B (zh) * 2012-07-19 2017-05-10 国基电子(上海)有限公司 服务器及其设定工作模式的方法
CN102801716B (zh) * 2012-08-01 2015-04-08 杭州迪普科技有限公司 一种dhcp防攻击方法及装置
CN103795581B (zh) * 2012-10-29 2018-05-11 新华三技术有限公司 地址处理方法和设备
CN103428308B (zh) * 2013-08-13 2016-12-28 杭州华三通信技术有限公司 协助dhcp中继刷新地址安全表项的方法及装置
CN103532687A (zh) * 2013-10-18 2014-01-22 上海斐讯数据通信技术有限公司 一种实现动态主机配置协议服务器冗余备份的方法和系统
CN103825974B (zh) * 2014-02-24 2017-11-14 新华三技术有限公司 Dhcp续约处理方法及装置
CN103945016B (zh) * 2014-04-11 2018-07-06 江苏中科羿链通信技术有限公司 一种dhcp服务器主备冗余的方法和系统
CN110855809B (zh) 2014-06-25 2021-10-26 华为技术有限公司 报文处理方法及装置
CN107786682B (zh) * 2016-11-16 2021-06-29 平安科技(深圳)有限公司 一种dhcp request请求报文的处理方法及装置
CN107547688B (zh) * 2017-09-06 2020-07-10 新华三技术有限公司 一种报文处理方法和装置
JP7073841B2 (ja) * 2018-03-28 2022-05-24 株式会社リコー 情報処理装置、パケット中継方法
CN108307002B (zh) * 2018-05-09 2021-06-22 华为技术有限公司 一种dhcp报文处理方法及装置
CN111131445B (zh) * 2019-12-23 2022-08-12 互联网域名系统北京市工程研究中心有限公司 Dhcp集群的调度方法和dhcp集群系统
CN111935335B (zh) * 2020-08-14 2023-06-09 江苏创通电子股份有限公司 一种dhcp地址分配方法及装置
CN114513491B (zh) * 2020-10-28 2023-04-11 华为技术有限公司 获取地址的方法、装置及系统
CN115567486A (zh) * 2022-09-20 2023-01-03 浪潮思科网络科技有限公司 一种mlag环境下的租约同步方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034669A1 (en) * 2002-10-09 2004-04-22 Motorola Inc Routing in a data communication network
CN1889572A (zh) * 2006-07-27 2007-01-03 杭州华为三康技术有限公司 因特网协议地址分配方法及动态主机配置协议中继
JP2007096863A (ja) * 2005-09-29 2007-04-12 Matsushita Electric Ind Co Ltd クライアント装置、サーバ装置及び通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004034669A1 (en) * 2002-10-09 2004-04-22 Motorola Inc Routing in a data communication network
JP2007096863A (ja) * 2005-09-29 2007-04-12 Matsushita Electric Ind Co Ltd クライアント装置、サーバ装置及び通信システム
CN1889572A (zh) * 2006-07-27 2007-01-03 杭州华为三康技术有限公司 因特网协议地址分配方法及动态主机配置协议中继

Also Published As

Publication number Publication date
CN101330531A (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
CN101330531B (zh) Dhcp地址分配处理方法和dhcp中继
CN102647486B (zh) 地址分配方法、设备和系统
CN102025798B (zh) 地址分配处理方法、装置和系统
US7263559B2 (en) Method for preventing IP address cheating in dynamic address allocation
JP4948839B2 (ja) ProfinetIOネットワークでネットワーク・サブスクライバ・デバイス・アドレスを割り振る方法および装置
CN101707637B (zh) 一种分配ip地址的方法及系统
CN102299932B (zh) 一种dhcp服务器备份方法和dhcp服务器
EP2458782A1 (en) Method for multiplexing hot backup ports and network system thereof
CN103534994A (zh) 一种虚拟机迁移后实现通信的方法、设备和系统
CN102244690B (zh) 动态主机配置协议地址分配方法、系统、客户端及服务器
CN101090309A (zh) 一种实现dhcp服务冗余的方法及dhcp服务器
CN101188514A (zh) 自动发现网元设备的方法、装置及系统
WO2017177798A1 (zh) 一种接入点发现云接入控制器的方法和系统
CN103945016A (zh) 一种dhcp服务器主备冗余的方法和系统
CN101873320B (zh) 一种基于DHCPv6中继的客户端信息确认方法及其装置
CN101567908B (zh) 地址分配方法及其装置
CN102624937B (zh) Ip地址配置方法、装置及系统
CN105979202B (zh) 一种数据传输方法及装置
CN101237460B (zh) DHCP Server端租约状态发生变化时的处理方法、系统及装置
JP5818362B2 (ja) ネットワークシステム、ネットワーク管理装置、ネットワーク管理プログラム及びネットワーク管理方法
WO2016202016A1 (zh) 设备管理方法、装置及系统
CN102572003B (zh) 复用地址与端口范围的获取处理方法与系统
CN107547674B (zh) 地址分配方法和装置
US20160241427A1 (en) Service Sending, Receiving Methods and Devices
CN102523316B (zh) 一种地址分配方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.