CN102255984A - 一种arp请求报文验证方法及装置 - Google Patents
一种arp请求报文验证方法及装置 Download PDFInfo
- Publication number
- CN102255984A CN102255984A CN2011102261318A CN201110226131A CN102255984A CN 102255984 A CN102255984 A CN 102255984A CN 2011102261318 A CN2011102261318 A CN 2011102261318A CN 201110226131 A CN201110226131 A CN 201110226131A CN 102255984 A CN102255984 A CN 102255984A
- Authority
- CN
- China
- Prior art keywords
- arp
- checking
- message
- address
- list 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
Images
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
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/58—Caching of addresses or names
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种ARP请求报文验证方法,包括:网关收到ARP请求报文;如果该网关在ARP缓存表中没有查询到与该ARP请求报文匹配的表项,该网关发出ARP验证报文,该ARP验证报文的源IP地址和MAC地址分别为验证IP地址和验证MAC地址,该验证IP地址与该网关的IP地址为同一网段的地址,该验证IP地址不同于该网关的IP地址;该网关收到第一报文;如果该第一报文是该ARP验证报文对应的响应报文,将该第一报文上送到该网关的控制平面。此外,本发明实施例还提供了相应的ARP请求报文验证装置。通过本发明实施例提出的ARP请求报文验证方法及装置,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种地址解析协议(AddressResolution Protocol,ARP)请求报文验证方法及装置。
背景技术
目前ARP广泛应用于因特网协议(Internet Protocol,IP)网络。局域网主机要实现与外部网络通信,需要向网关发送ARP请求报文,从而获得网关的设备的媒体接入控制(Media Access Control,MAC)地址,从而实现网络设备之间的通信。如果网关不能正确、及时对ARP请求报文做出响应,局域网主机将无法实现与外部网络通信。网关受到ARP攻击可能会影响到网关对ARP请求报文做出响应。
为应对ARP攻击,业界提出了相应的解决方案。例如,网关的数据平面收到ARP请求报文后,仅在数据平面对ARP请求报文进行响应,不上送至网关的控制平面。网关的数据平面处理ARP请求报文的能力较强,因此可以较好地应对ARP攻击。
但是,网关的数据平面不能对所有类型的ARP请求报文都做出有效处理。例如,有的ARP请求报文包含两层虚拟局域网(Virtual Local Area Network,VLAN)标签(以下简称Q对,具体可参考IEEE802.1ad)。收到包含Q对的ARP请求报文后,网关需要根据该ARP请求报文中包含的Q对,生成一个索引。Q对的索引范围很大(大约为2的24次方),在数据平面建立建立一个包含224的表项的用户会话表代价较大。实际应用中,数据平面的用户会话表的表项较少,一般为几十K。因此索引的取值范围在0~几十K之间。为了在较大取值范围的Q对与较小取值范围的用户会话表之间建立映射关系,网关的控制平面依靠用户主机的ARP请求报文触发动态学习Q对并分配用户会话表索引,建立映射关系并下发到网关的数据平面建立用话会话。如果ARP请求报文没有被送到控制平面进行处理就无法建立用户会话表,从而导致用户主机无法与外网进行通信。
因此,仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络。
发明内容
本发明实施例提供一种ARP请求报文验证方法,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。
一方面,本发明实施例提供的一种地址解析协议ARP请求报文验证方法,包括:
网关收到ARP请求报文;
如果该网关在ARP缓存表中没有查询到与该ARP请求报文匹配的表项,该网关发出ARP验证报文,该ARP验证报文的目的因特网协议IP地址为该ARP请求报文的源IP地址,该ARP验证报文的源IP地址和源媒体接入控制MAC地址分别为验证IP地址和验证MAC地址,该验证IP地址与该网关的IP地址为同一网段的地址,该验证IP地址不同于该网关的IP地址;
该网关收到第一报文,判断该第一报文是否是该ARP验证报文对应的响应报文;
如果该第一报文是该ARP验证报文对应的响应报文,将该第一报文上送到该网关的控制平面。
另一方面,本发明实施例提供的一种ARP请求报文验证装置,包括:
接收器,网关用于收到ARP请求报文;
发送器,用于如果该网关在ARP缓存表中没有查询到与该ARP请求报文匹配的表项,该网关发出ARP验证报文,该ARP验证报文的目的因特网协议IP地址为该ARP请求报文的源IP地址,该ARP验证报文的源IP地址和源媒体接入控制MAC地址分别为验证IP地址和验证MAC地址,该验证IP地址与该网关的IP地址为同一网段的地址,该验证IP地址不同于该网关的IP地址;
判断单元,该网关用于收到第一报文,判断该第一报文是否是该ARP验证报文对应的响应报文;
上送单元,用于如果该第一报文是该ARP验证报文对应的响应报文,将该第一报文上送到该网关的控制平面。
可见,通过本发明实施例提供的ARP请求报文验证方法及装置,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供ARP请求报文验证方法及装置应用于某一场景的组网结构图;
图2是本发明实施例提供的ARP请求报文验证方法流程图;
图3是本发明实施例提供的ARP请求报文验证装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种ARP请求报文验证方法及装置,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。图1为本发明实施例某一应用场景的组网结构图。
图1的组网结构图包括七台个人电脑、一台交换机、一台路由器以及因特网。七台个人电脑分别是个人电脑(Personal Computer,PC)1、PC2、PC3、PC4、PC5、PC6以及PC7,PC1至PC7构成局域网;一台交换机是交换机(Switch,SW)1;一台路由器是路由器(Router,R)1,R1为该局域网的网关,PC1至PC7分别通过SW1与R1相连,R1与因特网相连。由于七台PC处于局域网内,访问因特网时,需要通过网关R1。为应对R1可能受到局域网内主机发起ARP攻击,R1仅在数据平面回应局域网主机发起的ARP请求报文。由于PC1发起的ARP请求报文中包含两层VLAN标签,R1仅在数据平面回应ARP请求报文可能导致PC1无法访问因特网。
实施例一:
本发明实施例提供了一种ARP请求报文验证方法,可以用于图1所示的组网结构中,参见图2,图2是本发明实施例提供的ARP请求报文验证方法流程图,该方法包括:
201:网关收到ARP请求报文。
具体实现时,上述ARP请求报文可以是局域网内的主机发送的。主机可以通过双绞线与网关相连,也可以通过光纤与网关相连;主机可以与网关直连,也可以通过网络设备与网关相连。
以图1所示的场景为例,PC1向R1发出ARP请求报文。
202:如果该网关在ARP缓存表中没有查询到与该ARP请求报文匹配的表项,该网关发出ARP验证报文。该ARP验证报文的目的因特网协议IP地址为该ARP请求报文的源IP地址。该ARP验证报文的源IP地址和源媒体接入控制MAC地址分别为验证IP地址和验证MAC地址。该验证IP地址与该网关的IP地址为同一网段的地址。该验证IP地址不同于该网关的IP地址。
ARP缓存表位于网关的数据平面,用于验证ARP请求报文。ARP缓存表可以包括多个表项,每个表项包括IP地址以及该IP地址对应的MAC地址。如果网关在ARP缓存表中没有查询到与该ARP请求报文的源IP地址和源MAC地址匹配的表项,该网关发出ARP验证报文。ARP验证报文的源IP地址和源MAC地址分别是验证IP地址以及验证MAC地址。验证IP地址与网关的IP地址为同一网段的地址,可以确保主机对ARP验证报文做出的响应报文可以到达该网关。ARP验证报文的目的IP地址是ARP请求报文的源IP地址,可确保发出真实ARP请求报文的存在于局域网内的主机收到网关发出的ARP验证报文。
参见图1,R1收到PC1发出ARP请求报文,由于该ARP请求报文包含Q对,R1的数据平面的用户会话表没有足够的空间存放可以对PC1发出的包含Q对ARP请求报文进行响应并生成相应索引的表项。因此,R1需要在控制平面对PC1进行接入处理。R1向PC1发出ARP验证报文。该ARP验证报文的目的IP地址为PC1的IP地址,该ARP验证报文的源IP地址和源MAC地址为R1控制平面随机生成的验证IP地址和验证MAC地址。其中,验证IP地址和R1的IP地址处于同一网段,验证IP地址不同于R1的IP地址。
203:该网关收到第一报文。判断该第一报文是否是该ARP验证报文对应的响应报文。
网关收到第一报文,并判断该第一报文是否是该ARP验证报文对应的响应报文可以有多种实现方式。例如网关的数据平面设有ARP验证响应表,ARP验证响应表可以包括多个表项,每个表项包括验证IP地址以及验证MAC地址,如果第一报文的目的IP地址和目的MAC地址与ARP验证响应表中某一表项匹配,则确定第一报文是该ARP验证报文对应的响应报文。
参见图1,R1的数据平面设有ARP验证响应表,ARP验证响应表包括多个表项,每个表项包括验证IP地址以及验证MAC地址。R1收到PC1发出的第一报文,第一报文的目的IP地址和目的MAC地址与ARP验证响应表中某一表项匹配,则确定第一报文是该ARP验证报文对应的响应报文。
204:如果该第一报文是该ARP验证报文对应的响应报文,将该第一报文上送到该网关的控制平面。
参见图1,R1判断第一报文是ARP验证报文对应的响应报文,R1将第一报文送到R1的控制平面做处理。
可见,通过本发明实施例提出的ARP请求报文验证方法,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。
进一步的,
该ARP验证报文中的验证MAC地址不同于该网关发出的前一个ARP验证报文中的验证MAC地址。
进一步的,
该网关发出ARP验证报文具体包括:
该网关通过ARP验证请求表获得该ARP验证报文的验证IP地址和验证MAC地址。该ARP验证请求表至少包括1个表项。第三表项与第一表项相同。该第三表项为该ARP验证请求表的1个表项。该第一表项为ARP验证响应表中的1个表项。该ARP验证响应表包括至少2个表项,每个表项包含验证IP地址以及验证MAC地址。该至少2个表项中的验证MAC地址互不相同。该ARP验证请求表是该ARP验证响应表的子集。
进一步的,
该判断该第一报文是否是该ARP验证报文对应的响应报文具体包括:
通过该ARP验证响应表判断该第一报文是否是该ARP验证报文对应的响应报文。当该第一报文的目的IP地址等于该第一表项的验证IP地址时,或者当该第一报文的目的MAC地址等于该第一表项的验证MAC地址时,确定该第一报文是该ARP验证报文对应的响应报文。
ARP验证请求表存在于网关的数据平面,ARP验证请求表至少包括1个表项。第三表项和第一表项相同。第三表项为ARP验证请求表的1个表项,第一表项为ARP验证响应表中的1个表项。可以达到的技术效果包括,ARP验证报文的验证IP地址和验证MAC地址来源于ARP验证请求表,网关收到ARP验证报文对应的响应报文后,可以在ARP验证响应表中查找到匹配表项。第三表项可以是ARP验证响应表中的1个表项(即第一表项),也可以是独立于ARP验证响应表的第一表项的1个表项。
ARP验证请求表是ARP验证响应表的一个子集。这样,网关发出的ARP验证报文包含了ARP验证请求表提供的验证IP地址和验证MAC地址。该ARP验证报文到达之前发出ARP请求报文的真实存在的主机后,主机向该网关反馈ARP验证报文对应的响应报文。ARP验证报文对应的响应报文也必然包含ARP验证请求表提供的验证IP地址和验证MAC地址。ARP验证报文对应响应报文到达网关后,将会与网关的数据平面的ARP验证响应表的某一表项发生匹配。因此,网关收到报文后,可以根据该报文是否与网关的数据平面的ARP验证响应表的某一表项发生匹配,对该报文是否是ARP验证报文对应的响应报文做出判断。ARP验证响应表存在于网关的数据平面,ARP验证响应表包括至少2个表项,该至少2个表项中的验证MAC地址互不相同。可以达到的技术效果包括,至少2个表项可确保某一时刻,ARP验证响应表的1个表项(即第一表项)用于判断第一报文是否是ARP验证报文对应的响应报文,ARP验证响应表的另一个表项用于被更新为新的表项。
ARP验证响应表用于判断该第一报文是否是ARP验证报文对应的响应报文,当该第一报文的目的IP地址等于该第一表项的验证IP地址时,或者当该第一报文的目的MAC地址等于该第一表项的验证MAC地址时,确定该第一报文是该ARP验证报文对应的响应报文。
参见图1,R1在数据平面设有ARP验证请求表,R1通过ARP验证请求表获得该ARP验证报文的验证IP地址和验证MAC地址,R1将ARP验证响应表的第一表项作为ARP验证请求表。R1在数据平面设有ARP验证响应表,ARP验证响应表包括2个表项,即第一表项和第二表项,第一表项的验证MAC地址与第二表项的验证MAC地址不相同。R1收到PC1发出的第一报文后,在ARP验证响应表中查找是否存在与第一报文匹配的表项,如果第一报文的目的IP地址等于ARP验证响应表的第一表项的验证IP地址,或者第一报文的目的MAC地址等于第一表项的验证MAC地址时,则表明第一报文是ARP验证报文对应的响应报文。
进一步的,
该网关发出ARP验证报文前,进一步包括:该网关发出该前一个ARP验证报文后,将该第三表项的验证MAC地址更新为第一验证MAC地址。
进一步的,
该网关收到该ARP验证报文对应的响应报文前,进一步包括:将该第一表项的验证MAC地址更新为该第一验证MAC地址。该ARP验证响应表中的第二表项用于判断该网关收到的报文是否是该前一个ARP验证报文对应的响应报文。该第一表项和该第二表项是该ARP验证响应表中的不同表项。
网关收到前一个ARP请求报文后,由于在数据平面的ARP缓存表中没有查找到与该前一个ARP请求报文匹配的表项,网关发出前一个ARP请求报文对应的前一个ARP验证报文,前一个ARP验证报文用于判断发出前一个ARP请求报文的主机是否真实存在。网关发出前一个ARP验证报文后,发出ARP验证报文前,网关将该第三表项的验证MAC地址更新为第一验证MAC地址。该方案的技术效果包括,ARP请求报文的验证MAC地址不同于前一个ARP验证报文的验证MAC地址。
网关收到ARP验证报文对应的响应报文前,将该第一表项的验证MAC地址更新为该第一验证MAC地址,ARP验证响应表中的第二表项用于判断该网关收到的报文是否是该前一个ARP验证报文对应的响应报文,第一表项和第二表项是ARP验证响应表中的不同表项。该方案的技术效果包括,确保网关准确判断出ARP验证报文对应的响应报文以及前一个ARP验证报文对应的响应报文。用于判断ARP验证报文对应的响应报文的表项和用于判断前一个ARP验证报文对应的响应报文的表项是不同的表项可确保对ARP验证响应表进行更新,从而可用于判断根据更新后的ARP验证请求表发出的ARP验证报文,同时确保网关准确判断出根据更新前的ARP验证请求表发出的ARP验证报文对应的响应报文。用于判断ARP验证报文对应的响应报文的表项和用于判断前一个ARP验证报文对应的响应报文的表项的验证MAC地址不同,确保局域网主机通过ARP验证报文中的验证MAC地址以及验证IP地址伪造的响应报文将无法在ARP验证响应表中查找到匹配表项,即伪造的响应报文不会被上送到网关的控制平面。
参见图1,R1通过计算机程序实现图1所示组网结构图对应的技术解决方案。ARP验证响应表存放在R1的三态内容可寻址存储器(Ternary ContentAddressable Memory,TCAM)中,ARP验证响应表包括2个表项。R1控制平面生成验证IP地址,该验证IP地址和R1的IP地址是同一网段的IP地址,该验证IP地址不同于R1的IP地址。R1将该验证IP地址下发到ARP验证请求表以及ARP验证响应表。R1的控制平面设置定时器,用于对ARP验证请求表和ARP验证响应表进行更新。定时器的周期可以是2秒至5秒。
ARP验证请求表存放在R1的内存中。ARP验证请求表包括1个表项。
ARP验证响应表的初始化流程如下:
R1的控制平面随机生成一个验证MAC地址,并将该验证MAC地址下发至R1的数据平面的TCAM中的ARP验证响应表的一个表项;R1的控制平面将R1的数据平面的TCAM中的ARP验证响应表的另一个表项设置为0。
ARP验证请求表的初始化流程如下:
R1启动定时器;
R1的控制平面将上述ARP响应表的初始化流程中生成的验证MAC地址下发至R1的数据平面的内存中的ARP验证请求表。
R1控制平面的定时器时间到,触发R1对ARP验证请求表以及ARP验证响应表进行更新操作。
ARP验证响应表的更新流程如下:
R1控制平面随机生成验证MAC地址。该验证MAC地址不等于ARP验证响应表的初始化流程中R1控制平面生成的验证MAC地址。R1控制平面将该验证MAC地址下发至ARP验证响应表的另一个表项,更新该表项的验证MAC地址。
ARP验证请求表的更新流程如下:
R1控制平面将上述ARP验证响应表的更新流程中生成的验证MAC地址下发至位于内存的ARP验证请求表,更新ARP验证请求表的验证MAC地址。
进一步的,
该将该第一报文上送到该网关的控制平面具体包括:
该网关的控制平面根据该第一报文的源IP地址和源MAC地址查询该控制平面的ARP缓存表是否存在对应表项,如果该控制平面的ARP缓存表不存在对应表项,该网关的控制平面生成一条包含该第一报文的源IP地址和源MAC地址的第四表项,该网关的控制平面将该第四表项下发至该网关的数据平面的ARP缓存表。
进一步的,
该验证MAC由该网关的控制平面随机生成,并由该网关的控制平面下发至该网关的数据平面。
实施例二:
本发明实施例提供了一种ARP请求报文验证装置,可以用于图1所示的组网结构中。该ARP请求报文验证装置可以是图1中的R1。参见图3,图3是本发明实施例提供的ARP请求报文验证装置示意图;该装置包括:
接收器301,网关用于收到ARP请求报文。
具体实现时,上述ARP请求报文可以是局域网内的主机发送的。主机可以通过双绞线与网关相连,也可以通过光纤与网关相连;主机可以与网关直连,也可以通过网络设备与网关相连。
以图1所示的场景为例,PC1向R1发出ARP请求报文。
发送器302,用于如果该网关在ARP缓存表中没有查询到与该ARP请求报文匹配的表项,该网关发出ARP验证报文,该ARP验证报文的目的因特网协议IP地址为该ARP请求报文的源IP地址,该ARP验证报文的源IP地址和源媒体接入控制MAC地址分别为验证IP地址和验证MAC地址,该验证IP地址与该网关的IP地址为同一网段的地址,该验证IP地址不同于该网关的IP地址;
ARP缓存表位于网关的数据平面,用于验证ARP请求报文。ARP缓存表可以包括多个表项,每个表项包括IP地址以及该IP地址对应的MAC地址。如果网关在ARP缓存表中没有查询到与该ARP请求报文的源IP地址和源MAC地址匹配的表项,该网关发出ARP验证报文。ARP验证报文的源IP地址和源MAC地址分别是验证IP地址以及验证MAC地址。验证IP地址与网关的IP地址为同一网段的地址,可以确保主机对ARP验证报文做出的响应报文可以到达该网关。ARP验证报文的目的IP地址是ARP请求报文的源IP地址,可确保发出真实ARP请求报文的存在于局域网内的主机收到网关发出的ARP验证报文。
参见图1,R1收到PC1发出ARP请求报文,由于该ARP请求报文包含Q对,R1的数据平面的用户会话表没有足够的空间存放可以对PC1发出的包含Q对ARP请求报文进行响应并生成相应索引的表项。因此,R1需要在控制平面对PC1进行接入处理。R1向PC1发出ARP验证报文。该ARP验证报文的目的IP地址为PC1的IP地址,该ARP验证报文的源IP地址和源MAC地址为R1控制平面随机生成的验证IP地址和验证MAC地址。其中,验证IP地址和R1的IP地址处于同一网段,验证IP地址不同于R1的IP地址;验证MAC地址不同于R1发出的前一个ARP验证报文中的验证MAC地址。
判断单元303,该网关用于收到第一报文,判断该第一报文是否是该ARP验证报文对应的响应报文。
网关收到第一报文,并判断该第一报文是否是该ARP验证报文对应的响应报文可以有多种实现方式。例如网关的数据平面设有ARP验证响应表,ARP验证响应表可以包括多个表项,每个表项包括验证IP地址以及验证MAC地址,如果第一报文的目的IP地址和目的MAC地址与ARP验证响应表中某一表项匹配,则确定第一报文是该ARP验证报文对应的响应报文。
参见图1,R1的数据平面设有ARP验证响应表,ARP验证响应表包括多个表项,每个表项包括验证IP地址以及验证MAC地址。R1收到PC1发出的第一报文,第一报文的目的IP地址和目的MAC地址与ARP验证响应表中某一表项匹配,则确定第一报文是该ARP验证报文对应的响应报文。
上送单元304,用于如果该第一报文是该ARP验证报文对应的响应报文,将该第一报文上送到该网关的控制平面。
参见图1,R1判断第一报文是ARP验证报文对应的响应报文,R1将第一报文送到R1的控制平面做接入处理。
可见,通过本发明实施例提出的ARP请求报文验证装置,可以解决仅在数据平面对ARP请求报文进行响应,可能导致部分网络设备无法接入外部网络的问题。
进一步的,
该ARP验证报文中的验证MAC地址不同于该网关发出的前一个ARP验证报文中的验证MAC地址。
进一步的,
该发送器具体包括:
获得单元,该网关用于通过ARP验证请求表获得该ARP验证报文的验证IP地址和验证MAC地址。该ARP验证请求表至少包括1个表项。第三表项与第一表项相同。该第三表项为该ARP验证请求表的1个表项。该第一表项为ARP验证响应表中的1个表项。该ARP验证响应表包括至少2个表项,每个表项包含验证IP地址以及验证MAC地址。该至少2个表项中的验证MAC地址互不相同该ARP验证请求表是该ARP验证响应表的子集。
进一步的,
该判断单元具体包括:
分析单元,用于通过该ARP验证响应表判断该第一报文是否是该ARP验证报文对应的响应报文。当该第一报文的目的IP地址等于该第一表项的验证IP地址时,或者该第一报文的目的MAC地址等于该第一表项的验证MAC地址时,确定该第一报文是该ARP验证报文对应的响应报文。
ARP验证请求表存在于网关的数据平面,ARP验证请求表至少包括1个表项。第三表项和第一表项相同,该第三表项为ARP验证请求表的1个表项。该第一表项为ARP验证响应表中的1个表项。可以达到的技术效果包括,ARP验证报文的验证IP地址和验证MAC地址来源于ARP验证请求表,网关收到ARP验证报文对应的响应报文后,可以在ARP验证响应表中查找到匹配表项。第三表项可以是ARP验证响应表中的1个表项(即第一表项),也可以是独立于ARP验证响应表的第一表项的1个表项。
ARP验证请求表是ARP验证响应表的一个子集。这样,网关发出的ARP验证报文包含了ARP验证请求表提供的验证IP地址和验证MAC地址。该ARP验证报文到达之前发出ARP请求报文的真实存在的主机后,主机向该网关反馈ARP验证报文对应的响应报文。ARP验证报文对应响应报文也必然包含ARP验证请求表提供的验证IP地址和验证MAC地址。ARP验证报文对应的响应报文到达网关后,将会与网关的数据平面的ARP验证响应表的某一表项发生匹配。因此,网关收到报文后,可以根据该报文是否与网关的数据平面的ARP验证响应表的某一表项发生匹配,对该报文是否是ARP验证报文对应的响应报文做出判断。ARP验证响应表存在于网关的数据平面,ARP验证响应表包括至少2个表项,该至少2个表项中的验证MAC地址互不相同。可以达到的技术效果包括,至少2个表项可确保某一时刻,ARP验证响应表的1个表项(即第一表项)用于判断第一报文是否是ARP验证报文对应的响应报文,ARP验证响应表的另一个表项用于被更新为新的表项。
ARP验证响应表用于判断该第一报文是否是ARP验证报文对应的响应报文,当该第一报文的目的IP地址等于该第一表项的验证IP地址时,或者当该第一报文的目的MAC地址等于该第一表项的验证MAC地址时,确定该第一报文是该ARP验证报文对应的响应报文。
参见图1,R1在数据平面设有ARP验证请求表,R1通过ARP验证请求表获得该ARP验证报文的验证IP地址和验证MAC地址,R1将ARP验证响应表的第一表项作为ARP验证请求表。R1在数据平面设有ARP验证响应表,ARP验证响应表包括2个表项,即第一表项和第二表项,第一表项的验证MAC地址与第二表项的验证MAC地址不相同。R1收到PC1发出的第一报文后,在ARP验证响应表中查找是否存在与第一报文匹配的表项,如果第一报文的目的IP地址等于ARP验证响应表的第一表项的验证IP地址,或者第一报文的目的MAC地址等于第一表项的验证MAC地址时,则表明第一报文是ARP验证报文对应的响应报文。
进一步的,ARP请求报文验证装置包括:
第一更新单元,用于该网关发出ARP验证报文前,该网关发出该前一个ARP验证报文后,将该第三表项的验证MAC地址更新为第一验证MAC地址。
进一步的,ARP请求报文验证装置包括:
第二更新单元,用于该网关收到该ARP验证报文对应的响应报文前,将该第一表项的验证MAC地址更新为该第一验证MAC地址。该ARP验证响应表中的第二表项用于判断该网关收到的报文是否是该前一个ARP验证报文对应的响应报文。该第一表项和该第二表项是该ARP验证响应表中的不同表项。
网关收到前一个ARP请求报文后,由于在数据平面的ARP缓存表中没有查找到与该前一个ARP请求报文匹配的表项,网关发出前一个ARP请求报文对应的前一个ARP验证报文,前一个ARP验证报文用于判断发出前一个ARP请求报文的主机是否真实存在。网关发出前一个ARP验证报文后,发出ARP验证报文前,网关将该第三表项的验证MAC地址更新为第一验证MAC地址。该方案的技术效果包括,ARP请求报文的验证MAC地址不同于前一个ARP验证报文的验证MAC地址。
网关收到ARP验证报文对应的响应报文前,将该第一表项的验证MAC地址更新为该第一验证MAC地址,ARP验证响应表中的第二表项用于判断该网关收到的报文是否是该前一个ARP验证报文对应的响应报文,第一表项和第二表项是ARP验证响应表中的不同表项。该方案的技术效果包括,确保网关准确判断出ARP验证报文对应的响应报文以及前一个ARP验证报文对应的响应报文。用于判断ARP验证报文对应的响应报文的表项和用于判断前一个ARP验证报文对应的响应报文的表项是不同的表项可确保对ARP验证响应表进行更新,从而可用于判断根据更新后的ARP验证请求表发出的ARP验证报文,同时确保网关准确判断出根据更新前的ARP验证请求表发出的ARP验证报文对应的响应报文。用于判断ARP验证报文对应的响应报文的表项和用于判断前一个ARP验证报文对应的响应报文的表项的验证MAC地址不同,确保局域网主机通过ARP验证报文中的验证MAC地址以及验证IP地址伪造的响应报文将无法在ARP验证响应表中查找到匹配表项,即伪造的响应报文不会被上送到网关的控制平面。
参见图1,R1通过计算机程序实现图1所示组网结构图对应的技术解决方案。ARP验证响应表存放在R1的TCAM中,ARP验证响应表包括2个表项。R1控制平面生成验证IP地址,该验证IP地址和R1的IP地址是同一网段的IP地址,该验证IP地址不同于R1的IP地址。R1将该验证IP地址下发到ARP验证请求表以及ARP验证响应表。R1的控制平面设置定时器,用于对ARP验证请求表和ARP验证响应表进行更新。定时器的周期可以是2秒至5秒。
ARP验证请求表存放在R1的内存中。ARP验证请求表包括1个表项。
ARP验证响应表的初始化流程如下:
R1的控制平面随机生成一个验证MAC地址,并将该验证MAC地址下发至R1的数据平面的TCAM中的ARP验证响应表的一个表项;R1的控制平面将R1的数据平面的TCAM中的ARP验证响应表的另一个表项设置为0。
ARP验证请求表的初始化流程如下:
R1启动定时器;
R1的控制平面将上述ARP响应表的初始化流程中生成的验证MAC地址下发至R1的数据平面的内存中的ARP验证请求表。
R1控制平面的定时器时间到,触发R1对ARP验证请求表以及ARP验证响应表进行更新操作。
ARP验证响应表的更新流程如下:
R1控制平面随机生成验证MAC地址。该验证MAC地址不等于ARP验证响应表的初始化流程中R1控制平面生成的验证MAC地址。R1控制平面将该验证MAC地址下发至ARP验证响应表的另一个表项,更新该表项的验证MAC地址。
ARP验证请求表的更新流程如下:
R1控制平面将上述ARP验证响应表的更新流程中生成的验证MAC地址下发至位于内存的ARP验证请求表,更新ARP验证请求表的验证MAC地址。
进一步的,该上送单元进一步包括:
查询单元,用于该网关的控制平面根据该第一报文的源IP地址和源MAC地址查询该控制平面的ARP缓存表是否存在对应表项;
生成单元,用于如果该控制平面的ARP缓存表不存在对应表项,该网关的控制平面生成一条包含该第一报文的源IP地址和源MAC地址的第四表项;
下发单元,用于该网关的控制平面将该第四表项下发至该网关的数据平面的ARP缓存表。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种地址解析协议ARP请求报文验证方法,其特征在于:
网关收到ARP请求报文;
如果所述网关在控制平面的ARP缓存表中没有查询到与所述ARP请求报文的源因特网协议IP地址和源媒体接入控制MAC地址匹配的表项,所述网关发出ARP验证报文,所述ARP验证报文的目的IP地址为所述ARP请求报文的源IP地址,所述ARP验证报文的源IP地址和MAC地址分别为验证IP地址和验证MAC地址,所述验证IP地址与所述网关的IP地址为同一网段的地址,所述验证IP地址不同于所述网关的IP地址;
所述网关收到第一报文,判断所述第一报文是否是所述ARP验证报文对应的响应报文;
如果所述第一报文是所述ARP验证报文对应的响应报文,将所述第一报文上送到所述网关的控制平面。
2.根据权利要求1所述方法,其特征在于:
所述ARP验证报文中的验证MAC地址不同于所述网关发出的前一个ARP验证报文中的验证MAC地址。
3.根据权利要求1或2所述方法,其特征在于:
所述网关发出ARP验证报文具体包括:
所述网关通过ARP验证请求表获得所述ARP验证报文的验证IP地址和验证MAC地址,所述ARP验证请求表至少包括1个表项,第三表项与第一表项相同,所述第三表项为所述ARP验证请求表的1个表项,所述第一表项为ARP验证响应表中的1个表项,所述ARP验证响应表包括至少2个表项,每个表项包含验证IP地址以及验证MAC地址,所述至少2个表项中的验证MAC地址互不相同,所述ARP验证请求表是所述ARP验证响应表的子集。
4.根据权利要求3所述方法,其特征在于:
所述判断所述第一报文是否是所述ARP验证报文对应的响应报文具体包括:
通过所述ARP验证响应表判断所述第一报文是否是所述ARP验证报文对应的响应报文,当所述第一报文的目的IP地址等于所述第一表项的验证IP地址时,或者当所述第一报文的目的MAC地址等于所述第一表项的验证MAC地址时,确定所述第一报文是所述ARP验证报文对应的响应报文。
5.根据权利要求3所述方法,其特征在于:
所述网关发出ARP验证报文前,进一步包括:所述网关发出所述前一个ARP验证报文后,将所述第三表项的验证MAC地址更新为第一验证MAC地址。
6.根据权利要求5所述方法,其特征在于:
所述网关收到所述ARP验证报文对应的响应报文前,进一步包括:将所述第一表项的验证MAC地址更新为所述第一验证MAC地址,所述ARP验证响应表中的第二表项用于判断所述网关收到的报文是否是所述前一个ARP验证报文对应的响应报文,所述第一表项和所述第二表项是所述ARP验证响应表中的不同表项。
7.根据权利要求1至6中任一所述方法,其特征在于:
所述将所述第一报文上送到所述网关的控制平面具体包括:
所述网关的控制平面根据所述第一报文的源IP地址和源MAC地址查询所述控制平面的ARP缓存表是否存在对应表项,如果所述控制平面的ARP缓存表不存在对应表项,所述网关的控制平面生成一条包含所述第一报文的源IP地址和源MAC地址的第四表项,所述网关的控制平面将所述第四表项下发至所述网关的数据平面的ARP缓存表。
8.根据权利要求1至7中任一所述方法,其特征在于:
所述验证MAC由所述网关的控制平面随机生成,并由所述网关的控制平面下发至所述网关的数据平面。
9.一种ARP请求报文验证装置,其特征在于,包括:
接收器,网关用于收到ARP请求报文;
发送器,用于如果所述网关在ARP缓存表中没有查询到与所述ARP请求报文匹配的表项,所述网关发出ARP验证报文,所述ARP验证报文的目的因特网协议IP地址为所述ARP请求报文的源IP地址,所述ARP验证报文的源IP地址和源媒体接入控制MAC地址分别为验证IP地址和验证MAC地址,所述验证IP地址与所述网关的IP地址为同一网段的地址,所述验证IP地址不同于所述网关的IP地址,所述验证MAC地址不同于所述网关发出的前一个ARP验证报文中的验证MAC地址;
判断单元,所述网关用于收到第一报文,判断所述第一报文是否是所述ARP验证报文对应的响应报文;
上送单元,用于如果所述第一报文是所述ARP验证报文对应的响应报文,将所述第一报文上送到所述网关的控制平面。
10.根据权利要求9所述装置,其特征在于:
所述ARP验证报文中的验证MAC地址不同于所述网关发出的前一个ARP验证报文中的验证MAC地址。
11.根据权利要求9或10所述装置,其特征在于:
所述发送器具体包括:
获得单元,所述网关用于通过ARP验证请求表获得所述ARP验证报文的验证IP地址和验证MAC地址,所述ARP验证请求表至少包括1个表项,第三表项与第一表项相同,所述第三表项为所述ARP验证请求表的1个表项,所述第一表项为ARP验证响应表中的1个表项,所述ARP验证响应表包括至少2个表项,每个表项包含验证IP地址以及验证MAC地址,所述至少2个表项中的验证MAC地址互不相同。
12.根据权利要求11所述装置,其特征在于:
所述判断单元具体包括:
分析单元,用于通过所述ARP验证响应表判断所述第一报文是否是所述ARP验证报文对应的响应报文,当所述第一报文的目的IP地址等于所述第一表项的验证IP地址时,或者当所述第一报文的目的MAC地址等于所述第一表项的验证MAC地址时,确定所述第一报文是所述ARP验证报文对应的响应报文。
13.根据权利要求12所述装置,其特征在于,进一步包括:
第一更新单元,用于所述网关发出ARP验证报文前,所述网关发出所述前一个ARP验证报文后,将所述第三表项的验证MAC地址更新为第一验证MAC地址。
14.根据权利要求13所述装置,其特征在于,进一步包括:
第二更新单元,用于所述网关收到所述ARP验证报文对应的响应报文前,将所述第一表项的验证MAC地址更新为所述第一验证MAC地址,所述ARP验证响应表中的第二表项用于判断所述网关收到的报文是否是所述前一个ARP验证报文对应的响应报文,所述第一表项和所述第二表项是所述ARP验证响应表中的不同表项。
15.根据权利要求9至14中任一所述装置,其特征在于:
所述上送单元进一步包括:
查询单元,用于所述网关的控制平面根据所述第一报文的源IP地址和源MAC地址查询所述控制平面的ARP缓存表是否存在对应表项;
生成单元,用于如果所述控制平面的ARP缓存表不存在对应表项,所述网关的控制平面生成一条包含所述第一报文的源IP地址和源MAC地址的第四表项;
下发单元,用于所述网关的控制平面将所述第四表项下发至所述网关的数据平面的ARP缓存表。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110226131.8A CN102255984B (zh) | 2011-08-08 | 2011-08-08 | 一种arp请求报文验证方法及装置 |
PCT/CN2012/079794 WO2013020501A1 (zh) | 2011-08-08 | 2012-08-08 | 一种arp请求报文验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110226131.8A CN102255984B (zh) | 2011-08-08 | 2011-08-08 | 一种arp请求报文验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102255984A true CN102255984A (zh) | 2011-11-23 |
CN102255984B CN102255984B (zh) | 2015-06-03 |
Family
ID=44982973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110226131.8A Active CN102255984B (zh) | 2011-08-08 | 2011-08-08 | 一种arp请求报文验证方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102255984B (zh) |
WO (1) | WO2013020501A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020501A1 (zh) * | 2011-08-08 | 2013-02-14 | 华为技术有限公司 | 一种arp请求报文验证方法及装置 |
WO2014115157A1 (en) * | 2013-01-24 | 2014-07-31 | Hewlett-Packard Development Comany, L.P. | Address resolution in software-defined networks |
CN107395786A (zh) * | 2017-08-09 | 2017-11-24 | 杭州迪普科技股份有限公司 | 一种arp表项的索引方法及装置 |
CN110062064A (zh) * | 2019-05-30 | 2019-07-26 | 新华三信息安全技术有限公司 | 一种地址解析协议arp请求报文响应方法及装置 |
CN111431732A (zh) * | 2020-02-11 | 2020-07-17 | 西安交通大学 | 一种对计算机网络数据平面进行增量验证的方法与系统 |
CN111835764A (zh) * | 2020-07-13 | 2020-10-27 | 中国联合网络通信集团有限公司 | 一种arp防欺骗方法、隧道端点以及电子设备 |
CN112769791A (zh) * | 2020-12-30 | 2021-05-07 | 北京天融信网络安全技术有限公司 | 一种网络防御方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899554A (zh) * | 2015-12-21 | 2017-06-27 | 北京奇虎科技有限公司 | 一种防止arp欺骗的方法及装置 |
US11277442B2 (en) * | 2019-04-05 | 2022-03-15 | Cisco Technology, Inc. | Verifying the trust-worthiness of ARP senders and receivers using attestation-based methods |
CN112600951B (zh) * | 2020-12-08 | 2022-07-29 | 杭州迪普信息技术有限公司 | 一种报文转发的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198242A1 (en) * | 2004-01-05 | 2005-09-08 | Viascope Int. | System and method for detection/interception of IP collision |
CN101094236A (zh) * | 2007-07-20 | 2007-12-26 | 华为技术有限公司 | 地址解析协议报文处理方法及通讯系统及转发平面处理器 |
CN101110821A (zh) * | 2007-09-06 | 2008-01-23 | 华为技术有限公司 | 防止arp地址欺骗攻击的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255984B (zh) * | 2011-08-08 | 2015-06-03 | 华为技术有限公司 | 一种arp请求报文验证方法及装置 |
-
2011
- 2011-08-08 CN CN201110226131.8A patent/CN102255984B/zh active Active
-
2012
- 2012-08-08 WO PCT/CN2012/079794 patent/WO2013020501A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050198242A1 (en) * | 2004-01-05 | 2005-09-08 | Viascope Int. | System and method for detection/interception of IP collision |
CN101094236A (zh) * | 2007-07-20 | 2007-12-26 | 华为技术有限公司 | 地址解析协议报文处理方法及通讯系统及转发平面处理器 |
CN101110821A (zh) * | 2007-09-06 | 2008-01-23 | 华为技术有限公司 | 防止arp地址欺骗攻击的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020501A1 (zh) * | 2011-08-08 | 2013-02-14 | 华为技术有限公司 | 一种arp请求报文验证方法及装置 |
WO2014115157A1 (en) * | 2013-01-24 | 2014-07-31 | Hewlett-Packard Development Comany, L.P. | Address resolution in software-defined networks |
CN105144652A (zh) * | 2013-01-24 | 2015-12-09 | 惠普发展公司,有限责任合伙企业 | 软件定义的网络中的地址解析 |
CN107395786A (zh) * | 2017-08-09 | 2017-11-24 | 杭州迪普科技股份有限公司 | 一种arp表项的索引方法及装置 |
CN107395786B (zh) * | 2017-08-09 | 2020-12-04 | 杭州迪普科技股份有限公司 | 一种arp表项的索引方法及装置 |
CN110062064A (zh) * | 2019-05-30 | 2019-07-26 | 新华三信息安全技术有限公司 | 一种地址解析协议arp请求报文响应方法及装置 |
CN110062064B (zh) * | 2019-05-30 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种地址解析协议arp请求报文响应方法及装置 |
CN111431732A (zh) * | 2020-02-11 | 2020-07-17 | 西安交通大学 | 一种对计算机网络数据平面进行增量验证的方法与系统 |
CN111835764A (zh) * | 2020-07-13 | 2020-10-27 | 中国联合网络通信集团有限公司 | 一种arp防欺骗方法、隧道端点以及电子设备 |
CN111835764B (zh) * | 2020-07-13 | 2023-04-07 | 中国联合网络通信集团有限公司 | 一种arp防欺骗方法、隧道端点以及电子设备 |
CN112769791A (zh) * | 2020-12-30 | 2021-05-07 | 北京天融信网络安全技术有限公司 | 一种网络防御方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102255984B (zh) | 2015-06-03 |
WO2013020501A1 (zh) | 2013-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102255984A (zh) | 一种arp请求报文验证方法及装置 | |
CN102859973B (zh) | 一种地址解析的方法,装置和系统 | |
CN1874217B (zh) | 一种确定路由的方法 | |
US20070214282A1 (en) | Load balancing via rotation of cluster identity | |
US7567573B2 (en) | Method for automatic traffic interception | |
CN102025535A (zh) | 虚拟机管理方法、装置及网络设备 | |
CN105554179B (zh) | 局域网内dns解析方法、系统 | |
CN104980528A (zh) | 实现节点间通信的方法、系统及装置 | |
CN104219340A (zh) | 一种arp应答代理方法以及装置 | |
US20190260837A1 (en) | Method and system of data packet transmission | |
CN104144168B (zh) | 基于开放式智能网关平台用户账号与网关设备的绑定方法 | |
CN101645851A (zh) | 一种ip分片报文的重组方法和装置 | |
CN101621525A (zh) | 合法表项的处理方法和设备 | |
CN106101297B (zh) | 一种报文应答方法及装置 | |
CN104144096A (zh) | 虚拟网络层构建方法、装置及系统 | |
CN101056273B (zh) | 基于会话的网络限速方法及装置 | |
CN101931627B (zh) | 安全检测方法、装置和网络侧设备 | |
CN107547505A (zh) | 一种报文处理方法及装置 | |
CN102164150B (zh) | 策略下发处理方法、设备、服务器和系统 | |
CN101494536B (zh) | 一种防arp攻击的方法、装置和系统 | |
CN104767765A (zh) | 提高用户上线速度的方法和宽带远程接入服务器接入设备 | |
US7650417B2 (en) | Method for setting up a communication between a device and a host application over an IP network | |
CN106878485A (zh) | 一种报文处理方法及装置 | |
CN109040334B (zh) | 静态的内网映射方法、外网服务器、内网通信设备及系统 | |
CN103532850B (zh) | 一种上行报文转发方法、装置及接入点ap设备 |
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 |