CN112995037B - 数据报文发生ARP Miss的防护方法及系统 - Google Patents

数据报文发生ARP Miss的防护方法及系统 Download PDF

Info

Publication number
CN112995037B
CN112995037B CN201911276808.1A CN201911276808A CN112995037B CN 112995037 B CN112995037 B CN 112995037B CN 201911276808 A CN201911276808 A CN 201911276808A CN 112995037 B CN112995037 B CN 112995037B
Authority
CN
China
Prior art keywords
arp
entry
message
entry member
hash
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
CN201911276808.1A
Other languages
English (en)
Other versions
CN112995037A (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.)
Chengdu Fenghuo Cloud Information Technology Co ltd
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Chengdu Fenghuo Cloud Information Technology Co ltd
Fiberhome Telecommunication Technologies Co Ltd
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 Chengdu Fenghuo Cloud Information Technology Co ltd, Fiberhome Telecommunication Technologies Co Ltd filed Critical Chengdu Fenghuo Cloud Information Technology Co ltd
Priority to CN201911276808.1A priority Critical patent/CN112995037B/zh
Publication of CN112995037A publication Critical patent/CN112995037A/zh
Application granted granted Critical
Publication of CN112995037B publication Critical patent/CN112995037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据报文发生ARP Miss的防护方法及系统,涉及数据报文传输领域。该方法的步骤包括:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARP Miss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文,进行上送。本发明对每条ARP Miss报文进行精确筛选和过滤,这显著减小了一段时间内上送重复的数据报文的概率,进而大幅度降低了上送的流量,随之也就大幅度降低了控制平面丢弃数据报文的概率。与之对应的,控制平面丢弃数据报文的概率降低,就代表着更多的ARP Miss报文会被学习,随之也就提高了数据报文的转发质量。

Description

数据报文发生ARP Miss的防护方法及系统
技术领域
本发明涉及数据报文传输领域,具体涉及一种数据报文发生ARP Miss的防护方法及系统。
背景技术
数据通信设备是当前互联网、运行商网和行业网的重要组成部分,其典型的设备代表就是路由器、交换交换机和接入网关等。大型的数据通信设备为了保证网络设备的安全性及其设备容量的可扩展性,往往将设备的控制平面和数据平面进行分离设计,分别成为控制平面和数据平面。
控制平面主要负责执行路由选择协议,管理路由选择,处理必备的数据库信息,并为数据平面生成转发表,数据平面依据控制平面的转发表专注于数据业务的转发处理。可以说通信设备中的控制平面是整个设备的指挥中心,其能否安全稳定的工作,将直接影响整设备的可靠性乃至网络拓扑的可靠性。
ARP(Address Resolution Protocol,地址解析协议)是路由器协议的重要协议,它是IPv4路由转发的必不可少的协议。ARP通常运行在设备的控制平面,负责维护和学习与本设备互联拓扑中的主机IP地址的MAC地址映射,数据平面依赖这一映射关系,完成数据报文转发过程中二层MAC地址的封装。控制平面维护的ARP映射关系,主要有静态和动态两种,其中静态表示IP地址与MAC地址映射是管理人员固定配置,不会变动;动态表示IP地址与MAC的地址映射表是动态学习的,阶段性的会进行映射关系老化,进行重新学习。数据平面在转发数据报文的过程中,如果通过IP地址在查询ARP表项后,出现查不到当前需要的IP地址到MAC地址映射关系时,通常称为该条数据报文发生ARP Miss。数据平面一旦出现ARPMiss情况,表明当前的转发流程无法继续,需要将该报文送入控制平面,触发控制平面ARP协议进行ARP动态学习。当控制平面学习到该报文需要的IP地址与MAC映射关系后,下发给控制平面,控制平面才能够为后续去往相同下一跳IP地址的报文找到MAC地址,完成以太网二层头目的MAC地址的封装,进行完整的转发业务处理。
处在网络拓扑中的网络设备,如果某一条数据报文出现ARP Miss,数据平面会将从出现ARP Miss到控制平面学习到ARP并下发到控制平面这一段时间内,该数据报文的全部报文都送往控制平面。如果该数据报文流量较大的情况下,全部的报文送往控制平面,会造成控制平面瞬间的处理压力倍增,同时有可能导致控制平面产生拥塞,并导致控制平面其它路由协议产生中断,从而导致数据平面的转发表发生撤销,引发该设备节点的抖动,造成网络大规模阻塞。
为了防止上述情况的产生,现有的ARP Miss防护方法为:网络设备往往在产生ARPMiss时,在数据平面向控制平面上送的通道中进行接口限速操作,防止过大的数据报文涌入控制平面,这种广泛采用的方式的确可以有效的保护控制平面,一旦超过上送的流量超过了限制的带宽,上送的数据报文将会被随机丢弃。正是这种采用通道限速,并进行随机丢弃的机制,在一定概率上会造成某一条ARP Miss的数据报文被连续丢弃(而该条数据报文也会因为为学习到ARP而无法转发导致重复上送),导致控制平面长期无法进行ARP学习,数据平面长期无法获得控制平面下发的ARP表项,从而导致该数据报文长期处于丢包的状态,如果那些非常重要的报文连续被丢弃,后果将不堪设想。
可以得出,现有的ARP Miss防护方法会导致一定时间段内上送重复的数据报文,还会导致一定时间段内某条数据报文总在被丢弃,进而难以保证控制平面长期学习和下发ARP,随之降低了数据报文的转发质量。
发明内容
针对现有技术中存在的缺陷,本发明解决的技术问题为:当数据报文发生ARPMiss时,如何降低上送重复数据报文、以及控制平面丢弃数据报文的概率,进而提升数据报文的转发质量。
为达到以上目的,本发明提供的数据报文发生ARP Miss的防护方法,包括以下步骤:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARPMiss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文,进行上送。
在上述技术方案的基础上,该方法的具体步骤包括:以数据报文入接口的Vrf、以及数据报文的目的IP和目的IP类型作为Key值,预先创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶,每个哈希桶中含有若干Entry成员;根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文。
在上述技术方案的基础上,所述ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,所述Entry成员中记录的字段包括:表示该Entry成员是否使用的Use_flag、表示该Entry成员上一次上送报文的时间点的上送时间Timer、表示该Entry成员目的IP的Addr、表示该Entry成员的目的IP类型的Family、以及表示该Entry成员的虚拟路由实例的Vrf;
所述ARP防护哈希表创建之后,还包括以下步骤:周期性的检测已使用的Entry成员中的Timer值、并计算Timer值与当前时间的差值:若差值大于预先设置的重置时长,则将该Entry成员中的所有字段全部重置。
在上述技术方案的基础上,所述根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文的具体步骤包括:
根据ARP Miss报文的入接口Vrf值、目的IP和目的IP类型进行哈希运算获得哈希值;将哈希值与ARP防护哈希表中的哈希桶最大序号取余,将序号与取余后的值相同的哈希桶确定为匹配的哈希桶;判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员:
若存在,则判断当前时间与Entry成员中记录的Timer的差值是否大于上送时间间隔,若是,上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间;否则不上送ARPMiss报文;
若不存在,则在哈希桶中确定1个可用的Entry成员Entry[i]后,上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry[i]的对应字段,将Entry[i]的Use_flag记录为已使用,将Timer记录为当前时间。
在上述技术方案的基础上,所述与ARP Miss报文对应的Entry成员的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARP Miss报文相同;所述可用的Entry成员Entry[i]的确定流程包括:判断哈希桶中是否存在未使用的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry[i];否则在哈希桶中新建一个Entry成员并标记为Entry[i]。
本发明提供的数据报文发生ARP Miss的防护系统,包括ARP Miss过滤模块,其用于:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARPMiss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文,进行上送。
在上述技术方案的基础上,该系统还包括哈希表创建模块,其用于:以数据报文入接口的Vrf、以及数据报文的目的IP和目的IP类型作为Key值,创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶,每个哈希桶中含有若干Entry成员;
所述ARP Miss过滤模块的工作流程包括:根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文。
在上述技术方案的基础上,所述ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,所述Entry成员中记录的字段包括:表示该Entry成员是否使用的Use_flag、表示该Entry成员上一次上送报文的时间点的上送时间Timer、表示该Entry成员目的IP的Addr、表示该Entry成员的目的IP类型的Family、以及表示该Entry成员的虚拟路由实例的Vrf;
该系统还包括重置模块,其用于:周期性的检测已使用的Entry成员中的Timer值、并计算Timer值与当前时间的差值:若差值大于预先设置的重置时长,则将该Entry成员中的所有字段全部重置。
在上述技术方案的基础上,所述ARP Miss过滤模块根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文的流程包括:
根据ARP Miss报文的入接口Vrf值、目的IP和目的IP类型进行哈希运算获得哈希值;将哈希值与ARP防护哈希表中的哈希桶最大序号取余,将序号与取余后的值相同的哈希桶确定为匹配的哈希桶;判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员:
若存在,则判断当前时间与Entry成员中记录的Timer的差值是否大于上送时间间隔,若是,上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间;否则不上送ARPMiss报文;
若不存在,则在哈希桶中确定1个可用的Entry成员Entry[i]后,上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry[i]的对应字段,将Entry[i]的Use_flag记录为已使用,将Timer记录为当前时间。
在上述技术方案的基础上,所述与ARP Miss报文对应的Entry成员的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARP Miss报文相同;所述可用的Entry成员Entry[i]的确定流程包括:判断哈希桶中是否存在未使用的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry[i];否则在哈希桶中新建一个Entry成员并标记为Entry[i]。
与现有技术相比,本发明的优点在于:
本发明只会对长时间未进行上送的重复ARP Miss报文进行上送,而将已上送、但距离上次上送时间较短的重复ARP Miss不进行上送;以此实现对每条ARP Miss报文进行精确筛选和过滤,这显著减小了一段时间内上送重复的数据报文的概率,进而大幅度降低了上送的流量,随之也就大幅度降低了控制平面丢弃数据报文的概率。与之对应的,控制平面丢弃数据报文的概率降低,就代表着更多的ARP Miss报文会被学习,随之也就提高了数据报文的转发质量(因为只有被学习到ARP的数据报文才会被转发)。
附图说明
图1为本发明实施例中哈希桶中的Entry成员的数据结构示意图;
图2为本发明实施例中Entry成员的字段位置;
图3为本发明实施例中数据报文发生ARP Miss的防护方法的流程图;
图4为本发明实施例中的防护机制的示意图;
图5为本发明与现有技术原理对比的示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
本发明实施例中的数据报文发生ARP Miss的防护方法,包括以下步骤:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔(上送时间间隔可灵活配置,以便为控制平面及时处理ARP Miss报文提供保障)以内的重复ARP Miss报文(此种情况表明该ARP Miss报文可能在学习ARP过程中,因为控制平面学习该ARP Miss报文的ARP也是需要时间的),不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文(这种情况表明该ARP Miss报文上次上送时未学习到ARP),进行上送(即送到控制平面去学习ARP)。
由此可知,本发明只会对长时间未进行上送的重复ARP Miss报文进行上送,而将已上送、但距离上次上送时间较短的重复ARP Miss不进行上送;以此实现对每条ARP Miss报文进行精确筛选和过滤,这显著减小了一段时间内上送重复的数据报文的概率,进而大幅度降低了上送的流量,随之也就大幅度降低了控制平面丢弃数据报文的概率。与之对应的,控制平面丢弃数据报文的概率降低,就代表着更多的ARP Miss报文会被学习,随之也就提高了数据报文的转发质量(因为只有被学习到ARP的数据报文才会被转发)。
与此同时,如此设计的本发明可以让更多确实需要学习ARP的ARP Miss报文顺利进入控制平面学习,进而解决数据通信设备在通道流量上的性能瓶颈受限问题,不仅提高了该通道的利用率,而且在一定程度上降低了控制平面高负荷运行的风险性。
优选的,该方法的具体实现方式为:
以数据报文入接口的Vrf(虚拟路由实例)、以及数据报文的目的IP和目的IP类型作为Key值,预先创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶(本实施例中为10个),由于Hash运算存在冲突的可能性,因此每个哈希桶中含有若干Entry成员(冲突域成员,本实施例中为10个)。根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文:
若在该桶中匹配到对应的Entry成员、且当前时间与Entry成员中记录的上送时间的时间差,在上送时间间隔以内,则不进行上送该ARP Miss报文;
若在该桶中匹配到对应的Entry成员、且所述时间差大于上送时间间隔,则上送该ARP Miss报文、并更新该Entry成员中记录的上送时间。
优选的,ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,参见图1和图2所示,哈希桶中的Entry成员的位宽为199bit,Entry成员中记录的字段包括:
在198位的Use_flag(有效位),表示该Entry成员是否使用,1代表已使用,0代表未使用;
在197至144(197:144)位的Timer(上送时间),表示该Entry成员上一次上送报文的时间点;
在143至16(143:16,即128bit宽)的Addr(目的IP);其中IPv4存储在Addr字段的47:16区域,IPv6存储在整个Addr字段区域,读取目的IP长度时依据后续的Family字段来判断;
在15位的Family(目的IP类型),0代表IPv4,1代表IPv6;
在14至0位的Vrf,表示VPN实例。
在此基础上,参见图3所示,所述根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文的具体实现方式为:
S1:提取ARP Miss报文的入接口Vrf值、目的IP和目的IP类型后,进行CRC运算获得32位的哈希值Hash_Value;将哈希值与ARP防护哈希表中的哈希桶最大序号Bucket_Max(因为哈希桶会排序,所以序号最大的值即为哈希桶的数量)取余(Hash_Value%Bucket_Max),将序号与取余后的值相同的哈希桶确定为匹配的哈希桶,转到S2。
S2:判断该哈希桶中是否存在已使用(即Use_flag为1)、且与ARP Miss报文对应的Entry成员,若是,表明ARP Miss报文之前已上送,转到S3;否则表明ARP Miss报文之前未上送过,转到S5。本步骤可通过遍历或者随机查找等方式来进行,与ARP Miss报文对应的Entry成员的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARP Miss报文相同。
S3:判断当前时间与Entry成员中记录的Timer(上送时间)的差值是否大于上送时间间隔,若是,表明ARP Miss报文仍未学习的ARP,转到S4,否则表明ARP Miss报文可能在学习ARP过程中,此时不上送ARP Miss报文(即丢弃ARP Miss报文,进而避免一定时间段范围内,重复的数据流报文送入控制平面),结束。
S4:上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间,结束。
S5:在哈希桶中确定1个可用的Entry成员Entry[i],转到S6;本步骤的实现方式可以为:通过遍历或者随机查找的方式,判断哈希桶中是否存在未使用(即Use_flag为0)的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry[i];否则在哈希桶中新建一个Entry成员并标记为Entry[i]。
S6:上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry[i]的对应字段,将Entry[i]的Use_flag记录为已使用(1),将Timer记录为当前时间,结束。
优选的,为了避免ARP Miss报文的相关信息在ARP防护哈希表中只创建不删除,导致资源耗尽;本实施例还会设置一个定时器,其用于周期性的检测已使用(Use_flag为1)的Entry成员中的Timer值、并计算Timer值与当前时间的差值:
若差值在预先设置的重置时长以内,则代表该Entry成员对应的数据报文可能在学习ARP过程中,此时不做任何处理;
若差值大于所述重置时长,则表明该Entry成员对应的数据报文已经在很长一段时间没有命中,即该数据报文已经成功学习到ARP,数据报文在ARP不老化的时间段内是不会再进入到ARP防护表中查询表项的,所以为了提高资源利用率,此时会将该Entry成员中的所有字段全部重置(重置为0)。
此外,为了确保差值大于所述重置时长时,数据报文肯定成功学习到ARP,本发明的重置时长为上送时间间隔的3倍以上。
下面将本发明与现有技术进行对接,以便于进一步理解本发明。
参见图4所示,数据报文在转发流程中需要利用其携带的接口Vrf和目的IP作为Key值,去查询ARP表。
对于能够查询到表项的报文则依据表项中的MAC和VLAN封装二层头,并转发到指定的接口(这代表数据报文未发生ARP Miss)
对于没有能够查找的ARP表项的数据报文,则代表数据报文发生ARP Miss,此时进行本发明的防护方法,防护过程中将短时间内上送的重复ARP Miss报文丢弃,其他ARPMiss报文通过接口进行上送,上送时可能因接口的限速(与现有技术相同)而丢弃部分超过流量的ARP Miss报文,其余ARP Miss报文上送至控制平面。
由此可知,本发明与现有技术的区别最形象的理解方式可以为:
对于现有技术,参见图5左侧所示,上送ARP Miss报文时,会因基于接口的限速而随机丢弃超过流量的ARP Miss报文。
对于本发明,参见图5右侧所示,上送ARP Miss报文之前,会先通过本发明的防护方式,来实现基于数据报文的限速保护,进而过滤掉大部分无需上送的ARP Miss报文,随之也就大幅度减少了后续接口限速时丢弃的ARP Miss报文。
本发明实施例中的数据报文发生ARP Miss的防护系统,包括哈希表创建模块、ARPMiss过滤模块和重置模块。
哈希表创建模块用于:以数据报文入接口的Vrf、以及数据报文的目的IP和目的IP类型作为Key值,创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶,每个哈希桶中含有若干Entry成员。
ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,所述Entry成员中记录的字段包括:表示该Entry成员是否使用的Use_flag、表示该Entry成员上一次上送报文的时间点的上送时间Timer、表示该Entry成员目的IP的Addr、表示该Entry成员的目的IP类型的Family、以及表示该Entry成员的虚拟路由实例的Vrf。
ARP Miss过滤模块用于:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARP Miss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文,工作流程包括:根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文;具体实现方式包括:
根据ARP Miss报文的入接口Vrf值、目的IP和目的IP类型进行哈希运算获得哈希值;将哈希值与ARP防护哈希表中的哈希桶最大序号取余,将序号与取余后的值相同的哈希桶确定为匹配的哈希桶;判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员(对应的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARP Miss报文相同):
若存在,则判断当前时间与Entry成员中记录的Timer的差值是否大于上送时间间隔,若是,上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间;否则不上送ARPMiss报文;
若不存在,则在哈希桶中确定1个可用的Entry成员Entry[i]后,上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry[i]的对应字段,将Entry[i]的Use_flag记录为已使用,将Timer记录为当前时间。
可用的Entry成员Entry[i]的确定流程包括:判断哈希桶中是否存在未使用的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry[i];否则在哈希桶中新建一个Entry成员并标记为Entry[i]。
重置模块用于:周期性的检测已使用的Entry成员中的Timer值、并计算Timer值与当前时间的差值:若差值大于预先设置的重置时长,则将该Entry成员中的所有字段全部重置。
需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种数据报文发生ARP Miss的防护方法,其特征在于,该方法包括以下步骤:以数据报文入接口的Vrf、以及数据报文的目的IP和目的IP类型作为Key值,预先创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶,每个哈希桶中含有若干Entry成员,所述Entry成员中记录的字段包括表示该Entry成员上一次上送报文的时间点的上送时间Timer;根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文;所述根据该桶中的Entry成员确定是否上送ARP Miss报文的步骤包括:
判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员:
若存在,则判断当前时间与Entry成员中记录的Timer的差值是否大于上送时间间隔,若是,上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间;否则不上送ARP Miss报文;对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARPMiss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARP Miss报文,进行上送。
2.如权利要求1所述的数据报文发生ARP Miss的防护方法,其特征在于:所述ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,所述Entry成员中记录的字段还包括:表示该Entry成员是否使用的Use_flag、表示该Entry成员目的IP 的Addr、表示该Entry成员的目的IP类型的Family、以及表示该Entry成员的虚拟路由实例的Vrf;
所述ARP防护哈希表创建之后,还包括以下步骤:周期性的检测已使用的Entry成员中的Timer值、并计算Timer值与当前时间的差值:若差值大于预先设置的重置时长,则将该Entry成员中的所有字段全部重置。
3.如权利要求2所述的数据报文发生ARP Miss的防护方法,其特征在于,所述根据ARPMiss报文的相关信息确定匹配的哈希桶的具体步骤包括:
根据ARP Miss报文的入接口Vrf值、目的IP和目的IP类型进行哈希运算获得哈希值;将哈希值与ARP防护哈希表中的哈希桶最大序号取余,将序号与取余后的值相同的哈希桶确定为匹配的哈希桶;
在所述判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员的步骤之后,还包括:
若不存在,则在哈希桶中确定1个可用的Entry成员Entry [i]后,上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry [i]的对应字段,将Entry [i]的Use_flag记录为已使用,将Timer记录为当前时间。
4.如权利要求3所述的数据报文发生ARP Miss的防护方法,其特征在于:所述与ARPMiss报文对应的Entry成员的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARPMiss报文相同;所述可用的Entry成员Entry [i]的确定流程包括:判断哈希桶中是否存在未使用的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry [i];否则在哈希桶中新建一个Entry成员并标记为Entry [i]。
5.一种数据报文发生ARP Miss的防护系统,其特征在于:该系统包括ARP Miss过滤模块,其用于:对于已经上送、但距离上次上送的时间差在预先设置的上送时间间隔以内的重复ARP Miss报文,不进行上送;对于已经上送、但所述时间差大于上送时间间隔的重复ARPMiss报文,进行上送;
该系统还包括哈希表创建模块,其用于:以数据报文入接口的Vrf、以及数据报文的目的IP和目的IP类型作为Key值,创建ARP防护哈希表,该表中包括若干可通过Key值匹配的哈希桶,每个哈希桶中含有若干Entry成员,所述Entry成员中记录的字段包括表示该Entry成员上一次上送报文的时间点的上送时间Timer;
所述ARP Miss过滤模块的工作流程包括:根据ARP Miss报文的相关信息确定匹配的哈希桶,根据该桶中的Entry成员确定是否上送ARP Miss报文;
所述根据该桶中的Entry成员确定是否上送ARP Miss报文的步骤包括:
判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员:
若存在,则判断当前时间与Entry成员中记录的Timer的差值是否大于上送时间间隔,若是,上送ARP Miss报文、并将Entry成员中的Timer更新为当前时间;否则不上送ARP Miss报文。
6.如权利要求5所述的数据报文发生ARP Miss的防护系统,其特征在于:所述ARP防护哈希表中的所有哈希桶会进行排序、并标记序号,所述Entry成员中记录的字段还包括:表示该Entry成员是否使用的Use_flag、表示该Entry成员目的IP 的Addr、表示该Entry成员的目的IP类型的Family、以及表示该Entry成员的虚拟路由实例的Vrf;
该系统还包括重置模块,其用于:周期性的检测已使用的Entry成员中的Timer值、并计算Timer值与当前时间的差值:若差值大于预先设置的重置时长,则将该Entry成员中的所有字段全部重置。
7.如权利要求6所述的数据报文发生ARP Miss的防护系统,其特征在于:所述ARP Miss过滤模块根据ARP Miss报文的相关信息确定匹配的哈希桶的流程包括:
根据ARP Miss报文的入接口Vrf值、目的IP和目的IP类型进行哈希运算获得哈希值;将哈希值与ARP防护哈希表中的哈希桶最大序号取余,将序号与取余后的值相同的哈希桶确定为匹配的哈希桶;
在所述判断该哈希桶中是否存在已使用、且与ARP Miss报文对应的Entry成员的步骤之后,还包括:
若不存在,则在哈希桶中确定1个可用的Entry成员Entry [i]后,上送ARP Miss报文,将ARP Miss报文的Vrf值、目的IP和目的IP类型,填入Entry [i]的对应字段,将Entry [i]的Use_flag记录为已使用,将Timer记录为当前时间。
8.如权利要求7所述的数据报文发生ARP Miss的防护系统,其特征在于:所述与ARPMiss报文对应的Entry成员的标准为:Entry成员中的Vrf值、目的IP和目的IP类型均与ARPMiss报文相同;所述可用的Entry成员Entry [i]的确定流程包括:判断哈希桶中是否存在未使用的Entry成员,若是,则任意标记一个未使用的Entry成员为Entry [i];否则在哈希桶中新建一个Entry成员并标记为Entry [i]。
CN201911276808.1A 2019-12-12 2019-12-12 数据报文发生ARP Miss的防护方法及系统 Active CN112995037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911276808.1A CN112995037B (zh) 2019-12-12 2019-12-12 数据报文发生ARP Miss的防护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911276808.1A CN112995037B (zh) 2019-12-12 2019-12-12 数据报文发生ARP Miss的防护方法及系统

Publications (2)

Publication Number Publication Date
CN112995037A CN112995037A (zh) 2021-06-18
CN112995037B true CN112995037B (zh) 2022-08-23

Family

ID=76331891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911276808.1A Active CN112995037B (zh) 2019-12-12 2019-12-12 数据报文发生ARP Miss的防护方法及系统

Country Status (1)

Country Link
CN (1) CN112995037B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692651A (zh) * 2009-09-27 2010-04-07 中兴通讯股份有限公司 一种哈希查找表的方法和装置
US8107396B1 (en) * 2006-07-24 2012-01-31 Cisco Technology, Inc. Host tracking in a layer 2 IP ethernet network
CN104965815A (zh) * 2015-07-08 2015-10-07 北京恒华伟业科技股份有限公司 一种数据处理方法和装置
CN105635138A (zh) * 2015-12-28 2016-06-01 华为技术有限公司 一种防止arp攻击的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107396B1 (en) * 2006-07-24 2012-01-31 Cisco Technology, Inc. Host tracking in a layer 2 IP ethernet network
CN101692651A (zh) * 2009-09-27 2010-04-07 中兴通讯股份有限公司 一种哈希查找表的方法和装置
CN104965815A (zh) * 2015-07-08 2015-10-07 北京恒华伟业科技股份有限公司 一种数据处理方法和装置
CN105635138A (zh) * 2015-12-28 2016-06-01 华为技术有限公司 一种防止arp攻击的方法和装置

Also Published As

Publication number Publication date
CN112995037A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US12034636B2 (en) Packet processing method and network apparatus
US11979322B2 (en) Method and apparatus for providing service for traffic flow
US10270691B2 (en) System and method for dataplane-signaled packet capture in a segment routing environment
US9203743B2 (en) Packet forwarding system, control device, forwarding device and method and program for preparing processing rules
EP2904745B1 (en) Method and apparatus for accelerating forwarding in software-defined networks
US8929218B2 (en) Congestion notification across multiple layer-2 domains
US20220294722A1 (en) Transmission Quality Detection Method, Apparatus, and System, and Storage Medium
US7995477B2 (en) Collecting network traffic information
CN105024985B (zh) 一种报文处理方法及装置
US10356037B2 (en) Address resolution rewriting
EP3926898B1 (en) Method and apparatus for updating manner of processing packet of service flow
US20060203721A1 (en) Apparatus and method for packet forwarding with quality of service and rate control
CN101321088A (zh) 一种统计ip数据流信息的方法及装置
CN108063718B (zh) 报文处理方法、装置及电子设备
EP2767047A1 (en) Distributed ipv6 neighbor discovery for large datacenter switching systems
US20230370298A1 (en) Message header processing method and apparatus, storage medium and electronic device
WO2020043200A1 (zh) 建立快速转发表
US20110249676A1 (en) Method and System for Forwarding and Switching Traffic in a Network Element
Krishnan et al. Mechanisms for optimizing link aggregation group (LAG) and equal-cost multipath (ECMP) component link utilization in networks
CN112995037B (zh) 数据报文发生ARP Miss的防护方法及系统
CN115242892B (zh) 一种流标识获取方法、装置、设备及介质
CN109104437B (zh) 路由域、用于在路由域中处理ip报文的方法和装置
EP3107268B1 (en) Method for configuring a network node of a telecommunications network, telecommunications network, network node, program and computer program product
CN116016391B (zh) 一种基于nat网关的报文转发方法及系统
WO2023222028A1 (zh) 一种网络编程技术处理方法、系统及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant