CN103095858B - 地址解析协议arp报文处理的方法、网络设备及系统 - Google Patents

地址解析协议arp报文处理的方法、网络设备及系统 Download PDF

Info

Publication number
CN103095858B
CN103095858B CN201110335386.8A CN201110335386A CN103095858B CN 103095858 B CN103095858 B CN 103095858B CN 201110335386 A CN201110335386 A CN 201110335386A CN 103095858 B CN103095858 B CN 103095858B
Authority
CN
China
Prior art keywords
arp
record
address
network
identity
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
Application number
CN201110335386.8A
Other languages
English (en)
Other versions
CN103095858A (zh
Inventor
吴红海
罗小妮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110335386.8A priority Critical patent/CN103095858B/zh
Publication of CN103095858A publication Critical patent/CN103095858A/zh
Application granted granted Critical
Publication of CN103095858B publication Critical patent/CN103095858B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种地址解析协议ARP报文处理方法,网络设备及系统,用以提高基于ARP协议网络的安全性。该方法包括:第一网络设备接收第二网络设备发送的ARP报文,其中,所述第一网络设备和第二网络设备都支持在ARP协议的报文中扩展身份标识ID;所述第一网络设备在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文。

Description

地址解析协议ARP报文处理的方法、网络设备及系统
技术领域
本发明涉及网络通讯技术领域,特别涉及一种地址解析协议ARP报文处理的方法,网络设备以及系统。
背景技术
地址解析协议(Address Resolution Protocol,ARP)用于将计算机的网络地址转化为物理地址,即将32位的IP地址转换为48位的MAC地址。ARP协议是属于链路层的协议,而在以太网中的数据帧从一个主机到达网内的另一台主机是根据48位的MAC地址来确定接口的,而不是根据32位的IP地址。因此,主机的内核(如驱动)必须知道目的端的MAC地址才能发送数据。
ARP地址解析协议在应用之初确实很大程度上的推动了网络的进程,但也正是因为随着网络的拓展和ARP地址解析协议的普及,以及用户对于网络安全的关注,ARP协议在安全缺陷越来越受关注。下面是几种典型的威胁ARP协议的安全性的网络ARP攻击方式:
方式一为交换网络的嗅探ARP攻击方式,由于ARP协议并不只在发送了ARP请求才接收ARP应答。这样,当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,在上面的网络中,假设网络设备B向网络设备A发送一个自己伪造的ARP应答,而这个伪造的ARP应答中的数据为发送方IP地址是192.168.10.3,MAC地址是DD-DD-DD-DD-DD-DD,其中,192.168.10.3为网络设备C的IP地址,而网络设备C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造为DD-DD-DD-DD-DD-DD。当网络设备A接收到网络设备B伪造的ARP应答,就会更新本地的ARP缓存,将本地的IP-MAC对应表更换为接收到的数据格式,即网络设备A的ARP缓存中记录对应表中包括:192.168.10.3的IP地址与DD-DD-DD-DD-DD-DD的MAC地址对应,由于这一切都是网络设备A的系统内核自动完成的,网络设备A可不知道ARP应答被伪造了。
方式二为IP地址冲突的ARP攻击方式,如果网络中存在相同IP地址的主机的时候,就会报告出IP地址冲突的警告。比如某主机B规定IP地址为192.168.0.1,如果它处于开机状态,那么其他机器A更改IP地址为192.168.0.1就会造成IP地址冲突。其原理就是:主机A在连接网络(或更改IP地址)时,就会向网络发送ARP包广播自己的IP地址,也就是freearp。如果网络中存在相同IP地址的主机B,那么B就会通过ARP包来reply该地址,当A接收到这个reply后,A就会跳出IP地址冲突的警告,当然B也会有警告。因此可用ARP欺骗可以来伪造这个ARPreply,从而使目标一直遭受IP地址冲突警告的困扰。
方式三为阻止目标的数据包通过网关的ARP攻击方式。当在一个局域网内通过网关上网,那么连接外部的计算机上的ARP缓存中就存在网关IP-MAC对应记录。如果,该记录被更改,那么该计算机向外发送的数据包总是发送到了错误的MAC地址上,这样,该计算机就不能够上网了。
从以上几种攻击方式中,可以看出攻击之所以能够成功,主要是因为当前的ARP协议存在如下缺陷:
1)当计算机和网络设备接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。也就是不对ARP应答包进行合法性校验。
2)ARP请求报文和ARP应答报文无法一一对应,从而很容易被人窃取其中一个报文从而模拟出ARP应答或者请求报文来达到ARP攻击的目的。
针对上述缺陷,目前也有些方法可来弥补或减轻这些缺陷所造成的网络安全隐患,其中包括:
专利号:200910059669中公开,通过交换机开启ARP代理功能,代替网关和网络设备处理网络中的ARP请求和应答报文,并且加入了一定的合法性校验。但是由于此方法是通过设定网络设备ARP记录上限和认为先到的ARP报文为合法来实现防护功能的,只能说在限制ARP报文数量上起到了一定的作用,在ARP报文的合法性校验上没有太大的说服力;
专利200710121472.2中同样是先到的ARP报文认为是合法报文,如与原来保存的ARP缓存有冲突则启用ARP验证,发送一定的ARP查询报文来验证其MAC的合法性,此方法的合法性校验方式依然使用的是存在缺陷的ARP报文来验证,那么根本上还是存在被攻击的隐患。
综上所述,现有ARP报文处理过程中,仍然存在由ARP协议的本身缺陷引起的安全隐患问题。
发明内容
本发明实施例提供一种ARP报文处理方法,网络设备及系统,用以提高基于ARP协议网络的安全性。
本发明实施例提供一种地址解析协议ARP报文处理的方法,包括:
第一网络设备接收第二网络设备发送的ARP报文,其中,所述第一网络设备和第二网络设备都支持在ARP协议的报文中扩展身份标识ID;
所述第一网络设备在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文。
本发明实施例提供一种地址解析协议ARP报文处理的网络设备,该网络设备支持在ARP协议的报文中扩展身份标识ID,包括:
接收单元,用于接收由支持在ARP协议的报文中扩展身份标识ID的网络设备发送的ARP报文;
查找单元,用于在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录;
处理单元,用于根据查找结果,更新所述本地记录和处理所述ARP报文。
本发明实施例提供一种地址解析协议ARP报文处理的系统,包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备和第二网络设备,其中,
所述第一网络设备,用于接收第二网络设备发送的ARP报文,并在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
所述第二网络设备,用于发送所述ARP报文给所述第一网络设备。
本发明实施例提供一种地址解析协议ARP报文处理的系统,包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备,以及不支持在ARP协议的报文中扩展身份标识ID的第二网络设备,其中,
所述第一网络设备,用于接收第二网络设备发送的ARP请求报文,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
所述第二网络设备,用于发送所述ARP报文给所述第一网络设备。
本发明实施例中,当网络设备都支持ARP协议的扩展时,第一网络设备接收到第二网络设备发送的ARP报文后,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括该ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新本地记录和处理ARP报文。这样,第一网络设备在处理ARP报文时,使用<MAC,IP,ID>来实现ARP报文与合法ARP报文的一一对应,从而有效抵抗了目前网络环境中存在的ARP攻击,并且提高了网络的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中一种ARP报文处理的流程图;
图2为本发明实施例中另一种ARP报文处理的流程图;
图3为本发明实施例一种中ARR报文交互的流程图;
图4为本发明实施例二种中ARR报文交互的流程图;
图5为本发明实施例中网络设备的结构图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,通过扩展ARP协议的一个字段用于保存身份标识ID,该身份标识ID是唯一的,从而可在报文处理过程中,使用此ID来实现ARP请求报文和ARP应答报文的一一对应,从而在解决目前网络环境中存在的ARP攻击问题的同时,降低网络中的ARP报文数量的目的,实现安全与性能的共赢。
本发明实施例中,ARP协议的扩展中,可通过在现有ARP协议的末尾增加一个2Byte大小的CHECKID(检验ID)字段,用于存放网络设备发送ARP请求时随机生成的不为0的ID,此ID必须是唯一的,即该ID必须与本地MAC对应的ARP记录表中ID都不同,同时将网络设备的ARP缓存中的ARP记录表由原来的两要素<MAC,IP>扩展为三要素<MAC,IP,ID>,其中ID保存最后生成的值。可见,支持在ARP协议的报文中扩展身份标识ID的网络设备的缓存中都有一个本地记录,该本地记录中有三要素<MAC,IP,ID>,每一条记录都是经过合法性验证的。
当网络中的网络设备都支持ARP协议的扩展时,网络设备之间交换的ARP报文中都包含有身份标识ID,则ARP报文处理的过程参见图1,包括:
步骤101:第一网络设备接收第二网络设备发送的ARP报文。
这里,第一网络设备可以为路由类网络设备或终端,第二网络设备也可以为路由类网络设备或终端。第一网络设备和第二网络设备都支持在ARP协议的报文中扩展身份标识ID。
步骤102:第一网络设备判断该ARP报文的类型,当该ARP报文为ARP请求报文时,执行步骤103A,当该ARP报文为ARP应答报文时,执行103B。
步骤103A:在第一网络设备的本地记录中查找是否有包含ARP请求报文中的源MAC+源IP+ID的第一记录,若有,执行步骤106,否则,执行步骤105。
这里,第一网络设备的本地记录包括<MAC,IP,ID>三要素,每条记录都是合法的。当在本地记录中查到包含ARP请求报文中的源MAC,源IP和ID的第一记录时,可表明第一网络设备与第二网络设备已建立链接,因此,执行步骤306,丢弃该ARP请求报文。
步骤103B:在第一网络设备的本地记录中查找是否有包括ARP应答报文中的源MAC+源IP+ID的第二记录,如果有,则进行步骤105;否则,进行步骤104。
步骤104:此步骤对应步骤103B,在第一网络设备的本地记录中查找是否有包括ARP应答报文的目的MAC+目的IP+ID的第三记录,若有,进行步骤105,否则,进行步骤106。
步骤105:将接收ARP报文中的源MAC+源IP+ID组成新的报文,更新第一网络设备的本地记录,并正常转发该ARP报文。
这里,当从步骤103A跳入时,第一网络设备将ARP请求报文中的源MAC+源IP+ID组成第一记录增加到该本地记录中。
当从步骤103B跳入时,第一网络设备利用ARP应答报文中源MAC+源IP+ID刷新第二记录。
当然从步骤104跳入时,第一网络设备利用ARP应答报文中源MAC+源IP+ID组成第二记录加入到本地记录中。
步骤106:丢弃收到的ARP报文,并释放占用的内存。
可见上述ARP报文处理过程中,由于ARP报文中包括了网络地址、物理地址以及身份标识ID,因此,第一网络设备接收到第二网络设备发送的ARP报文后,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括该ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新本地记录和处理ARP报文。这样,第一网络设备在处理ARP报文时,使用<MAC,IP,ID>来实现合法ARP请求报文与合法ARP应答报文的一一对应,从而有效抵抗了目前网络环境中存在的ARP攻击,并且提高了网络的安全性。
在本发明实施例中,为进一步提高安全性,第一网络设备接收到ARP报文后,还对该报文的合法性进行验证,验证通过后才执行步骤102。
在上述实施例中,网络中的网络设备都支持ARP协议的扩展,但是现有网络中,很多网络设备都不支持ARP协议的扩展,此时,支持在ARP协议的报文中扩展身份标识ID的网络设备处理ARP报文的过程,参见图2,包括:
步骤201:第一网络设备接收第二网络设备发送的ARP报文。
这里,第一网络设备可以为路由类网络设备或终端,第二网络设备也可以为路由类网络设备或终端。第一网络设备支持在ARP协议的报文中扩展身份标识ID。而第二网络设备不支持在ARP协议的报文中扩展身份标识ID。
步骤202:第一网络设备判断该ARP报文的类型,当该ARP报文为ARP请求报文时,执行步骤203A,当该ARP报文为ARP应答报文时,执行203B。
ARP报文为ARP请求报文时时,ARP请求报文一般只包括MAC和IP,而ARP报文为ARP应答报文时,ARP应答报文在那个可包括MAC,IP和ID。但是该ID不是第二网络设备能修改的。
步骤203A:在第一网络设备的本地记录中查找是否有包含ARP请求报文中的源MAC+源IP的第四记录,若有,执行步骤204A,否则,若没有,执行步骤207A。
这里,第一网络设备的本地记录包括<MAC,IP,ID>三要素,每条记录都是合法的。由于第二网络设备不支持在ARP协议的报文中扩展身份标识ID,因此,ARP请求报文中没有ID。
在具体的查找过程中,可先在以源MAC在本地记录中查找,先查找出包括源MAC的记录,然后,在查找出的记录中,查看IP是否为源IP,如果是,则表明有第四记录,执行步骤204A,如果不是,则表明IP冲突,没有第四记录,执行步骤207A。当然,在本地记录中未查找到源MAC,同样,表明没有第四记录,执行步骤207A。
步骤204A:在第一网络设备的本地记录中查找是否有包含ARP请求报文中的目标MAC+目标IP的第五记录,若没有,执行步骤205A,如有,执行步骤206A。
步骤205A:第一网络设备构造包括唯一ID的第一ARP扩展请求报文,并转发该ARP报文,以及将ARP请求报文中的源MAC+源IP,以及ID组成第六报文加入到本地记录中。
由于在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,并且,第一网络设备支持在ARP协议的报文中扩展身份标识ID,因此,当本地记录中有源MAC和源IP,且没有目标MAC和目标IP时,第一网络设备构造第一ARP扩展请求报文,即可在ARP请求报文的末尾增加一个2Byte大小的CHECKID(检验ID)字段,用于存放与本地记录中的ID都不同的一个ID。然后,根据ARP请求报文中的目标网络地址和目的物理地址发送该第一ARP扩展请求报文,并且,将源MAC+源IP+ID组成第六记录加入本地记录中。
步骤206A:第一网络设备构造包括唯一ID的ARP扩展应答报文,并返回给第二网络设备。
当在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,第一网络设备构造包括唯一的身份标识ID的ARP扩展应答报文,并返回给第二网络设备。
此时,本地记录中有源MAC和源IP,且有目标MAC和目标IP。第一网络设备首先生成与ARP请求报文对应的ARP应答报文,然后在该ARP应答报文中增加唯一ID,最后返回给第二网络设备。
步骤207A:第一网络设备构造包括唯一ID的第二ARP扩展请求报文,并返回给第二网络设备,以及将ARP请求报文中的源MAC+源IP,以及构造的ID组成第七报文加入到本地记录中。
当在本地记录中查找到未查到包括ARP请求报文中源网络地址和源物理地址的第四记录时,第一网络设备构造包括唯一的身份标识ID的第二ARP扩展请求报文,并返回给第二网络设备,以及将ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入本地记录中。
此时,本地记录中没有源MAC,或者,有MAC,但是IP冲突,则将唯一的身份标识ID添加到ARP请求报文,并返回给第二网络设备,同时还要更新本地记录。
步骤203B:在第一网络设备的本地记录中查找是否有包含ARP应答报文中的目标MAC+目标IP+ID的第八记录,若有,执行步骤204B,否则,若没有,执行步骤205B。
由于ARP报文为ARP应答报文,虽然,第二网络设备不支持在ARP协议的报文中扩展身份标识ID,但是可收到的包括ID的请求报文,并能生成包括ID的ARP应答报文,只是不能对ID进行识别或修改了。
因此,ARP应答报文中有ID,此时,需目标MAC、目标IP、ID都包括,才能执行步骤204B,否则,若没有,执行步骤205B。
步骤204B:第一网络设备将ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入本地记录中,并正常转发ARP应答报文。
步骤205B:丢弃该ARP应答报文。
可见上述ARP报文处理过程中,由于接收的ARP报文由不支持ARP协议的扩展的网络设备发送的,因此,第一网络设备接收到第二网络设备发送的ARP报文后,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括该ARP报文中网络地址和物理地址的记录,并根据查找结果,更新本地记录和处理ARP报文。这样,第一网络设备可以构造一个包括ID的ARP报文,然后通过ID来实现合法ARP请求报文与合法ARP应答报文的一一对应,或者,通过ARP报文中第二网络设备不能修改的IP来实现合法ARP请求报文与合法ARP应答报文的一一对应,从而有效抵抗了目前网络环境中存在的ARP攻击,并且提高了网络的安全性。并且,还可以与现网中的网络设备对接,使其具有向下兼容性,保证了本发明实施例的实用性。
下面结合说明书附图对本发明实施例作进一步详细描述。
实施例一,本实施例中,本地记录为ARP缓存表,请求终端Q,目的终端R、以及交换机网络设备S都支持ARP协议的扩展,因此,ARP缓存表包括<MAC,IP,ID>三要素,则其报文交互过程参见图2,具体为:
步骤A:当请求终端Q需要发送ARP请求报文时,随机产生一个ID,假设为X,此ID必须满足与本地MAC-Q对应的ARP缓存表中的ID值均不相同,将其添加到生成的ARP请求报文的Target IP address字段后,发送成功后,将此X保存到对应ARP缓存表中。
步骤B:当交换机网络设备S收到步骤A中发送的ARP请求报文时,检查ARP缓存表中是否保存有与此MAC(Q)+IP(Q)+X相同的记录,如果记录存在,则直接丢弃该ARP请求报文;否则将此MAC(Q)+IP(Q)+X组合添加到ARP缓存表中,并正常转发ARP请求报文给目的终端R。
步骤C:当目的终端R接收ARP请求报文,首先检查该ARP请求报文是否指向本地地址,如果指向的是报文地址,则检查X的记录是否存在,若存在,则忽略此ARP请求报文。若不存在则将此ARP请求报文中的MAC(Q)+IP(Q)+X添加的目的终端R的ARP缓存表中,并且以X回应ARP应答报文给交换机网络设备S;如果指向的非本地地址,则丢弃该ARP请求报文。
步骤D:当交换机网络设备S收到步骤C发送的ARP应答报文时,检查交换机网络设备的ARP缓存表中是否保存有该应答报文中的MAC(Q)+IP(Q)+X的记录,若存在,那么将MAC(R)+IP(R)+X记录到ARP缓存表中,并正常转发给请求终端Q;若不存在,那么直接丢弃该ARP应答报文。
步骤E:当请求终端Q收到ARP应答报文,检查请求终端Q的ARP缓存表中是否保存有该应答报文MAC(Q)+IP(Q)+X的记录:若存在,则将MAC(R)+IP(R)+X保存到请求终端Q的ARP缓存表中。
本实施例中,当交换机网络设备S或请求终端Q收到非法的ARP应答报文时,该报文中的ID为Y,则由于交换机网络设备S或请求终端Q的ARP缓存表中没有Y的记录,则直接丢弃该非法的ARP应答报文,不更新ARP缓存表。
实施例二,本实施例中,本地记录为ARP缓存表,请求终端Q和目的终端R不支持ARP协议的扩展,只有交换机网络设备S支持ARP协议的扩展,即只有交换机网络设备的ARP缓存表包括<MAC,IP,ID>。则其报文交互过程参见图2,具体为:
步骤A:当要建立通信前,请求者请求终端Q发送指向目的终端R的普通ARP请求报文。
步骤B:当支持扩展ARP报文的交换机网络设备S收到Q发出的指向目的终端R的ARP报文时,可以分如下几种情况:
B1:包括请求终端Q的源MAC+源IP的记录存,即源MAC存在,且无IP冲突,但包括目的终端R的目标MAC+目标IP的记录不存在,此时,交换机网络设备S在请求终端Q的ARP请求报文的基础上构造指向目的终端R的扩展ARP请求报文,正常转发出去,该扩展ARP请求报文有唯一的ID,ID=Y,在ARP缓存中保存源MAC+源IP+ID。
B2:包括请求终端Q的源MAC+源IP的记录存,且包括目的终端R的目标MAC+目标IP的记录也存在,此时,交换机网络设备S构造ARP扩展应答报文,该ARP扩展应答报文包括唯一的ID,ID=X,并向请求终端Q发送。
B3:包括请求终端Q的源MAC+源IP的记录存,即有请求终端Q的源MAC但是IP冲突,或者请求终端Q的源MAC不存在,此时交换机网络设备S构造一个指向请求终端Q的扩展ARP请求报文,该扩展ARP请求报文包括唯一的ID,ID=X,并在ARP缓存表中记录源MAC+源IP+ID,以便后续验证。
步骤C:根据步骤B的不同分支,步骤C也可以分为如下几个子项:
C1:对应B1,当目的终端R收到步骤B1发出的扩展ARP请求报文时,更新ARP缓存,并通过交换机网络设备S向请求终端Q回应扩展ARP应答报文,此时,不修改ID,即虽然目的终端R不支持ARP协议的扩展,但回复的扩展ARP应答报文包括了ID,ID=Y。
C2:对应B2,当请求终端Q收到步骤B2发出的扩展ARP应答报文时,直接更新ARP缓存表,该ARP缓存表中只有<MAC,IP>。
C3:对应B3,当请求终端Q收到步骤B3发出的扩展ARP请求报文时,向交换机网络设备S回应扩展ARP应答报文。同样,不能修改ID,ID=X。
步骤D:根据步骤C的不同分支,步骤D也可以分为如下几个子项:
D1:对应C1,当交换机网络设备S收到步骤C1发送的扩展ARP应答报文时,检验该扩展ARP应答报文中ID与记录中发送的ID是否一致,即是否都为Y,若一致则在ARP缓存表保存请求终端QMAC+请求终端QIP+ID,且转发此扩展ARP应答报文给请求终端Q;若不一致,则丢弃该扩展ARP应答报文;
D3:对应C3,当交换机S收到步骤C3发送的扩展ARP应答报文时,检验该扩展ARP应答报文中ID与记录中发送的ID是否一致,即是否都为X,若一致则在ARP缓存表保存MAC(R)+IP(R)+ID。
步骤E:根据步骤D的D1分支,步骤E仅对应D1存在,当请求终端Q收到D1转发的扩展ARP应答报文时,更新ARP缓存,丢弃该扩展ARP应答报文。
根据上述实施例可知,处理ARP报文的网络设备可持在ARP协议的报文中扩展身份标识ID,参见图5,该网络设备包括:接收单元510,查找单元520,以及处理单元530。
接收单元510,用于接收由支持在ARP协议的报文中扩展身份标识ID的网络设备发送的ARP报文。
查找单元520,用于在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括ARP报文中网络地址、物理地址以及身份标识ID的记录。
处理单元530,用于根据查找结果,更新本地记录和处理ARP报文。
当ARP报文为ARP请求报文时,处理单元530,具体用于在本地记录中没有查找到包括ARP请求报文中的源网络地址、源物理地址以及身份标识ID的第一记录时,将由ARP请求报文中的源网络地址、源物理地址以及身份标识ID组成的第一记录增加到本地记录中,并转发ARP请求报文。
当ARP报文为ARP应答报文时,处理单元530,具体用于当在本地记录中查找到包括ARP应答报文中源网络地址和源物理地址的第二记录时,利用ARP应答报文中源网络地址、源物理地址和身份标识ID刷新第二记录,并转发ARP应答报文。或,
在本地记录未查找到第二记录,且在本地记录中查找到包括ARP应答报文中目的网络地址、目的物理地址以及身份标识ID的第三记录时,利用ARP应答报文中源网络地址、源物理地址以及身份标识ID组成第二记录加入本地记录中,并转发ARP应答报文。
本发明实施例中网络设备还可与现网对接,因此,
接收单元510,还用于接收不支持在ARP协议的报文中扩展身份标识ID的网络设备发送的ARP请求报文。
查找单元520,还用于在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括ARP报文中网络地址、物理地址的记录。
当ARP报文为ARP请求报文时,处理单元530,具体用于当在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的第一ARP扩展请求报文,并根据ARP请求报文中的目的物理地址发送第一ARP扩展请求报文,以及将ARP请求报文中目标网络地址和目的物理地址与身份标识ID组成第六记录加入本地记录中。并且,
当在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的ARP扩展应答报文并返回。并且,
当在本地记录中查找到未查到包括ARP请求报文中源网络地址和源物理地址的第四记录时,构造包括唯一的身份标识ID的第二ARP扩展请求报文并返回,以及将ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入本地记录中。
当ARP报文为ARP应答报文,处理单元530,具体用于当在本地记录查找到包括ARP应答报文中目标网络地址、目的物理地址以及身份标识ID的第八记录时,将ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入本地记录中,并处理ARP应答报文。
根据上述实施例可知,本发明实施例提供了两种网络模型的ARP报文处理的系统,其中,第一种网络模型的ARP报文处理的系统包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备和第二网络设备,其中,
第一网络设备,用于接收第二网络设备发送的ARP报文,并在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新本地记录和处理ARP报文。
第二网络设备,用于发送ARP报文给第一网络设备。
当ARP报文为ARP请求报文时,第一网络设备,具体用于在本地记录中没有查找到包括ARP请求报文中的源网络地址、源物理地址以及身份标识ID的第一记录时,第一网络设备将由ARP请求报文中的源网络地址、源物理地址以及身份标识ID组成的第一记录增加到本地记录中,并转发ARP请求报文。
当ARP报文为ARP应答报文时,第一网络设备,具体用于当在本地记录中查找到包括ARP应答报文中源网络地址和源物理地址的第二记录时,利用ARP应答报文中源网络地址、源物理地址和身份标识ID刷新第二记录,并转发ARP应答报文。或,
在本地记录未查找到第二记录,且在本地记录中查找到包括ARP应答报文中目的网络地址、目的物理地址以及身份标识ID的第三记录时,利用ARP应答报文中源网络地址、源物理地址以及身份标识ID组成第二记录加入本地记录中,并转发ARP应答报文。
第二种网络模型的ARP报文处理的系统包括:,包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备,以及不支持在ARP协议的报文中扩展身份标识ID的第二网络设备,其中,
第一网络设备,用于接收第二网络设备发送的ARP请求报文,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括ARP报文中网络地址、物理地址的记录,并根据查找结果,更新本地记录和处理ARP报文。
第二网络设备,用于发送ARP报文给第一网络设备。
当ARP报文为ARP请求报文时,第一网络设备,具体用于当在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的第一ARP扩展请求报文,并根据ARP请求报文中的目的物理地址发送第一ARP扩展请求报文,以及将ARP请求报文中目标网络地址和目的物理地址与身份标识ID组成第六记录加入本地记录中。并且,
当在本地记录中查找到包括ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的ARP扩展应答报文,并返回给第二网络设备。并且,
当在本地记录中查找到未查到包括ARP请求报文中源网络地址和源物理地址的第四记录时,构造包括唯一的身份标识ID的第二ARP扩展请求报文,并返回给第二网络设备,以及将ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入本地记录中。
当ARP报文为ARP应答报文,第一网络设备,具体用于当在本地记录查找到包括ARP应答报文中目标网络地址、目的物理地址以及身份标识ID的第八记录时,将ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入本地记录中,并处理ARP应答报文。
本发明实施例中,当网络设备都支持ARP协议的扩展时,第一网络设备接收到第二网络设备发送的ARP报文后,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括该ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新本地记录和处理ARP报文。这样,第一网络设备在处理ARP报文时,使用<MAC,IP,ID>来实现合法ARP请求报文与合法ARP应答报文的一一对应,从而有效抵抗了目前网络环境中存在的ARP攻击,并且提高了网络的安全性。
另外,当支持ARP协议的扩展的第一网络设备与现网中的网络设备对接时,第一网络设备接收到第二网络设备发送的ARP报文后,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括该ARP报文中网络地址和物理地址的记录,并根据查找结果,更新本地记录和处理ARP报文。这样,第一网络设备可以构造一个包括ID的ARP报文,然后通过ID来实现合法ARP请求报文与合法ARP应答报文的一一对应,或者,通过ARP报文中第二网络设备不能修改的IP来实现合法ARP请求报文与合法ARP应答报文的一一对应,从而有效抵抗了目前网络环境中存在的ARP攻击,并且提高了网络的安全性。并且,还可以与现网中的网络设备对接,使其具有向下兼容性,保证了本发明实施例的实用性。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权力要求的保护范围内。

Claims (6)

1.一种地址解析协议ARP报文处理的方法,其特征在于,包括:
第一网络设备接收第二网络设备发送的ARP报文,其中,所述第一网络设备和第二网络设备都支持在ARP协议的报文中扩展身份标识ID;
所述第一网络设备在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
其中,当所述ARP报文为ARP请求报文时,所述根据查找结果,更新所述本地记录和处理所述ARP报文包括:
在所述本地记录中未查找到包括所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID的第一记录时,所述第一网络设备将由所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID组成的第一记录增加到所述本地记录中,并转发所述ARP请求报文;
当所述ARP报文为ARP应答报文时,所述根据查找结果,更新所述本地记录和处理所述ARP报文包括:
在所述本地记录中查找到包括所述ARP应答报文中源网络地址和源物理地址的第二记录时,所述第一网络设备利用所述ARP应答报文中源网络地址、源物理地址和身份标识ID刷新所述第二记录,并转发所述ARP应答报文;或,
在所述本地记录未查找到所述第二记录,但在所述本地记录中查找到包括所述ARP应答报文中目的网络地址、目的物理地址以及身份标识ID的第三记录时,所述第一网络设备利用所述ARP应答报文中源网络地址、源物理地址以及身份标识ID组成所述第二记录加入本地记录中,并转发所述ARP应答报文。
2.如权利要求1所述的方法,其特征在于,该方法还包括:
第一网络设备接收第二网络设备发送的ARP报文,其中,所述第一网络设备支持在ARP协议的报文中扩展身份标识ID,所述第二网络设备不支持在ARP协议的报文中扩展身份标识ID;
所述第一网络设备在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
其中,当所述ARP报文为ARP请求报文,所述根据查找结果,更新所述本地记录和处理所述ARP报文包括:
当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,所述第一网络设备构造包括唯一的身份标识ID的第一ARP扩展请求报文,并根据所述ARP请求报文中的目的物理地址发送所述第一ARP扩展请求报文,以及将所述ARP请求报文中目标网络地址和目的物理地址与身份标识ID组成第六记录加入所述本地记录中;
当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,所述第一网络设备构造包括唯一的身份标识ID的ARP扩展应答报文,并返回给所述第二网络设备;
当在所述本地记录中未查到包括所述ARP请求报文中源网络地址和源物理地址的第四记录时,所述第一网络设备构造包括唯一的身份标识ID的第二ARP扩展请求报文,并返回给所述第二网络设备,以及将所述ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入所述本地记录中;
当所述ARP报文为ARP应答报文,所述根据查找结果,更新所述本地记录和处理所述ARP报文包括:
当在所述本地记录查找到包括所述ARP应答报文中目标网络地址、目的物理地址以及身份标识ID的第八记录时,所述第一网络设备将所述ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入所述本地记录中,并处理所述ARP应答报文。
3.一种地址解析协议ARP报文处理的网络设备,其特征在于,包括:
接收单元,用于接收由支持在ARP协议的报文中扩展身份标识ID的网络设备发送的ARP报文;
查找单元,用于在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录;
处理单元,用于根据查找结果,更新所述本地记录和处理所述ARP报文;
其中,当所述ARP报文为ARP请求报文时,所述处理单元,具体用于在所述本地记录中没有查找到包括所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID的第一记录时,将由所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID组成的第一记录增加到所述本地记录中,并转发所述ARP请求报文;
当所述ARP报文为ARP应答报文时,所述处理单元,具体用于当在所述本地记录中查找到包括所述ARP应答报文中源网络地址和源物理地址的第二记录时,利用所述ARP应答报文中源网络地址、源物理地址和身份标识ID刷新所述第二记录,并转发所述ARP应答报文;或,
在所述本地记录未查找到所述第二记录,且在所述本地记录中查找到包括所述ARP应答报文中目的网络地址、目的物理地址以及身份标识ID的第三记录时,利用所述ARP应答报文中源网络地址、源物理地址以及身份标识ID组成所述第二记录加入本地记录中,并转发所述ARP应答报文。
4.如权利要求3所述的网络设备,其特征在于,
所述接收单元,还用于接收不支持在ARP协议的报文中扩展身份标识ID的网络设备发送的ARP请求报文;
所述查找单元,还用于在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址的记录;
其中,当所述ARP报文为ARP请求报文时,
所述处理单元,具体用于当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的第一ARP扩展请求报文,并根据所述ARP请求报文中的目的物理地址发送所述第一ARP扩展请求报文,以及将所述ARP请求报文中目标网络地址和目的物理地址与身份标识ID组成第六记录加入所述本地记录中;
当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的ARP扩展应答报文并返回;
当在所述本地记录中未查到包括所述ARP请求报文中源网络地址和源物理地址的第四记录时,构造包括唯一的身份标识ID的第二ARP扩展请求报文并返回,以及将所述ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入所述本地记录中;
当所述ARP报文为ARP应答报文,
所述处理单元,具体用于当在所述本地记录查找到包括所述ARP应答报文中目标网络地址、目的物理地址以及身份标识ID的第八记录时,将所述ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入所述本地记录中,并处理所述ARP应答报文。
5.一种地址解析协议ARP报文处理的系统,其特征在于,包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备和第二网络设备,其中,
所述第一网络设备,用于接收第二网络设备发送的ARP报文,并在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址以及身份标识ID的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
所述第二网络设备,用于发送所述ARP报文给所述第一网络设备;
其中,当所述ARP报文为ARP请求报文时,
所述第一网络设备,具体用于在所述本地记录中没有查找到包括所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID的第一记录时,所述第一网络设备将由所述ARP请求报文中的源网络地址、源物理地址以及身份标识ID组成的第一记录增加到所述本地记录中,并转发所述ARP请求报文;
当所述ARP报文为ARP应答报文时,
所述第一网络设备,具体用于当在所述本地记录中查找到包括所述ARP应答报文中源网络地址和源物理地址的第二记录时,利用所述ARP应答报文中源网络地址、源物理地址和身份标识ID刷新所述第二记录,并转发所述ARP应答报文;或,
在所述本地记录未查找到所述第二记录,且在所述本地记录中查找到包括所述ARP应答报文中目的网络地址、目的物理地址以及身份标识ID的第三记录时,利用所述ARP应答报文中源网络地址、源物理地址以及身份标识ID组成所述第二记录加入本地记录中,并转发所述ARP应答报文。
6.一种地址解析协议ARP报文处理的系统,其特征在于,包括:支持在ARP协议的报文中扩展身份标识ID的第一网络设备,以及不支持在ARP协议的报文中扩展身份标识ID的第二网络设备,其中,
所述第一网络设备,用于接收第二网络设备发送的ARP请求报文,在由网络地址、物理地址以及身份标识ID组成的本地记录中查找包括所述ARP报文中网络地址、物理地址的记录,并根据查找结果,更新所述本地记录和处理所述ARP报文;
所述第二网络设备,用于发送所述ARP报文给所述第一网络设备;
其中,当所述ARP报文为ARP请求报文时,
所述第一网络设备,具体用于当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且未查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的第一ARP扩展请求报文,并根据所述ARP请求报文中的目的物理地址发送所述第一ARP扩展请求报文,以及将所述ARP请求报文中目标网络地址和目的物理地址与身份标识ID组成第六记录加入所述本地记录中;
当在所述本地记录中查找到包括所述ARP请求报文中源网络地址和源物理地址的第四记录,且查到包括所述ARP请求报文中目标网络地址和目的物理地址的第五记录时,构造包括唯一的身份标识ID的ARP扩展应答报文,并返回给所述第二网络设备;
当在所述本地记录中未查到包括所述ARP请求报文中源网络地址和源物理地址的第四记录时,构造包括唯一的身份标识ID的第二ARP扩展请求报文,并返回给所述第二网络设备,以及将所述ARP请求报文中源网络地址和源物理地址与身份标识ID组成第七记录加入所述本地记录中;
当所述ARP报文为ARP应答报文,
所述第一网络设备,具体用于当在所述本地记录查找到包括所述ARP应答报文中目标网络地址、目的物理地址以及身份标识ID的第八记录时,将所述ARP应答报文中的源网络地址和源物理地址与身份标识ID组成第九记录加入所述本地记录中,并处理所述ARP应答报文。
CN201110335386.8A 2011-10-28 2011-10-28 地址解析协议arp报文处理的方法、网络设备及系统 Active CN103095858B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110335386.8A CN103095858B (zh) 2011-10-28 2011-10-28 地址解析协议arp报文处理的方法、网络设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110335386.8A CN103095858B (zh) 2011-10-28 2011-10-28 地址解析协议arp报文处理的方法、网络设备及系统

Publications (2)

Publication Number Publication Date
CN103095858A CN103095858A (zh) 2013-05-08
CN103095858B true CN103095858B (zh) 2018-02-16

Family

ID=48207981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110335386.8A Active CN103095858B (zh) 2011-10-28 2011-10-28 地址解析协议arp报文处理的方法、网络设备及系统

Country Status (1)

Country Link
CN (1) CN103095858B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104410642B (zh) * 2014-12-11 2017-10-10 国家电网公司 基于arp协议的设备接入感知方法
CN106231002A (zh) * 2016-07-22 2016-12-14 杭州华三通信技术有限公司 一种维护arp表的方法及装置
CN111683162B (zh) * 2020-06-09 2022-10-25 福建健康之路信息技术有限公司 一种基于流量识别的ip地址管理方法
CN112866113B (zh) * 2020-12-29 2022-11-01 京信网络系统股份有限公司 路由分组转发中arp代理的方法、系统、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682516A (zh) * 2002-09-16 2005-10-12 思科技术公司 用于防止网络地址盗用的方法和装置
CN1972230A (zh) * 2006-11-09 2007-05-30 杭州华为三康技术有限公司 一种无线局域网地址解析协议广播方法及接入控制器
CN101127681A (zh) * 2007-09-05 2008-02-20 杭州华三通信技术有限公司 绑定服务器mac地址和上行端口的方法和装置
CN101243647A (zh) * 2004-04-28 2008-08-13 泰克诺沃斯公司 用来在以太无源光网络中l3-感知交换的方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1682516A (zh) * 2002-09-16 2005-10-12 思科技术公司 用于防止网络地址盗用的方法和装置
CN101243647A (zh) * 2004-04-28 2008-08-13 泰克诺沃斯公司 用来在以太无源光网络中l3-感知交换的方法和设备
CN1972230A (zh) * 2006-11-09 2007-05-30 杭州华为三康技术有限公司 一种无线局域网地址解析协议广播方法及接入控制器
CN101127681A (zh) * 2007-09-05 2008-02-20 杭州华三通信技术有限公司 绑定服务器mac地址和上行端口的方法和装置

Also Published As

Publication number Publication date
CN103095858A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
CN103441932B (zh) 一种主机路由表项生成方法及设备
CN105939332A (zh) 防御arp攻击报文的方法及装置
Ullrich et al. {IPv6} security: Attacks and countermeasures in a nutshell
CN106411910A (zh) 一种分布式拒绝服务攻击的防御方法与系统
CN102223365A (zh) 基于ssl vpn网关集群的用户接入方法及其装置
CN104243472A (zh) 具有mac表溢出保护的网络
CN103609089B (zh) 一种防止附连到子网的主机上拒绝服务攻击的方法及装置
CN107276878A (zh) 在网络环境下使用本地策略应用进行云电子邮件消息扫描
WO2012141998A1 (en) Mapping private and public addresses
CN104780139B (zh) 一种基于mac地址攻击的防御方法和系统
CN102025734B (zh) 一种防止mac地址欺骗的方法、系统及交换机
CN103095858B (zh) 地址解析协议arp报文处理的方法、网络设备及系统
CN106302110B (zh) 一种基于隐私保护的社交网络位置共享方法
CN103618801B (zh) 一种p2p资源共享的方法、设备及系统
CN104219338B (zh) 授权地址解析协议安全表项的生成方法及装置
CN106878326A (zh) 基于反向检测的IPv6邻居缓存保护方法及其装置
CN101931627B (zh) 安全检测方法、装置和网络侧设备
CN109981633A (zh) 访问服务器的方法、设备及计算机可读存储介质
CN110505621A (zh) 一种终端迁移的处理方法及装置
CN104468805A (zh) 消息路由装置和方法
CN108632401B (zh) 减少dns递归服务器上隐私泄漏的匿名查询方法及系统
CN103442096B (zh) 基于移动互联网的nat转换方法及系统
Murugesan et al. HPSIPT: A high-precision single-packet IP traceback scheme
CN104427004A (zh) 一种基于网络设备的arp报文管理方法
WO2014206152A1 (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