专利名称:一种dhcp监听方法及其装置的制作方法
技术领域:
本发明涉及通信网络技术领域,具体地涉及一种DHCP监听方法及其装置。
背景技术:
随着网络规模的扩大和网络复杂度的提高,动态主机配置协议(DynamicHost Configuration Protocol,DHCP)得到了广泛的应用。但DHCP协议在应用的过程中遇到很多安全方面的问题,为解决这些问题,目前通用的办法是在接入用户的网络设备处,如网关交换机上使能DHCP监听(Snooping)功能。
DHCP Snooping协议栈通过监听DHCP报文,建立DHCP绑定表,该DHCP绑定表的表项包括IP地址、MAC地址、入端口号和虚拟局域网(Virtual LAN,VLAN)号。在转发报文时,利用DHCP绑定表对地址解析协议(AddressResolution Protocol,ARP)报文、IP报文进行检查,从而解决上述的欺骗攻击安全问题。其基本方案示意图如图1所示,用户B的MAC地址及IP地址为B,10.1.1.2;用户C的MAC地址及IP地址为C,10.1.1.3;网络设备A的MAC地址及IP地址为A,10.1.1.1。在接入用户的网关交换机上使能DHCPSnooping功能,则无论是正常用户如用户B还是其它可能有攻击行为的用户如用户C,首先必须进行DHCP首次地址申请。
网关交换机监听申请过程中的所有DHCP报文,通过分析往来的DHCP报文,建立如下所示的DHCP绑定表。
表1 DHCP绑定表
当攻击者发起欺骗攻击时,比如用户C发起一个免费ARP报文给B,欺骗用户B说,IP地址为10.1.1.1网关的MAC为C,那么在网关交换机处将对此ARP报文进行检测,拿本ARP报文携带的信息,包括其源MAC地址,源IP地址(或ARP净荷中声明的IP地址)以及入端口信息,本例中MAC地址为C、IP地址为10.1.1.1、入端口号为E2、VLAN号为3,去查找DHCP绑定表,发现其无法命中DHCP绑定表,则网关交换机会把该报文丢弃。所以,此欺骗ARP报文将无法到达其它任何用户包括用户B,从而制止了用户C的攻击行为。
而对于正常用户,比如用户B,使用网络则没有任何问题,因为其发送的所有报文,都将遵循其DHCP地址申请时的信息,即MAC地址为B,源IP地址为10.1.1.2,正常情况下,将能在网关交换机处正确命中DHCP绑定表,从而正常访问外部网络。
采用DHCP Snooping方案,一旦用户通过DHCP动态申请IP地址成功以后,能否上网,完全取决于用户报文能否命中网关交换机的某一DHCP绑定表(即,从该用户报文中提取出的相关信息与网关交换机上的某一DHCP绑定表的表项完全一致),如果没有任何一个DHCP绑定表与之匹配,该用户报文将被丢弃。
按照正常情况,只要用户还能使用这个IP地址(比如申请的IP地址在租期内),那么与之对应的DHCP绑定表就应该存在于网关交换机上,然而DHCP绑定表是有可能非正常丢失的,比如1、由于一个网关上要接入大量的用户,而用于存放DHCP绑定表的空间有限,因此,需要将长期没有命中的DHCP绑定表老化掉,即,使该DHCP绑定表无效,或新用户的DHCP Snooping绑定表因为空间不够的原因无法正常创建。
2、由于使能DHCP Snooping功能的网络设备重启,原DHCP绑定表在保存恢复过程中部分丢失。
3、使能DHCP Snooping功能的网络设备由于自身内部通信原因,也可能造成DHCP绑定表丢失。
4、网络设备上一个端口上一旦使能DHCP Snooping功能,那么在使能前已经通过DHCP获得IP地址的用户将在该网络设备上没有对应的DHCP绑定表,此时也可以理解为该用户的DHCP绑定表异常丢失。
一旦某DHCP绑定表丢失,与之对应的用户将无法发送任何报文通过网关交换机,只能等待通过DHCP申请的地址过期或者手工进行地址释放,并再次发起DHCP地址申请并成功申请地址后,该用户才能上网。
如图1所示,假如由于某种原因,针对用户B的DHCP绑定表丢失了,用户B的报文由于在网关交换机上没有对应的DHCP绑定表,从而导致网关交换机查找DHCP绑定表失败而丢弃用户B发出的除DHCP首次地址申请报文以外的所有报文。此时,如果用户B需要继续上网,则只能有两种办法1、手工触发网卡重新进行DHCP首次地址申请,即先释放现有地址,然后再进行首次地址申请。通过首次地址申请,用户B重新获得新的IP地址,同时在网关交换机上建立起对应的绑定表。
2、等目前申请的地址过期后再上网,此时由于地址过期,DHCP客户端软件将检测到该事件,然后自动进行首次地址申请。跟1一样,用户B重新获得新的IP地址,同时在网关交换机上建立起对应的绑定表。
上述两种方法都会使用户中断上网,甚至丢失报文。
发明内容
本发明实施例所要解决的技术问题在于,提供一种DHCP监听方法,当DHCP绑定表非正常丢失时,在用户几乎不感知的情况下,快速恢复上网功能。
为了解决上述技术问题,本发明实施例提出了一种DHCP监听方法,包括接收用户报文并判断其是否命中DHCP绑定表,如果判断结果为是,则转发所述用户报文,否则,执行下一步;仿照DHCP服务器向所述用户发送DHCPNAK报文。
相应地,本发明实施例提供一种DHCP监听装置,用于监听网络设备收到的用户报文,包括有绑定表存储单元,用于存储DHCP绑定表;命中判断单元,用于根据所述网络设备接收的用户报文中的信息查找存储于所述绑定表存储单元中的DHCP绑定表,判断所述用户报文是否命中一DHCP绑定表,并在判断结果为是时命令所述网络设备转发所述用户报文;DHCP反确认单元,用于当所述命中判断单元的判断结果为否时,仿照DHCP服务器向所述用户发送DHCPNAK报文。
综上,本发明实施例提供的一种DHCP监听方法及其装置,通过当收到的用户报文不能命中DHCP绑定表时仿照DHCP服务器向该用户发送DHCPNAK报文,使该用户在收到DHCPNAK报文后发起首次地址申请,从而重新建立起DHCP绑定表,在用户觉察不到的情况下保持继续上网。
图1是现有技术中DHCP监听方法的应用示意图;图2是本发明中DHCP监听方法实施例一的流程示意图;图3是本发明中DHCP监听方法实施例三的流程示意图;图4是图3中步骤S3003的一实施方式的流程示意图;图5是本发明中DHCP监听装置实施例一的功能模块组成示意图;图6是本发明中DHCP监听装置实施例二的功能模块组成示意图;图7是本发明中DHCP监听装置实施例三的功能模块组成示意图。
具体实施例方式
下面结合附图对本发明作进一步详细清楚的说明。
图2示出了本发明DHCP监听方法实施例一的流程示意图,该实施例包括以下步骤步骤S2001接收用户报文并判断其是否命中DHCP绑定表,如果判断结果为是,则按照现有技术转发所述用户报文,否则,执行步骤S2002。
步骤S2002仿照DHCP服务器向所述用户发送DHCPNAK报文。
在该实施例中,当用户报文不能命中DHCP绑定表时,不再像现有技术那样直接丢弃该报文。例如,如图1中所示的接入设备(图中为网络交换机)收到的用户B的报文,由于入端口使能了DHCP监听功能,接入设备的DHCP监听单元从该报文中提取源MAC以及源IP地址等信息,加上入端口信息(即端口号)和VLAN号,去查找DHCP绑定表,如果查找不到对应的DHCP绑定表(即对应用户B的DHCP绑定表非正常丢失),这时,接入设备不是直接丢弃该报文,而是将其重定向至DHCP监听单元,由DHCP监听单元向用户B发送DHCPNAK报文,仿照DHCP服务器告诉用户B其IP地址已经不可用,然后才丢弃该不能命中DHCP绑定表的报文。那么,当用户B接收到这个DHCPNAK报文后,按照DHCP协议,将自动重新发起首次地址申请,DHCP监听单元通过监听首次地址申请过程中的DHCP报文,重新建立起对应用户B的DHCP绑定表,则用户B在申请地址成功之后就可以照常上网了。整个过程中无需用户手动操作,可以在用户不觉察的情况下重新建立起DHCP绑定表,使用户照常上网。
这里及下文所提到的网关交换机只是一个特例,所述接入设备实际上包括所有支持DHCP Snooping功能的网络设备。
本发明还提供DHCP监听方法的另一实施例,该实施例(实施例二)与上一实施例的不同之处在于,在步骤S2002中还包括下列步骤从不能命中DHCP绑定表的报文中提取入端口信息、VLAN信息及其源MAC、源IP地址信息创建DHCP黑名单绑定表。之所以叫作黑名单绑定表,是因为不能命中DHCP绑定表还可能由于下列原因DHCP绑定表并没有丢失,该报文只是黑客发送的攻击报文,这时,为便于跟踪攻击者的攻击行为,建立起对应的DHCP黑名单绑定表。现有技术的DHCP绑定表包括有4个字段MAC地址、IP地址、端口号及VLAN号,如表1所示。在本实施例中,对DHCP绑定表增加了2个字段绑定表类型字段和命中频率字段。绑定表类型字段用于标识该DHCP绑定表是正常的DHCP绑定表,还是黑名单绑定表。命中频率字段用于当DHCP绑定表为DHCP黑名单绑定表时记录该绑定表被报文命中的频率信息。
在创建DHCP黑名单绑定表后,本发明DHCP监听方法的实施例一也会发生改进,改进后的DHCP监听方法实施例(即实施例三)的流程图如图3所示,包括以下步骤步骤S3001接收后续用户报文并判断其是否命中DHCP绑定表,如果判断结果为否,则仿照DHCP服务器向所述用户发送DHCPNAK报文,否则,执行步骤S3002。
步骤S3002判断所述用户报文命中的DHCP绑定表是否为DHCP黑名单绑定表,如果判断结果为否,则按照现有技术转发所述用户报文,否则,执行步骤S3003。
步骤S3003按照预定的配置策略处理所述用户报文。
当收到的用户报文不能命中DHCP绑定表时,在本实施例中和实施例一一样,仿照DHCP服务器向该用户发送DHCPNAK报文,使用户发起首次地址申请,从而重新建立对应的DHCP绑定表。当收到的用户报文命中了绑定表,这时,不是像实施例一那样直接将报文按现有技术转发,而是要根据绑定表中的绑定表类型字段进一步判断该DHCP绑定表的类型。如果被命中的是正常的DHCP绑定表,则说明该报文不是欺骗攻击报文,则按现有技术转发。如果判断命中的绑定表类型为DHCP黑名单绑定表,则说明该报文有可能是攻击报文,则记录该DHCP黑名单绑定表被命中的频率信息,即在某一时间段内被命中了多少次,同时按照预定的配置策略对该报文进行处理。通过本实施例,可以根据被命中的绑定表的类型对报文分别进行处理,增强了设备对攻击的识别能力。
作为一种实施方式,所谓配置策略可以为如果该用户发送报文的速度值超过了预设的某一限速值,则丢弃该报文,如果没有超过,则向该用户发送DHCPNAK报文。用户发送报文的速度值可以由DHCP黑名单绑定表的命中频率字段中所记录的频率信息计算得出。如,所记录的频率信息为该黑名单绑定表2分钟内被命中了4次,则可以计算出对应的发送速度为30s/次。
对应上述配置策略,步骤S3003的一种实施方式流程图如图4所示,包括以下步骤步骤S4001记录所述DHCP黑名单绑定表被命中的频率信息。
步骤S4002根据所述频率信息计算所述用户报文的发送速度值,并比较所述发送速度值与预设限速值的大小,如果所述发送速度值大于所述限速值,则丢弃所述用户报文,否则,执行步骤S4003。
步骤S4003仿照DHCP服务器向所述用户发送DHCPNAK报文。
通过上述配置策略,可以有效防止恶意用户的拒绝服务攻击。
相应地,本发明还提供DHCP监听装置的实施例,其实施例一的功能模块组成示意图如图5所示。该DHCP监听装置用于监听网络设备收到的用户报文,包括有绑定表存储单元4、命中判断单元8及DHCP反确认单元1。
绑定表存储单元4用于存储DHCP绑定表。
命中判断单元8用于根据所述网络设备接收的用户报文中的信息查找存储于所述绑定表存储单元中的DHCP绑定表,判断所述用户报文是否命中一DHCP绑定表,并在判断结果为是时命令所述网络设备转发所述用户报文。
DHCP反确认单元1用于当所述命中判断单元的判断结果为否时,仿照DHCP服务器向所述用户发送DHCPNAK报文。即,当收到的用户报文不能命中DHCP绑定表时(即对应的DHCP绑定表丢失),DHCP反确认单元1仿照DHCP服务器向所述用户发送DHCPNAK报文,告诉用户该IP地址已不可以,请重新申请。则用户收到该DHCPNAK报文后发起首次地址申请,DHCP监听装置监听首次地址申请流程中往来的DHCP报文,重新建立起对应的DHCP绑定表。用户申请地址成功后即可照常上网。
通过本实施例,当DHCP绑定表丢失时,可以在用户不觉察的情况下自动重新建立起DHCP绑定表,使用户照常上网。
本发明DHCP监听装置实施例二的功能模块组成示意图如图6所示,它与实施例一的不同在于还包括有DHCP黑名单绑定表单元2,用于当命中判断单元8的判断结果为否时,即当收到的用户报文不能命中DHCP绑定表时,提取所述用户报文的入端口信息及其源MAC、源IP地址信息创建DHCP黑名单绑定表,并将所述DHCP黑名单绑定表存储到绑定表存储单元4中。之所以叫作黑名单绑定表,是因为报文不能命中DHCP绑定表还可能由于下列原因DHCP绑定表不存在丢失,该报文只是黑客发送的攻击报文,这时,为便于跟踪攻击者的攻击行为,DHCP黑名单绑定表单元2建立起对应的DHCP黑名单绑定表。为区别正常的DHCP绑定表和DHCP黑名单绑定表,绑定表存储单元4还可以包括绑定表类型存储单元41,用于存储DHCP绑定表的类型是否为DHCP黑名单绑定表的信息。为进一步了解攻击者的行为信息,绑定表存储单元4还可以包括命中频率存储单元42,用于当DHCP绑定表的类型为DHCP黑名单绑定表时,记录其被命中的频率信息,即在某一时间段内该DHCP黑名单绑定表被命中的次数。
通过本实施例,除了可以达到和实施例一相同的功能外,还可以有效跟踪攻击者的行为信息,便于网管进行分析。
在实施例二的基础上还可以对DHCP监听装置作进一步的改进,以充分利用DHCP黑名单绑定表单元2、绑定表类型存储单元41及命中频率存储单元42的功能。图7示出了改进后的DHCP监听装置,即实施例三的功能模块组成示意图,除包括实施例二的所有功能单元外,它还包括有类型判断单元5、控制单元6、黑名单绑定表处理单元7。
类型判断单元5用于当所述命中判断单元8的判断结果为是时,即当收到的用户报文命中DHCP绑定表时,读取所述绑定表类型存储单元41中该DHCP绑定表的类型信息,判断其是否为DHCP黑名单绑定表,并将判断结果发送给所述控制单元6。控制单元6接收所述类型判断单元5的判断结果,当所述判断结果为是时,对所述黑名单绑定表处理单元7下发分析命令,并根据所述黑名单绑定表处理单元7返回的分析结果按照预定的配置策略处理所述用户报文;当所述类型判断单元5的判断结果为否时,将该用户报文按照现有技术转发。黑名单绑定表处理单元7用于根据所述控制单元6的分析命令对所述黑名单绑定表进行分析,并将分析结果发送给所述控制单元6。
作为一种实施方式,黑名单绑定表处理单元7进一步包括有速度计算单元71、限速预设单元72及比较单元73。速度计算单元71用于根据所述命中频率存储单元42中存储的命中频率信息计算所述用户报文的发送速度值。如,所记录的频率信息为该黑名单绑定表2分钟内被命中了4次,则可以计算出对应的发送速度为30s/次。限速预设单元72用于预先设置用户报文所被允许的最大发送限速值。比较单元73用于根据所述分析命令读取所述发送速度值及所述限速值,比较它们的大小,并将比较结果发送给所述控制单元6。
作为一种实施方式,控制单元6中存储的预定的配置策略可以为如果该用户发送报文的速度值超过了预设的某一限速值,则丢弃该报文,如果没有超过,则向该用户发送DHCPNAK报文。则,控制单元6收到比较单元73发送过来的比较结果后,如果发送速度值超过了限速值,则通知网络设备丢弃该报文,否则,命令DHCP反确认单元1向所述用户发送DHCPNAK报文,使该用户发起首次地址申请。
通过本实施例,可以跟踪攻击者的行为信息,并增强设备的攻击识别能力,有效防止恶意用户的拒绝服务攻击。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种DHCP监听方法,其特征在于,包括接收用户报文并判断其是否命中DHCP绑定表,如果判断结果为是,则转发所述用户报文,否则,执行下一步;仿照DHCP服务器向所述用户发送DHCPNAK报文。
2.如权利要求1所述的DHCP监听方法,其特征在于,所述发送DHCPNAK报文的步骤还包括提取所述用户报文的入端口信息及其源MAC、源IP地址信息创建DHCP黑名单绑定表。
3.如权利要求2所述的DHCP监听方法,其特征在于,所述创建DHCP黑名单绑定表步骤之后还包括接收后续用户报文并判断其是否命中DHCP绑定表,如果判断结果为否,则仿照DHCP服务器向所述用户发送DHCPNAK报文,否则,执行下一步;判断所述用户报文命中的DHCP绑定表是否为DHCP黑名单绑定表,如果判断结果为否,则转发所述用户报文,否则,执行下一步;记录所述DHCP黑名单绑定表被命中的频率信息,并按照预定的配置策略处理所述用户报文。
4.如权利要求3所述的DHCP监听方法,其特征在于,所述记录命中频率信息并处理所述用户报文的步骤具体包括记录所述DHCP黑名单绑定表被命中的频率信息;根据所述频率信息计算所述用户报文的发送速度值,并比较所述发送速度值与预设限速值的大小,如果所述发送速度值大于所述限速值,则丢弃所述用户报文,否则,执行下一步;仿照DHCP服务器向所述用户发送DHCPNAK报文。
5.一种DHCP监听装置,用于监听网络设备收到的用户报文,其特征在于,包括有绑定表存储单元,用于存储DHCP绑定表;命中判断单元,用于根据所述网络设备接收的用户报文中的信息查找存储于所述绑定表存储单元中的DHCP绑定表,判断所述用户报文是否命中一DHCP绑定表,并在判断结果为是时命令所述网络设备转发所述用户报文;DHCP反确认单元,用于当所述命中判断单元的判断结果为否时,仿照DHCP服务器向所述用户发送DHCPNAK报文。
6.如权利要求5所述的DHCP监听装置,其特征在于,还包括有DHCP黑名单绑定表单元,用于当所述命中判断单元的判断结果为否时,提取所述报文的入端口信息及其源MAC、源IP地址信息创建DHCP黑名单绑定表,并将所述DHCP黑名单绑定表存储于所述绑定表存储单元。
7.如权利要求6所述的DHCP监听装置,其特征在于,所述绑定表存储单元还包括有绑定表类型存储单元,用于存储DHCP绑定表的类型是否为DHCP黑名单绑定表的信息;命中频率存储单元,用于当DHCP绑定表的类型为DHCP黑名单绑定表时,记录其被命中的频率信息。
8.如权利要求7所述的DHCP监听装置,其特征在于,还包括有类型判断单元、控制单元、黑名单绑定表处理单元,其中所述类型判断单元,用于当所述命中判断单元的判断结果为是时,读取所述绑定表类型存储单元中该被命中的DHCP绑定表的类型信息,判断其是否为DHCP黑名单绑定表,并将判断结果发送给所述控制单元;所述控制单元,用于当所述类型判断单元的判断结果为是时,对所述黑名单绑定表处理单元下发分析命令,并根据所述黑名单绑定表处理单元返回的分析结果按照预定的配置策略处理所述用户报文;同时用于当所述类型判断单元的判断结果为否时,控制所述网络设备将该用户报文转发;所述黑名单绑定表处理单元,用于根据所述控制单元的分析命令对所述黑名单绑定表进行分析,并将分析结果发送给所述控制单元。
9.如权利要求8所述的DHCP监听装置,其特征在于,所述黑名单绑定表处理单元进一步包括有速度计算单元、限速预设单元及比较单元,其中所述速度计算单元,用于根据所述命中频率存储单元中存储的命中频率信息计算所述用户报文的发送速度;所述限速预设单元,用于预先设置用户报文所被允许的最大发送限速;所述比较单元,用于根据所述分析命令读取所述发送速度值及所述限速值,比较它们的大小,并将比较结果发送给所述控制单元。
10.如权利要求8或9所述的DHCP监听装置,其特征在于,所述预定的配置策略为如果所述用户报文的发送速度大于所述限速,则命令所述网络设备丢弃所述用户报文,否则,命令所述DHCP反确认单元向所述用户发送DHCPNAK报文。
全文摘要
本发明公开了一种DHCP监听方法,当由于DHCP绑定表非正常丢失而使收到的用户报文不能命中DHCP绑定表时,仿照DHCP服务器向该用户发送DHCPNAK报文,使该用户在收到DHCPNAK报文后发起首次地址申请。本发明还公开了一种DHCP监听装置。通过本发明,可以在用户觉察不到的情况下自动重新建立起DHCP绑定表,保持用户照常上网。
文档编号H04L29/06GK101039223SQ200710027710
公开日2007年9月19日 申请日期2007年4月25日 优先权日2007年4月25日
发明者谭学飞 申请人:华为技术有限公司