CN101123614B - 一种处理地址解析协议报文的方法及通信装置 - Google Patents

一种处理地址解析协议报文的方法及通信装置 Download PDF

Info

Publication number
CN101123614B
CN101123614B CN2007101458905A CN200710145890A CN101123614B CN 101123614 B CN101123614 B CN 101123614B CN 2007101458905 A CN2007101458905 A CN 2007101458905A CN 200710145890 A CN200710145890 A CN 200710145890A CN 101123614 B CN101123614 B CN 101123614B
Authority
CN
China
Prior art keywords
arp
address
message
gateway
source
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.)
Expired - Fee Related
Application number
CN2007101458905A
Other languages
English (en)
Other versions
CN101123614A (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 CN2007101458905A priority Critical patent/CN101123614B/zh
Publication of CN101123614A publication Critical patent/CN101123614A/zh
Application granted granted Critical
Publication of CN101123614B publication Critical patent/CN101123614B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

一种处理地址解析协议ARP报文的通信装置,包括一CPU及一ARP报文处理模块。使用该装置处理ARP报文的方法,包括:a、ARP报文处理模块如判断其收到的数据帧类型为ARP请求报文,执行b;如为ARP应答报文,执行d;b、如在设置在该模块中的网关ARP表中查找到与数据帧中的目的IP地址相对应的目的网关MAC地址,执行c;c、组装一个ARP应答报文,组装好后将其发送出去,结束;d、该模块如判断数据帧中的目的MAC地址为本网关的MAC地址,则将数据帧中的源IP地址和源MAC地址组成ARP信息后,在网关ARP表中查找是否存在与其相同的ARP信息,如果是则结束。采用本发明,可提高处理ARP报文的效率。

Description

一种处理地址解析协议报文的方法及通信装置
技术领域
本发明涉及以太网通信技术,尤其涉及一种处理地址解析协议报文的方法及通信装置。
背景技术
随着因特网的高速发展,以太网网络逐渐成为人们日常工作和生活中必不可少的工具。而以太网交换机或者路由器等作为组成以太网网络必不可少的通信设备,在网络中的数量与日俱增。同时,IP数据包常通过以太网发送,但以太网通信设备并不识别32位IP地址,它们是以48位以大网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成48位的以太网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表以完成转换。ARP(Address Resolution Protocol,地址解析协议)就是用来确定这些映象的协议。随着以太网通信设备数量的增多,在网络中组网越来越复杂,规模越来越大,这样就导致网络中的ARP协议报文越来越多,这些协议报文均需要由以太网交换机或者路由器等通信设备的CPU软件进行处理,CPU的负担越来越重。
同时,由于成本和设计上的需要,目前以太网通信设备的CPU的处理能力渐渐弱化,通信设备的主要工作数据包的路由和转发基本上都是由高性能的NP(Network Processor,网络处理器)或ASIC(Application SpecificIntegrated Circuits,专用集成电路)芯片来完成的,而CPU只是作为NP或ASIC芯片的旁挂设备,运行协议和处理协议报文,以及其他的控制和管理工作等等。但只要是配置了IP地址的通信设备,基本上CPU都需要运行ARP协议,且ARP协议的一个最大的特点是定时老化刷新,可想而知,网络上充斥的众多ARP协议报文都需要CPU进行处理,这就对CPU的处理能力提出了很高的要求。
更进一步的,网络上各种病毒繁多,ARP病毒中就有一种不停的伪造各种ARP协议报文以发向网络或者以太网通信设备,或者有用户恶意或着无意的发送大量的ARP协议报文,这些协议报文会大量的占用以太网通信设备中CPU的处理时间,造成以太网通信设备不能及时的处理其他重要协议或者控制消息,造成网络故障,后果严重。这些非法的ARP报文和正常的ARP报文一模一样,无法区分,所以解决这种问题的方法只有在尽可能降低成本的前提下,提高以太网通信设备的ARP协议报文的处理能力。但现有技术中还没有相关技术以解决此问题。
发明内容
本发明的目的在于,提供一种处理地址解析协议报文的方法及通信装置,采用软件和硬件相结合,共同处理,以达到提高以太网通信设备的地址解析协议报文处理能力的目的。
本发明提供了一种处理地址解析协议ARP报文的方法,包括以下步骤:
a、ARP报文处理模块如判断其收到的数据帧类型为ARP请求报文,执行b;如为ARP应答报文,执行d;
b、如在设置在ARP报文处理模块中的网关ARP表中查找到与数据帧中的目的IP地址相对应的目的网关MAC地址,执行c;
c、组装一个ARP应答报文,将目的网关MAC地址和目的IP地址分别作为该报文的源MAC地址和源IP地址,将数据帧中包含的源MAC地址和源IP地址作为该报文的目的MAC地址和目的IP地址;组装好后,将该报文发送出去,结束;
d、ARP报文处理模块如判断数据帧中的目的MAC地址为本网关的MAC地址,则将数据帧中的源IP地址和源MAC地址组成ARP信息后,在网关ARP表中查找是否存在与其相同的ARP信息,如果是则结束。
进一步地,ARP报文处理模块为网络处理器或专用集成电路芯片。进一步地,步骤d中,如果网关ARP表中不存在与由数据帧中的源IP地址和源MAC地址组成的ARP信息相同的ARP信息,则ARP报文处理模块将组成的ARP信息保存到网关ARP表中后,再将该条组成的ARP信息发送给CPU,CPU将该条组成的ARP信息添加到其软件ARP表中。
进一步地,步骤c中,发送ARP应答报文的端口为步骤a中接收数据帧的端口。
本发明还提供了一种处理地址解析协议ARP报文的通信装置,应用于以太网中,包括一CPU及一ARP报文处理模块;
模块用于判断其接收到的数据帧的类型;对于ARP请求报文,其用于从网关ARP表中查找与数据帧中目的IP地址相对应的目的网关MAC地址;找到后,其还用于组装ARP应答报文,将目的网关MAC地址和目的IP地址分别作为该报文的源MAC地址和源IP地址,将数据帧中的源MAC地址和源IP地址作为该报文的目的MAC地址和目的IP地址;组装好后,还用于将该报文发送出去;
对于ARP应答报文,模块用于判断数据帧中的目的MAC是否为本网关的MAC地址;如果是,其还用于将数据帧中的源IP地址和源MAC地址组成ARP信息后,在网关ARP表中查找是否存在与其相同的ARP信息,如果是则结束。
进一步地,ARP报文处理模块为网络处理器或专用集成电路芯片。
进一步地,对于ARP应答报文,如果网关ARP表中不存在与数据帧中的源IP地址和源MAC地址组成的ARP信息相同的ARP信息,则ARP报文处理模块还用于将组成的ARP信息保存到其网关ARP表中后,再将该条组成的ARP信息发送给CPU。
传统方式所有的ARP报文全由CPU处理,可能由于ARP报文多而造成CPU忙,最终使得CPU没有时间处理其它报文或其他任务,导致网络故障。本发明将ARP报文由原来CPU进行处理改成由硬件NP或者ASIC芯片进行处理,因为处理ARP请求报文的方式简单,而且回应的ARP应答报文的格式也是固定的,完全可以由高性能的高处理能力的硬件完成,从而把CPU从这种重复的简单的处理流程中解脱出来,因此大大的降低了CPU处理ARP报文的处理时间,提高了ARP报文的处理效率。而且NP或者ASIC芯片在处理ARP应答报文时,只将学习到的ARP信息报告给CPU,使CPU直接就得到了结果,而不用处理具体的报文,最主要的是对于已经在ARP表中存在的ARP信息,不会再报告给CPU,这就解决了目前ARP协议一大难题——ARP报文攻击问题(即重复的大量的向以太网交换机或路由器发送ARP报文,造成太网交换机的CPU忙的攻击方法)。本发明相当于在硬件上对重复的报文进行了过滤,大大提高了以太网通信设备抗ARP报文攻击的能力,提高了网络安全。
附图说明
图1是本发明实施例中ARP报文处理模块的示意图;
图2是本发明实施例中处理ARP报文的流程图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
一种应用于以太网中的处理ARP报文的通信装置,如图1所示,包括一CPU和一ARP报文处理模块(即NP或ASIC芯片);
该模块用于判断其接收到的数据帧的类型;对于ARP请求报文,其用于从网关ARP表中查找与上述数据帧中目的IP地址相对应的目的网关MAC地址;找到后,其还用于组装ARP应答报文,将上述目的网关MAC地址和上述目的IP地址分别作为该报文的源MAC地址和源IP地址,将上述数据帧中的源MAC地址和源IP地址作为该报文的目的MAC地址和目的IP地址;组装好后,还用于将该报文发送出去;
对于ARP请求报文,上述模块用于判断上述数据帧中的目的MAC是否为本网关的MAC地址;如果是,其还用于将上述数据帧中的源IP地址和源MAC地址组成ARP信息后,在上述网关ARP表中查找是否存在与其相同的ARP信息;如果没有,则上述模块还用于将是上述ARP信息保存到其网关ARP表中后,再将该条ARP信息发送给CPU。
下面结合附图对在以太网交换机为例来说明在ARP报文处理模块上实现ARP协议报文的处理流程。
如图2所示,包括以下步骤:
步骤001,数据帧从交换机的端口A进入NP或者ASIC芯片,正常的帧校验等工作完成以后,用匹配规则判断数据帧的以太网类型是否为ARP,即0x0806。如果是,执行步骤002,否则流程结束;
步骤002,判断该数据帧的类型,如果其类型为ARP request(ARP请求),执行步骤101;如果其类型为ARP reply(ARP应答),则执行步骤201;否则,流程结束;
步骤101,从该数据帧中识别出源主机请求的目的IP地址;
步骤102,根据设置在NP或者ASIC芯片中的网关ARP表,查找包含此目的IP地址的ARP信息是否存在。如果存在,得到目的网关的MAC地址信息后,执行步骤103,否则,流程结束;
步骤103,组装一个ARP reply报文,该报文的源MAC地址和源IP地址分别为步骤102中查到的目的网关的MAC地址和上述数据帧中的目的IP地址,该ARP reply报文的目的MAC地址和目的IP地址分别为发送上述数据帧的源主机的MAC地址和IP地址;
步骤104,将该ARP reply报文发送到交换机的端口A,交换机按正常二层转发流程将该ARP reply报文转发出去后,流程结束。
步骤201,取出该数据帧中的目的MAC地址;
步骤202,判断该目的MAC地址是否为本NP或ASIC芯片的网关的MAC地址,如果是,执行步骤203,否则,流程结束;
步骤203,从该数据帧的ARP协议内容中取出源IP地址和源MAC地址组成ARP信息;
步骤204,根据上述ARP信息查找网关ARP表,如果找到则流程结束,否则执行步骤205;
步骤205,将该ARP信息保存在网关ARP表中,并将该ARP信息发送给CPU;
步骤206,CPU将上述NP或者ASIC芯片学习到的并向其发送的ARP信息添加到其软件ARP表中。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (5)

1.一种处理地址解析协议ARP报文的方法,其特征在于,包括以下步骤:
a、ARP报文处理模块如判断其收到的数据帧类型为ARP请求报文,执行b;如为ARP应答报文,执行d;所述ARP报文处理模块为网络处理器或专用集成电路芯片;
b、如在设置在所述ARP报文处理模块中的网关ARP表中查找到与所述数据帧中的目的IP地址相对应的目的网关MAC地址,执行c;
c、组装一个ARP应答报文,将所述目的网关MAC地址和所述目的IP地址分别作为该报文的源MAC地址和源IP地址,将所述数据帧中包含的源MAC地址和源IP地址作为该报文的目的MAC地址和目的IP地址;组装好后,将该报文发送出去,结束;
d、所述ARP报文处理模块如判断所述数据帧中的目的MAC地址为本网关的MAC地址,则将所述数据帧中的源IP地址和源MAC地址组成ARP信息后,在所述网关ARP表中查找是否存在与其相同的ARP信息,如果是则结束,如果没有,将上述ARP信息保存到所述网关ARP表中。
2.如权利要求1所述的方法,其特征在于,步骤d中,如果所述网关ARP表中不存在与由所述数据帧中的源IP地址和源MAC地址组成的ARP信息相同的ARP信息,则所述ARP报文处理模块将所述组成的ARP信息保存到所述网关ARP表中后,再将该条组成的ARP信息发送给CPU,所述CPU将该条组成的ARP信息添加到其软件ARP表中。
3.如权利要求1所述的方法,其特征在于,步骤c中,发送ARP应答报文的端口为步骤a中接收所述数据帧的端口。
4.一种处理地址解析协议ARP报文的通信装置,应用于以太网中,包括一CPU,其特征在于,还包括一ARP报文处理模块;
所述模块为网络处理器或专用集成电路芯片,用于判断其接收到的数据帧的类型;对于ARP请求报文,其用于从网关ARP表中查找与所述数据帧中目的IP地址相对应的目的网关MAC地址;找到后,其还用于组装ARP应答报文,将所述目的网关MAC地址和所述目的IP地址分别作为该报文的源MAC地址和源IP地址,将所述数据帧中的源MAC地址和源IP地址作为该报文的目的MAC地址和目的IP地址;组装好后,还用于将该报文发送出去;
对于ARP应答报文,所述模块用于判断所述数据帧中的目的MAC是否为本网关的MAC地址;如果是,其还用于将所述数据帧中的源IP地址和源MAC地址组成ARP信息后,在所述网关ARP表中查找是否存在与其相同的ARP信息,如果是则结束,如果没有,则将上述ARP信息保存到其网关ARP表中。
5.如权利要求4所述的装置,其特征在于,对于ARP应答报文,如果所述网关ARP表中不存在与所述数据帧中的源IP地址和源MAC地址组成的ARP信息相同的ARP信息,则所述ARP报文处理模块还用于将所述组成的ARP信息保存到其网关ARP表中后,再将该条组成的ARP信息发送给CPU。
CN2007101458905A 2007-09-04 2007-09-04 一种处理地址解析协议报文的方法及通信装置 Expired - Fee Related CN101123614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101458905A CN101123614B (zh) 2007-09-04 2007-09-04 一种处理地址解析协议报文的方法及通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101458905A CN101123614B (zh) 2007-09-04 2007-09-04 一种处理地址解析协议报文的方法及通信装置

Publications (2)

Publication Number Publication Date
CN101123614A CN101123614A (zh) 2008-02-13
CN101123614B true CN101123614B (zh) 2010-06-02

Family

ID=39085792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101458905A Expired - Fee Related CN101123614B (zh) 2007-09-04 2007-09-04 一种处理地址解析协议报文的方法及通信装置

Country Status (1)

Country Link
CN (1) CN101123614B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340293B (zh) * 2008-08-12 2010-10-27 杭州华三通信技术有限公司 一种报文安全检查方法和装置
CN101924707A (zh) * 2010-09-27 2010-12-22 杭州华三通信技术有限公司 地址解析协议报文的处理方法和设备
CN102655473A (zh) * 2011-03-03 2012-09-05 华为技术有限公司 一种通信方法、设备及系统
CN102158407B (zh) * 2011-03-31 2014-07-30 华为技术有限公司 一种配置地址解析协议arp表项的方法和装置
CN102164091B (zh) * 2011-05-13 2015-01-21 北京星网锐捷网络技术有限公司 一种mac地址表建立方法及运营商边缘设备
US20120311183A1 (en) * 2011-06-01 2012-12-06 Kutch Patrick G Circuitry to maintain correlation between sets of addresses
WO2014079005A1 (zh) * 2012-11-21 2014-05-30 华为技术有限公司 Mac地址强制转发装置及方法
CN104427004A (zh) * 2013-08-19 2015-03-18 北京怀教网络技术服务有限公司 一种基于网络设备的arp报文管理方法
CN105704036B (zh) * 2014-11-27 2019-05-28 华为技术有限公司 报文转发方法、装置和系统
CN104883410B (zh) * 2015-05-21 2018-03-02 上海沪景信息科技有限公司 一种网络传输方法和网络传输装置
CN108574673A (zh) * 2017-03-10 2018-09-25 武汉安天信息技术有限责任公司 应用于网关的arp报文攻击检测方法及装置
CN113037879A (zh) 2019-12-24 2021-06-25 中兴通讯股份有限公司 Arp学习方法和节点设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604575A (zh) * 2003-09-29 2005-04-06 华为技术有限公司 一种防范假冒网际协议以太网网关的方法
US7009974B1 (en) * 2001-04-18 2006-03-07 Force10 Networks, Inc. Method and apparatus for updating addresses in network processing device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7009974B1 (en) * 2001-04-18 2006-03-07 Force10 Networks, Inc. Method and apparatus for updating addresses in network processing device
CN1604575A (zh) * 2003-09-29 2005-04-06 华为技术有限公司 一种防范假冒网际协议以太网网关的方法

Also Published As

Publication number Publication date
CN101123614A (zh) 2008-02-13

Similar Documents

Publication Publication Date Title
CN101123614B (zh) 一种处理地址解析协议报文的方法及通信装置
CN101094236B (zh) 地址解析协议报文处理方法及通讯系统及转发平面处理器
EP1670187B1 (en) Tagging rules for hybrid ports
CN1232080C (zh) 网络中节省ip地址提供内部服务器的方法
CN102263774B (zh) 一种处理源角色信息的方法和装置
CN1925452A (zh) 数据转发系统、方法以及网络转发设备
US20060256814A1 (en) Ad hoc computer network
CN1333617A (zh) 基于mac地址的通信限制方法
CN101115006A (zh) 三层报文转发方法及路由设备和二层交换模块
US20100322253A1 (en) Method and Apparatus for Simulating IP Multinetting
CN101325554B (zh) 一种路由创建方法、转发芯片及三层交换机
CN101056306A (zh) 网络设备及其访问控制方法
WO2013063791A1 (en) Nat/firewall accelerator
CN101753637A (zh) 防止网络攻击的方法及网络地址转换设备
CN101247353A (zh) 流老化方法及网络设备
CN101043430A (zh) 一种设备之间网络地址转换的方法
CN1801781A (zh) 交换设备及其防止流量冲击的报文处理方法
CN1703890A (zh) 数据网络中识别和分析协议的方法
US20060256717A1 (en) Electronic packet control system
US20060256770A1 (en) Interface for configuring ad hoc network packet control
US6363071B1 (en) Hardware address adaptation
CN102263679B (zh) 一种处理源角色信息的方法和转发芯片
CN102497380A (zh) 一种内网数据包过滤方法
CN101969478A (zh) 一种智能dns报文处理方法及处理装置
CN103607350A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20160904

CF01 Termination of patent right due to non-payment of annual fee