CN109803032A - 一种arp报文的处理方法 - Google Patents
一种arp报文的处理方法 Download PDFInfo
- Publication number
- CN109803032A CN109803032A CN201910140604.9A CN201910140604A CN109803032A CN 109803032 A CN109803032 A CN 109803032A CN 201910140604 A CN201910140604 A CN 201910140604A CN 109803032 A CN109803032 A CN 109803032A
- Authority
- CN
- China
- Prior art keywords
- arp
- message
- arp message
- cpu
- equipment
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种ARP报文的处理方法,可解决ARP报文把CPU资源耗尽的技术问题。包括:S100、创建本地ARP条目表;S200、对ARP报文的分类;S300、根据配置对分类后ARP报文丢弃或上送;S400、上送至ARP协议层前,对ARP报文进行限速处理。本发明的ARP报文的处理方法在设备的CPU性能较弱的情况下,芯片负责转发ARP报文,CPU只处理本设备需要的ARP报文。本发明CPU通过ARP过滤和ARP限速的二级保护组合使用,CPU能精确识别有用的ARP报文,并有效阻止了ARP泛洪攻击导致ARP处理效率低的问题,节省了系统的整体开销,提高处理效率和防护效果。
Description
技术领域
本发明涉及数据通讯技术领域,具体涉及一种ARP报文的处理方法。
背景技术
ARP(Address Resolution Protocol),即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议,主机设备通过发送一个包含目标IP地址的ARP请求,广播到网络上的其他设备,并接收返回消息,以此确定目标设备的物理地址,有了这个物理地址,主机就可以与目标设备进行数据通信了。
在实际网络环境中,当某个设备接入较多的用户,比如PC、交换机等其他网络设备。那么必然会有较多ARP报文经过该设备,对于ARP协议报文,设备通常不判断该ARP报文是否本设备需要的,就全部在CPU进行相关协议处理。这样就容易导致CPU运行较忙,甚至资源耗尽,从而影响设备的正常的工作。
发明内容
本发明提出的一种ARP报文的处理方法,可解决ARP报文把CPU资源耗尽的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种ARP报文的处理方法,包括:
S100、创建本地ARP条目表;
S200、对ARP报文的分类;
S300、根据配置对分类后ARP报文丢弃或上送;
S400、上送至ARP协议层前,对ARP报文进行限速处理。
具体如下:
S101、当设备创建接口并设置IP地址时,建立一张本地ARP的软件表,该ARP表包括IP地址和接口信息。
S201、根据本发明需要,本发明对ARP报文类型主要分为三种,本地ARP报文,免费ARP报文,其他ARP报文。其中本地ARP报文是严格匹配本地ARP条目信息的ARP报文。免费ARP报文即ARP报文的目的和源的IP地址是一样的。剩下的ARP报文归为其他ARP报文。
S301、设备收到报文,通过芯片区分出ARP报文,将ARP报文上送CPU同时往芯片其他的接口转发。
S302、CPU收到ARP报文后,根据S201所述,CPU将对ARP报文进行分类,如果是本地ARP报文和免费ARP报文,将继续后面流程处理。其他ARP报文根据配置要求,丢弃或者继续后面流程的处理。
S401、在ARP协议层处理ARP前,ARP报文需要进行速率限制,默认按速率500PPS,可以根据用户对设备的性能进行设置相应的默认速率。也可以在设备运行过程中调整具体的限速值。
由上述技术方案可知,本发明的ARP报文的处理方法在设备的CPU性能较弱的情况下,芯片负责转发ARP报文,CPU只处理本设备需要的ARP报文。本发明CPU通过ARP过滤和ARP限速的二级保护组合使用,CPU能精确识别有用的ARP报文,并有效阻止了ARP泛洪攻击导致ARP处理效率低的问题,节省了系统的整体开销,提高处理效率和防护效果。
附图说明
图1本发明方法步骤流程图;
图2本发明设备主要装置示意图;
图3本发明ARP报文在switch的处理示意图;
图4本发明转发面ARP报文处理模块示意图;
图5本发明ARP条目信息表示意图;
图6本发明ARP报文格式示意图;
图7本发明ARP报文分类示意图;
图8本发明ARP在CPU的处理流程图;
图9是本发明具体实例图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的ARP报文的处理方法,包括:
S100、创建本地ARP条目表;
S200、对ARP报文的分类;
S300、根据配置对分类后ARP报文丢弃或上送;
S400、上送至ARP协议层前,对ARP报文进行限速处理。
下面结合附图对本发明做详细说明:
本方法对ARP报文处理主要是交换芯片和CPU,如图2所示,交换芯片负责转发并上送ARP报文到CPU,如图3所示。CPU负责对ARP报文分类,并进行相关处理。这里CPU处理主要由三块构成,分别是控制面建立本地ARP条目表、转发面ARP报文接收模块处理和ARP报文协议模块处理,如图4所示。本地ARP表是根据设备接口配置的IP地址自动生成一张ARP条目表,该ARP条目表项信息由接口、IP组成,如图5所示,当接口的IP地址或者接口被删除,该ARP本地条目也相应删除,ARP条目表是提供给ARP接收模块查表使用。ARP接收模块特点对报文处理效率高,在这个阶段可以简单解析报文内容进行相关处理。ARP协议模块的处理是标准协议处理流程,特点是报文处理全面但效率低。本实施例主要在ARP接收模块阶段挑出设备需要的ARP报文进行优先处理,非本设备需要的报文根据配置要求处理,从而提高处理ARP报文的效率,最后通过ARP报文限速,最终达到减少CPU的负担。因此本实施例处理ARP报文首先需对ARP种类进行分类,本发明将ARP分为2类:本设备需要的和本设备不需要的。
ARP报文格式如图6所示,本设备需要的包含2种ARP报文:1、免费ARP报文,即目标IP地址与发送者IP地址字段一致。2、目标IP字段与本设备配置的IP地址相同的ARP报文,即ARP接收模块收到的ARP报文中目的IP字段与本地ARP条目信息能够匹配的。除去这2种ARP报文,其他的可以归类为本设备不需要的ARP报文,ARP报文分类如图7所示。
当CPU的ARP接收模块收到ARP报文,首先对收到ARP报文的接口信息、目标IP字段与本地的ARP条目的接口信息、IP字段进行匹配,接口信息匹配主要是接口编号及vlan属性的匹配,如果匹配则认为本设备需要的,否则继续判断是否为免费ARP报文,如果是免费ARP报文则认为本设备需要的,否则认为是本设备不不需要的报文,根据设备配置丢弃或者继续处理。在上送ARP协议模块处理前,ARP接收模块需要对ARP报文进行一个限速处理过程发,防止同一类的ARP报文过多,最后送至ARP协议模块处理,其ARP报文在CPU具体处理流程图如图8所示。这样就解决了网络中ARP报文泛洪冲击CPU而导致CPU负担过重的问题。
具体案例如下:
图9为本实例构造的组网场景,具体实施如下:
1、将R1设备的接口gei-1/1、gei-1/2、gei-1/3加入到vlan id值为100的域内,同时配置一个vlan100的接口,其IP地址:10.1.1.1地址,这时生成一个本地ARP条目表,该ARP条目表项信息由接口vlan100和IP地址10.1.1.1组成。当接口的IP地址或者接口被删除,该ARP本地条目也相应删除。同时对R2设备的gei-1/1、gei-1/2也加入到vlan id为100的域内,其接口vlan100的IP地址:11.1.1.1地址,该设备生成一个本地ARP条目,接口为vlan100,IP:11.1.1.1。
2、测试仪设备构造3种不同的ARP报文,免费ARP报文、目标IP与R1设备配置的IP一致的ARP请求报文、目标IP与R2设备配置的IP一致的ARP请求报文,三种不同ARP报文同时进入到设备R1。
3、R1设备交换芯片收到这三种ARP报文,交换芯片识别出ARP报文后,根据vlan转发原理,ARP报文会备转发到其他vlan100的端口,但由于是ARP报文,需上送CPU处理。此时免费ARP报文、目标IP字段分别为10.1.1.1和11.1.1.1的请求ARP报文会从gei-1/2、gei-1/3发送出去,但不管怎样要拷贝一份到CPU,因为芯片不确定这些ARP报文是本设备需要处理的还是送到其他其他设备处理。
4、当R1设备的CPU收到这三种ARP报文时,首先ARP接收模块对报文进行解析。首先判断该ARP报文目标IP字段及携带的接口信息是否与本地ARP条目匹配,即判断接口的vlan信息和IP地址匹配。如果不匹配,则继续判断是否是免费ARP报文。如果不是,则根据R1设备配置要求,进行丢弃或者继续处理,通常对于非本设备需要的ARP报文建议是进行丢弃处理,以提高ARP报文的处理效率并减轻CPU的负担,因为这些ARP都是非本设备需要的。此时目标IP为10.1.1.1的ARP报文和免费ARP会继续处理。所以对于本设备来说,本设备需要的ARP报文就是目标IP为10.1.1.1的ARP报文和免费ARP报文,本设备不需要的ARP报文是目标IP为11.1.1.1。
5、在送往ARP协议模块之前,需要进行一个限速处理,防止ARP报文过多,影响CPU性能。
6、最后进入ARP协议模块处理,该阶段处理不在本发明讨论的范畴。
7、R2此时会收到R1转发过来三种ARP报文,R2芯片收到这两种ARP报文,会进行vlan转发,并将三种ARP报文送至CPU。其步骤同4,CPU的ARP协议模块只处理本设备需要的ARP报文,即免费ARP报文及目标IP字段为11.1.1.1的ARP请求报文。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (5)
1.一种ARP报文的处理方法,基于交换芯片和CPU,交换芯片负责转发并上送ARP报文到CPU,其特征在于:包括以下步骤,
S100、创建本地ARP条目表;
S200、对ARP报文的分类;
S300、根据配置对分类后ARP报文丢弃或上送;
S400、上送至ARP协议层前,对ARP报文进行限速处理。
2.根据权利要求1所述的ARP报文的处理方法,其特征在于:
所述步骤S100具体包括:
当设备创建接口并设置IP地址时,建立一张本地ARP的软件表,该ARP表包括IP地址和接口信息。
3.根据权利要求2所述的ARP报文的处理方法,其特征在于:所述步骤S200中对ARP报文的分类,包括三种:
本地ARP报文,免费ARP报文,其他ARP报文;
其中,本地ARP报文匹配本地ARP条目信息的ARP报文;
免费ARP报文即ARP报文的目的和源的IP地址是一样的;
剩下的ARP报文归为其他ARP报文。
4.根据权利要求3所述的ARP报文的处理方法,其特征在于:所述步骤S300具体包括:
S301、设备收到报文,通过芯片区分出ARP报文,将ARP报文上送CPU同时往芯片其他的接口转发;
S302、CPU收到ARP报文后,根据S200中CPU将对ARP报文进行分类,如果是本地ARP报文和免费ARP报文,将继续后面流程处理;若是其他ARP报文根据配置要求,丢弃或者继续后面流程的处理。
5.根据权利要求4所述的ARP报文的处理方法,其特征在于:所述步骤S400具体包括:
在ARP协议层处理ARP前,ARP报文需要进行速率限制,默认按速率500PPS,根据用户对设备的性能进行设置相应的默认速率或在设备运行过程中调整具体的限速值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140604.9A CN109803032A (zh) | 2019-02-26 | 2019-02-26 | 一种arp报文的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910140604.9A CN109803032A (zh) | 2019-02-26 | 2019-02-26 | 一种arp报文的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109803032A true CN109803032A (zh) | 2019-05-24 |
Family
ID=66562387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910140604.9A Pending CN109803032A (zh) | 2019-02-26 | 2019-02-26 | 一种arp报文的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109803032A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414730A (zh) * | 2013-08-29 | 2013-11-27 | 迈普通信技术股份有限公司 | 一种arp报文的处理方法及装置 |
CN103905577A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种地址解析协议报文的处理方法和系统 |
CN107690004A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
CN109286594A (zh) * | 2017-07-19 | 2019-01-29 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
-
2019
- 2019-02-26 CN CN201910140604.9A patent/CN109803032A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905577A (zh) * | 2012-12-28 | 2014-07-02 | 中兴通讯股份有限公司 | 一种地址解析协议报文的处理方法和系统 |
CN103414730A (zh) * | 2013-08-29 | 2013-11-27 | 迈普通信技术股份有限公司 | 一种arp报文的处理方法及装置 |
CN107690004A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
CN109286594A (zh) * | 2017-07-19 | 2019-01-29 | 中兴通讯股份有限公司 | 地址解析协议报文的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
何林波: "《网络测试技术与应用》", 31 August 2018 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811735B2 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
US11677851B2 (en) | Accelerated network packet processing | |
US10680951B2 (en) | System and method for processing and forwarding transmitted information | |
US12015556B2 (en) | Method, apparatus, and system for generating, and processing packets according to, a flow filtering rule | |
US9384033B2 (en) | Large receive offload for virtual machines | |
US20150358290A1 (en) | Use of stateless marking to speed up stateful firewall rule processing | |
US9742682B2 (en) | Large receive offload for virtual machines | |
CN102263774B (zh) | 一种处理源角色信息的方法和装置 | |
US7742474B2 (en) | Virtual network interface cards with VLAN functionality | |
US9755981B2 (en) | Snooping forwarded packets by a virtual machine | |
EP2725749A1 (en) | Method, apparatus and system for processing service flow | |
CN108259378B (zh) | 一种报文处理方法及装置 | |
WO2018001242A1 (zh) | 一种数据报文处理方法及装置 | |
US20080034101A1 (en) | Network interface controller with receive side scaling and quality of service | |
WO2020043200A1 (zh) | 建立快速转发表 | |
CN111740910A (zh) | 一种报文处理方法、装置、网络传输设备及报文处理系统 | |
CN110401726B (zh) | 地址解析协议报文的处理方法、装置及设备、存储介质 | |
US9742881B2 (en) | Network virtualization using just-in-time distributed capability for classification encoding | |
CN106789671B (zh) | 一种业务报文转发方法及设备 | |
US7688821B2 (en) | Method and apparatus for distributing data packets by using multi-network address translation | |
CN109803032A (zh) | 一种arp报文的处理方法 | |
CN112637090B (zh) | 一种基于可编程交换芯片的动态多级流控的方法 | |
WO2022252634A1 (zh) | 数据流传输方法、装置、计算机设备及存储介质 | |
CN112994928B (zh) | 一种虚拟机的管理方法、装置及系统 | |
KR20160036182A (ko) | 레거시 네트워크 프로토콜 기능과 sdn 기능이 하이브리드하게 동작하는 오픈플로우 동작 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190524 |
|
RJ01 | Rejection of invention patent application after publication |