CN105635138A - 一种防止arp攻击的方法和装置 - Google Patents
一种防止arp攻击的方法和装置 Download PDFInfo
- Publication number
- CN105635138A CN105635138A CN201511004660.8A CN201511004660A CN105635138A CN 105635138 A CN105635138 A CN 105635138A CN 201511004660 A CN201511004660 A CN 201511004660A CN 105635138 A CN105635138 A CN 105635138A
- Authority
- CN
- China
- Prior art keywords
- arp
- address
- parameter collection
- message
- table item
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
本申请涉及一种防止ARP攻击的方法,其包括:网关设备的控制面接收到转发面发送的第一ARP缺失消息,生成并保存第一参数集,所述第一参数集包括有数据报文的目的IP地址,控制面将ARP假表项发送给转发面,并为所述ARP假表项设置第一老化时间。当控制面再次收到用以表明以所述目的IP地址查找ARP表失败的第二ARP缺失消息时,响应于确定已经保存了所述第一参数集,所述控制面发送所述假表项给转发面,并为所述ARP假表项设置大于所述第一老化时间的第二老化时间。本申请能够有效的抑制转发面向控制面发送ARP缺失消息的频率,显著降低了ARP消息处理中对系统资源的消耗,更好的保护了设备。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种防止地址解析协议(英文:AddressResolutionProtocol,ARP)攻击的方法和装置。
背景技术
因特网协议(英文:InternalProtocol,IP)网络组成了当前广泛应用的因特网基础。ARP攻击是IP网络中最常见的一种攻击方式。
一种常见的ARP攻击方式是子网间ARP攻击。比如,攻击者使用第一子网中的主机持续发送数据报文。这些数据报文的目的是实施ARP攻击,因此这些数据报文并非正常数据报文而是攻击报文。这些攻击报文的目的IP地址的子网前缀属于第二子网,但是在第二子网中不存在IP地址为该目的IP地址的主机。在第二子网的网关设备转发这些攻击报文中的第一个攻击报文时,网关设备的转发面根据该攻击报文的目的IP地址查找ARP表失败,则所述转发面会向该网关设备的控制面发送包括该目的IP地址的ARP缺失消息。该ARP缺失消息用于表明所述转发面以该目的IP地址查找ARP表失败。控制面尝试完成该目的IP地址的ARP学习。ARP学习是为了获取数据报文目的IP地址与MAC地址的对应关系。例如,控制面可以根据ARP缺失消息中的目的IP地址广播ARP请求报文以完成ARP学习。为了抑制转发面频繁发送ARP缺失消息,控制面接收到ARP缺失消息后将ARP假表项发送给转发面。该ARP假表项的IP地址为ARP缺失消息中的目的IP地址,该ARP假表项的介质访问控制(英文:mediaaccesscontrol,MAC)地址为无效MAC地址,例如为全0的MAC地址。所述转发面接收到所述ARP假表项后,在所述ARP表中添加所述ARP假表项。在收到这些攻击报文中的后续攻击报文后,转发面查找ARP表,根据攻击报文的目的IP地址可以找到所述ARP假表项,因此不向所述控制面发送ARP缺失消息。
所述ARP假表项老化以后,转发面收到攻击报文时,转发面会再次向控制面发送ARP缺失消息。因此,如果ARP假表项老化时间过短,转发面会在短时间内向控制面发送大量的ARP缺失消息。大量的ARP缺失消息占用了大量系统资源。为防范该类ARP攻击,可以延长ARP假表项的老化时间。但是这可能又会影响完成正常数据报文的ARP学习所需的时间。
转发面接收到正常数据报文时,如果由于某些偶然因素导致第一次收到ARP缺失消息后控制面没有完成ARP学习,再次收到ARP缺失消息时控制面要再次尝试完成ARP学习。例如第一次收到ARP缺失消息后,控制面发送的ARP请求报文丢包,或者主机返回的ARP响应报文丢包,可以导致本次ARP学习无法完成。只有在ARP假表项老化以后,控制面再次收到ARP缺失消息时才能再次触发ARP学习。因此,如果ARP假表项的老化时间设置过长,会影响正常数据报文的转发效率。
发明内容
本申请提供了一种防止ARP攻击的方法和装置,以减小ARP攻击对系统资源的消耗。
第一方面,提供了一种防止ARP攻击的方法,该方法包括:
网关设备的控制面接收转发面发送的第一ARP缺失消息,所述第一ARP缺失消息用于表明所述转发面以数据报文的目的因特网协议IP地址查找ARP表失败;
响应于接收到所述第一ARP缺失消息,所述控制面生成并保存第一参数集,所述第一参数集包括所述目的IP地址;
所述控制面将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述控制面接收所述转发面发送的第二ARP缺失消息,所述第二ARP缺失消息用于表明所述转发面以所述目的IP地址查找ARP表失败;
所述控制面确定已经保存了包括所述目的IP地址的所述第一参数集;
响应于确定已经保存了所述第一参数集,所述控制面将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
转发面再次发送ARP缺失消息后接收的ARP假表项的老化时间增加。如果转发面接收到的数据报文是攻击报文,延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,首次ARP缺失消息的老化时间短,不影响正常数据报文的转发效率。
可选的,所述第一参数集还包括以下一个或多个:所述ARP假表项的所述第一老化时间;第一ARP缺失消息计数。
在所述第一参数集中保存所述ARP假表项的所述第一老化时间和/或所述第一ARP缺失消息计数,使得所述控制面接收到所述第二ARP缺失消息时,可以根据所述第一参数集中保存的上述参数作为比较对象,设置所述第二老化时间,使得第二老化时间大于所述第一老化时间。
可选的,所述方法还包括:响应于确定已经保存了所述第一参数集,所述控制面生成并保存第二参数集;所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
所述ARP假表项的所述第二老化时间;
第二ARP失败消息计数,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。
当控制面收到转发面发送的第二ARP缺失消息时,控制面生成并保存第二参数集,用于保存所述目的IP地址,所述第二老化时间和所述第二ARP失败消息计数。当控制面在接收到所述第二ARP缺失消息之后,如果再次接收到转发面发送的ARP缺失消息,可以根据第二参数集中保存的参数,设置再次发送给所述转发面的所述ARP假表项的老化时间,使得所述控制面发送给转发面的ARP假表项的老化时间逐渐递增。进而逐渐延长转发面收到发往同一所述目的IP地址的攻击报文时,逐渐延长向控制面发送ARP缺失消息的时间间隔。
可选的,所述方法还包括:在所述控制面生成并保存所述第二参数集之后,删除所述第一参数集。
通过删除所述第一参数集,可以进一步减少所述第一参数集对系统内存资源的占用。
转发面向控制面发送对应所述目的IP地址的ARP缺失消息的数量减少,有效减少对系统CPU资源的占用,同时减少控制面对外发送ARP请求报文的数量,减少对所述目的IP地址所在子网的主机资源的占用。
第二方面,提供了一种防止地址解析协议ARP攻击的装置,该装置具有实现上述第一方面的方法中防止ARP攻击的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供了一种网关设备,包括:转发面和控制面,
所述转发面,用于接收数据报文,根据所述数据报文的目的IP地址查找ARP表,当所述查找失败时,向所述控制面发送ARP缺失消息,所述ARP缺失消息包括所述目的IP地址;
所述控制面,用于接收所述ARP缺失消息,响应于接收到所述ARP缺失消息,确定所述控制面是否已经保存了包括所述目的IP地址的参数集;
所述控制面,还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址,将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述控制面,还用于当确定已经保存了包括所述目的IP地址的所述第一参数集时,将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
转发面再次发送ARP缺失消息后接收到ARP假表项的老化时间增加。如果转发面接收到的数据报文是攻击报文,延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,首次ARP缺失消息的老化时间短,不影响正常数据报文的转发效率。
可选的,所述第一参数集还包括以下一个或多个:所述ARP假表项的所述第一老化时间;第一ARP缺失消息计数。
在所述第一参数集中保存所述ARP假表项的所述第一老化时间和/或所述第一ARP缺失消息计数,使得所述控制面接收到所述第二ARP缺失消息时,可以根据所述第一参数集中保存的上述参数作为比较对象,设置所述第二老化时间,使得第二老化时间大于所述第一老化时间。
可选的,所述控制面还用于生成并保存第二参数集;所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
所述ARP假表项的所述第二老化时间;
第二ARP失败消息计数,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。
当控制面收到转发面发送的第二ARP缺失消息时,控制面生成并保存第二参数集,用于保存所述目的IP地址,所述第二老化时间和所述第二ARP失败消息计数。当控制面在接收到所述第二ARP缺失消息之后,如果再次接收到转发面发送的ARP缺失消息,可以根据第二参数集中保存的参数,设置再次发送给所述转发面的所述ARP假表项的老化时间,使得所述控制面发送给转发面的ARP假表项的老化时间逐渐递增。进而逐渐延长转发面收到发往同一所述目的IP地址的攻击报文时,逐渐延长向控制面发送ARP缺失消息的时间间隔。
可选的,所述装置还包括:所述控制面还用于在生成并保存所述第二参数集之后,删除所述第一参数集。
通过删除所述第一参数集,可以进一步减少所述第一参数集对系统内存资源的占用。
第四方面,提供了一种计算机可读介质,用于存储为执行上述第一方面和第二方面功能所用的计算机软件指令,其包含用于执行上述第一方面的方法所设计的程序。
本申请的技术方案中,控制面发送给转发面的ARP假表项的老化时间逐渐递增,延长了转发面向控制面发送对应所述目的IP地址的ARP缺失消息的间隔,限制了转发面向控制面发送所述ARP缺失消息的数量,有效减少对系统CPU资源的占用,同时减少控制面对外发送ARP请求报文的数量,减少对所述目的IP地址所在子网的主机资源的占用。
附图说明
图1为本申请实施例的一种应用场景示意图;
图2为本申请实施例所涉及的网关设备的控制面接收到ARPMISS消息是的处理方法流程图;
图3为本申请实施例提供的一种防止ARP攻击装置的结构示意图;
图4为本申请实施例提供的一种网关设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
当本申请实施例提及“第一”、“第二”等序数词时,除非根据上下文其确实表达顺序之意,应当理解为仅仅起区分的作用,在此不作限制。
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定。本领域普通技术人可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适应。
下面结合图1对本申请实施例的场景进行说明。
当不同子网的两台主机需要通信时,发送方主机先将数据报文发送给发送方主机的网关,再由接收方主机的网关将数据报文转发给接收方主机。发送方主机的网关和接收方主机的网关可以是一台设备,也可以是两台不同的设备。图1以发送方主机的网关和接收方主机的网关是一台设备为例说明该场景。
如图1所示,第一子网和第二子网共用一个网关1。第一子网包括主机A、主机B和第一交换机2,主机A和主机B分别与第一交换机2连接。第二子网包括主机C、主机D和第二交换机3,主机C和主机D分别与第二交换机3连接。第一子网和第二子网通过网关1通信。可选的,在第一子网和第二子网中还可以包括其它主机。当主机A对外发送数据报文,该数据报文的目的IP地址的子网前缀属于第二子网时,网关1的第一接口4接收该数据报文,通过路由查找,将来自第一接口4的数据报文发送到第二接口5。
下面结合图2对本申请实施例提供的方法进行详细说明。
201、网关设备的控制面接收转发面发送的第一ARP缺失消息。
当网关设备的第二接口5接收所述数据报文后,该网关设备的转发面根据该数据报文的目的IP地址查找ARP表,确定其中是否包含有与所述目的IP地址对应的ARP表项。如果转发面查找到与所述目的IP地址对应的MAC地址,则转发面直接利用所述MAC地址,对所述数据报文进行帧封装,并将该数据报文发送给目的IP地址所对应的主机。如果转发面查找ARP表失败,则缓存或丢弃所述数据报文。转发面向控制面发送第一ARP缺失消息。该第一ARP缺失消息中包括该目的IP地址,以表明所述转发面以该目的IP地址查找ARP表失败。
202、响应于接收到的所述第一ARP缺失消息,所述控制面生成并保存第一参数集。
控制面接收到转发面发送的所述第一ARP缺失消息后,根据所述第一ARP缺失消息,可以获得该数据报文的目的IP地址。控制面生成并保存第一参数集,在所述第一参数集中保存所述目的IP地址。当控制面中保存有所述第一参数集,则表明转发面根据所述目的IP地址查找ARP表失败,并向控制面发送过ARP缺失消息。该ARP缺失消息至少包括所述第一ARP缺失消息。
可选的,在所述第一参数集中保存第一ARP缺失消息计数,该第一ARP缺失消息计数用于标识控制面接收到所述第一ARP缺失消息。当控制面接收到所述第一ARP缺失消息时,所述第一ARP缺失消息计数对收到ARP缺失消息的次数进行计数。例如收到一次ARP缺失消息,则所述第一ARP缺失消息计数为1,再次收到ARP缺失消息时,所述第一ARP缺失消息计数为2。可选的,也可以采用其它计数方式对收到ARP缺失消息进行计数。
203、控制面将对应于第一老化时间的ARP假表项发送给转发面。
控制面响应接收到的所述第一ARP缺失消息,生成对应于第一老化时间的ARP假表项并发送给所述转发面。所述ARP假表项中的IP地址为数据报文的所述目的IP地址,所述ARP假表项中的MAC地址为无效MAC地址,例如全为0的MAC地址。关于所述ARP假表项的第一老化时间,可以由所述控制面生成所述ARP假表项时,在控制面为所述ARP假表项设置第一老化时间,当到达所述第一老化时间后,所述控制面向转发面发送ARP表项删除消息,将所述ARP假表项删除。可选的,也可以由所述控制面将所述ARP假表项和所述第一老化时间同时发送给所述转发面,在到达所述第一老化时间后,由所述转发面自行删除所述ARP假表项。
可选的,控制面将ARP假表项发送给转发面时,还包括将所述ARP假表项的第一老化时间保存到所述第一参数集中。
控制面可以一直保存所述第一参数集。可选的,控制面也可以为所述第一参数集设置一个老化时间,在第一参数集的老化时间到达后,控制面将该第一参数集删除。当控制面再次接收到所述转发面发送的表明根据所述目的IP地址查找ARP失败的ARP缺失消息时,则重新生成所述第一参数集。进一步可选的,控制面也可以根据再次接收到转发面发送的表明根据所述目的IP地址查找ARP失败的ARP缺失消息时,更新所述第一参数集中的参数。例如,将所述第一ARP缺失消息计数的数值增加。控制面周期性的对第一参数集中的参数进行初始化设置,将第一参数集中的ARP缺失消息计数清零,从新开始计数,从而避免影响正常报文的ARP学习时间。第一参数集可以是由控制面单独维护的条目,也可以是在控制面的ARP表中的一个表项。
转发面接收到所述ARP假表项后,在所述ARP表中添加所述ARP假表项。当再次接收到接收IP地址是所述目的IP地址的数据报文时,转发面查找到所述ARP假表项时,不向所述控制面发送ARP缺失消息。从而抑制了转发面持续向控制面发送ARP缺失消息,占用控制面CPU资源。
204、控制面进行ARP学习。
控制面向所述转发面发送所述ARP假表项并对外发送ARP请求报文,以进行ARP学习。第二交换机2收到该ARP请求报文后,将该ARP请求报文在第二子网内广播,请求获取与所述目的IP地址对应的MAC地址。控制面并非必须要发送ARP请求报文以完成ARP学习。例如,如果在发送ARP请求报文前控制面恰好收到发送方IP地址为该目的IP地址的ARP报文,例如免费ARP报文,也可以完成ARP学习。又例如,如果该网关设备有数据报文触发的ARP学习功能,也可以根据网关设备接收到的源地址为该目的IP地址的数据报文完成ARP学习。
完成ARP学习后,控制面用学习到的ARP表项更新转发面的ARP假表项。
205、控制面接收所述转发面发送的第二ARP缺失消息。
如果在204中控制面未完成ARP学习,当网关1再次接收到发往所述目的IP地址的数据报文时,则该网关1的转发面会再次根据所述目的IP地址查找ARP表。如果ARP假表项已老化,转发面查找ARP表失败,则缓存该数据报文,并向控制面发送第二ARP缺失消息。该第二ARP缺失消息用以表明所述转发面以数据报文的目的IP地址查找ARP表失败。
206、控制面确定是否已经保存了包括所述目的IP地址的所述第一参数集。
控制面接收到所述第二APR缺失消息后,会首先确定控制面是否还保存有包括所述目的IP地址的所述第一参数集。如果控制面确定已经保存了所述第一参数集,则表明,对于所述目的IP地址,控制面在接收第二ARP缺失消息之前,至少已经接收过一次转发面发送的上述第一ARP缺失消息。
如果控制面接收到所述第二APR缺失消息后,确定没有保存所述第一参数集,则执行202-204的操作。
207、响应于确定已经保存了所述第一参数集,所述控制面将对应于第二老化时间的所述ARP假表项发送给所述转发面,并执行204;所述第二老化时间大于所述第一老化时间。
可选地,第一参数集中可以只有APR缺失消息中的IP地址。第一老化时间和第二老化时间为两个默认的老化时间。控制面收到APR缺失消息后,如果确定未保存包括该APR缺失消息中的IP地址的参数集时,以第一老化时间设定ARP假表项的老化时间。如果确定已保存包括该APR缺失消息中的IP地址的参数集,即第一参数集时,以第二老化时间设定ARP假表项的老化时间。
可选地,除了APR缺失消息中的IP地址外,所述第一参数集中还有所述第一老化时间T1。当控制面收到第二ARP缺失消息后,控制面根据第一参数集中保存的第一老化时间T1,来设置所述第二老化时间T2,T2>T1。
可选地,除了APR缺失消息中的IP地址外,所述第一参数集中还有ARP缺失消息计数,例如为第一ARP缺失消息计数。当控制面收到第二ARP缺失消息后,控制面根据ARP缺失消息计数,来设置所述第二老化时间。优选的,ARP缺失消息计数越大,ARP假表项的老化时间越长。
可选的,控制面还可以生成并保存第二参数集,所述第二参数集包括所述目的IP地址。所述第二参数集还可以包括所述第二老化时间和/或第二ARP失败消息计数。其中,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。在生成并保存所述第二参数集后,控制面可以删除所述第一参数集,也可以继续保存所述第一参数集。控制面删除第一参数集并保存第二参数集,相当于更新了该IP地址的参数集。无论是否删除第一参数集,每次收到包括该IP地址的APR缺失消息后,ARP假表项的老化时间都被延长,可以有效地应对ARP攻击。
关于所述ARP假表项的第二老化时间,可以由所述控制面生成所述ARP假表项时,在控制面为所述ARP假表项设置一个第二老化时间,当到达所述第二老化时间后,所述控制面向转发面发送一个ARP假表项老化删除消息,将所述ARP假表项删除。可选的,也可以由所述控制面将所述ARP假表项和所述第二老化时间同时发送给所述转发面,在到达所述第二老化时间后,由所述转发面自行删除所述ARP假表项。
进一步可选的,所述方法还包括:在所述控制面生成并保存所述第二参数集之后,删除所述第一参数集。
通过删除所述第一参数集,可以进一步减少所述第一参数集对系统内存资源的占用。
第二参数集的相关操作与所述第一参数集的相同,不再赘述。
在本申请实施例中,转发面再次发送ARP缺失消息后接收的ARP假表项的老化时间增加。如果转发面接收到的数据报文是攻击报文,延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,首次ARP缺失消息的老化时间短,不影响正常数据报文的转发效率。进一步的,由于转发面接收的所述ARP假表项老化时间逐渐递增,使得如果转发面接收到的数据报文是攻击报文时,进一步延长了向控制面发送ARP缺失消息的时间间隔。并且,由于控制面接收到的ARP缺失消息的频率降低,其向所述目的IP地址所在的子网主机发送ARP请求报文的数量也会相应减少,进而也会减小对该些主机资源的占用。
实施例2
为了执行上述实施例1中的防止ARP攻击的方法,本申请实施例提供了一种防止ARP攻击的装置。参见图3,该装置包括:ARP缺失消息接收单元301、参数集处理单元302和ARP假表项发送单元303;其中,
所述ARP缺失消息接收单元301,用于接收网关设备转发面发送的ARP缺失消息,所述ARP缺失消息用于表明所述转发面根据数据报文的目的因特网协议IP地址查找ARP表失败;
响应于接收到所述ARP缺失消息,所述参数集处理单元302,用于确定是否已经保存了包括有所述目的IP地址的参数集;
所述参数集处理单元302,还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址;
所述ARP假表项发送单元303,用于将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述ARP假表项发送单元303,还用于当所述参数集处理单元304确定已经保存了包括所述目的IP地址的所述第一参数集时,将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
上述各个单元可以是逻辑意义上的单元,例如可以是中央处理器(英文:centralprocessingunit,CPU)读取存储器中存储的软件代码运行之后生成的功能组件。该存储器可以但不限于随机存取存储器(RAM)、只读存储器(ROM)、压缩盘只读存储器(CD-ROM)、可擦除可编程只读存储器(EPROM)中的一种或多种。上述各个单元也可以通过程序指令相关的硬件来实现,上述硬件可以采用本领域技术人员熟知的各种设备,比如:可以是网络处理器(networkprocessor,NP),
可选的,第一参数集还包括所述ARP假表项的第一老化时间和/或第一ARP缺失消息计数。
可选的,所述参数集处理单元还用于生成并保存第二参数集;所述第二参数集包括所述目的IP地址,所述第二参数集还包括所述ARP假表项的第一老化时间和/或第二ARP缺失消息计数。所述第二ARP缺失消息计数大于所述第一ARP缺失消息计数。
可选的,所述参数集处理单元在生成并保存所述第二参数集后,可以删除所述第一参数集,也可以继续保存所述第一参数集。
实施例3
为了执行上述实施例1中的防止ARP攻击的方法,本申请实施例提供了一种网关设备,该网关设备包括:转发面101、控制面102。转发面101和控制面102通过总线103通信,转发面101还可以通过总线103或其它总线和网络接口通信。
所述转发面101,用于接收数据报文,根据所述数据报文的目的IP地址查找ARP表,当所述查找失败时,向所述控制面102发送ARP缺失消息,所述ARP缺失消息包括所述目的IP地址;
所述控制面102,用于接收所述ARP缺失消息,响应于接收到所述ARP缺失消息,确定所述控制面102是否已经保存了包括所述目的IP地址的参数集;
所述控制面102,还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址,将具有第一老化时间的ARP假表项发送给所述转发面101,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述控制面102,还用于当确定已经保存了包括所述目的IP地址的所述第一参数集时,将所述ARP假表项和所述ARP假表项的第二老化时间发送给所述转发面,所述第二老化时间大于所述第一老化时间;
所述转发面101,还用于响应于接收到所述ARP假表项,在所述ARP表中添加所述ARP假表项,在查找到所述ARP假表项时,不向所述控制面102发送ARP缺失消息。
例如,控制面可以由CPU实现,也可以由有控制面功能的网络处理器(英文:networkprocessor,缩写:NP)实现。转发面可以是交换芯片。例如,转发面可以由专用集成电路(英文:application-specificintegratedcircuit,缩写:ASIC),可编程逻辑器件(英文:programmablelogicdevice,缩写:PLD),NP,多核CPU中用于实现转发面的核心或其任意组合实现。上述PLD可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:FPGA),通用阵列逻辑(英文:genericarraylogic,缩写:GAL)或其任意组合。
本申请中,所述控制面和所述转发面可以在同一物理设备中,也可以不在同一物理设备中。例如,在软件定义网络(英文:Software-definednetworking,SDN)中使用的网关设备,控制面和转发面在不同的物理设备上。
可选的,第一参数集还包括所述ARP假表项的第一老化时间和/或第一ARP缺失消息计数。
进一步可选的,所述参数集处理单元还用于生成并保存第二参数集;所述第二参数集包括所述目的IP地址,所述第二参数集还包括所述ARP假表项的第一老化时间和/或第二ARP缺失消息计数。所述第二ARP缺失消息计数大于所述第一ARP缺失消息计数。
所述参数集处理单元在生成并保存所述第二参数集后,可以删除所述第一参数集,也可以继续保存所述第一参数集。
本申请实施例,只有在所述ARP假表项到达老化时间,被老化删除后,转发面再次接收到发往所述目的IP地址的数据报文,查找ARP表失败时,才会再次向控制面发送ARP缺失消息。并且控制面发送给转发面的ARP假表项老化时间根据接收到的所述ARP缺失消息的次数而逐渐递增。使得如果转发面接收到的数据报文是攻击报文时,转发面延长了向控制面发送ARP缺失消息的时间间隔。从而降低转发面向控制面发送ARP缺失消息的频率,有效减少了面对ARP攻击时,大量的ARP缺失消息对控制面CPU资源的占用。并且,由于控制面接收到的ARP缺失消息的频率降低,其向所述目的IP地址所在的子网主机发送ARP请求报文的数量也会相应减少,进而也会减小对该些主机资源的占用。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质中的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中,通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
最后,需要说明的是:以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。显然,本领域技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种防止地址解析协议ARP攻击的方法,其特征在于,包括:
网关设备的控制面接收转发面发送的第一ARP缺失消息,所述第一ARP缺失消息用于表明所述转发面以数据报文的目的因特网协议IP地址查找ARP表失败;
响应于接收到所述第一ARP缺失消息,所述控制面生成并保存第一参数集,所述第一参数集包括所述目的IP地址;
所述控制面将对应于第一老化时间的ARP假表项发送给所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述控制面接收所述转发面发送的第二ARP缺失消息,所述第二ARP缺失消息用于表明所述转发面以所述目的IP地址查找ARP表失败;
所述控制面确定已经保存了包括所述目的IP地址的所述第一参数集;
响应于确定已经保存了所述第一参数集,所述控制面将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
2.根据权利要求1所述的方法,其特征在于,所述第一参数集还包括以下一个或多个:
所述ARP假表项的所述第一老化时间;
第一ARP缺失消息计数。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于确定已经保存了所述第一参数集,所述控制面生成并保存第二参数集;
所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
所述ARP假表项的所述第二老化时间;
第二ARP失败消息计数,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。
4.一种防止地址解析协议ARP攻击的装置,其特征在于,该装置包括:ARP缺失消息接收单元(301)、参数集处理单元(302)和ARP假表项发送单元(303);其中,
所述ARP缺失消息接收单元(301),用于接收网关设备的转发面发送的ARP缺失消息,所述ARP缺失消息用于表明所述所述转发面以数据报文的目的因特网协议IP地址查找ARP表失败;
响应于接收到所述ARP缺失消息,所述参数集处理单元(302),用于确定是否已经保存了包括有所述目的IP地址的参数集;
所述参数集处理单元(302),还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址;
所述ARP假表项发送单元(303),用于将对应于第一老化时间的ARP假表项发送给所述所述转发面,所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述ARP假表项发送单元(303),还用于当所述参数集处理单元(302)确定已经保存了包括所述目的IP地址的所述第一参数集时,将对应于第二老化时间的所述ARP假表项发送给所述转发面,所述第二老化时间大于所述第一老化时间。
5.根据权利要求1所述的装置,其特征在于:其特征在于,所述第一参数集还包括以下一个或多个:
所述ARP假表项的所述第一老化时间;
第一ARP缺失消息计数。
6.根据权利要求5所述的装置,其特征在于,所述参数集处理单元(302)还用于生成并保存第二参数集;
所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
所述ARP假表项的所述第二老化时间;
第二ARP失败消息计数,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。
7.一种网关设备,包括:转发面(101)和控制面(102),其特征在于:
所述转发面(101),用于接收数据报文,根据所述数据报文的目的IP地址查找ARP表,当所述查找失败时,向所述控制面(102)发送ARP缺失消息,所述ARP缺失消息包括所述目的IP地址;
所述控制面(102),用于接收所述ARP缺失消息,响应于接收到所述ARP缺失消息,确定所述控制面(102)是否已经保存了包括所述目的IP地址的参数集;
所述控制面(102),还用于当确定未保存包括所述目的IP地址的参数集时,生成并保存第一参数集,所述第一参数集包括所述目的IP地址,将对应于第一老化时间的ARP假表项发送给所述转发面(101),所述ARP假表项中的IP地址为所述目的IP地址,所述ARP假表项中的介质访问控制MAC地址为无效MAC地址;
所述控制面(102),还用于当确定已经保存了包括所述目的IP地址的所述第一参数集时,将对应于第二老化时间的所述ARP假表项发送给所述转发面(101),所述第二老化时间大于所述第一老化时间。
8.根据权利要求7所述的网关设备,其特征在于:其特征在于,所述第一参数集还包括以下一个或多个:
所述ARP假表项的所述第一老化时间;
第一ARP缺失消息计数。
9.根据权利要求8所述的网关设备,其特征在于,所述控制面(102)还用于生成并保存第二参数集;
所述第二参数集包括所述目的IP地址,所述第二参数集还包括以下一个或多个:
所述ARP假表项的所述第二老化时间;
第二ARP失败消息计数,所述第二ARP失败消息计数大于所述第一ARP失败消息计数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511004660.8A CN105635138B (zh) | 2015-12-28 | 2015-12-28 | 一种防止arp攻击的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511004660.8A CN105635138B (zh) | 2015-12-28 | 2015-12-28 | 一种防止arp攻击的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105635138A true CN105635138A (zh) | 2016-06-01 |
CN105635138B CN105635138B (zh) | 2019-02-12 |
Family
ID=56049628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511004660.8A Active CN105635138B (zh) | 2015-12-28 | 2015-12-28 | 一种防止arp攻击的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105635138B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988439A (zh) * | 2019-05-21 | 2020-11-24 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
CN112995037A (zh) * | 2019-12-12 | 2021-06-18 | 烽火通信科技股份有限公司 | 数据报文发生ARP Miss的防护方法及系统 |
CN114157602A (zh) * | 2021-11-03 | 2022-03-08 | 杭州迪普科技股份有限公司 | 一种处理报文的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1494280A (zh) * | 2002-11-02 | 2004-05-05 | ��Ϊ��������˾ | 网络设备中控制报文转发的方法 |
US6771649B1 (en) * | 1999-12-06 | 2004-08-03 | At&T Corp. | Middle approach to asynchronous and backward-compatible detection and prevention of ARP cache poisoning |
CN101179515A (zh) * | 2007-12-24 | 2008-05-14 | 杭州华三通信技术有限公司 | 一种抑制黑洞路由的方法和装置 |
CN102158395A (zh) * | 2011-02-14 | 2011-08-17 | 中兴通讯股份有限公司 | 一种路由器邻居发现条目处理的装置及方法 |
-
2015
- 2015-12-28 CN CN201511004660.8A patent/CN105635138B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6771649B1 (en) * | 1999-12-06 | 2004-08-03 | At&T Corp. | Middle approach to asynchronous and backward-compatible detection and prevention of ARP cache poisoning |
CN1494280A (zh) * | 2002-11-02 | 2004-05-05 | ��Ϊ��������˾ | 网络设备中控制报文转发的方法 |
CN101179515A (zh) * | 2007-12-24 | 2008-05-14 | 杭州华三通信技术有限公司 | 一种抑制黑洞路由的方法和装置 |
CN102158395A (zh) * | 2011-02-14 | 2011-08-17 | 中兴通讯股份有限公司 | 一种路由器邻居发现条目处理的装置及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111988439A (zh) * | 2019-05-21 | 2020-11-24 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
CN111988439B (zh) * | 2019-05-21 | 2023-07-14 | 深信服科技股份有限公司 | 一种arp请求抑制系统、方法、设备及存储介质 |
CN112995037A (zh) * | 2019-12-12 | 2021-06-18 | 烽火通信科技股份有限公司 | 数据报文发生ARP Miss的防护方法及系统 |
CN112995037B (zh) * | 2019-12-12 | 2022-08-23 | 烽火通信科技股份有限公司 | 数据报文发生ARP Miss的防护方法及系统 |
CN114157602A (zh) * | 2021-11-03 | 2022-03-08 | 杭州迪普科技股份有限公司 | 一种处理报文的方法和装置 |
CN114157602B (zh) * | 2021-11-03 | 2023-08-25 | 杭州迪普科技股份有限公司 | 一种处理报文的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105635138B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11057404B2 (en) | Method and apparatus for defending against DNS attack, and storage medium | |
EP3282649B1 (en) | Data packet forwarding | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN103685006A (zh) | 一种在边缘设备上的报文转发方法和边缘设备 | |
EP2965476B1 (en) | Forwarding ethernet packets | |
US8472420B2 (en) | Gateway device | |
EP3026872A1 (en) | Packet forwarding method, apparatus, and system | |
CN106911724B (zh) | 一种报文处理方法及装置 | |
US9979643B2 (en) | Communication apparatus, communication method, and computer-readable recording medium | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN104780232B (zh) | 一种资源分配方法、控制器及系统 | |
EP3633934A1 (en) | Sdn-based arp implementation method and apparatus | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
CN105635138A (zh) | 一种防止arp攻击的方法和装置 | |
CN105939267A (zh) | 带外管理方法及装置 | |
CN104852855A (zh) | 拥塞控制方法、装置及设备 | |
CN107147581B (zh) | 路由表项的维护方法和装置 | |
US7613179B2 (en) | Technique for tracing source addresses of packets | |
CN104601414A (zh) | 一种软件定义网络中的ip地址冲突检测方法和装置 | |
CN104426816A (zh) | 一种虚拟机通信方法及装置 | |
CN107528929B (zh) | Arp条目的处理方法及装置 | |
CN104601463A (zh) | 一种vxlan网络中报文转发方法及装置 | |
CN107547690A (zh) | Nat中的端口分配方法、装置、nat设备及存储介质 | |
CN108989173B (zh) | 一种报文传输的方法及装置 | |
CN109347810B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |