CN101741855A - 地址解析协议缓存表维护方法和网络设备 - Google Patents

地址解析协议缓存表维护方法和网络设备 Download PDF

Info

Publication number
CN101741855A
CN101741855A CN200910254064A CN200910254064A CN101741855A CN 101741855 A CN101741855 A CN 101741855A CN 200910254064 A CN200910254064 A CN 200910254064A CN 200910254064 A CN200910254064 A CN 200910254064A CN 101741855 A CN101741855 A CN 101741855A
Authority
CN
China
Prior art keywords
address
transmit leg
arp
network equipment
packet receiving
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
Application number
CN200910254064A
Other languages
English (en)
Other versions
CN101741855B (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 CN2009102540643A priority Critical patent/CN101741855B/zh
Publication of CN101741855A publication Critical patent/CN101741855A/zh
Application granted granted Critical
Publication of CN101741855B publication Critical patent/CN101741855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种地址解析协议缓存表维护方法和网络设备,所述地址解析协议缓存表维护方法包括以下步骤:网络设备在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法;在所述发送方IP地址合法时,所述网络设备更新本地ARP缓存表;在所述发送方IP地址不合法时,所述网络设备丢弃所述ARP报文。本发明能够有效防止ARP缓存表被非法IP地址的ARP报文攻击。

Description

地址解析协议缓存表维护方法和网络设备
技术领域
本发明涉及网络通信技术领域,尤其涉及一种地址解析协议缓存表维护方法和网络设备。
背景技术
IP(Internet Protocol,互联网协议)网络环境下的每个主机都被分配了一个32位的IP地址,IP地址是用于标识主机的一种逻辑地址。为了让报文能够在物理网络上传送,需要将目的主机的IP地址转换成物理地址(又称为MAC地址或硬件地址)。以以太网环境为例,为了正确地向目的主机传送报文,发送方主机需要把目的主机的32位IP地址转换成48位的以太网地址。
ARP(Address Resolution Protocol,地址解析协议)提供将目的主机的IP地址转换为物理地址的服务。利用ARP将目的主机的IP地址转换为物理地址的具体实现步骤如下:
步骤一,当主机A需要将目的主机的IP地址IP1转换为物理地址时,在物理网络中广播一个ARP请求报文,该ARP请求报文中包含目的主机的IP地址IP1。
步骤二,IP地址为IP1的主机B接收到该ARP请求报文后,向主机A发送一包含其物理地址MAC1的ARP应答报文。
步骤三,主机A接收到ARP应答报文后,将主机B的IP地址IP1转换成物理地址MAC1。
另外,每一主机中都会维护一个ARP缓存表,所述APR缓存表中记录了该主机学习到的IP网络中其他主机的IP地址和物理地址的映射关系。在上述步骤三中,主机A在接收到ARP应答报文后,就需要根据所述ARP应答报文中包含的主机B的IP地址IP1和物理地址MAC1,创建对应的ARP缓存表条目(即主机B的IP地址IP1和物理地址MAC1的映射关系),并存储于ARP缓存表中。
ARP缓存表维护机制中存在一些不完善的地方,即,主机在接收到ARP报文时,并不对ARP报文中的发送方IP地址的合法性进行验证,而是直接根据ARP报文中的发送方IP地址和发送方硬件地址创建对应的ARP缓存表条目。此时,如果主机接收到大量的发送方IP地址为非法IP地址的ARP报文的话,会造成主机的ARP缓存表被大量无用的ARP缓存表条目占据,即ARP缓存表被攻击,这不仅占用了系统资源,还会影响到ARP缓存表的正常学习。
发明内容
有鉴于此,本发明提供一种地址解析协议缓存表维护方法和网络设备,能够有效防止ARP缓存表被非法IP地址的ARP报文攻击,提高系统安全性。
为解决上述问题,本发明提供一种地址解析协议缓存表维护方法,包括以下步骤:
网络设备在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法;
在所述发送方IP地址合法时,所述网络设备更新本地ARP缓存表;
在所述发送方IP地址不合法时,所述网络设备丢弃所述ARP报文。
所述网络设备在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法,具体为:
所述网络设备在接收到所述ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址;
所述网络设备根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:
所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或
所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口;
所述网络设备在所述ARP报文满足所述过滤条件时,判定所述发送方IP地址合法,否则判定所述发送方IP地址不合法。
所述网络设备根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,具体为:
所述网络设备判断本地是否存在能够到达所述发送方IP地址的路由表项;
所述网络设备在本地不存在能够到达所述发送方IP地址的路由表项时,判定所述ARP报文不满足所述过滤条件,否则判断所述路由表项的三层出接口是否为本地收包三层接口;
所述网络设备在所述路由表项的三层出接口不是本地收包三层接口时,判定所述ARP报文不满足所述过滤条件,否则判断所述目的IP地址是否为所述本地收包IP地址;
所述网络设备在所述目的IP地址为所述本地收包IP地址时,判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,在所述发送方IP地址与所述本地收包IP地址位于不同网段时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件;
所述网络设备在所述目的IP地址不是所述本地收包IP地址时,判断是否需要进行ARP代理,在不需要进行ARP代理时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件。
所述网络设备判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,具体为:
所述网络设备判断所述路由表项是否为直连路由表项,如果是,则判定所述发送方IP地址与所述本地收包IP地址位于同一网段。
所述网络设备更新本地ARP缓存表,具体为:
所述网络设备获取所述APR报文的发送方IP地址和发送方硬件地址;
所述网络设备判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目;
在所述ARP缓存表中存在所述旧ARP缓存表条目时,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述旧ARP缓存表条目;
在所述ARP缓存表中不存在所述旧ARP缓存表条目时,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
本发明还提供一种网络设备,包括:
验证模块,用于在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法;
更新模块,用于在所述发送方IP地址合法时,更新本地ARP缓存表;
丢弃模块,用于在所述发送方IP地址不合法时,丢弃所述ARP报文。
所述验证模块包括:
获取子模块,用于在接收到所述ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址;
过滤子模块,用于根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:
所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或
所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口;
判定子模块,用于在所述ARP报文满足所述过滤条件时,判定所述发送方IP地址合法,否则判定所述发送方IP地址不合法。
所述过滤子模块包括:
第一判断单元,用于判断本地是否存在能够到达所述发送方IP地址的路由表项;
第二判断单元,用于在本地存在能够到达所述发送方IP地址的路由表项时,判定所述ARP报文不满足所述过滤条件,否则判断所述路由表项的三层出接口是否为本地收包三层接口;
第三判断单元,用于在所述路由表项的三层出接口不是本地收包三层接口时,判定所述ARP报文不满足所述过滤条件,否则判断所述目的IP地址是否为所述本地收包IP地址;
第四判断单元,用于在所述目的IP地址为所述本地收包IP地址时,判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段;
第一判定单元,用于在所述发送方IP地址与所述本地收包IP地址位于不同网段时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件;
第五判断单元,用于在所述目的IP地址不是所述本地收包IP地址时,判断所述网络设备是否需要进行ARP代理;
第二判定单元,用于在所述网络设备不需要进行ARP代理时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件。
所述更新模块包括:
第一处理子模块,用于获取所述APR报文的发送方IP地址和发送方硬件地址;
第二处理子模块,用于判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目;
替换子模块,用于在所述ARP缓存表中存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述旧ARP缓存表条目;
添加子模块,用于在所述ARP缓存表中不存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
本发明具有以下有益效果:
网络设备在接收ARP报文时,对ARP报文的发送方IP地址的合法性进行验证,在发送方IP地址合法时,更新本地ARP缓存表,否则丢弃ARP报文。从而,能够有效过滤非法IP地址的ARP报文,避免ARP缓存表被攻击,提高了系统安全性,同时也保证了ARP缓存表的正常学习不会受到影响。
附图说明
图1为本发明实施例的ARP报文的结构示意图;
图2为本发明实施例的地址解析协议缓存表维护方法的一流程示意图;
图3为本发明实施例的ARP缓存表条目格式示意图;
图4为本发明实施例的以太网报文格式示意图;
图5为本发明实施例的地址解析协议缓存表维护方法的另一流程示意图;
图6为本发明实施例的地址解析协议缓存表维护方法的又一流程示意图;
图7为本发明实施例的网络设备的一结构示意图;
图8为本发明实施例的网络设备的另一结构示意图;
图9为本发明实施例的过滤子模块的结构示意图。
具体实施方式
在进行本发明实施例的说明之前,首先对ARP报文的结构进行简单介绍。
如图1所示为本发明实施例的ARP报文的结构示意图,ARP报文包括以下几个字段:硬件类型、协议类型、硬件地址长度、协议地址长度、操作码、发送方硬件地址(八位组0-3)、发送方硬件地址(八位组4-5)、发送方协议地址(八位组0-1)、发送方协议地址(八位组2-3)、目的硬件地址(八位组0-1)、目的硬件地址(八位组2-5)、目的协议地址(八位组0-3)。其中,硬件类型是指发送方想知道的硬件类型,例如,以太网的值为1;协议类型是指发送方提供的高层协议类型,例如,IP为0800(16进制);硬件地址长度和协议地址长度分别是指物理地址和高层协议地址的长度,以太网物理地址的长度为48,高层协议地址(IP地址)长度为32;操作码是指报文的类型,例如,ARP请求报文为1,ARP应答报文为2;发送方硬件地址(八位组0-3)是指发送方主机物理地址的前4个字节;发送方硬件地址(八位组4-5)是指发送方主机物理地址的后2个字节;发送方协议地址(八位组0-1)是指发送方主机协议地址的前2个字节;发送方协议地址(八位组2-3)是指发送方主机协议地址的后2个字节;目的硬件地址(八位组0-1)是指目的主机物理地址的前2个字节;目的硬件地址(八位组2-5)是指目的主机物理地址的后4个字节;目的协议地址(八位组0-3)是指目的主机协议地址。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图2所示为本发明实施例的地址解析协议缓存表维护方法的一流程示意图,所述地址解析协议缓存表维护方法包括以下步骤:
步骤201,网络设备在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法,在所述发送方IP地址合法时,执行步骤202,否则,执行步骤203。所述ARP报文可以为ARP请求报文,也可以为ARP应答报文。
步骤202,所述网络设备更新本地ARP缓存表。如图3所示为本发明实施例的ARP缓存表条目格式示意图,ARP缓存表条目记录了与本地IP地址通信的对端主机的IP地址和物理地址的映射信息,一个ARP缓存表条目包括以下字段:IP地址、物理地址、三层接口索引。
步骤203,所述网络设备丢弃所述ARP报文。
上述步骤202中,所述网络设备更新本地ARP缓存表包括替换原有的旧ARP缓存表条目和添加新ARP缓存表条目两种情况,具体包括以下步骤:
步骤一,所述网络设备获取所述APR报文的发送方IP地址和发送方硬件地址;
步骤二,所述网络设备判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目,如果存在,执行步骤三,否则,执行步骤四;
步骤三,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述发送方IP地址对应的旧ARP缓存表条目;
步骤四,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
另外,执行上述验证ARP报文的发送方IP地址的合法性之前,所述网络设备还可以对所述ARP报文中的硬件类型字段、硬件地址长度、协议类型和协议地址长度的合法性进行简单的验证,在验证出所述ARP报文中的硬件类型字段、硬件地址长度、协议类型和协议地址长度均合法时,再执行上述发送方IP地址的验证步骤,在验证出所述ARP报文中的硬件类型字段、硬件地址长度、协议类型和协议地址长度中的其中一个不合法时,直接丢弃所述ARP报文。
在上述实施例中的网络设备应用于以太网中时,所述网络设备接收到的报文为以太网报文,如图4所示为本发明实施例的以太网报文格式示意图,从图4中可以看出,ARP报文封装于以太网报文中进行传输,网络设备在接收到以太网报文时,需要对以太网报文进行解封装,得到ARP报文。
如图5所示为本发明实施例的地址解析协议缓存表维护方法的另一流程示意图,所述地址解析协议缓存表维护方法包括以下步骤:
步骤501,网络设备在接收到ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址。具体的,所述网络设备在接收到ARP报文时,获取所述ARP报文中的发送方协议地址字段和目的协议地址字段,所述发送方协议地址字段即是发送方IP地址,所述目的协议地址字段即是目的IP地址。
步骤502,所述网络设备根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口;如果是,执行步骤503,否则执行步骤504;
所述网络设备接收到的ARP报文只需满足上述过滤条件之一,则说明ARP报文为合法的ARP报文,否则,为不合法的ARP报文。其中,第一个过滤条件是为了判断ARP报文的发送方IP地址是否为与接收该ARP报文的本地收包IP地址位于同一网段的IP地址,如果所述发送方IP地址为与所述本地收包IP地址位于不同网段,则所述发送方IP地址为非法IP地址;另外,网络设备在需要进行ARP代理的情况下,可以处理满足上述第二个过滤条件的ARP报文。所谓ARP代理用来代替处于另一个网段的主机回答本网段主机的ARP请求报文。
步骤503,所述网络设备更新本地ARP缓存表。
步骤504,所述网络设备丢弃所述ARP报文。即,在接收到的ARP报文不满足上述过滤条件时,将所述ARP报文丢弃。
下面举例对上述地址解析协议缓存表维护方法的实现方法进行详细说明。
如图6所示为本发明实施例的地址解析协议缓存表维护方法的又一流程示意图,所述地址解析协议缓存表维护方法包括以下步骤:
步骤601,网络设备在接收到ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址;
步骤602,所述网络设备判断本地是否存在能够到达所述发送方IP地址的路由表项,如果是,执行步骤603,否则执行步骤608;
具体的,所述网络设备查找本地路由表,如果在本地路由表中查找到所述发送方IP地址对应的路由表项,则说明本地存在能够到达所述发送方IP地址的路由表项,否则,说明本地不存在能够到达所述发送方IP地址的路由表项,所述发送方IP地址为非法IP地址,则丢弃所述ARP报文。
步骤603,所述网络设备判断所述路由表项的三层出接口是否为本地收包三层接口,如果是,执行步骤604,否则执行步骤608;
步骤604,所述网络设备判断所述目的IP地址是否为所述本地收包IP地址,如果是,执行步骤605,否则执行步骤606;所谓本地收包IP地址即接收到所述ARP报文的本地三层接口下配置的IP地址,需要说明的是,本地三层接口下可以配置一个或多个IP地址。
步骤605,所述网络设备判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,如果是,执行步骤607,否则执行步骤608;
所述网络设备可以通过判断从本地路由表中查找到的所述发送方IP地址对应的路由表项是否为直连路由表项,来判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,如果所述发送方IP地址对应的路由表项为直连路由表项,则判定所述发送方IP地址与所述本地收包IP地址位于同一网段,否则,判定所述发送方IP地址与所述本地收包IP地址位于不同网段。所谓直连路由是指去往所述本地收包IP地址所在网段的路径。
步骤606,所述网络设备判断是否需要进行ARP代理,如果是,执行步骤607,否则,执行步骤608;
步骤607,所述网络设备更新本地ARP缓存表。
步骤608,所述网络设备丢弃所述ARP报文。
通过上述实施例提供的方法,网络设备在接收ARP报文时,对ARP报文的发送方IP地址的合法性进行验证,在发送方IP地址合法时,更新本地ARP缓存表,否则丢弃ARP报文。从而,能够有效过滤非法IP地址的ARP报文,避免ARP缓存表被攻击,提高了系统安全性,同时也保证了ARP缓存表的正常学习不会受到影响。
对应于上述ARP缓存表维护方法,本发明实施例还提供一种网络设备,所述网络设备能够执行上述实施例中的ARP缓存表维护方法。
如图7所示为本发明实施例的网络设备的一结构示意图,所述网络设备包括:
验证模块701,用于在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法;所述ARP报文可以为ARP请求报文,也可以为ARP应答报文。
更新模块702,用于在所述发送方IP地址合法时,更新本地ARP缓存表;
丢弃模块703,用于在所述发送方IP地址不合法时,丢弃所述ARP报文。
下面对所述验证模块701的结构进行详细说明。
如图8所示为本发明实施例的网络设备的另一结构示意图,在图7所示的实施例的基础上,所述验证模块701包括:
获取子模块7011,用于在接收到ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址。具体的,所述获取子模块7011在接收到ARP报文时,获取所述ARP报文中的发送方协议地址字段和目的协议地址字段,所述发送方协议地址字段即是发送方IP地址,所述目的协议地址字段即是目的IP地址。
过滤子模块7012,用于根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口。所述ARP报文只需满足上述过滤条件之一,则说明ARP报文为合法的ARP报文,否则,为不合法的ARP报文。
判定子模块7013,用于在所述ARP报文满足所述过滤条件时,判定所述发送方IP地址合法,否则,判定所述发送方IP地址不合法。
所述更新模块702更新本地ARP缓存表包括替换原有的旧ARP缓存表条目和添加新ARP缓存表条目两种情况,具体的,所述更新模块702还包括:
第一处理子模块7021,用于获取所述APR报文的发送方IP地址和发送方硬件地址;
第二处理子模块7022,用于判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目;
替换子模块7023,用于在所述ARP缓存表中存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述旧ARP缓存表条目;
添加子模块7024,用于在所述ARP缓存表中不存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
下面详细对上述过滤子模块7012的结构进行说明。
如图9所示为本发明实施例的过滤子模块的结构示意图,所述过滤子模块7012包括:
第一判断单元70121,用于判断本地是否存在能够到达所述发送方IP地址的路由表项。具体的,所述第一判断单元70121查找本地路由表,如果在本地路由表中查找到所述发送方IP地址对应的路由表项,则说明本地存在能够到达所述发送方IP地址的路由表项,否则,说明本地不存在能够到达所述发送方IP地址的路由表项,所述发送方IP地址为非法IP地址,则丢弃所述ARP报文。
第二判断单元70122,用于在本地不存在能够到达所述发送方IP地址的路由表项时,判定所述ARP报文不满足所述过滤条件,否则判断所述路由表项的三层出接口是否为本地收包三层接口。
第三判断单元70123,用于在所述路由表项的三层出接口不是本地收包三层接口时,判定所述ARP报文不满足所述过滤条件,否则判断所述目的IP地址是否为所述本地收包IP地址;
第四判断单元70124,用于在所述目的IP地址为所述本地收包IP地址时,判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段。具体的,所述第四判断单元70124可以通过判断从本地路由表中查找到的所述发送方IP地址对应的路由表项是否为直连路由表项,来判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,如果所述发送方IP地址对应的路由表项为直连路由表项,则判定所述发送方IP地址与所述本地收包IP地址位于同一网段,否则,判定所述发送方IP地址与所述本地收包IP地址位于不同网段。所谓直连路由是指去往所述本地收包IP地址所在网段的路径。
第一判定单元70125,用于在所述发送方IP地址与所述本地收包IP地址位于不同网段时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件;
第五判断单元70126,用于在所述目的IP地址不是所述本地收包IP地址时,判断所述网络设备是否需要进行ARP代理。
第二判定单元70127,用于在所述网络设备不需要进行ARP代理时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件。
通过上述实施例提供的网络设备,在接收ARP报文时,对ARP报文的发送方IP地址的合法性进行验证,在发送方IP地址合法时,更新本地ARP缓存表,否则丢弃ARP报文。从而,能够有效过滤非法IP地址的ARP报文,避免ARP缓存表被攻击,提高了系统安全性,同时也保证了ARP缓存表的正常学习不会受到影响。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种地址解析协议缓存表维护方法,其特征在于,包括以下步骤:
网络设备在接收到地址解析协议ARP报文时,验证所述ARP报文的发送方互联网协议IP地址是否合法;
在所述发送方IP地址合法时,所述网络设备更新本地ARP缓存表;
在所述发送方IP地址不合法时,所述网络设备丢弃所述ARP报文。
2.根据权利要求1所述的地址解析协议缓存表维护方法,其特征在于,所述网络设备在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法,具体为:
所述网络设备在接收到所述ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址;
所述网络设备根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:
所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或
所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口;
所述网络设备在所述ARP报文满足所述过滤条件时,判定所述发送方IP地址合法,否则判定所述发送方IP地址不合法。
3.根据权利要求2所述的地址解析协议缓存表维护方法,其特征在于,所述网络设备根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,具体为:
所述网络设备判断本地是否存在能够到达所述发送方IP地址的路由表项;
所述网络设备在本地不存在能够到达所述发送方IP地址的路由表项时,判定所述ARP报文不满足所述过滤条件,否则判断所述路由表项的三层出接口是否为本地收包三层接口;
所述网络设备在所述路由表项的三层出接口不是本地收包三层接口时,判定所述ARP报文不满足所述过滤条件,否则判断所述目的IP地址是否为所述本地收包IP地址;
所述网络设备在所述目的IP地址为所述本地收包IP地址时,判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,在所述发送方IP地址与所述本地收包IP地址位于不同网段时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件;
所述网络设备在所述目的IP地址不是所述本地收包IP地址时,判断是否需要进行ARP代理,在不需要进行ARP代理时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件。
4.根据权利要求3所述的地址解析协议缓存表维护方法,其特征在于,所述网络设备判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段,具体为:
所述网络设备判断所述路由表项是否为直连路由表项,如果是,则判定所述发送方IP地址与所述本地收包IP地址位于同一网段。
5.根据权利要求1所述的地址解析协议缓存表维护方法,其特征在于,所述网络设备更新本地ARP缓存表,具体为:
所述网络设备获取所述APR报文的发送方IP地址和发送方硬件地址;
所述网络设备判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目;
在所述ARP缓存表中存在所述旧ARP缓存表条目时,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述旧ARP缓存表条目;
在所述ARP缓存表中不存在所述旧ARP缓存表条目时,所述网络设备根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
6.一种网络设备,其特征在于,包括:
验证模块,用于在接收到ARP报文时,验证所述ARP报文的发送方IP地址是否合法;
更新模块,用于在所述发送方IP地址合法时,更新本地ARP缓存表;
丢弃模块,用于在所述发送方IP地址不合法时,丢弃所述ARP报文。
7.根据权利要求6所述的网络设备,其特征在于,所述验证模块包括:
获取子模块,用于在接收到所述ARP报文时,获取所述ARP报文的发送方IP地址和目的IP地址;
过滤子模块,用于根据所述发送方IP地址和目的IP地址,判断所述ARP报文是否满足过滤条件,所述过滤条件为:
所述目的IP地址为本地收包IP地址,且所述发送方IP地址与所述本地收包IP地址位于同一网段;或
所述网络设备需要进行ARP代理,所述目的IP地址不是所述本地收包IP地址,本地存在能够到达所述发送方IP地址的路由表项,且所述路由表项的三层出接口为本地收包三层接口;
判定子模块,用于在所述ARP报文满足所述过滤条件时,判定所述发送方IP地址合法,否则判定所述发送方IP地址不合法。
8.根据权利要求7所述的网络设备,其特征在于,所述过滤子模块包括:
第一判断单元,用于判断本地是否存在能够到达所述发送方IP地址的路由表项;
第二判断单元,用于在本地存在能够到达所述发送方IP地址的路由表项时,判定所述ARP报文不满足所述过滤条件,否则判断所述路由表项的三层出接口是否为本地收包三层接口;
第三判断单元,用于在所述路由表项的三层出接口不是本地收包三层接口时,判定所述ARP报文不满足所述过滤条件,否则判断所述目的IP地址是否为所述本地收包IP地址;
第四判断单元,用于在所述目的IP地址为所述本地收包IP地址时,判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段;
第一判定单元,用于在所述发送方IP地址与所述本地收包IP地址位于不同网段时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件;
第五判断单元,用于在所述目的IP地址不是所述本地收包IP地址时,判断所述网络设备是否需要进行ARP代理;
第二判定单元,用于在所述网络设备不需要进行ARP代理时,判定所述ARP报文不满足所述过滤条件,否则判定所述ARP报文满足所述过滤条件。
9.根据权利要求8所述的网络设备,其特征在于,所述第四判断单元通过判断所述路由表项是否为直连路由表项,来判断所述发送方IP地址与所述本地收包IP地址是否位于同一网段。
10.根据权利要求6所述的网络设备,其特征在于,所述更新模块包括:
第一处理子模块,用于获取所述APR报文的发送方IP地址和发送方硬件地址;
第二处理子模块,用于判断所述ARP缓存表中是否存在所述发送方IP地址对应的旧ARP缓存表条目;
替换子模块,用于在所述ARP缓存表中存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并用所述新ARP缓存表条目替换所述旧ARP缓存表条目;
添加子模块,用于在所述ARP缓存表中不存在所述旧ARP缓存表条目时,根据所述发送方硬件地址和所述发送方IP地址,生成新ARP缓存表条目,并将所述新ARP缓存表条目添加到所述ARP缓存表中。
CN2009102540643A 2009-12-16 2009-12-16 地址解析协议缓存表维护方法和网络设备 Active CN101741855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102540643A CN101741855B (zh) 2009-12-16 2009-12-16 地址解析协议缓存表维护方法和网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102540643A CN101741855B (zh) 2009-12-16 2009-12-16 地址解析协议缓存表维护方法和网络设备

Publications (2)

Publication Number Publication Date
CN101741855A true CN101741855A (zh) 2010-06-16
CN101741855B CN101741855B (zh) 2012-11-28

Family

ID=42464741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102540643A Active CN101741855B (zh) 2009-12-16 2009-12-16 地址解析协议缓存表维护方法和网络设备

Country Status (1)

Country Link
CN (1) CN101741855B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595333A (zh) * 2012-02-06 2012-07-18 福建星网锐捷网络有限公司 报文转发的方法及无线接入设备
CN102857584A (zh) * 2011-06-28 2013-01-02 中兴通讯股份有限公司 一种arp缓存条目更新方法及设备
CN102945254A (zh) * 2012-10-18 2013-02-27 福建省海峡信息技术有限公司 在tb级海量审计数据中发现异常数据的方法
CN103441932A (zh) * 2013-08-30 2013-12-11 福建星网锐捷网络有限公司 一种主机路由表项生成方法及设备
CN104754070A (zh) * 2013-12-31 2015-07-01 华为技术有限公司 地址解析协议表项学习方法、装置及网络设备
CN105939332A (zh) * 2016-03-03 2016-09-14 杭州迪普科技有限公司 防御arp攻击报文的方法及装置
CN105959306A (zh) * 2016-06-30 2016-09-21 百度在线网络技术(北京)有限公司 Ip地址的识别方法及装置
CN106231002A (zh) * 2016-07-22 2016-12-14 杭州华三通信技术有限公司 一种维护arp表的方法及装置
CN107707486A (zh) * 2017-10-26 2018-02-16 锐捷网络股份有限公司 一种基于openflow通道的报文处理方法和装置
WO2019096104A1 (zh) * 2017-11-14 2019-05-23 新华三信息安全技术有限公司 攻击防范
CN110519410A (zh) * 2019-08-29 2019-11-29 深信服科技股份有限公司 一种通信方法、交换机、存储介质、通信设备及通信系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100484132C (zh) * 2003-09-29 2009-04-29 华为技术有限公司 一种防范网际协议以太网中假冒主机的方法
CN101056306A (zh) * 2006-04-11 2007-10-17 中兴通讯股份有限公司 网络设备及其访问控制方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857584A (zh) * 2011-06-28 2013-01-02 中兴通讯股份有限公司 一种arp缓存条目更新方法及设备
CN102857584B (zh) * 2011-06-28 2019-05-31 中兴通讯股份有限公司 一种arp缓存条目更新方法及设备
CN102595333A (zh) * 2012-02-06 2012-07-18 福建星网锐捷网络有限公司 报文转发的方法及无线接入设备
CN102945254B (zh) * 2012-10-18 2015-12-16 福建省海峡信息技术有限公司 在tb级海量审计数据中发现异常数据的方法
CN102945254A (zh) * 2012-10-18 2013-02-27 福建省海峡信息技术有限公司 在tb级海量审计数据中发现异常数据的方法
CN103441932B (zh) * 2013-08-30 2016-08-17 福建星网锐捷网络有限公司 一种主机路由表项生成方法及设备
CN103441932A (zh) * 2013-08-30 2013-12-11 福建星网锐捷网络有限公司 一种主机路由表项生成方法及设备
CN104754070A (zh) * 2013-12-31 2015-07-01 华为技术有限公司 地址解析协议表项学习方法、装置及网络设备
CN105939332A (zh) * 2016-03-03 2016-09-14 杭州迪普科技有限公司 防御arp攻击报文的方法及装置
CN105939332B (zh) * 2016-03-03 2019-09-17 杭州迪普科技股份有限公司 防御arp攻击报文的方法及装置
CN105959306A (zh) * 2016-06-30 2016-09-21 百度在线网络技术(北京)有限公司 Ip地址的识别方法及装置
CN106231002A (zh) * 2016-07-22 2016-12-14 杭州华三通信技术有限公司 一种维护arp表的方法及装置
CN107707486A (zh) * 2017-10-26 2018-02-16 锐捷网络股份有限公司 一种基于openflow通道的报文处理方法和装置
WO2019096104A1 (zh) * 2017-11-14 2019-05-23 新华三信息安全技术有限公司 攻击防范
CN110519410A (zh) * 2019-08-29 2019-11-29 深信服科技股份有限公司 一种通信方法、交换机、存储介质、通信设备及通信系统

Also Published As

Publication number Publication date
CN101741855B (zh) 2012-11-28

Similar Documents

Publication Publication Date Title
CN101741855B (zh) 地址解析协议缓存表维护方法和网络设备
CN1855873B (zh) 用于实现高可用性虚拟局域网的方法和系统
CN101227407B (zh) 基于二层隧道协议的报文发送方法及装置
CN101127681B (zh) 绑定服务器mac地址和上行端口的方法和装置
US8351440B2 (en) Relay device, communication system, communication method, and computer program
CN101179603B (zh) IPv6网络中用于控制用户网络接入的方法和装置
US20060256814A1 (en) Ad hoc computer network
US11196702B2 (en) In-vehicle communication device, and communication control method
JP2004179812A (ja) アドレス変換装置およびアドレス変換規則管理方式
CN100454901C (zh) 一种arp报文处理方法
CN104202300A (zh) 基于网络隔离装置的数据通信方法和装置
CN105812261A (zh) 信息中心网络中的报文转发方法和系统
US20070263548A1 (en) Communication control system
US7787461B2 (en) System and a method for processing field frames for multiprotocol use in a communications network
CN1722707A (zh) 用于在局域网交换机中保证通信的方法
JP2004166002A (ja) 通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラム
CN115943603B (zh) 区块链增强路由授权
CN101252444A (zh) 报文特征的检测方法及装置
US20060256717A1 (en) Electronic packet control system
CN107690004A (zh) 地址解析协议报文的处理方法及装置
JP5889218B2 (ja) データ転送装置及びデータ転送方法
US20060256770A1 (en) Interface for configuring ad hoc network packet control
CN101888370A (zh) 防止IPv6地址被欺骗性攻击的装置与方法
CN1235346C (zh) 提高接入服务器路由转发可靠性的方法
CN1822565A (zh) 具有mac表溢出保护的网络

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