CN102769678B - 一种dhcp地址分配方法及装置 - Google Patents

一种dhcp地址分配方法及装置 Download PDF

Info

Publication number
CN102769678B
CN102769678B CN201210254638.9A CN201210254638A CN102769678B CN 102769678 B CN102769678 B CN 102769678B CN 201210254638 A CN201210254638 A CN 201210254638A CN 102769678 B CN102769678 B CN 102769678B
Authority
CN
China
Prior art keywords
dhcp
client
message
information
address
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
CN201210254638.9A
Other languages
English (en)
Other versions
CN102769678A (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 CN201210254638.9A priority Critical patent/CN102769678B/zh
Publication of CN102769678A publication Critical patent/CN102769678A/zh
Application granted granted Critical
Publication of CN102769678B publication Critical patent/CN102769678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种DHCP地址分配方法及装置,通过DHCP中继将接收到的多个DHCP请求报文处理成包含相应多个客户端信息的DHCP请求报文并单播发送给DHCP服务器,以触发DHCP服务器为多个客户端分配IP地址,以及在接收到DHCP服务器返回的携带有多个客户端信息的DHCP响应报文后,生成相应数量的DHCP响应报文并分别发送给相应客户端,从而一次代理多个客户端向DHCP服务器请求IP地址,与现有技术相比,减少了DHCP中继和DHCP服务器之间交互的报文数量,进而缓解DHCP中继与DHCP服务器之间的报文交互压力。

Description

一种DHCP地址分配方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种DHCP地址分配方法及装置。
背景技术
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是局域网的网络协议,采用服务器/客户端架构,DHCP服务器主要用于:为DHCP客户端自动分配IP地址等配置信息。
如图1所示,DHCP客户端从DHCP服务器动态获取IP地址,主要通过四个阶段进行:
(1)发现阶段,即DHCP客户端寻找DHCP服务器的阶段。客户端以广播方式发送DHCP-DISCOVER报文。
(2)提供阶段,即DHCP服务器提供IP地址的阶段。DHCP服务器接收到客户端的DHCP-DISCOVER报文后,根据IP地址分配的优先次序选出一个IP地址,与其他参数一起通过DHCP-OFFER报文发送给客户端。DHCP-OFFER报文的发送方式由DHCP-DISCOVER报文中的flag字段决定。
(3)选择阶段,即DHCP客户端选择IP地址的阶段。如果有多台DHCP服务器向该客户端发来DHCP-OFFER报文,客户端只接受第一个收到的DHCP-OFFER报文,然后以广播方式发送DHCP-REQUEST报文,该报文中包含DHCP服务器在DHCP-OFFER报文中分配的IP地址。
(4)确认阶段,即DHCP服务器确认IP地址的阶段。DHCP服务器收到DHCP客户端发来的DHCP-REQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:如果确认将地址分配给该客户端,则返回DHCP-ACK报文;否则返回DHCP-NAK报文,表明地址不能分配给该客户端。
由于在IP地址动态获取过程中采用广播方式发送请求报文,因此DHCP只适用于DHCP客户端和服务器处于同一个子网内的情况。为进行动态主机配置,需要在所有网段上都设置一个DHCP服务器,这显然是很不经济的。
DHCP中继功能的引入解决了这一难题:客户端可以通过DHCP中继与其他网段的DHCP服务器通信,最终获取到IP地址。这样,多个网络上的DHCP客户端可以使用同一个DHCP服务器,既节省了成本,又便于进行集中管理。
通过DHCP中继完成动态配置的过程中,DHCP客户端与DHCP服务器的处理方式与不通过DHCP中继时的处理方式基本相同。如图2所示,基于DHCP中继的DHCP地址分配过程包括:具有DHCP中继功能的网络设备收到DHCP客户端以广播方式发送的DHCP-DISCOVER或DHCP-REQUEST报文后,将报文中的giaddr字段填充为DHCP中继的IP地址,并根据配置将报文单播转发给指定的DHCP服务器;DHCP服务器根据giaddr字段为客户端分配IP地址等参数,并通过DHCP中继将配置信息转发给客户端,完成对客户端的动态配置。
可以看出,在DHCP中继和DHCP服务器之间都是通过单播方式转发报文,并且针对每个客户端都进行申请和确认过程,这样,当存在大量客户端同时登录要求申请IP地址的时候,在DHCP中继和DHCP服务器之间就存在大量的报文交互,对中继和服务器造成一定的压力。
发明内容
本发明提供了一种DHCP地址分配方法及装置,用于在基于DHCP中继进行IP地址分配的过程中,缓解DHCP中继与DHCP服务器之间的报文交互压力。
本发明实施例提供的DHCP地址分配方法,应用于通过DHCP中继进行IP地址分配的过程,该方法包括:
当DHCP中继接收到设定数量的DHCP-DISCOVER报文后或者在设定时长到达时,根据接收到的设定数量的DHCP-DISCOVER报文或者在设定时长内接收到的DHCP-DISCOVER报文,生成携带有相应DHCP客户端的客户端信息的DHCP-DICOVER报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端分配IP地址;
当DHCP中继接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-OFFER报文后,分别为所述至少2个DHCP客户端生成携带有为相应DHCP客户端分配的IP地址的DHCP-OFFER报文,并分别发送给相应DHCP客户端;
当DHCP中继接收到设定数量的DHCP-REQUEST报文后或者在设定时长到达时,根据接收到的所述设定数量的DHCP-REQUEST报文或者在设定时长内接收到的DHCP-REQUEST报文,生成携带有相应DHCP客户端的客户端信息的DHCP-REQUEST报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端确认分配的IP地址;
当DHCP中继接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-ACK报文后,分别为所述至少2个DHCP客户端生成携带有IP地址确认信息的DHCP-ACK/NAK报文,并分别发送给相应DHCP客户端。
本发明实施例提供的DHCP中继设备,包括:
地址请求模块,用于当接收到设定数量的DHCP-DISCOVER报文后或者在设定时长到达时,根据接收到的设定数量的DHCP-DISCOVER报文或者在设定时长内接收到的DHCP-DISCOVER报文,生成携带有相应DHCP客户端的客户端信息的DHCP-DICOVER报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端分配IP地址;
地址请求响应模块,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-OFFER报文后,分别为所述至少2个DHCP客户端生成携带有为相应DHCP客户端分配的IP地址的DHCP-OFFER报文,并分别发送给相应DHCP客户端;
地址确认请求模块,用于当接收到设定数量的DHCP-REQUEST报文后或者在设定时长到达时,根据接收到的所述设定数量的DHCP-REQUEST报文或者在设定时长内接收到的DHCP-REQUEST报文,生成携带有相应DHCP客户端的客户端信息的DHCP-REQUEST报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端确认分配的IP地址;
地址确认请求响应模块,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-ACK报文后,分别为所述至少2个DHCP客户端生成携带有IP地址确认信息的DHCP-ACK/NAK报文,并分别发送给相应DHCP客户端。
本发明实施例提供的DHCP服务器,包括:
地址分配模块,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-DISCOVER报文后,分别为所述至少2个DHCP客户端分配IP地址,并生成DHCP-OFFER报文,其中携带有为所述至少2个DHCP客户端分配的IP地址;
地址分配确认模块,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-REQUEST报文后,分别对所述至少2个DHCP客户端的IP地址进行确认,并生成DHCP-ACK报文,其中携带有对所述至少2个DHCP客户端的IP地址进行确认的信息。
本发明的上述实施例,通过DHCP中继将接收到的多个DHCP请求报文处理成包含相应多个客户端信息的DHCP请求报文并单播发送给DHCP服务器,以触发DHCP服务器为多个客户端分配IP地址,以及在接收到DHCP服务器返回的携带有多个客户端信息的DHCP响应报文后,生成相应数量的DHCP响应报文并分别发送给相应客户端,从而一次代理多个客户端向DHCP服务器请求IP地址,与现有技术相比,减少了DHCP中继和DHCP服务器之间交互的报文数量,进而缓解DHCP中继与DHCP服务器之间的报文交互压力。
附图说明
图1为现有技术中DHCP客户端动态获取IP地址的流程示意图;
图2为现有技术中基于DHCP中继的IP地址分配流程示意图;
图3为本发明实施例提供的基于DHCP中继的IP地址分配流程框图;
图4为本发明实施例提供的基于DHCP中继的IP地址分配流程信令图;
图5为现有技术中DHCP报文格式示意图;
图6为本发明实施例提供的DHCP中继发送给DHCP服务器的DHCP-DISCOVER报文格式示意图;
图7为本发明实施例提供的DHCP中继设备的结构示意图;
图8为本发明实施例提供的DHCP服务器的结构示意图。
具体实施方式
为了减少DHCP中继与DHCP服务器之间的报文交互压力,本发明实施例扩展了DHCP中继和DHCP服务器的功能,DHCP中继可以一次代理多个DHCP客户端向DHCP服务器申请IP地址,DHCP服务器可以响应DHCP中继为多个DHCP客户端申请IP地址的请求。
下面结合附图对本发明实施例进行详细描述。
参见图3和图4,为本发明实施例提供的基于DHCP中继为DHCP客户端(以下简称客户端)分配IP地址的流程示意图,其中图3为流程框图,图4为信令流程示意图。DHCP中继在设备初始化时,可预先在其上配置报文数量N(N>1)。N的取值可根据客户端的IP地址分配请求的并发数量或/和网络环境等因素而定。进一步的,根据客户端的IP地址分配请求的并发数量在不同时段而不同的特点,也可根据时段的不同对N的取值进行相应调整。
如图3所示,该流程可包括以下步骤:
步骤301~302,DHCP中继接收客户端广播的DHCP-DISCOVER报文,并当接收到的报文数量到达N时,转入步骤303。
具体实施时,大量客户端通过DHCP中继向DHCP服务器申请地址,此种情况下,DHCP中继会在短时间内收到大量的DHCP-DISCOVER报文,DHCP-DISCOVER报文中携带有客户端的硬件地址等信息。一旦DHCP中继接收到的DHCP-DISCOVER报文数量达到N,则继续执行以下步骤。
步骤303,DHCP中继根据接收到的N个DHCP-DISCOVER报文,重新生成DHCP-DISCOVER报文,其中携带有所述N个DHCP-DISCOVER报文所对应的客户端的信息,并通过一次请求过程单播发送给DHCP服务器。
具体实施时,DHCP中继提取接收到的N个DHCP-DISCOVER报文中每个报文携带的客户端信息,然后根据提取到的客户端信息生成一个新的DHCP-DISCOVER报文,其中携带这些客户端信息,并单播发送给DHCP服务器。DHCP中继所生成的DHCP-DISCOVER中携带的客户端信息中至少包括客户端硬件地址信息。如果DHCP服务器有多个,则DHCP中继可分别向每个DHCP服务器单播发送其所生成的DHCP-DISCOVER报文。
步骤304,DHCP服务器接收到DHCP中继发送的DHCP-DISCOVER报文后,根据其中携带的多个客户端信息,分别为这些客户端分配IP地址,根据分配结果生成DHCP-OFFER报文,并通过一次响应过程单播返回给DHCP中继。
具体实施时,DHCP服务器具备一次性分配多个IP地址的能力,可以处理带有多个客户端信息的DHCP-DISCOVER报文。DHCP服务器在接收到DHCP中继发送的携带有多个客户端信息的DHCP-DISCOVER报文后,分别为这些客户端分配IP地址,根据分配结果生成一个DHCP-OFFER报文,其中携带这些客户端的信息(包括客户端的硬件地址信息和为客户端分配的IP地址信息等)并将其返回给DHCP中继。
步骤305,DHCP中继接收到DHCP服务器返回的DHCP-OFFER报文后,根据其中携带的多个客户端信息,分别为这些客户端生成DHCP-OFFER报文,其中携带客户端的硬件地址信息和为该客户端分配的IP地址信息,然后分别将为相应客户端生成的DHCP-OFFER报文发送给相应的客户端。
步骤306~307,客户端接收到DHCP中继返回的DHCP-OFFER报文后,广播DHCP-REQUEST报文。DHCP中继接收客户端广播的DHCP-REQUEST报文,并当接收到的报文数量到达N时,转入步骤308。
具体实施时,客户端接收到DHCP-OFFER报文,并在确认接受分配的IP地址后,广播发送DHCP-REQUEST报文,该报文中携带有该客户端的硬件地址信息和该客户端选择的DHCP服务器的IP地址信息等信息。
步骤308,DHCP中继根据接收到的N个DHCP-REQUEST报文,重新生成DHCP-REQUEST报文,其中携带有所述N个DHCP-REQUEST报文所对应的客户端的信息,并通过一次请求过程单播发送给DHCP服务器。
具体实施时,DHCP中继提取接收到的N个DHCP-REQUEST报文中每个报文携带的客户端信息(包括客户端硬件地址信息和该客户端所接受的IP地址信息等),然后根据提取到的客户端信息生成一个新的DHCP-REQUEST报文,其中携带这些客户端信息,并单播发送给DHCP服务器。DHCP中继所生成的DHCP-REQUEST报文中携带的客户端信息中可包括客户端硬件地址信息和该客户端所接受的IP地址信息。
步骤309,DHCP服务器接收到DHCP中继发送的DHCP-REQUEST报文后,根据其中携带的多个客户端信息,生成一个DHCP-ACK报文,并通过一次响应过程单播返回给DHCP中继。
具体实施时,DHCP服务器根据接收到的DHCP-REQUEST报文,可以获知哪些客户端接受本服务器分配的IP地址,哪些服务器未接受本服务器分配的IP地址。在生成的DHCP ACK报文中,对于接受本服务器分配的IP地址的客户端,其客户端信息中包含ACK(确认)信息,对于未接受本服务器分配的IP地址的客户端,其客户端信息中包含NAK(未确认)信息。对于本服务器所分配的但未被客户端所接受的IP地址,本服务器还可继续分配给其它请求IP地址的客户端。
步骤310,DHCP中继接收到DHCP服务器返回的DHCP-ACK报文后,根据其中携带的多个客户端信息,分别为这些客户端生成DHCP-ACK/NAK报文,然后分别将为相应客户端生成的DHCP-ACK/NAK报文发送给相应的客户端。
具体实施时,DHCP中继根据DHCP服务器返回的DHCP-ACK报文可获知DHCP服务器对哪些客户端进行了ACK确认,对哪些客户端进行了NAK确认。对于那些进行了ACK确认的客户端,DHCP中继生成DHCP-ACK报文并发送给相应客户端,对于那些进行了NAK确认的客户端,DHCP中继生成DHCP-NAK报文并发送给相应客户端。
上述流程的步骤303中,若DHCP中继所生成的DHCP-DISCOVER报文长度没有超过规定的报文长度,则将所生成的DHCP-DISCOVER报文作为一个报文发送;若DHCP中继所生成的DHCP-DISCOVER报文长度超过规定的报文长度,则将所生成的DHCP-DISCOVER报文进行分片发送。同理,在步骤308中,若DHCP中继所生成的DHCP-REQUEST报文长度没有超过规定的报文长度,则将所生成的DHCP-REQUEST报文作为一个报文发送;若DHCP中继所生成的DHCP-REQUEST报文长度超过规定的报文长度,则将所生成的DHCP-REQUEST报文进行分片发送。对于DHCP服务器,也可在报文长度超过规定的报文长度时,将生成的DHCP-OFFER报文或DHCP-ACK报文进行分片发送。
在本发明的另一实施例中,可以在DHCP中继上配置设定时长信息,相应的,步骤301~302可替换为:DHCP中继在接收客户端广播的DHCP DISCOVER报文的过程中,一旦该设定时长到达,则执行步骤303,此后的处理过程与图3所示流程类似。同理,步骤306~307可替换为:DHCP中继接收客户端广播的DHCP-REQUEST报文,一旦该设定时长到达,转入步骤308,此后的处理过程与图3所示流程类似。
本发明的各实施例中,DHCP中继所生成的发向DHCP服务器的DHCP报文(包括DHCP-DISCOVER报文和DHCP-REQUEST报文),以及DHCP服务器所生成并发向DHCP中继的DHCP报文(包括DHCP-OFFER报文和DHCP-ACK报文),可参照现有DHCP报文的格式设计。
现有DHCP报文有4种类型,每种类型的DHCP报文的格式相同,只是某些字段的取值不同。现有的DHCP报文格式可如图5所示。其中,各字段的解释如下:
op:DHCP报文的操作类型,分为请求报文和响应报文,1表示请求报文;2表示响应报文,更具体的报文类型在options字段中标识;
htype、hlen:DHCP客户端的硬件地址类型及长度;
hops:DHCP报文经过的DHCP中继的数目。DHCP请求报文每经过一个DHCP中继,该字段就会增加1;
xid:客户端发起一次请求时选择的随机数,用来标识一次地址请求过程;
secs:DHCP客户端开始DHCP请求后所经过的时间。目前没有使用,固定为0;
flags:第一个比特为广播响应标识位,用来标识DHCP服务器响应报文是采用单播还是广播方式发送,0表示采用单播方式,1表示采用广播方式,其余比特保留不用。
ciaddr:DHCP客户端的IP地址;
yiaddr:DHCP服务器分配给客户端的IP地址;
siaddr:DHCP客户端获取IP地址等信息的服务器IP地址;
giaddr:DHCP客户端发出请求报文后经过的第一个DHCP中继的IP地址;
chaddr:DHCP客户端的硬件地址;
sname:DHCP客户端获取IP地址等信息的服务器名称;
file:DHCP服务器为DHCP客户端指定的启动配置文件名称及路径信息;
options:可选变长选项字段,包含报文的类型、有效租期、DNS(DomainName System,域名系统)服务器的IP地址、WINS(Windows Internet NamingServer,Windows Internet命名服务)服务器的IP地址等配置信息。
DHCP报文的ciaddr、yiaddr、chaddr字段,在DHCP各报文中针对不同客户端其内容不同;对于options字段,由DHCP中继发送给相同服务器的字段都可以重用。
根据以上特点,本发明实施例中,DHCP中继在生成发向DHCP服务器的DHCP报文时,对于不同客户端不能共用的信息,需要在DHCP报文中添加与客户端数量相应的字段,用这些字段进行承载,对于不同客户端可以共用的信息,则可以重用现有DHCP报文中的字段(如对于各客户端所共用的option信息,可用DHCP报文的options字段承载)。比如,不同客户端的硬件地址、IP地址等信息不相同,则可在DHCP报文中为各客户端对应设置Dhcp-option字段以承载各客户端的专有信息。而在同一类环境中,大部分报文所包含的option信息相同,如都是请求报文,都来自同一个厂家等,因此本发明实施例可将这些信息承载到整个报文的options字段中。进一步的,考虑到一些客户端可以有特定的与其它客户端不同的option信息,对于这样的客户端,需要在该客户端对应的Dhcp-option字段中包含该客户端所特定的option信息。同理,DHCP服务器生成的DHCP报文也具有类似结构。
进一步的,DHCP中继可在其所生成的发向DHCP服务器的DHCP报文中,添加指示标识,以标识该DHCP报文中是否携带多个客户端的信息,以及进一步在携带有多个客户端信息的情况下,标识携带有多个客户端的信息,以便DHCP服务器采用相应方式以响应该DHCP报文。同理,DHCP服务器在发送给DHCP中继的DHCP报文中也可携带类似指示标识。通过这种方式可在DHCP中继和DHCP服务器之间进行能力协商。本发明实施例优选使用flag字段携带上述指示信息。目前flag字段总共有16个bit,其中第1个比特为广播相应标识位,本发明实施例使用第2个比特标识是否支持一次性申请多个IP地址的能力(如1表示支持,0表示不支持),进一步可使用第3~15个比特表示此次申请IP地址的个数,即可以支持Oxl fff=8191个,最后一个比特为客户端信息开始标识位。如果在设定长时间内仅接收到一个客户端发送的DHCP-DISCOVER报文,则可将flag字段中的第2个比特的取值设置为0(表示不支持一次性申请多个IP地址),相应的,DHCP服务器按照现有方式响应包含该指示信息的DHCP报文。
图6示出了本发明实施例提供的一种DHCP中继和DHCP服务器之间交互的DHCP报文的格式。以DHCP中继规定可一次性申请3个IP地址为例,其所生成的DHCP-DISCOVER报文可如图6所示。其中对于3个客户端,包含有3个dhcp-option字段,以分别承载相应客户端所必须的信息,还可以承载相应客户端所特定的option信息。在报文最后的options字段中,承载这3个客户端所共用的option信息(如报文的类型、有效租期、DNS服务器的IP地址、WINS服务器的IP地址等配置信息)。
其中,dhcp-option字段可采用T-L-V格式:
T(Type):标识dhcp-option字段的类型,即该字段是用来承载客户端信息的;
L(length):整个dhcp-option字段的长度;
V(value):客户端的具体信息。
其中,V中可包含如下几种信息:
ciaddr:DHCP客户端的IP地址;
yiaddr:DHCP服务器分配给客户端的IP地址;
chaddr:DHCP客户端的硬件地址;
Options:DHCP各客户端所带特有的option信息。该字段根据实际情况可选。
通过以上描述可以看出,本发明实施例通过DHCP中继对从客户端接收到的多个DHCP报文进行适当裁剪属性,合并冗余字段,从而生成发送给DHCP服务器DHCP报文,通过一次请求过程将多个客户端的IP地址请求发送给DHCP服务器,提供DHCP报文批量处理能力,提高DHCP服务器多地址分配的能力,有效地缓解了DHCP中继与DHCP服务器之间的报文交互压力。尤其在大量客户端集中上线申请IP地址的时候,采用本发明实施例可有效减少DHCP中继和DHCP服务器之间的报文交互,有效的缓解DHCP中继和DHCP服务器的报文处理能力,减少链路带宽的压力。
下面以在有线电视网络中应用本发明实施例为例进行说明。有限电视网络结构分为核心层,汇聚层,接入层三个部分。核心层采用核心路由器,汇聚全网业务;汇聚层采用具有三层功能的汇聚交换机,通过DHCP中继的方式为终端机顶盒提供IP地址;接入层一般采用EPON(Ethernet Passive OpticalNetwork,以太网无源光网络)或接入交换机实现入户。
有线电视网络具有如下几方面的特点:
(1)终端类型单一
对于一个有线电视运营商,出于降低运营成本的考虑,一般机顶盒品牌不会超过三家,在同一个地区,一般只选择一个厂家的机顶盒;
(2)终端密集,数量众多
由于广播电视业务的渗透率较高,基本可以做到一户一台,甚至一户多台机顶盒的情况,而且家庭电视业务并发率高于数据业务,因此高峰时段在线用户数量非常庞大。
在工程实践中,观察到一个现象,就是在晚间6~7点左右的时段,用户上线非常集中,经常出现大量用户并发上线,同时申请地址,导致DHCP服务器不能有效分配出地址的现象。该现象的出现主要原因是作为DHCP中继的设备,由于下挂用户过多,DHCP报文数量过大,导致部分DHCP报文被丢弃。
采用本发明实施例,可以解决瞬间大量客户端同时申请地址,造成DHCP中继和DHCP服务器之间大量报文交互,设备处理压力过大的问题。
基于相同的技术构思,本发明实施例还提供了一种DHCP中继设备和一种DHCP服务器。
参见图7,为本发明实施例提供的DHCP中继设备的结构示意图,该设备可包括:地址请求模块701、地址请求响应模块702、地址确认请求模块703和地址确认请求响应模块704,其中:
地址请求模块701,用于当接收到设定数量的DHCP-DISCOVER报文后或者在设定时长到达时,根据接收到的设定数量的DHCP-DISCOVER报文或者在设定时长内接收到的DHCP-DISCOVER报文,生成携带有相应DHCP客户端的客户端信息的DHCP-DICOVER报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端分配IP地址;
地址请求响应模块702,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-OFFER报文后,分别为所述至少2个DHCP客户端生成携带有为相应DHCP客户端分配的IP地址的DHCP-OFFER报文,并分别发送给相应DHCP客户端;
地址确认请求模块703,用于当接收到设定数量的DHCP-REQUEST报文后或者在设定时长到达时,根据接收到的所述设定数量的DHCP-REQUEST报文或者在设定时长内接收到的DHCP-REQUEST报文,生成携带有相应DHCP客户端的客户端信息的DHCP-REQUEST报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端确认分配的IP地址;
地址确认请求响应模块704,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-ACK报文后,分别为所述至少2个DHCP客户端生成携带有IP地址确认信息的DHCP-ACK/NAK报文,并分别发送给相应DHCP客户端。
具体的,地址请求模块701生成的DHCP-DISCOVER报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息;地址请求响应模块702接收到的DHCP OFFER报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和分配给该客户端的IP地址信息。进一步的,对于具有特定OPTION信息的DHCP客户端:地址请求模块701生成的DHCP-DISCOVER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,地址请求模块701生成的DHCP-DISCOVER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息;地址请求响应模块702接收到的DHCP-OFFER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,地址请求响应模块702接收到的DHCP-OFFER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息。
具体的,地址确认请求模块703生成的DHCP-REQUEST报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息和该客户端所接受的IP地址;地址确认请求响应模块704接收到的DHCP-ACK报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和针对该客户端的IP地址确认信息。
进一步的,若地址请求模块701生成的DHCP-DISCOVER报文的长度未超过规定长度,则通过一次发送过程将生成的DHCP-DISCOVER报文单播发送给DHCP服务器;若地址请求模块701生成的DHCP-DISCOVER报文的长度超过规定长度,则将生成的DHCP-DISCOVER报文进行分片,并通过多次发送过程单播发送到DHCP服务器,每次发送其中的一个分片。若地址确认请求模块703生成的DHCP-REQUEST报文的长度未超过规定长度,则通过一次发送过程将生成的DHCP-REQUEST报文单播发送给DHCP服务器;若地址确认请求模块703生成的DHCP-REQUEST报文的长度超过规定长度,则将生成的DHCP-REQUEST报文进行分片,并通过多次发送过程单播发送到DHCP服务器,每次发送其中的一个分片。
进一步的,地址请求模块701生成的DHCP-DISCOVER报文或/和地址确认请求模块703生成的DHCP-REQUEST报文中还携带有标识信息,以标识报文中携带有至少2个DHCP客户端的客户端信息。
参见图8,为本发明实施例提供的DHCP服务器的结构示意图,该DHCP服务器可包括:地址分配模块801、地址分配确认模块802,其中:
地址分配模块801,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-DISCOVER报文后,分别为所述至少2个DHCP客户端分配IP地址,并生成DHCP-OFFER报文,其中携带有为所述至少2个DHCP客户端分配的IP地址;
地址分配确认模块802,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-REQUEST报文后,分别对所述至少2个DHCP客户端的IP地址进行确认,并生成DHCP-ACK报文,其中携带有对所述至少2个DHCP客户端的IP地址进行确认的信息。
具体的,地址分配模块801接收到的DHCP-DISCOVER报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息;地址分配模块801生成的DHCP OFFER报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和分配给该客户端的IP地址信息。进一步的,对于具有特定OPTION信息的DHCP客户端:地址分配模块801接收到的DHCP-DISCOVER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,地址分配模块801接收到的DHCP-DISCOVER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息;址分配模块801生成的DHCP-OFFER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,址分配模块801生成的DHCP-OFFER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息。
具体的,地址分配确认模块802接收到的DHCP-REQUEST报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息和该客户端所接受的IP地址;地址分配确认模块802生成的DHCP-ACK报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和针对该客户端的IP地址确认信息。
进一步的,若地址分配模块801生成的DHCP-OFFER报文的长度未超过规定长度,则通过一次发送过程将生成的DHCP-OFFER报文单播发送给DHCP中继;若地址分配模块801生成的DHCP-OFFER报文的长度超过规定长度,则将生成的DHCP-OFFER报文进行分片,并通过多次发送过程单播发送到DHCP中继,每次发送其中的一个分片;若所述DHCP服务器生成的DHCP-ACK报文的长度未超过规定长度,则通过一次发送过程将生成的DHCP-ACK报文单播发送给DHCP中继;若地址分配确认模块802生成的DHCP-ACK报文的长度超过规定长度,则将生成的DHCP-ACK报文进行分片,并通过多次发送过程单播发送到DHCP中继,每次发送其中的一个分片。
进一步的,地址分配模块801生成的DHCP-OFFER报文或/和地址分配确认模块802生成的DHCP-ACK报文中还携带有标识信息,以标识报文中携带有至少2个DHCP客户端的客户端信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (13)

1.一种动态主机配置协议DHCP地址分配方法,应用于通过DHCP中继进行IP地址分配的过程,其特征在于,该方法包括:
当DHCP中继接收到设定数量的DHCP-DISCOVER报文后或者在设定时长到达时,根据接收到的设定数量的DHCP-DISCOVER报文或者在设定时长内接收到的DHCP-DISCOVER报文,生成携带有相应DHCP客户端的客户端信息的DHCP-DICOVER报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端分配IP地址;
当DHCP中继接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-OFFER报文后,分别为所述至少2个DHCP客户端生成携带有为相应DHCP客户端分配的IP地址的DHCP-OFFER报文,并分别发送给相应DHCP客户端;
当DHCP中继接收到设定数量的DHCP-REQUEST报文后或者在设定时长到达时,根据接收到的所述设定数量的DHCP-REQUEST报文或者在设定时长内接收到的DHCP-REQUEST报文,生成携带有相应DHCP客户端的客户端信息的DHCP-REQUEST报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端确认分配的IP地址;
当DHCP中继接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-ACK报文后,分别为所述至少2个DHCP客户端生成携带有IP地址确认信息的DHCP-ACK/NAK报文,并分别发送给相应DHCP客户端。
2.如权利要求1所述的方法,其特征在于,所述DHCP中继生成的DHCP-DISCOVER报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息;
所述DHCP中继接收到的DHCP OFFER报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和分配给该客户端的IP地址信息。
3.如权利要求2所述的方法,其特征在于,对于具有特定OPTION信息的DHCP客户端:
所述DHCP中继生成的DHCP-DISCOVER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述DHCP中继生成的DHCP-DISCOVER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息;
所述DHCP中继接收到的DHCP-OFFER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述DHCP中继接收到的DHCP-OFFER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息。
4.如权利要求1所述的方法,其特征在于,所述DHCP中继生成的DHCP-REQUEST报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息和该客户端所接受的IP地址;
所述DHCP中继接收到的DHCP-ACK/NAK报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和针对该客户端的IP地址确认信息。
5.如权利要求1-4之一所述的方法,其特征在于,所述DHCP中继生成的携带有至少2个DHCP客户端的客户端信息的DHCP-DISCOVER报文或/和DHCP-REQUEST报文中还携带有标识信息,以标识报文中携带有至少2个DHCP客户端的客户端信息。
6.一种动态主机配置协议DHCP中继设备,其特征在于,包括:
地址请求模块,用于当接收到设定数量的DHCP-DISCOVER报文后或者在设定时长到达时,根据接收到的设定数量的DHCP-DISCOVER报文或者在设定时长内接收到的DHCP-DISCOVER报文,生成携带有相应DHCP客户端的客户端信息的DHCP-DICOVER报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端分配IP地址;
地址请求响应模块,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-OFFER报文后,分别为所述至少2个DHCP客户端生成携带有为相应DHCP客户端分配的IP地址的DHCP-OFFER报文,并分别发送给相应DHCP客户端;
地址确认请求模块,用于当接收到设定数量的DHCP-REQUEST报文后或者在设定时长到达时,根据接收到的所述设定数量的DHCP-REQUEST报文或者在设定时长内接收到的DHCP-REQUEST报文,生成携带有相应DHCP客户端的客户端信息的DHCP-REQUEST报文并单播发送给DHCP服务器,以触发DHCP服务器分别为所述相应DHCP客户端确认分配的IP地址;
地址确认请求响应模块,用于当接收到DHCP服务器返回的携带有至少2个DHCP客户端信息的DHCP-ACK报文后,分别为所述至少2个DHCP客户端生成携带有IP地址确认信息的DHCP-ACK/NAK报文,并分别发送给相应DHCP客户端。
7.如权利要求6所述的DHCP中继设备,其特征在于,所述地址请求模块生成的DHCP-DISCOVER报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息;
所述地址请求响应模块接收到的DHCP OFFER报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和分配给该客户端的IP地址信息。
8.如权利要求7所述的DHCP中继设备,其特征在于,对于具有特定OPTION信息的DHCP客户端:
所述地址请求模块生成的DHCP-DISCOVER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述地址请求模块生成的DHCP-DISCOVER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息;
所述地址请求响应模块接收到的DHCP-OFFER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述地址请求响应模块接收到的DHCP-OFFER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息。
9.如权利要求6所述的DHCP中继设备,其特征在于,所述地址确认请求模块生成的DHCP-REQUEST报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息和该客户端所接受的IP地址;
所述地址确认请求响应模块接收到的DHCP-ACK/NAK报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和针对该客户端的IP地址确认信息。
10.一种动态主机配置协议DHCP服务器,其特征在于,包括:
地址分配模块,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-DISCOVER报文后,分别为所述至少2个DHCP客户端分配IP地址,并生成DHCP-OFFER报文,其中携带有为所述至少2个DHCP客户端分配的IP地址;
地址分配确认模块,用于当从DHCP中继接收到携带有至少2个DHCP客户端的客户端信息的DHCP-REQUEST报文后,分别对所述至少2个DHCP客户端的IP地址进行确认,并生成DHCP-ACK报文,其中携带有对所述至少2个DHCP客户端的IP地址进行确认的信息。
11.如权利要求10所述的DHCP服务器,其特征在于,所述地址分配模块接收到的DHCP-DISCOVER报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息;
所述地址分配模块生成的DHCP-OFFER报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和分配给该客户端的IP地址信息。
12.如权利要求11所述的DHCP服务器,其特征在于,对于具有特定OPTION信息的DHCP客户端:
所述地址分配模块接收到的DHCP-DISCOVER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述地址分配模块接收到的DHCP-DISCOVER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息;
所述地址分配模块生成的DHCP-OFFER报文中,相应DHCP客户端的客户端信息中,还携带有该DHCP客户端所具有的特定OPTION信息,所述地址分配模块生成的DHCP-OFFER报文的OPTIONS字段中所携带的信息为各DHCP客户端所共有的OPTION信息。
13.如权利要求10所述的DHCP服务器,其特征在于,所述地址分配确认模块接收到的DHCP-REQUEST报文中,每个DHCP客户端的客户端信息中,至少包括:DHCP客户端的硬件地址信息和该客户端所接受的IP地址;
所述地址分配确认模块生成的DHCP-ACK报文中,每个DHCP客户端的客户端信息中,至少包括DHCP客户端的硬件地址信息和针对该客户端的IP地址确认信息。
CN201210254638.9A 2012-07-23 2012-07-23 一种dhcp地址分配方法及装置 Active CN102769678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210254638.9A CN102769678B (zh) 2012-07-23 2012-07-23 一种dhcp地址分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210254638.9A CN102769678B (zh) 2012-07-23 2012-07-23 一种dhcp地址分配方法及装置

Publications (2)

Publication Number Publication Date
CN102769678A CN102769678A (zh) 2012-11-07
CN102769678B true CN102769678B (zh) 2015-09-23

Family

ID=47096926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210254638.9A Active CN102769678B (zh) 2012-07-23 2012-07-23 一种dhcp地址分配方法及装置

Country Status (1)

Country Link
CN (1) CN102769678B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868700B (zh) * 2012-09-28 2015-06-17 华为技术有限公司 一种控制dhcp并发上线速度的方法和通信设备
CN105610962A (zh) * 2016-01-15 2016-05-25 华洋通信科技股份有限公司 一种防冲突移动终端ip地址分配中继设备及方法
CN107968845B (zh) * 2016-10-19 2021-10-08 中兴通讯股份有限公司 Dhcp服务器状态的检测方法、装置及dhcp中继
CN109698840B (zh) * 2019-02-27 2022-02-25 新华三大数据技术有限公司 检测dhcp恶意事件方法及装置
CN111586199B (zh) * 2020-04-29 2023-01-24 杭州迪普科技股份有限公司 无线接入设备及其数据处理方法
CN115801733A (zh) * 2023-02-02 2023-03-14 天翼云科技有限公司 一种网络地址分配方法、装置、电子设备及可读介质
CN116781494B (zh) * 2023-08-17 2024-03-26 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068208A (zh) * 2007-06-05 2007-11-07 华为技术有限公司 一种动态分配网络地址的方法、系统及代理设备
CN101442425A (zh) * 2007-11-22 2009-05-27 华为技术有限公司 网关的管理方法、地址分配的方法及装置、系统
CN102413203A (zh) * 2011-12-01 2012-04-11 中兴通讯股份有限公司 Ip地址的分配方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005210554A (ja) * 2004-01-26 2005-08-04 Fujitsu Access Ltd Dhcp代理サーバ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101068208A (zh) * 2007-06-05 2007-11-07 华为技术有限公司 一种动态分配网络地址的方法、系统及代理设备
CN101442425A (zh) * 2007-11-22 2009-05-27 华为技术有限公司 网关的管理方法、地址分配的方法及装置、系统
CN102413203A (zh) * 2011-12-01 2012-04-11 中兴通讯股份有限公司 Ip地址的分配方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"DSLAM设备用户IP地址分配策略研究";冯路;《中国优秀硕士学位论文群文数据库》;20050715;第3章-第6章 *

Also Published As

Publication number Publication date
CN102769678A (zh) 2012-11-07

Similar Documents

Publication Publication Date Title
CN102769678B (zh) 一种dhcp地址分配方法及装置
CN101296203B (zh) 对家庭网络中应用终端进行自动配置的装置、系统和方法
CN102497378B (zh) 为客户端动态选择dhcp服务器的方法和装置
US9742634B2 (en) System and method for automatically learning and maintaining IP address allocation topology
CN102752413B (zh) Dhcp服务器选择方法和网络设备
CN104521189B (zh) 网络终端获取业务的方法、设备、系统
CN103731394B (zh) 一种在CPE上配置IPv6过渡技术的方法及设备
CN101188514A (zh) 自动发现网元设备的方法、装置及系统
CN105245629A (zh) 基于dhcp的主机通信方法及装置
CN101600001B (zh) 基于动态主机分配协议的配置信息的获取方法和装置
KR20130032362A (ko) 인터넷 프로토콜 텔레비전 서비스의 전달을 위한 방법 및 장치
KR101319418B1 (ko) 정보 제공 방법, 홈 게이트웨이 및 홈 네트워크 시스템
EP3528476A1 (en) Ip address renewal method and apparatus
CN102394948B (zh) Dhcp地址分配方法及dhcp服务器
US9516385B2 (en) Technique for obtaining a multicast address that matches an IP version supported by a terminal
CN103873497A (zh) 用于调度信息的方法、装置和系统
EP2166762B1 (en) Method and system for obtaining a multimedia service
CN102780790A (zh) 一种动态分配ip地址的方法和系统
CN108306992B (zh) 一种基站盲启动的方法、基站及集中式dhcp服务器
CN101120580A (zh) 用于在至少一个通信网络中建立通信链路的方法
CN103533091B (zh) DHCP中继relay处理单播报文的方法和设备
CN106878481B (zh) 一种网络互连协议ip地址获取方法、装置和系统
CN102420748B (zh) 防止arp报文攻击的方法和路由设备
CN105610994B (zh) Ip地址分配方法、同轴电缆中间转换器及系统
CN102918817B (zh) IPv6地址分配的方法及设备

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.