CN102082835B - Ip地址的分配方法及装置 - Google Patents

Ip地址的分配方法及装置 Download PDF

Info

Publication number
CN102082835B
CN102082835B CN2009102262671A CN200910226267A CN102082835B CN 102082835 B CN102082835 B CN 102082835B CN 2009102262671 A CN2009102262671 A CN 2009102262671A CN 200910226267 A CN200910226267 A CN 200910226267A CN 102082835 B CN102082835 B CN 102082835B
Authority
CN
China
Prior art keywords
pseudo
binding
user profile
list item
binding list
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
CN2009102262671A
Other languages
English (en)
Other versions
CN102082835A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2009102262671A priority Critical patent/CN102082835B/zh
Publication of CN102082835A publication Critical patent/CN102082835A/zh
Application granted granted Critical
Publication of CN102082835B publication Critical patent/CN102082835B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例公开了一种IP地址的分配方法及装置,涉及通信领域。为了减少DHCP服务器的IP地址浪费,本发明提供了如下技术方案:接收由用户的客户端发送的DHCP请求报文;从所述DHCP请求报文中获取用户信息,作为请求用户信息;在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文。本发明适用于DHCP通信。

Description

IP地址的分配方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种IP地址的分配方法及装置。
背景技术
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)主要包括服务器侧和客户端侧两部分,其中,DHCP服务器存储IP网络有关信息并处理DHCP客户端的请求,而DHCP客户端使用DHCP服务器分配给它的IP等地址信息。其中,DHCP协议中分配IP地址的方法具体可以为:
1、DHCP客户端在与它接口连接的物理网络上广播DHCP DISCOVER消息,该DHCP DISCOVER消息可以包含建议的网络地址和租用期限。DHCP Relay将这个消息传送给不在同一个物理网络的DHCP服务器。
2、DHCP服务器收到此消息后,发送一个DHCP OFFER消息作为响应,DHCPOFFER消息中的′yiaddr′字段包含一个可用的地址。与该DHCP客户端不在同一个物理网络的DHCP服务器会通过DHCP Relay(动态主机配置协议中继)转发。
3、DHCP客户端收到DHCP OFFER消息后,广播DHCP REQUEST消息,该消息中包含′server identifier′选项,用来指示所选的服务器。DHCP Relay将这个消息传送给不在同一个物理网络的DHCP服务器。
4、DHCP服务器接收到DHCP REQUEST消息后,就会知道自己是否被选中,未被选中的DHCP服务器释放所提供的IP地址。被选中的DHCP服务器通过DHCPACK消息通知DHCP客户端其请求的IP地址可用。
5、DHCP客户端接收到DHCP ACK消息后,通过免费ARP检测IP地址是否冲突。在检测到不冲突时,记录租用期,开始利用获得的IP地址进行网络数据访问。
由于DHCP协议在分配IP地址时,没有对DHCP客户端的合法性进行检测,会产生用户不通过DHCP服务器申请IP地址,而是直接盗用其他用户的IP地址,或者配置静态IP地址等问题。
为此,提出了一种DHCP SNOOPING(动态主机配置协议探听)绑定表技术。当前比较通用的绑定表生成算法是:在DHCP RELAY设备的某个接口上使能DHCP SNOOPING后,转发引擎就会在该接口上捕获DHCP协议报文,如果是DHCP请求报文(DHCP DISCOVER和DHCP REQUEST),不做处理直接转发到DHCP服务器;如果是DHCP ACK响应报文,提取该报文中的信息建立绑定表项。其中绑定表主要包括DHCP客户端的IP地址、MAC地址、VLAN以及关联的端口等信息,并且绑定表项的生命周期等于DHCP请求的IP地址的租用期。在绑定表建立完成后,将DHCP报文交给转发引擎继续转发,并将生成好的绑定表下发给转发引擎。
这样,当转发引擎在该接口上收到ARP或者IP报文(不包括DHCP报文)时,转发引擎用报文的源IP+源MAC匹配DHCP SNOOPING绑定表,如果存在匹配项就正常转发,否则丢弃该报文。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:在DHCP服务器端,只要收到DHCP DISCOVER请求的报文,就会根据该报文分配一个IP地址,并通过DHCP OFFER报文发送给用户。如果用户此后不再发送DHCP REQUEST报文,虽然由于DHCP RELAY设备没有收到DHCP ACK报文,所以不会生成该用户的DHCP SNOOPING绑定表,保证了该用户无法冒用该IP地址来访问外部网络,但是,由于这个IP地址直到租约到期才会被释放,所以会造成DHCP服务器的IP地址浪费。
发明内容
本发明的实施例提供一种IP地址的分配方法及装置,能够减少DHCP服务器的IP地址浪费。
为达到上述目的,本发明的实施例采用如下技术方案:
一种IP地址的分配方法,包括:
接收由用户的客户端发送的动态主机配置协议DHCP请求报文;
从所述DHCP请求报文中获取用户信息,作为请求用户信息;所述用户信息包括用户的媒体访问控制和虚拟局域网VLAN和接入接口;
在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文。
一种IP地址的分配装置,包括:
请求报文接收单元,用于接收由用户的客户端发送的DHCP请求报文;
用户信息获取单元,用于从所述请求报文接收单元接收的DHCP请求报文中获取用户信息,作为请求用户信息;所述用户信息包括用户的媒体访问控制和VLAN和接入接口;
伪绑定表判断单元,用于判断是否存在与所述用户信息获取单元获取的请求用户信息对应的伪绑定表项;并在不存在与所述请求用户信息对应的伪绑定表项时,判断伪绑定表项的数量是否达到最大伪绑定表项数;
伪绑定表建立单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
请求报文发送单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
请求报文丢弃单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量达到最大伪绑定表项数时,丢弃所述DHCP请求报文。
本发明实施例提供的IP地址的分配方法及装置,通过DHCP RELAY设备在收到DHCP请求报文时,生成相应的伪绑定表项并向DHCP服务器转发该DHCP请求报文,同时,通过设置最大伪绑定表项数对伪绑定表项的生成数量进行限制,丢弃伪绑定表项的生成数量达到最大伪绑定表项数后所收到的DHCP请求报文。因此,限制了转发到DHCP服务器上的DHCP请求报文的数量,从而减少了DHCP服务器的IP地址浪费。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种IP地址的分配方法的流程示意图;
图2为本发明实施例提供的另一种IP地址的分配方法的流程示意图;
图3为本发明实施例提供的一种DHCP请求报文的处理流程示意图;
图4为本发明实施例提供的一种DHCP ACK报文的处理流程示意图;
图5为本发明实施例提供的一种IP地址的分配装置的构成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了减少DHCP服务器的IP地址浪费,本发明实施例提供了一种IP地址的分配方法,如图1所示,包括:
101、DHCP RELAY设备接收由用户的客户端发送的动态主机配置协议DHCP请求报文;
102、DHCP RELAY设备从所述DHCP请求报文中获取用户信息,作为请求用户信息;
在本发明实施例中提到的用户信息包括用户的媒体访问控制(MediaAccess Control,媒体访问控制)和VLAN(Virtual Local Area Network,虚拟局域网)和接入接口等;
103、DHCP RELAY设备在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
104、DHCP RELAY设备在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文。
本实施例提供的IP地址的分配方法,通过DHCP RELAY设备在收到DHCP请求报文时,生成相应的伪绑定表项并向DHCP服务器转发该DHCP请求报文,同时,通过设置最大伪绑定表项数对伪绑定表项的生成数量进行限制,丢弃伪绑定表项的生成数量达到最大伪绑定表项数后所收到的DHCP请求报文。因此,限制了转发到DHCP服务器上的DHCP请求报文的数量,从而减少了DHCP服务器的IP地址浪费。
进一步地,本发明实施例还提供了一种IP地址的分配方法,如图2所示,包括:
201、DHCP RELAY设备接收由用户的客户端发送的DHCP请求报文;
202、DHCP RELAY设备从所述DHCP请求报文中获取用户信息,作为请求用户信息;
203、DHCP RELAY设备在确定存在与所述请求用户信息对应的伪绑定表项时,将所述DHCP请求报文转发给对应的DHCP服务器;
204、DHCP RELAY设备在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
205、DHCP RELAY设备在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文;
206、DHCP RELAY设备接收由所述DHCP服务器发送的DHCP ACK报文;
207、DHCP RELAY设备从所述DHCP ACK报文中获取用户信息,作为响应用户信息;
208、DHCP RELAY设备在确定存在与所述响应用户信息对应的伪绑定表项时,删除所述对应的伪绑定表项,建立与所述响应用户信息对应的DHCPSNOOPING绑定表项;
209、DHCP RELAY设备将所述DHCP ACK报文转发给用户的客户端。
本实施例提供的IP地址的分配方法,通过DHCP RELAY设备在收到DHCP请求报文时,生成相应的伪绑定表项并向DHCP服务器转发该DHCP请求报文,而该伪绑定表项会在DHCP RELAY设备收到相应的DHCP ACK报文时被删除,同时,通过设置最大伪绑定表项数对伪绑定表项的生成数量进行限制,丢弃伪绑定表项的生成数量达到最大伪绑定表项数后所收到的DHCP请求报文。因此,限制了转发到DHCP服务器上的DHCP请求报文的数量,使DHCP服务器提供的IP地址中尚未得到通知是否被客户端选中的数量保持在一定数量内,从而减少了DHCP服务器的IP地址浪费。
在上一实施例中,步骤201~205可以看成相对步骤206~209独立的、对DHCP请求报文的处理流程,而步骤206~209可以看成相对步骤201~205独立的、对DHCP ACK报文的处理流程。
如图3所示,由步骤201~205构成的DHCP请求报文的处理流程具体包括:
301、DHCP RELAY设备接收DHCP请求报文;
302、从该DHCP请求报文中获取携带的用户信息,该用户信息包括用户MAC和VLAN和接入接口等。进入步骤303。
303、判断是否存在与获取的用户信息对应的伪绑定表项。若不存在与获取的用户信息对应的伪绑定表项,则进入步骤304,否则,跳至步骤307。
304、判断伪绑定表项的数量是否达到最大伪绑定表项数。若达到最大伪绑定表项数,则进入步骤305,否则,跳至步骤306。
在本发明实施例中,可以在DHCP RELAY设备的接口上配置该接口对应的最大伪绑定表项数。或者,也可以在DHCP RELAY设备上配置VLAN对应的最大伪绑定表项数。另外,还可以在DHCP RELAY设备上配置整台设备对应的最大伪绑定表项数。
举例而言,在DHCP RELAY设备的接口上配置该接口对应的最大伪绑定表项数时,DHCP RELAY设备确定当前与获取的用户信息中的接入接口对应的伪绑定表项的数量,并判断该数量是否达到该接口的最大伪绑定表项数,如果达到该接口的最大伪绑定表项数,则进入步骤305,否则,跳至步骤306。
在DHCP RELAY设备上配置VLAN对应的最大伪绑定表项数时,DHCP RELAY设备确定当前与获取的用户信息中的VLAN对应的伪绑定表项的数量,并判断该数量是否达到该VLAN的最大伪绑定表项数,如果达到该VLAN的最大伪绑定表项数,则进入步骤305,否则,跳至步骤306。
在DHCP RELAY设备上配置整台设备对应的最大伪绑定表项数时,DHCPRELAY设备确定当前设备内存储的伪绑定表项的数量,并判断该数量是否达到设备的最大伪绑定表项数,如果达到设备的最大伪绑定表项数,则进入步骤305,否则,跳至步骤306。
305、丢弃该DHCP请求报文。
306、建立与获取的用户信息对应的伪绑定表项。进入步骤307。
具体可以为:在伪绑定表中增加一条表项,该表项中记录该DHCP请求报文中的用户信息等,例如,用户MAC和VLAN和接入接口等信息。
307、将该DHCP请求报文转发给对应的DHCP服务器。
如图4所示,由步骤206~209构成的DHCP ACK报文的处理流程具体包括:
401、DHCP RELAY设备接收DHCP ACK报文;
当DHCP服务器接收到用户的DHCP REQUEST报文后,根据该DHCP REQUEST报文获知自己被用户选中,则通过DHCP RELAY设备向用户的客户端发送DHCPACK报文。
402、从该DHCP ACK报文中获取携带的用户信息,该用户信息包括用户MAC和VLAN和接入接口等。进入步骤403。
403、判断是否存在与获取的用户信息对应的伪绑定表项。若存在与获取的用户信息对应的伪绑定表项,则进入步骤404,否则,跳至步骤405。
404、删除与获取的用户信息对应的伪绑定表项,建立与所述DHCP ACK报文携带的用户信息对应的DHCP SNOOPING绑定表项,进入步骤405。
具体可以为:从伪绑定表中删除与获取的用户信息对应的表项,并且,在DHCP SNOOPING绑定表中添加一条与获取的用户信息对应的表项,DHCPSNOOPING绑定表中的表项包括MAC地址和IP地址和VLAN和接入接口等信息。这样,当DHCP RELAY设备收到ARP或者IP报文(不包括DHCP报文)后,用ARP或者IP报文中的源IP地址和源MAC地址匹配DHCP SNOOPING绑定表,如果得到匹配表项就正常转发,否则丢弃该ARP或者IP报文,可以防止用户配置静态IP地址和盗用IP地址。
405、将该DHCP ACK报文转发给对应的客户端。
另外,为了防止用户恶意发送大量变换MAC地址的DHCP请求报文,占用伪绑定表,还可以在设备内部启动一个定时器,通过该定时器进行计时,在计时时间达到规定时间时,删除伪绑定表项,并对定时器进行清零、重新计时。
本实施例提供的IP地址的分配方法,通过DHCP RELAY设备在收到DHCP请求报文时,生成相应的伪绑定表项并向DHCP服务器转发该DHCP请求报文,而该伪绑定表项会在DHCP RELAY设备收到相应的DHCP ACK报文时被删除,同时,通过设置最大伪绑定表项数对伪绑定表项的生成数量进行限制,丢弃伪绑定表项的生成数量达到最大伪绑定表项数后所收到的DHCP请求报文。因此,限制了转发到DHCP服务器上的DHCP请求报文的数量,使DHCP服务器提供的IP地址中尚未得到通知是否被客户端选中的数量保持在一定数量内,从而减少了DHCP服务器的IP地址浪费。
与上述方法相对应地,本发明实施例还提供了一种IP地址的分配装置,如图5所示,包括:
请求报文接收单元501,用于接收由用户的客户端发送的DHCP请求报文;
用户信息获取单元502,用于从所述请求报文接收单元501接收的DHCP请求报文中获取用户信息,作为请求用户信息;所述用户信息包括用户的MAC和VLAN和接入接口;
伪绑定表判断单元503,用于判断是否存在与所述用户信息获取单元502获取的请求用户信息对应的伪绑定表项;并在不存在与所述请求用户信息对应的伪绑定表项时,判断伪绑定表项的数量是否达到最大伪绑定表项数;
伪绑定表建立单元504,用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
请求报文发送单元505,用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
请求报文丢弃单元506,用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量达到最大伪绑定表项数时,丢弃所述DHCP请求报文。
进一步地,所述请求报文发送单元505,还用于在所述伪绑定表判断单元503判定存在与所述请求用户信息对应的伪绑定表项时,将所述DHCP请求报文转发给对应的DHCP服务器。
进一步地,所述IP地址的分配装置还包括:响应报文接收单元和绑定表建立单元和响应报文发送单元。
所述响应报文接收单元,用于接收由DHCP服务器发送的DHCP ACK报文;
所述用户信息获取单元502,还用于从所述响应报文接收单元接收的DHCPACK报文中获取用户信息,作为响应用户信息;
所述伪绑定表判断单元503,还用于判断是否存在与所述用户信息获取单元获取的响应用户信息对应的伪绑定表项;
所述绑定表建立单元,用于在所述伪绑定表判断单元503判定存在与所述响应用户信息对应的伪绑定表项时,删除所述对应的伪绑定表项,建立与所述响应用户信息对应的DHCP SNOOPING绑定表项;
所述响应报文发送单元,用于将所述DHCP ACK报文转发给用户的客户端。
进一步地,所述伪绑定表判断单元503具体包括:最大数配置子单元和表存在判断子单元和最大数判断子单元。
其中,所述最大数配置子单元,用于配置接口的最大伪绑定表项数;
所述表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
所述最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断与所述请求用户信息中的接入接口对应的伪绑定表项的数量是否达到所述最大数配置子单元配置的所述接入接口的最大伪绑定表项数。
相应地,所述伪绑定表建立单元504,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量未达到所述接入接口的最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
所述请求报文发送单元505,具体用于在所述伪绑定表判断单元503判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量未达到所述接入接口的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所示请求报文丢弃单元506,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量达到所述接入接口的最大伪绑定表项数时,丢弃所述DHCP请求报文。
或者,
所述最大数配置子单元,用于配置VLAN的最大伪绑定表项数;
所述表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
所述最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断与所述请求用户信息中的VLAN对应的伪绑定表项的数量是否达到所述最大数配置子单元配置的所述VLAN的最大伪绑定表项数。
相应地,所述伪绑定表建立单元504,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量未达到所述VLAN的最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
所述请求报文发送单元505,具体用于在所述伪绑定表判断单元503判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量未达到所述VLAN的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所示请求报文丢弃单元506,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量达到所述VLAN的最大伪绑定表项数时,丢弃所述DHCP请求报文。
或者,
所述最大数配置子单元,用于配置与设备对应的最大伪绑定表项数;
所述表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
所述最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断当前存储的伪绑定表项的数量是否达到所述最大数配置子单元配置的设备的最大伪绑定表项数。
相应地,所述伪绑定表建立单元504,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量未达到设备的最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
所述请求报文发送单元505,具体用于在所述伪绑定表判断单元503判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量未达到设备的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所示请求报文丢弃单元506,具体用于在所述伪绑定表判断单元503判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量达到设备的最大伪绑定表项数时,丢弃所述DHCP请求报文。
进一步地,所述IP地址的分配装置还可以包括:
定时器单元,用于进行计时,并在计时时间达到规定时间时清零重新计时;
表项删除单元,用于在计时时间达到规定时间时,删除伪绑定表项。
本实施例提供的IP地址的分配装置,通过DHCP RELAY设备在收到DHCP请求报文时,生成相应的伪绑定表项并向DHCP服务器转发该DHCP请求报文,而该伪绑定表项会在DHCP RELAY设备收到相应的DHCP ACK报文时被删除,同时,通过设置最大伪绑定表项数对伪绑定表项的生成数量进行限制,丢弃伪绑定表项的生成数量达到最大伪绑定表项数后所收到的DHCP请求报文。因此,限制了转发到DHCP服务器上的DHCP请求报文的数量,使DHCP服务器提供的IP地址中尚未得到通知是否被客户端选中的数量保持在一定数量内,从而减少了DHCP服务器的IP地址浪费。
另外,通过设置定时器进行计时,在计时时间达到规定时间时,删除伪绑定表项,还可以防止用户恶意发送大量变换MAC地址的DHCP请求报文,占用伪绑定表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种IP地址的分配方法,其特征在于,包括:
接收由用户的客户端发送的动态主机配置协议DHCP请求报文;
从所述DHCP请求报文中获取用户信息,作为请求用户信息;所述用户信息包括用户的媒体访问控制地址和虚拟局域网VLAN和接入接口;
在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文;
所述方法还包括:
接收由所述DHCP服务器发送的动态主机配置协议响应DHCP ACK报文;
从所述DHCP ACK报文中获取用户信息,作为响应用户信息;
在确定存在与所述响应用户信息对应的伪绑定表项时,删除所述对应的伪绑定表项,建立与所述响应用户信息对应的动态主机配置协议探听DHCP SNOOPING绑定表项;
将所述DHCP ACK报文转发给用户的客户端。
2.根据权利要求1所述的IP地址的分配方法,其特征在于,所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器具体包括:
在确定不存在与所述请求用户信息对应的伪绑定表项时,若与所述请求用户信息中的接入接口对应的伪绑定表项的数量未达到所述接入接口的最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求 报文转发给对应的DHCP服务器;
所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文包括:
在确定不存在与所述请求用户信息对应的伪绑定表项时,若与所述请求用户信息中的接入接口对应的伪绑定表项的数量达到所述接入接口的最大伪绑定表项数,则丢弃所述DHCP请求报文。
3.根据权利要求1所述的IP地址的分配方法,其特征在于,所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器具体包括:
在确定不存在与所述请求用户信息对应的伪绑定表项时,若与所述请求用户信息中的VLAN对应的伪绑定表项的数量未达到所述VLAN的最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文包括:
在确定不存在与所述请求用户信息对应的伪绑定表项时,若与所述请求用户信息中的VLAN对应的伪绑定表项的数量达到所述VLAN的最大伪绑定表项数,则丢弃所述DHCP请求报文。
4.根据权利要求1所述的IP地址的分配方法,其特征在于,所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量未达到最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器具体包括: 
在确定不存在与所述请求用户信息对应的伪绑定表项时,若当前存储的伪绑定表项的数量未达到设备的最大伪绑定表项数,则建立与所述请求用户信息对应的伪绑定表项,并将所述DHCP请求报文转发给对应的DHCP服务器;
所述在确定不存在与所述请求用户信息对应的伪绑定表项时,若伪绑定表项的数量达到最大伪绑定表项数,则丢弃所述DHCP请求报文包括:
在确定不存在与所述请求用户信息对应的伪绑定表项时,若当前存储的伪绑定表项的数量达到设备的最大伪绑定表项数,则丢弃所述DHCP请求报文。
5.一种IP地址的分配装置,其特征在于,包括:
请求报文接收单元,用于接收由用户的客户端发送的DHCP请求报文;
用户信息获取单元,用于从所述请求报文接收单元接收的DHCP请求报文中获取用户信息,作为请求用户信息;所述用户信息包括用户的媒体访问控制地址和VLAN和接入接口;
伪绑定表判断单元,用于判断是否存在与所述用户信息获取单元获取的请求用户信息对应的伪绑定表项;并在不存在与所述请求用户信息对应的伪绑定表项时,判断伪绑定表项的数量是否达到最大伪绑定表项数;
伪绑定表建立单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
请求报文发送单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量未达到最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
请求报文丢弃单元,用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且伪绑定表项的数量达到最大伪绑定表项数时, 丢弃所述DHCP请求报文;
所述装置还包括:
响应报文接收单元,用于接收由DHCP服务器发送的DHCP ACK报文;
所述用户信息获取单元,还用于从所述响应报文接收单元接收的DHCP ACK报文中获取用户信息,作为响应用户信息;
所述伪绑定表判断单元,还用于判断是否存在与所述用户信息获取单元获取的响应用户信息对应的伪绑定表项;
绑定表建立单元,用于在所述伪绑定表判断单元判定存在与所述响应用户信息对应的伪绑定表项时,删除所述对应的伪绑定表项,建立与所述响应用户信息对应的DHCP SNOOPING绑定表项;
响应报文发送单元,用于将所述DHCP ACK报文转发给用户的客户端。
6.根据权利要求5所述的IP地址的分配装置,其特征在于,所述伪绑定表判断单元包括:
最大数配置子单元,用于配置接入接口的最大伪绑定表项数;
表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断与所述请求用户信息中的接入接口对应的伪绑定表项的数量是否达到所述最大数配置子单元配置的所述接入接口的最大伪绑定表项数;
所述伪绑定表建立单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量未达到所述接入接口的最大伪绑定表项数时,建立与所 述请求用户信息对应的伪绑定表项;
所述请求报文发送单元,具体用于在所述伪绑定表判断单元判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量未达到所述接入接口的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所述请求报文丢弃单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的接入接口对应的伪绑定表项的数量达到所述接入接口的最大伪绑定表项数时,丢弃所述DHCP请求报文。
7.根据权利要求5所述的IP地址的分配装置,其特征在于,所述伪绑定表判断单元包括:
最大数配置子单元,用于配置VLAN的最大伪绑定表项数;
表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断与所述请求用户信息中的VLAN对应的伪绑定表项的数量是否达到所述最大数配置子单元配置的所述VLAN的最大伪绑定表项数;
所述伪绑定表建立单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量未达到所述VLAN的最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项; 
所述请求报文发送单元,具体用于在所述伪绑定表判断单元判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量未达到所述VLAN的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所述请求报文丢弃单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且与所述请求用户信息中的VLAN对应的伪绑定表项的数量达到所述VLAN的最大伪绑定表项数时,丢弃所述DHCP请求报文。
8.根据权利要求5所述的IP地址的分配装置,其特征在于,所述伪绑定表判断单元包括:
最大数配置子单元,用于配置与设备对应的最大伪绑定表项数;
表存在判断子单元,用于判断是否存在与所述请求用户信息或所述响应用户信息对应的伪绑定表项;
最大数判断子单元,用于在所述表存在判断子单元判定不存在与所述请求用户信息对应的伪绑定表项时,判断当前存储的伪绑定表项的数量是否达到所述最大数配置子单元配置的设备的最大伪绑定表项数;所述伪绑定表建立单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量未达到设备的最大伪绑定表项数时,建立与所述请求用户信息对应的伪绑定表项;
所述请求报文发送单元,具体用于在所述伪绑定表判断单元判定存在与所述请求用户信息对应的伪绑定表项时,或者,在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量 未达到设备的最大伪绑定表项数时,将所述DHCP请求报文转发给对应的DHCP服务器;
所述请求报文丢弃单元,具体用于在所述伪绑定表判断单元判定不存在与所述请求用户信息对应的伪绑定表项,且当前存储的伪绑定表项的数量达到设备的最大伪绑定表项数时,丢弃所述DHCP请求报文。 
CN2009102262671A 2009-11-27 2009-11-27 Ip地址的分配方法及装置 Active CN102082835B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102262671A CN102082835B (zh) 2009-11-27 2009-11-27 Ip地址的分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102262671A CN102082835B (zh) 2009-11-27 2009-11-27 Ip地址的分配方法及装置

Publications (2)

Publication Number Publication Date
CN102082835A CN102082835A (zh) 2011-06-01
CN102082835B true CN102082835B (zh) 2013-04-17

Family

ID=44088584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102262671A Active CN102082835B (zh) 2009-11-27 2009-11-27 Ip地址的分配方法及装置

Country Status (1)

Country Link
CN (1) CN102082835B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231741B (zh) * 2011-06-28 2013-11-06 华为技术有限公司 一种dhcp报文处理的方法和设备
CN102316101B (zh) * 2011-08-09 2015-04-08 神州数码网络(北京)有限公司 一种基于dhcp snooping的安全接入方法
CN102413204A (zh) * 2011-12-23 2012-04-11 神州数码网络(北京)有限公司 一种基于DHCPv6 SNOOPING的安全接入方法
CN102857587B (zh) * 2012-08-17 2016-02-03 福建三元达网络技术有限公司 多vlan环境下共享动态地址池的方法及系统
CN102868700B (zh) * 2012-09-28 2015-06-17 华为技术有限公司 一种控制dhcp并发上线速度的方法和通信设备
CN105471615A (zh) * 2014-09-12 2016-04-06 中兴通讯股份有限公司 一种动态主机配置协议dhcp信息异常的处理方法及装置
CN105430003B (zh) * 2015-12-18 2019-03-01 湖南基石通信技术有限公司 扁平化网络中防止dhcp攻击的方法、装置及系统
CN106027419B (zh) * 2016-05-20 2019-06-04 曙光云计算技术(日照)有限公司 一种数据结构的管理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032034B1 (en) * 2002-01-31 2006-04-18 Cisco Technology, Inc. Method and apparatus for simulating large scalable networks
CN200973108Y (zh) * 2006-06-29 2007-11-07 中兴通讯股份有限公司 实现安全访问的接入设备
CN101459653A (zh) * 2007-12-14 2009-06-17 上海博达数据通信有限公司 基于Snooping技术的防止DHCP报文攻击的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032034B1 (en) * 2002-01-31 2006-04-18 Cisco Technology, Inc. Method and apparatus for simulating large scalable networks
CN200973108Y (zh) * 2006-06-29 2007-11-07 中兴通讯股份有限公司 实现安全访问的接入设备
CN101459653A (zh) * 2007-12-14 2009-06-17 上海博达数据通信有限公司 基于Snooping技术的防止DHCP报文攻击的方法

Also Published As

Publication number Publication date
CN102082835A (zh) 2011-06-01

Similar Documents

Publication Publication Date Title
CN102082835B (zh) Ip地址的分配方法及装置
Cheshire et al. Dynamic configuration of IPv4 link-local addresses
CN100502413C (zh) Dhcp中继为dhcp客户端请求ip地址的方法
US8260888B2 (en) Address configuration method, apparatus and system
US9184930B2 (en) Detection and support of a dual-stack capable host
US20140325090A1 (en) Discovery and disconnection of client addresses in an access node for an ip network
CN1889572B (zh) 因特网协议地址分配方法及动态主机配置协议中继
CN101471966B (zh) 一种防止ip地址泄露的系统和设备
CN102118453B (zh) Ip地址自动配置方法、服务端设备、客户机和通信系统
CN101771732B (zh) 报文处理方法、装置和网络设备
CN111935335B (zh) 一种dhcp地址分配方法及装置
CN105245629A (zh) 基于dhcp的主机通信方法及装置
CN101808107B (zh) 一种存储设备与用户二层互通的方法、装置及系统
CN104601743A (zh) 基于以太的IP转发IPoE双栈用户接入控制方法和设备
CN102137109B (zh) 一种访问控制方法、接入设备及系统
CN104753793A (zh) 在无状态IPv6配置下有状态管理接入终端的方法
EP2182683B1 (en) Self-configuration of a forwarding tabel in an access node
CN101909007B (zh) 绑定表项生成方法、装置及网络设备
CN103987098B (zh) Ipv4网络与ipv6网络间的切换方法和系统
US9497067B2 (en) Address determination apparatus, communication system, address determination method, and program
Cheshire et al. RFC 3927: Dynamic configuration of IPv4 link-local addresses
CN100525179C (zh) 一种防止ip地址泄露的方法
US7852878B2 (en) Apparatus and method for supporting establishment of network address of communication apparatus
EP1598986A1 (en) Translation bridge between ethernet and 1394A local links for consumer electronics devices
CN112003771A (zh) 一种实现lan侧终端智能接入网络的方法

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