CN102868700B - 一种控制dhcp并发上线速度的方法和通信设备 - Google Patents
一种控制dhcp并发上线速度的方法和通信设备 Download PDFInfo
- Publication number
- CN102868700B CN102868700B CN201210370107.6A CN201210370107A CN102868700B CN 102868700 B CN102868700 B CN 102868700B CN 201210370107 A CN201210370107 A CN 201210370107A CN 102868700 B CN102868700 B CN 102868700B
- Authority
- CN
- China
- Prior art keywords
- dhcp
- dhcp client
- client
- message
- 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
Links
Landscapes
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明适用于通信领域,提供了一种控制DHCP并发上线速度的方法和通信设备,该方法包括:接收动态主机配置协议DHCP客户端发送的DHCP报文;当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文;当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述DHCP客户端发送的DHCP报文。本发明可以避免新的DHCP客户端发送的DHCP报文挤占设备的处理资源,可以使设备CPU的上送带宽和CPU资源达到最佳利用率,从而最大可能的发挥设备的并发上线性能。
Description
技术领域
本发明属于通信领域,尤其涉及一种控制DHCP并发上线速度的方法和通信设备。
背景技术
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)提供了在TCP/IP网络中向客户端发送配置信息的框架。
由于DHCP客户端发现服务器之前与DHCP服务器的交互是用广播报文交互的,客户端和服务器之间的交互报文相对开放。DHCP客户端和服务器的交互过程常规有四次交互,当第4次交互完成后客户端才正式获取地址。根据客户端和服务器是否在同一个网络内,DHCP常规组网有两种场景,一种为客户端和服务器在同一个网络中的场景,该场景中还可能在客户端与服务器之间部署一台用于实现DHCP安全的DHCP防欺骗(snooping)设备。另一种为客户端和服务器在不同网络中的场景。
现有的用DHCP分配地址的网络中,一般一个服务器对应大量的DHCP客户端,当由于断电或者网络中断等情况出现时,网络中的客户端存在全部同时拨号的情况,受限于DHCP服务器、DHCP中继(relay)设备、DHCP snooping设备的处理能力,当大量用户同时拨号时,存在拥堵的情况,因此在DHCP服务器、DHCP relay设备、DHCP snooping设备三台设备上一般设置一个并发上线规格。交换机用做DHCP snooping、relay、server时,只能根据客户端的报文进行限速。如果有大量用户同时拨号时,用户间的DHCP discover报文、DHCPrequest报文会互相干扰,交换机的CPU性能有比较大一部分用于处理干扰的报文,在有限的CPU性能条件下,无法做到承诺的并发上线规格。举例说明如下:
如图1所示,DHCP snooping设备通过监控客户端(PC1…PCn)与DHCP服务器之间交互的DHCP报文而生成绑定表项,用于安全功能。DHCP用户上线的并发速率,受DHCP snooping设备的CPU处理能力和上送CPU通道的带宽限制。
现有的实现方式为根据经验值将DHCP snooping设备的上送CPU通道带宽限制为一个合理值,例如200PPS,设置的用户并发上线速度为100个/秒。
如果实际使用过程中,DHCP snooping设备下挂了大量的用户,某时刻DHCP snooping设备产生故障断网,在故障恢复时,大量用户一起拨号,PC1—PC100处在DHCP request阶段,PC101-PC200处在DHCP discover阶段。在上送CPU通道带宽为200PPS的情况下,则PC101-PC200的DHCP discover报文会挤占掉PC1—PC100的DHCP request报文,导致PC1—PC100无法及时完成交互过程,导致从整体上看DHCP snooping设备达不到预设的并发上线速度。
如果将DHCP snooping设备上送CPU通道带宽放大,则设备CPU占用率长期处在高位,影响设备稳定性。
发明内容
本发明实施例提供一种控制DHCP并发上线速度的方法,以使得设备的CPU上送带宽和CPU资源达到最佳利用率,最大可能的发挥设备的并发上线性能的问题。
第一方面,提供一种控制DHCP并发上线速度的方法,所述控制DHCP并发上线速度的方法包括下述步骤:
接收动态主机配置协议DHCP客户端发送的DHCP报文;
当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文;
当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述DHCP客户端发送的DHCP报文。
在第一方面的第一种可能的实现方式中,所述DHCP报文包括DHCP发现Discover报文和DHCP选择Request报文。
在第一方面的第二种可能的实现方式中,所述当正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文具体包括:
当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在第一方面的第三种可能的实现方式中,所述当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文具体包括:
当用户临时信息表中记录的DHCP客户端的数量达到预设的数量阈值,且所述用户临时信息表中未记录所述DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在第一方面的第四种可能的实现方式中,所述暂缓处理所述DHCP客户端发送的DHCP报文具体包括:
生成访问控制列表ACL规则,并根据所述ACL规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面第三种可能的实现方式或者第一方面第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在所述处理所述DHCP客户端发送的DHCP报文之前,所述方法还包括:
当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,在所述处理所述DHCP客户端发送的DHCP报文之前,所述方法还包括:
删除已生成的所述ACL规则。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面第三种可能的实现方式或者第一方面第四种可能的实现方式,在第一方面的第七种可能的实现方式中,所述方法还包括:
当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除记录的所述网络地址申请成功的DHCP客户端信息,同时删除已生成的ACL规则。
第二方面,提供一种通信设备,所述通信设备包括:
接收单元,用于接收动态主机配置协议DHCP客户端发送的DHCP报文;
处理单元,用于当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述接收单元接收的所述DHCP客户端发送的DHCP报文;当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述接收单元接收的所述DHCP客户端发送的DHCP报文。
在第二方面的第一种可能的实现方式中,所述处理单元具体用于当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在第二方面的第二种可能的实现方式中,所述处理单元具体用于当用户临时信息表中记录的DHCP客户端的数量达到预设的数量阈值且所述用户临时信息表中未记录所述DHCP客户端时,暂缓处理所述接收单元接收的所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在第二方面的第三种可能的实现方式中,所述处理单元具体用于生成访问控制列表ACL规则,并根据所述ACL规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
在第二方面的第四种可能的实现方式中,所述通信设备还包括:
记录单元,用于当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
在第二方面的第五种可能的实现方式中,所述通信设备还包括:
删除单元,用于在处理所述DHCP客户端发送的DHCP报文之前,删除已生成的所述ACL规则。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述删除单元还用于当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除记录的所述网络地址申请成功的DHCP客户端信息,同时删除已生成的ACL规则。
结合第二方面、第二方面的第一种可能的实现方式、第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式、第二方面的第四种可能的实现方式、第二方面的第六种可能的实现方式或者第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述通信设备包括DHCP服务器、DHCP防欺骗snooping设备、DHCP中继relay设备。
在本发明实施例中,当正在处理的DHCP客户端的数量达到预设的数量阈值时,暂缓新的DHCP客户端发送的DHCP报文,从而可以避免新的DHCP客户端发送的DHCP报文挤占设备的处理资源,使得设备CPU的上送带宽和CPU资源达到最佳利用率,从而最大可能的发挥设备的并发上线性能。
附图说明
图1是现有技术提供的DHCP客户端和DHCP服务器在同一个网络中的连接示意图;
图2是本发明实施例提供的控制DHCP并发上线速度的方法的实现流程图;
图3是本发明另一实施例提供的控制DHCP并发上线速度的方法的实现流程图;
图4是本发明另一实施例提供的控制DHCP并发上线速度的方法的实现流程图;
图5是本发明实施例提供的通信设备的结构框图;
图6是本发明实施例提供的通信设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,当正在处理的DHCP客户端的数量达到预设的数量阈值时,暂缓处理新的DHCP客户端发送的DHCP报文,当正在处理的DHCP客户端的数量未达到预设的数量阈值时,接收并处理新的DHCP客户端发送的DHCP报文,这种基于用户粒度控制DHCP报文的上线速度的方式,可以使设备CPU的上送带宽和CPU资源达到最佳利用率,从而最大可能的发挥设备的并发上线性能。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
图2示出了本发明实施例提供的控制DHCP并发上线速度的方法的实现流程,该方法适用于与客户端直接连接的设备中,如DHCP服务器、DHCP snooping设备、DHCP中继(relay)设备等。为了便于说明,以DHCP服务器为例进行说明,对于其它与客户端直接连接的设备,其原理相同,详述如下:
S101,DHCP服务器接收动态主机配置协议DHCP客户端发送的DHCP报文。
在本实施例中,DHCP客户端在需要接入网络时,向网络广播DHCP报文。
其中DHCP报文包括但不限于DHCP发现(Discover)报文和DHCP选择(Request)报文。
S102,当DHCP服务器正在处理的DHCP客户端的数量达到预设的数量阈值,且该DHCP客户端为新的DHCP客户端时,暂缓处理接收到的DHCP客户端发送的DHCP报文。
在本实施例中,预设的数量阈值可以设置为DHCP服务器的最大并发上线规格。其中DHCP服务器的最大并发上线规格是指该DHCP服务器允许的最大用户并发上线速度,如可以设置为100个/秒。
正在处理的DHCP客户端的数量是指正在通过DHCP服务器申请网络地址但还未获取到网络地址的DHCP客户端的数量。
其中检查DHCP服务器正在处理的DHCP客户端的数量是否达到预设的数量阈值的方式,以及检查DHCP客户端是否为新的DHCP客户端的方式可以采用现有技术提供的任意一种检查方式,也可以采用本实施例提供的如下方式:
在DHCP服务器接收到DHCP客户端发送的DHCP报文,并将该DHCP报文上送到DHCP服务器的处理器(如CPU)进行处理时,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客户端的MAC(Media Access Control,介质访问控制)地址。报文类型是指当前正在处理的该DHCP客户端的报文的类型,如DHCPDiscover报文、DHCPRequest报文或者DHCPACK报文等。为了更为清楚,表1示出了本发明实施例提供的用户临时信息表的示例,但用户临时信息表不以表1所示为限。
表1
DHCP客户端标识 | 报文类型 |
客户端1 | DHCPDiscover |
...... | ...... |
客户端N | DHCPRequest |
在表1所示的用户临时信息表中,N为小于或者等于该DHCP服务器的最大并发上线规格的正整数。从该表1可以获知,DHCP服务器正在处理DHCP客户端1至DHCP客户端N的DHCP报文,即DHCP服务器正在处理的DHCP客户端的数量为N个,且正在处理DHCP客户端1的DHCPDiscover报文,正在处理DHCP客户端N的DHCPRequest报文。
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客户端发送的DHCPDiscover报文或者DHCPRequest报文等。也可以为其它暂缓处理方式,如缓存接收到的DHCP客户端发送的DHCP报文,并在DHCP服务器正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理缓存的DHCP报文,在此不再一一举例说明。
在本发明另一实施例中,DHCP服务器暂缓处理接收到的DHCP客户端发送的DHCP报文具体包括:
DHCP服务器生成访问控制列表(Access Control List,ACL)规则,根据该访问控制列表规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
在本实施例中,DHCP服务器在接收到DHCP客户端发送的DHCP报文时,可以从该DHCP报文中学习到该DHCP客户端的MAC地址,当DHCP服务器正在处理的DHCP客户端的数量未达到预设的数量阈值时,DHCP服务器在接收到DHCP客户端发送的DHCP报文时,从接收的DHCP报文中学习发送该DHCP报文的DHCP客户端的MAC地址,当DHCP服务器正在处理的DHCP客户端的数量达到预设的数量阈值时,DHCP服务器不再学习后续发送DHCP报文的DHCP客户端的MAC地址。举例说明如下:
假设预设的数量阈值为100,则DHCP服务器在接收到前100个DHCP客户端发送的DHCP报文后,从DHCP报文中学习该100个DHCP客户端的MAC地址,而在接收到后续的第101个以及以后的DHCP客户端发送的DHCP报文后,就不再学习第101个以及以后的DHCP客户端的MAC地址,直到DHCP服务器正在处理的DHCP客户端的数量少于预设的数量阈值。
在生成ACL规则后,DHCP服务器后续接收到DHCP客户端发送的DHCP报文时,即可直接依据该ACL规则,暂缓处理新的DHCP客户端发送的DHCP报文。
S103,当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述DHCP客户端发送的DHCP报文。
其中当正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理DHCP客户端发送的DHCP报文具体包括:
当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理DHCP客户端发送的DHCP报文。
在本发明实施例中,当DHCP服务器正在处理的DHCP客户端的数量达到预设的数量阈值时,暂缓处理新的DHCP客户端发送的DHCP报文,从而避免新的DHCP客户端占用DHCP服务器的CPU资源,使得DHCP服务器的CPU的上送带宽和CPU资源达到最佳利用率,可以最大程度的发挥设备的并发性能。
在本发明另一实施例中,在处理DHCP客户端发送的DHCP报文之前,该方法还包括:
当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
其中记录发送DHCP报文的DHCP客户端信息的方式可以如下,但不以下述方式为限:
DHCP服务器在用户临时信息表中增加表项,在增加的表项中记录发送DHCP报文的DHCP客户端信息,如记录该DHCP客户端标识(如DHCP客户端的MAC地址等)和该DHCP客户端发送的报文类型(如Discover报文、Request报文或者ACK报文等)。
在本发明另一实施例中,在处理DHCP客户端发送的DHCP报文之前,该方法还包括:
删除已生成的所述ACL规则。图3示出了本发明实施例提供的控制DHCP并发上线速度的方法的实现流程,该方法适用于与客户端直接连接的设备中,如DHCP服务器、DHCP snooping设备、DHCP中继(relay)设备等。为了便于说明,以DHCP服务器为例进行说明,对于其它与客户端直接连接的设备,其原理相同,详述如下:
S201,DHCP服务器接收DHCP客户端发送的DHCP报文。
S202,DHCP服务器判断发送DHCP报文的DHCP客户端是否为新的DHCP客户端,如果是,跳转至S206,否则,跳转至S203。
其中判断发送DHCP报文的DHCP客户端是否为新的DHCP客户端具体方式如上所述,在此不再赘述。
S203,DHCP服务器判断其正在处理的DHCP客户端的数量是否达到预设的数量阈值,如果是,跳转至S204,否则,跳转至S206。
其中DHCP服务器判断其正在处理的DHCP客户端的数量是否达到预设的数量阈值的具体方式如上所述,在此不再赘述。
S204,DHCP服务器暂缓处理DHCP客户端发送的DHCP报文。其具体方式如上所述,在此不再赘述。
S205,DHCP服务器记录发送的DHCP报文DHCP客户端信息。其具体过程如上所述,在此不再赘述。
S206,DHCP服务器处理DHCP客户端发送的DHCP报文。
在本发明另一实施例中,如果正在处理的DHCP客户端的数量未达到预设的数量阈值,且发送DHCP报文的DHCP客户端为新的DHCP客户端时,在记录发送的DHCP报文DHCP客户端信息或者处理DHCP客户端发送的DHCP报文之前,该方法还包括下述步骤:
删除已生成的ACL规则。这样,当正在处理的DHCP客户端的数量未达到预设的数量阈值,且发送DHCP报文的DHCP客户端为新的DHCP客户端时,如果已经生成ACL规则,则删除已生成的ACL规则,使得DHCP服务器可以处理该DHCP客户端发送的DHCP报文,从而使得DHCP服务器中的处理逻辑更顺畅,提高DHCP服务器的处理性能。
在本实施例中,当判定发送DHCP报文的DHCP客户端不是新的DHCP客户端时,不再进一步判断DHCP服务器正在处理的DHCP客户端的数量是否达到预设的数量阈值,而是直接处理该DHCP客户端发送DHCP报文,从而简化了DHCP服务器对DHCP报文的处理步骤。
图4示出了本发明另一实施例提供的控制DHCP并发上线速度的方法的实现流程,该方法适用于与客户端直接连接的设备中,如DHCP服务器、DHCPsnooping设备、DHCP中继代理(DHCP relay)设备等。为了便于说明,以DHCP服务器为例进行说明,对于其它与客户端直接连接的设备,其原理相同,详述如下:
S301,DHCP服务器接收DHCP客户端发送的DHCP报文。其具体过程如上所述,在此不再赘述。
S302,DHCP服务器判断其正在处理的DHCP客户端的数量是否达到预设的数量阈值,如果是,跳转至S303,否则,跳转至S305。
S303,DHCP服务器判断发送DHCP报文的DHCP客户端是否为新的DHCP客户端,如果是,跳转至S307,否则,跳转至S304。
S304,DHCP服务器暂缓处理接收的DHCP报文。
S305,DHCP服务器判断其正在处理的DHCP客户端的数量是否达到预设的数量阈值,如果是,跳转至S306,否则,跳转至S307。
S306,DHCP服务器记录发送的DHCP报文DHCP客户端信息。
S307,DHCP服务器处理该DHCP客户端发送的DHCP报文。
在图2、图3或者图4所示的控制DHCP并发上线速度的方法中,该方法还包括下述步骤:
当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除记录的该网络地址申请成功的DHCP客户端信息,同时删除已生成的ACL规则。
其中删除记录的该网络地址申请成功的DHCP客户端信息的具体方式可以为:删除用户临时信息表中记录的该网络地址申请成功的DHCP客户端所在的表项。这样,使得DHCP服务器在处理完一个DHCP客户端后,可以接收并处理新的DHCP客户端发送的DHCP报文。
在本实施例中,DHCP服务器在获知其正在处理的DHCP客户端中有DHCP客户端收到ACK报文时,即检测到该DHCP客户端网络地址申请成功,此时DHCP服务器可以处理新的DHCP客户端发送的DHCP报文。
在本实施例中,当DHCP服务器获知其正在处理的DHCP客户端中有DHCP客户端收到ACK报文时,则删除其用户临时信息表中记录的已收到ACK报文的DHCP客户端的表项,以便后续在接收到新的DHCP客户端发送的DHCP报文时,可以根据用户临时信息表中记录的DHCP客户端信息判断其正在处理的DHCP客户端的数量是否达到预设的数量阈值。
为了便于理解,以下以一个具体的示例对本发明实施例提供的方法进行详细说明:
假设DHCP服务器的最大并发上线规格为100个/秒,且DHCP服务器正在处理的DHCP客户端为第1至99个DHCP客户端,即第1至99个DHCP客户端正在通过DHCP服务器申请网络地址,此时,如果接收到第100个DHCP客户端发送的DHCP报文,则由于DHCP服务器正在处理的DHCP客户端的数量99小于DHCP服务器的最大并发上线规格100,所以DHCP服务器处理该第100个DHCP客户端发送的DHCP报文,接着如果接收到第101个DHCP客户端发送的DHCP报文,则由于DHCP服务器正在处理的DHCP客户端的数量100达到了DHCP服务器的最大并发上线规格100,因此,DHCP服务器暂缓处理该第101个DHCP客户端发送的DHCP报文。只有在第1至100个DHCP客户端中有DHCP客户端收到ACK报文时,DHCP服务器才会继续处理新的DHCP客户端发送的DHCP报文。这样可以避免由于第101个及后面的DHCP客户端占用DHCP服务器的CPU资源而导致的难以达到规定的并发上线规格的问题。
图5示出了本发明实施例提供的通信设备的结构框图,为了便于说明仅示出了与本发明实施例相关的部分。
该通信设备可以为DHCP snooping设备、DHCP relay设备或者DHCP服务器设备等,其中:
接收单元51,用于接收动态主机配置协议DHCP客户端发送的DHCP报文。
其中DHCP报文包括但不限于DHCP发现(Discover)报文和DHCP选择(Request)报文。
处理单元52,用于当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理接收单元1接收的所述DHCP客户端发送的DHCP报文;当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理接收单元1接收的所述DHCP客户端发送的DHCP报文。
在本发明优选实施例中,处理单元52具体用于当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文。其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在本发明优选实施例中,处理单元52具体用于当用户临时信息表中记录的DHCP客户端的数量达到预设的数量阈值且所述用户临时信息表中未记录所述DHCP客户端时,暂缓处理接收单元51接收的所述DHCP客户端发送的DHCP报文。其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
在本发明优选实施例中,处理单元52具体用于生成访问控制列表ACL规则,并根据所述ACL规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
在本发明优选实施例中,通信设备还包括记录单元53。该记录单元53用于当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
在本发明优选实施例中,通信设备还包括删除单元54。该删除单元54用于在处理所述DHCP客户端发送的DHCP报文之前,删除已生成的所述ACL规则。
在本发明优选实施例中,删除单元54还用于当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除用户临时信息表中记录的所述网络地址申请成功的DHCP客户端,同时删除已生成的ACL规则。
上述实施例中描述的功能单元或者模块可以用来实施上述图2-图4的方法,详情参见上述图2至图4对应实施例的相关描述,在此不再赘述。
请参考图6,本发明实施例提供了一种通信设备的示意图。该通信设备可以为DHCP snooping设备、DHCP relay设备或者DHCP服务器设备等等,本发明具体实施例并不对通信设备的具体实现做限定。通信设备包括:
处理器(processor)61,通信接口(Communications Interface)62,存储器(memory)63,通信总线64。
处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信。
通信接口62,用于与网元通信,比如DHCP客户端等。
处理器61,用于执行程序631。
具体地,程序631可以包括程序代码,所述程序代码包括计算机操作指令。
处理器61可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器63,用于存放程序631。存储器63可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序631具体可以包括用于执行图2-图4所述方法的指令。
本领域技术人员可以理解,图6中示出的组成结构并不构成对通信设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
综上所述,本发明实施例正在处理的DHCP客户端的数量达到预设的数量阈值时,暂缓处理新的DHCP客户端发送的DHCP报文,当正在处理的DHCP客户端的数量未达到预设的数量阈值时,接收并处理新的DHCP客户端发送的DHCP报文,这种基于用户粒度控制DHCP报文的上线速度的方式,可以使交换机的CPU的上送带宽和CPU资源达到最佳利用率,从而最大可能的发挥设备的并发上线性能。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种控制DHCP并发上线速度的方法,其特征在于,所述方法包括下述步骤:
DHCP服务器接收动态主机配置协议DHCP客户端发送的DHCP报文;
当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文,即缓存接收到的DHCP客户端发送的DHCP报文,并在DHCP服务器正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理缓存的DHCP报文;
当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述DHCP客户端发送的DHCP报文。
2.如权利要求1所述的控制DHCP并发上线速度的方法,其特征在于,所述DHCP报文包括DHCP发现Discover报文和DHCP选择Request报文。
3.如权利要求1所述的控制DHCP并发上线速度的方法,其特征在于,所述当正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文具体包括:
当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
4.如权利要求1所述的控制DHCP并发上线速度的方法,其特征在于,所述当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文具体包括:
当用户临时信息表中记录的DHCP客户端的数量达到预设的数量阈值,且所述用户临时信息表中未记录所述DHCP客户端时,暂缓处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
5.如权利要求1所述的控制DHCP并发上线速度的方法,其特征在于,所述暂缓处理所述DHCP客户端发送的DHCP报文具体包括:
生成访问控制列表ACL规则,并根据所述ACL规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
6.如权利要求1至5任一权利要求所述的控制DHCP并发上线速度的方法,其特征在于,在所述处理所述DHCP客户端发送的DHCP报文之前,所述方法还包括:
当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
7.如权利要求5所述的控制DHCP并发上线速度的方法,其特征在于,在所述处理所述DHCP客户端发送的DHCP报文之前,所述方法还包括:
删除已生成的所述ACL规则。
8.如权利要求1至5任一权利要求所述的控制DHCP并发上线速度的方法,其特征在于,所述方法还包括:
当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除记录的所述网络地址申请成功的DHCP客户端信息,同时删除已生成的ACL规则。
9.一种通信设备,其特征在于,所述通信设备包括:
接收单元,用于由DHCP服务器接收动态主机配置协议DHCP客户端发送的DHCP报文;
处理单元,用于当正在处理的DHCP客户端的数量达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,暂缓处理所述接收单元接收的所述DHCP客户端发送的DHCP报文,即缓存接收到的DHCP客户端发送的DHCP报文,并在DHCP服务器正在处理的DHCP客户端的数量未达到预设的数量阈值时,处理缓存的DHCP报文;当正在处理的DHCP客户端的数量未达到预设的数量阈值,或者所述DHCP客户端不是新的DHCP客户端时,处理所述接收单元接收的所述DHCP客户端发送的DHCP报文。
10.如权利要求9所述的通信设备,其特征在于,所述处理单元具体用于当用户临时信息表中记录的DHCP客户端的数量未达到预设的数量阈值时,处理所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
11.如权利要求9所述的通信设备,其特征在于,所述处理单元具体用于当用户临时信息表中记录的DHCP客户端的数量达到预设的数量阈值且所述用户临时信息表中未记录所述DHCP客户端时,暂缓处理所述接收单元接收的所述DHCP客户端发送的DHCP报文;
其中所述用户临时信息表用于记录DHCP服务器正在处理的DHCP客户端信息。
12.如权利要求9所述的通信设备,其特征在于,所述处理单元具体用于生成访问控制列表ACL规则,并根据所述ACL规则禁止将未学习到MAC地址的DHCP报文上送到DHCP服务器的处理器进行处理。
13.如权利要求9所述的通信设备,其特征在于,所述通信设备还包括:
记录单元,用于当正在处理的DHCP客户端的数量未达到预设的数量阈值,且所述DHCP客户端为新的DHCP客户端时,记录发送DHCP报文的DHCP客户端信息。
14.如权利要求9所述的通信设备,其特征在于,所述通信设备还包括:
删除单元,用于在处理所述DHCP客户端发送的DHCP报文之前,删除已生成的ACL规则。
15.如权利要求14所述的通信设备,其特征在于,所述删除单元还用于当DHCP服务器正在处理的DHCP客户端中存在网络地址申请成功的DHCP客户端时,删除记录的所述网络地址申请成功的DHCP客户端信息,同时删除已生成的ACL规则。
16.如权利要求9至15任一权利要求所述的通信设备,其特征在于,所述通信设备包括DHCP服务器、DHCP防欺骗snooping设备、DHCP中继relay设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210370107.6A CN102868700B (zh) | 2012-09-28 | 2012-09-28 | 一种控制dhcp并发上线速度的方法和通信设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210370107.6A CN102868700B (zh) | 2012-09-28 | 2012-09-28 | 一种控制dhcp并发上线速度的方法和通信设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102868700A CN102868700A (zh) | 2013-01-09 |
CN102868700B true CN102868700B (zh) | 2015-06-17 |
Family
ID=47447291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210370107.6A Active CN102868700B (zh) | 2012-09-28 | 2012-09-28 | 一种控制dhcp并发上线速度的方法和通信设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102868700B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430003B (zh) * | 2015-12-18 | 2019-03-01 | 湖南基石通信技术有限公司 | 扁平化网络中防止dhcp攻击的方法、装置及系统 |
CN113641898A (zh) * | 2021-07-30 | 2021-11-12 | 武汉思普崚技术有限公司 | 一种动态调整认证用户上线的方法、装置及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096273B1 (en) * | 2001-04-25 | 2006-08-22 | Cisco Technology, Inc. | DHCP over mobile IP |
CN101043465A (zh) * | 2006-06-20 | 2007-09-26 | 华为技术有限公司 | 动态主机配置协议服务管理方法以及系统 |
CN102082835B (zh) * | 2009-11-27 | 2013-04-17 | 华为技术有限公司 | Ip地址的分配方法及装置 |
CN102769678B (zh) * | 2012-07-23 | 2015-09-23 | 杭州华三通信技术有限公司 | 一种dhcp地址分配方法及装置 |
-
2012
- 2012-09-28 CN CN201210370107.6A patent/CN102868700B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN102868700A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7011003B2 (ja) | データ伝送方法、送信装置及び受信装置 | |
CN105991412B (zh) | 消息推送方法及装置 | |
CN102547386A (zh) | 数据重传方法、系统、组播服务器及用户终端 | |
EP2637365A2 (en) | Method for controlling internet services, and relevant device and system | |
US10582436B2 (en) | Voice service processing method and base station | |
CN107567107B (zh) | 一种传输数据的方法及装置 | |
EP3310093B1 (en) | Traffic control method and apparatus | |
CN103428037A (zh) | 一种探测用户在线的方法、设备及系统 | |
CN103220219A (zh) | 一种报文转发方法和设备 | |
CN106713522A (zh) | 一种无线保真Wi‑Fi连接方法及移动终端 | |
CN103347031B (zh) | 一种防范arp报文攻击的方法及设备 | |
CN102612165B (zh) | 一种释放资源的方法及装置 | |
CN102868700B (zh) | 一种控制dhcp并发上线速度的方法和通信设备 | |
CN102123452B (zh) | 一种资源的管理方法和设备 | |
CN103716230A (zh) | 消息发送方法、装置及服务器 | |
CN107995315B (zh) | 业务板间信息的同步方法、装置、存储介质及计算机设备 | |
CN101621526A (zh) | 一种防止无用连接占用系统资源的iSCSI方法及装置 | |
CN103051484A (zh) | 会话业务处理方法、系统和会话边缘控制器 | |
CN103067280B (zh) | 报文处理方法和装置 | |
CN108882296A (zh) | 一种处理报文的方法及装置 | |
CN106330712A (zh) | 一种mac地址学习的控制方法和装置 | |
CN104253874A (zh) | 一种报文发送和处理的方法、装置和系统 | |
US9634805B2 (en) | Packet transmission method | |
CN113015212B (zh) | 一种数据包重复传输的激活方法、设备及存储介质 | |
CN107659578B (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 |