一种防止DHCP风暴的方法和系统技术方案

技术编号:11955918 阅读:162 留言:0更新日期:2015-08-27 07:54
本发明专利技术公开了一种防止DHCP风暴的方法,包括如下步骤:基于客户端发送的DHCP报文请求创建DHCP请求链表;基于所述DHCP请求链表进行DHCP风暴的阻止。本发明专利技术还提出了一种防止DHCP风暴的系统。通过本发明专利技术的技术方案,使得本发明专利技术在不增加用户使用成本的前提下,提升了用户使用体验,提高了设备运行的效率。

【技术实现步骤摘要】

本专利技术属于网络安全
,特别涉及一种防止DHCP风暴的方法和系统
技术介绍
DHCP (Dynamic Host Configurat1n Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、网关(Gateway)地址、DNS服务器地址等信息,并能够提升地址的使用率。通常情况下,产生DHCP风暴的原因是DHCP在PC机上配置后,会在局域网内实时发送广播探测报文。当局域网内没有相应的DHCP服务器时,就会出现局域网内每台PC都会收到来自其他PC的不定时的广播请求探测报文,该广播请求探测报文的数量是随着DHCP请求PC的增加而不断增加,当网络中PC的数量达到一定程度时,就会造成DHCP请求风暴,影响局域网内的带宽和接收此报文的PC的性能。针对上述问题,现有技术通常有两种解决方案:第一种解决方案,提升网络带宽和终端PC机的性能。第二种解决方案,当网络中无DHCP服务器时,通过人工干预的方式,断开每台PC机的DHCP请求功能。上述两种方案存在如下缺点:第一种方法提高硬件配置,增加用户的使用成本,而用户更希望在不增加使用成本的情况下,降低DHCP请求风暴带来的影响。第二种方法,当网络中无DHCP服务器时,通过人工干预的方式关闭DHCP请求,而当网络中接入DHCP服务器时,还需要人工开启DHCP请求,操作繁琐,不便于维护。因此,有必要提出一种防止DHCP请求风暴的方法,以此来解决局域网内的DHCP请求风暴的问题。【
技术实现思路
】本专利技术的目的是提供一种防止DHCP风暴的方法和系统,通过本专利技术的技术方案,能够解决局域网内的DHCP请求风暴的问题,在不增加使用成本的情况下,降低DHCP请求风暴带来的影响,同时操作简单,便于维护。为实现上述目的,本专利技术的一个方面提供了一种防止DHCP请求风暴的方法,包括:基于客户端发送的DHCP报文请求创建DHCP请求链表;基于所述DHCP请求链表进行DHCP风暴的阻止。其中,所述DHCP请求链表包括客户端的MAC地址和DHCP报文请求的计数。其中,所述基于客户端发送的DHCP报文请求创建DHCP请求链表的步骤包括:获取客户端发送的DHCP报文请求;将发送DHCP报文请求的客户端的MAC地址记录到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地址和DHCP报文请求的计数。其中,所述链表创建模块包括:获取单元,用于获取客户端发送的DHCP报文请求;记录单元,用于将发送DHCP报文请求的客户端的MAC地址记录到DHCP请求链表中;第一判断单元,当接收到客户端发送的DHCP报文请求时,用于判断所述DHCP请求链表中是否存在与该DHCP报文请求对应的记录;第一处理单元,当所述DHCP请求链表中存在所述记录时,用于将该记录中的计数加定值,并将该记录置于所述DHCP请求链表的第一位;第二处理单元,当所述DHCP请求链表中不存在所述记录时,用于将该DHCP报文请求记录到所述DHCP请求链表的第一位。其中,所述风暴防止模块包括:计算单元,当接受到客户端发送的DHCP报文请求时,用于计算单位时间内接收到DHCP报文请求的数量;第二判断单元,用于判断所述数量是否超过阈值;查找单元,当所述数量超过阈值时,用于在所述DHCP请求链表中查找与该DHCP报文请求对应的记录;第三处理单元,当查找到该DHCP报文请求的记录时,用于丢弃该DHCP报文请求,并将该记录中的计数减定值。如上所述,通过本专利技术的技术方案,使得本专利技术在不增加用户使用成本的前提下,提升了用户使用体验,提高了设备运行的效率。【附图说明】图1是根据本专利技术实施方式的客户端、交换机和DHCP服务器的交互示意图;图2是本专利技术的防止DHCP风暴的方法的流程示意图;图3是根据本专利技术一实施方式的创建DHCP请求链表的流程示意图;图4是根据本专利技术另一实施例的防止DHCP风暴的流程不意图;图5是本专利技术的防止DHCP风暴的系统的结构示意图;图6是本专利技术的链表创建模块的结构示意图;图7是本专利技术的风暴防止模块的结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。图1是根据本专利技术实施方式的客户端、交换机和DHCP服务器的交互示意图。如图1所示,在客户端和DHCP服务器之间设置有交换机,客户端向交换机发送DHCP报文请求,交换机向DHCP服务器提交该客户端发送的DHCP报文请求,并将该DHCP服务器返回的IP地址和子网掩码等信息转发至客户端。本专利技术中,将所有发送DHCP报文请求的终端统称为客户端,并不仅仅限于PC机或电脑。将所有能够实现DHCP功能的设备均统称为DHCP服务器,并不仅仅限于专门的DHCP服务器。图2是本专利技术的防止DHCP风暴的方法的流程示意图。如图2所示,本专利技术的防止DHCP风暴的方法,包括如下步骤:步骤S10,基于客户端发送的DHCP报文请求创建DHCP请求链表。本步骤涉及获取从客户端发送的DHCP报文请求,基于该客户端发送的DHCP报文请求创建DHCP请求链表,进一步,基于该DHCP请求链表进行DHCP风暴的阻止。其中,该DHCP请求链表包括客户端的MAC地址、DHCP报文请求的计数等等。该DHCP报文请求的计数是指DHCP报文请求的次数。具体执行步骤参见下文图3所示示例。步骤S20,基于所述DHCP请求链表进行DHCP风暴的阻止。本步骤中,在步骤SlO创建的DHCP请求链表的基础上,进行DHCP风暴的阻止。这样,动态的调整了 DHCP报文请求的数量,由于客户端配置的DHCP报文请求时间的长短不同,可以保证网络中DHCP报文请求量大的时候,将DHCP配置请求时间短的报文进行尽量多的丢弃,DHCP没有请求过的报文可以进行有效转发,通本文档来自技高网
...

【技术保护点】
一种防止DHCP请求风暴的方法,所述方法包括:基于客户端发送的DHCP报文请求创建DHCP请求链表;基于所述DHCP请求链表进行DHCP风暴的阻止。

【技术特征摘要】

【专利技术属性】
技术研发人员:康暖陈海滨
申请(专利权)人:北京汉柏科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1