CN101997768A - 一种上送地址解析协议报文的方法和装置 - Google Patents

一种上送地址解析协议报文的方法和装置 Download PDF

Info

Publication number
CN101997768A
CN101997768A CN200910189617.1A CN200910189617A CN101997768A CN 101997768 A CN101997768 A CN 101997768A CN 200910189617 A CN200910189617 A CN 200910189617A CN 101997768 A CN101997768 A CN 101997768A
Authority
CN
China
Prior art keywords
arp
request message
source
address
mapping relations
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
CN200910189617.1A
Other languages
English (en)
Other versions
CN101997768B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200910189617.1A priority Critical patent/CN101997768B/zh
Priority to EP09848395.1A priority patent/EP2469787B1/en
Priority to PCT/CN2009/074488 priority patent/WO2011020254A1/zh
Publication of CN101997768A publication Critical patent/CN101997768A/zh
Priority to US13/397,214 priority patent/US20120144483A1/en
Application granted granted Critical
Publication of CN101997768B publication Critical patent/CN101997768B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及通信领域,公开了一种上送ARP报文的方法,以解决现有技术中对于一些必须将ARP报文上送至CPU进行处理的应用无法支持的问题。该方法包括:接收第一ARP应答报文;判断在第一映射关系表中是否存在第一ARP应答报文携带的源IP和源MAC的映射关系表项;当在第一映射关系表中存在第一ARP应答报文携带的源IP和源MAC的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送中央处理单元CPU进行处理;其中,第一ARP请求报文携带的源IP、源MAC分别与第一ARP应答报文携带的源IP、源MAC相同。本发明的实施例还公开了一种上送ARP报文的装置。

Description

一种上送地址解析协议报文的方法和装置
技术领域
本发明涉及通信领域,特别涉及一种上送地址解析协议报文的方法和装置。
背景技术
ARP(地址解析协议,Address Resolution Protocol)是一种将IP(因特网协议,Internet Protocol)地址映射到MAC(媒体接入控制,Media Access Control)地址的协议。其基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
但是在现有网络中通常会存在基于ARP的网络攻击行为,下面简单介绍几中基于ARP的网络攻击场景:
1.ARP泛洪攻击:攻击者不断的发送大量的ARP请求报文和ARP应答报文,报文的源IP地址,源MAC地址,VLAN(虚拟局域网,Virtual Local Area Network)等随机变化。这种攻击的目的有两个,一个是通过大量的ARP报文导致接收方(例如:网关设备)的ARP上送带宽被挤占,挤掉正常用户的ARP报文;另外一个就是让接收方大量学习错误的ARP表项,将接收方的ARP表占满。
2.ARP网关欺骗攻击:攻击者冒充网关设备向同一网段内的其他主机发送ARP报文,该ARP报文的源IP地址为网关的IP地址,而该ARP报文的源MAC地址则为攻击者自己的MAC地址。同一网段内其他主机接收到上述攻击者发送的ARP报文后,学习到错误的网关ARP表项,后续同一网段内其他主机发送给网关设备的数据将被错误的发送到攻击者。
3.ARP用户欺骗攻击:攻击者冒充同一网段内其他正常主机向网关设备发送ARP报文,该ARP报文的源IP地址是同一网段内其他正常主机的IP地址,但是该ARP报文的源MAC地址则是攻击者自己的MAC地址或者是随机封装的MAC地址。网关设备接收到上述ARP报文后,学习到错误的ARP表项,后续网关设备发往同一网段内其他正常主机的数据将被错误的发送到攻击者或者其他的地方。
为了防止上述基于ARP的网络攻击行为对用户或者网关设备造成损失,现有技术中,提供了多种解决方案。
例如,在一种现有技术中,接收方收到ARP请求报文之后,利用转发平面中NP(网络处理器,Network Processor)的高速处理能力,直接在转发平面中回应该ARP请求报文,不将该ARP请求报文上送CPU(中央处理单元,Central Processor Unit)。从而避免了攻击者发送的大量ARP请求报文上送至CPU,造成ARP泛洪攻击。
又例如,在另一种现有技术中,接收方接收到ARP请求报文(此处称为第一ARP请求报文)之后,根据接收到的第一ARP请求报文,构造一个新的ARP请求报文(此处称为第二ARP请求报文)并发送;当接收方再次接收到第一ARP请求报文的发送方针对第二ARP请求报文回应的第三ARP应答报文时,根据第一ARP请求报文以及第三ARP应答报文携带的发送方的信息,确认该发送方的地址映射关系的正确性。从而避免了攻击者发送的伪造的ARP请求报文上送至CPU,造成ARP欺骗攻击。
可以看到,上述现有技术的技术方案中,接收方接收到ARP报文尤其是ARP请求报文之后,均不上送至CPU进行处理,而是在转发层面直接进行处理(例如,回应ARP应答报文或者回应一个新的ARP请求报文),对于一些必须将ARP报文上送至CPU进行处理的应用,例如:ARP Proxy(ARP代理),QinQ(802.1Q in 802.1Q)等,上述技术方案无法支持。
发明内容
有鉴于此,本发明的实施例提供了一种上送ARP报文的方法和装置,能够解决现有技术中对于一些必须将ARP报文上送至CPU进行处理的应用无法支持的问题。
一种上送ARP报文的方法,包括:接收第一ARP应答报文;判断在第一映射关系表中是否存在第一ARP应答报文携带的源因特网协议IP地址和源媒体接入控制MAC地址的映射关系表项,其中,第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送中央处理单元CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
一种上送ARP报文的装置,包括:第一接收模块,用于接收第一ARP应答报文;第一判断模块,用于判断在第一映射关系表中是否存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;其中,第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址以及源MAC地址的映射关系表项;第一上送模块,用于当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
采用本发明的实施例提供的上送ARP报文的方法和装置,能够在确定ARP报文合法性的情况下,将ARP报文上送至CPU进行处理,从而实现支持一些必须将ARP报文上送至CPU进行处理的应用。
附图说明
图1为本发明的一个实施例提供的一种上送ARP报文的方法流程示意图;
图2为本发明的又一个实施例提供的一种上送ARP报文的方法流程示意图;
图3为本发明的又一个实施例提供的一种上送ARP报文的方法流程示意图;
图4为本发明的又一个实施例提供的一种上送ARP报文的方法流程示意图;
图5为本发明的又一个实施例提供的一种上送ARP报文的方法流程示意图;
图6为本发明的一个实施例提供的一种上送ARP报文的装置结构示意图;
图7为本发明的又一个实施例提供的一种上送ARP报文的装置结构示意图;
图8为本发明的又一个实施例提供的一种上送ARP报文的装置结构示意图;
图9为本发明的又一个实施例提供的一种上送ARP报文的装置结构示意图;
图10为本发明的实施例的一个具体应用场景;
图11为本发明的实施例的又一个具体应用场景。
具体实施方式
为使本发明实施例的目的、技术方案及优点更加清楚明白,以下参照附图,对本发明的实施例作进一步地详细说明。
如图1所示,图1为本发明的一个实施例提供的一种上送ARP报文的方法流程示意图,该方法包括:
100,接收ARP报文;
在现有技术中,ARP报文包括ARP请求报文和ARP应答报文。在本实施例中,当接收到的ARP报文为ARP应答报文(以下称为第一ARP应答报文)时,执行110;
110,判断在第一映射关系表中是否存在上述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;
在本发明的实施例中,第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址以及源MAC地址表项。根据第一映射关系表,就能够判断出接收到的第一ARP应答报文是否为合法用户发出的。
可选的,第一映射关系表中还可以包括接收到的ARP请求报文携带的VLAN等其他信息。
可选的,第一映射关系表中还可以包括上送状态信息,例如,上送状态信息可以是:某一个映射关系表项对应的ARP报文是否已经上送CPU处理,若是,可将上送状态信息记录为S1;若否,可将上送状态信息记录为S0。
可选的,在实际的应用中,第一映射关系表中的表项,可以是内存中的一条记录;或者,可以是数据库中的一条记录;或者,可以是TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)中的一条记录。
120,当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同
在本实施例中,当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,可以认为该第一ARP应答报文是合法用户所发出的,此时,将第一ARP请求报文上送到CPU进行处理。
可选的,在本发明的实施例中,可以将第一ARP应答报文携带的源IP地址和源MAC地址保留,将第一ARP应答报文携带的目的IP地址和目的MAC地址去掉,并将报文类型转换为请求报文,得到第一ARP请求报文,也就是将第一ARP应答报文转换为同源的第一ARP请求报文,并且上送该第一ARP请求报文到CPU进行处理。
当然,在实际的应用中,并不局限于通过上述方式得到第一ARP请求报文,后面的实施例中会有详细介绍。
如图2所示,图2为本发明的一个实施例提供的又一种上送ARP报文的方法流程示意图,该方法包括:
200,接收ARP报文;
在现有技术中,ARP报文包括ARP请求报文和ARP应答报文。在本实施例中,当接收到的ARP报文为第一ARP应答报文时,执行210~220;
210,判断在第一映射关系表中是否存在上述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;
220,当在第一映射关系中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
可选的,如果第一映射关系表包括了上送状态信息,例如,上送状态信息可以是:某一个映射关系表项对应的ARP报文是否已经上送CPU处理,若是,可将上送状态信息记录为S1;若否,可将上送状态信息记录为S0。还可以在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,判断该上送状态信息是S0还是S1。若为S1,则说明该映射关系表项对应的ARP报文已经上送过了,此时可以不再做任何处理,以减轻CPU的负担;若为S0,则仍可执行220中的“将第一ARP请求报文上送CPU进行处理”,然后,将该上送状态信息置为S1。
当接收到的ARP报文为ARP请求报文(以下称为第二ARP请求报文)时,执行230~240;
230,判断在第一映射关系表中是否存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;
240,当第一映射关系表中不存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,根据第二ARP请求报文,生成并发送第三ARP请求报文;
在本实施例中,第三ARP请求报文携带的目的IP地址与第二ARP请求报文携带的源IP地址相同。
可选的,在本发明的又一实施例中,上述第一ARP应答报文,可以为上述第三ARP请求报文的接收方针对上述第三ARP请求报文的回应,此时,本发明的实施例提供的一种上送ARP报文的方法流程示意图如图3所示,该方法包括:
300、接收第二ARP请求报文;
310,判断在第一映射关系表中是否存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;
320,当第一映射关系表中不存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,根据第二ARP请求报文,生成并发送第三ARP请求报文;其中,第三ARP请求报文携带的目的IP地址与第二ARP请求报文携带的源IP地址相同;
330,接收第一ARP应答报文;
本实施例中,第一ARP应答报文为上述第三ARP请求报文的接收方针对上述第三ARP请求报文的回应;
340,判断在第一映射关系表中是否存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;
350,当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
可选的,可以将第一ARP应答报文携带的源IP地址和源MAC地址保留,将第一ARP应答报文携带的目的IP地址和目的MAC地址去掉,并将报文类型转换为请求报文,得到350中的第一ARP请求报文。
当然,在本实施例中,还可以将300中接收到的第二ARP请求报文缓存起来,当350中判断出在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,可以将之前缓存的第二ARP请求报文上送CPU进行处理。这种情况下,350中的第一ARP请求报文,就是300中的第二ARP请求报文。
可选的,在本实施例中,当第一映射关系表中存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,说明在此之前已经收到过该第二ARP请求报文,此时对该第二ARP请求报文不做任何处理。
可选的,在本发明的又一实施例中,在接收上述第一ARP应答报文之前,还可以发送一个ARP请求报文(以下称为第四ARP请求报文),则第一ARP应答报文,为第四ARP请求报文的接收方针对第四ARP请求报文的回应。此时,本发明的实施例提供的一种上送ARP报文的方法流程示意图如图4所示,该方法包括:
400,发送第四ARP请求报文;
410,接收第一ARP应答报文;
本实施例中,第一ARP应答报文,为第四ARP请求报文的接收方针对第四ARP请求报文的回应。
420,判断在第一映射关系表中是否存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;
430,当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
可选的,在本发明的又一实施例中,提供了一种上送ARP报文的方法流程示意图,如图5所示,该方法包括:
510,接收第一ARP应答报文;
520,判断在第一映射关系表中是否存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;
530,当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
540,当在第一映射关系表中不存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,判断在第二映射关系表中是否存在第一ARP应答报文携带的源IP地址表项;
在本发明的实施例中,第二映射关系表至少包括发送的ARP请求报文携带的目的IP地址表项;
可选的,第二映射关系表中还可以包括上送状态信息,例如,上送状态信息可以是:某一个映射关系表项对应的ARP报文是否已经上送CPU处理,若是,可将上送状态信息记录为S1;若否,可将上送状态信息记录为S0。
可选的,在实际的应用中,第二映射关系表的表项,可以是内存中的一条记录;或者,可以是数据库中的一条记录;或者,可以是TCAM中的一条记录。
550,当在第二映射关系表中存在第一ARP应答报文携带的源IP地址表项时,将第一ARP应答报文上送至CPU进行处理。
可选的,如果第二映射关系表包括了上送状态信息,例如,上送状态信息可以是:某一个映射关系表项对应的ARP报文是否已经上送CPU处理,若是,可将上送状态信息记录为S1;若否,可将上送状态信息记录为S0。还可以在第二映射关系表中存在第一ARP应答报文携带的源IP地址表项时,判断该上送状态信息是S0还是S1。若为S1,则说明该映射关系表项对应的ARP报文已经上送过了,此时可以不再做任何处理,以减轻CPU的负担;若为S0,则仍可执行550中的“将第一ARP应答报文上送CPU进行处理”,然后,将该上送状态信息置为S1。
采用本发明的实施例提供的上述上送ARP报文的方法,能够在确定ARP报文合法性的情况下,将ARP报文上送至CPU进行处理,从而实现支持一些必须将ARP报文上送至CPU进行处理的应用。
本发明的一个实施例提供了一种上送ARP报文的装置,如图6所示,该装置包括:
第一接收模块600,用于接收第一ARP应答报文;
第一判断模块610,用于判断在第一映射关系表中是否存在上述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;其中,第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址以及源MAC地址的映射关系表项。
第一上送模块620,用于当在第一映射关系表中存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据第一ARP应答报文获得第一ARP请求报文,将第一ARP请求报文上送CPU进行处理;
其中,第一ARP请求报文携带的源IP地址与第一ARP应答报文携带的源IP地址相同,第一ARP请求报文携带的源MAC地址与第一ARP应答报文携带的源MAC地址相同。
可选的,如图7所示,该装置还可以进一步包括:
第二接收模块630,用于接收第二ARP请求报文;
第二判断模块640,用于判断在第一映射关系表中是否存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;
反向探测模块650,用于当第一映射关系表中不存在第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,根据第二ARP请求报文,生成并发送第三ARP请求报文;
其中,第三ARP请求报文携带的目的IP地址与第二ARP请求报文携带的源IP地址相同。
在图7所示实施例中,第一ARP应答报文可以为第三ARP请求报文的接收方针对该第三ARP请求报文的回应。
可选的,如图8所示,该装置还可以进一步包括:
发送模块660,用于发送第四ARP请求报文。
在图8所示的实施例中,第一ARP应答报文可以为第四ARP请求报文的接收方针对该第四ARP请求报文的回应。
可选的,如图9所示,该装置还可以进一步包括:
第三判断模块670,用于当在第一映射关系表中不存在第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,判断在第二映射关系表中是否存在第一ARP应答报文携带的源I P地址表项;
其中,第二映射关系表至少包括发送的ARP请求报文携带的目的IP地址表项;
第二上送模块680,用于当在第二映射关系表中存在第一ARP应答报文携带的源IP地址表项时,将上述第一ARP应答报文上送至CPU进行处理。
在实际应用中,上述上送ARP报文的装置可以是任何支持ARP协议的网络设备,例如网关等网络设备。
采用本发明的实施例提供的上送ARP报文的装置,能够在确定ARP报文合法性的情况下,将ARP报文上送至CPU进行处理,从而实现支持一些必须将ARP报文上送至CPU进行处理的应用。
为更好的说明本发明实施例提供的方法和装置,下面结合几个具体的应用场景,做详细的说明。
应用场景一
如图10所示,在本应用场景中,网关设备接收到用户A发送的ARP请求报文。网关设备接收到该ARP请求报文之后,可以将该ARP请求报文携带的源IP地址、源MAC地址等信息记录下来,形成第一映射关系表(以下称为T1表),或者在已有的T1表中增加该ARP请求报文携带的源IP地址与源MAC地址的映射关系表项。在本场景中,网关设备将该ARP请求报文携带的源IP地址、源MAC地址以及VLAN等信息记录下来,增加到T1表中。
同时,在本场景中,网关设备接收到该ARP请求报文之后,并没有将该ARP请求报文直接上送至CPU进行处理,而是判断在T1表中是否存在该ARP请求报文携带的源IP地址和源MAC地址的映射关系表项,如果存在,则说明之前已经收到过该ARP请求报文,此时可以对该ARP请求报文不做任何处理;如果不存在,则说明之前网关设备没有收到过该ARP请求报文,网关设备并不确定该ARP请求报文的合法性。这种情况下,网关设备根据该ARP请求报文构造一个反向探测的ARP请求报文,并发送该反向探测的ARP请求报文。其中,该反向探测的ARP请求报文携带的目的IP地址与接收到的ARP请求报文携带的源IP地址相同。
可选的,在本场景中,网关设备还可以将发送的反向探测的ARP请求报文携带的目的IP地址记录下来,形成第二映射关系表(以下称为T2表)或增加至已有的T2表中。
用户A接收到网关设备发送的反向探测的ARP请求报文后,会向网关设备回应一个ARP应答报文。
网关设备接收到该ARP应答报文后,根据该ARP应答报文携带的源IP地址和源MAC地址,判断在T1表中是否存在该ARP应答报文携带的源IP地址和源MAC地址的映射关系表项,如果存在,则说明之前网关设备收到的ARP请求报文是合法用户发出的,这种情况下,网关设备根据该ARP应答报文重新构造同源的ARP请求报文,例如,可以将该ARP应答报文携带的源IP地址和源MAC地址保留,将该ARP应答报文携带的目的IP地址和目的MAC地址去掉,并将报文类型转换为请求报文,重新得到一个ARP请求报文,并将该重新得到的ARP请求报文上送至CPU进行处理。
网关设备的CPU对上送的ARP请求报文进行处理后,根据ARP协议的规定,会向用户A回应一个ARP应答报文。
此时,既确定了ARP请求报文的合法性,保护了网关设备的CPU不受到非法ARP报文的攻击;又能够将合法的ARP请求报文上送至CPU进行处理,支持了一些必须将ARP报文上送至CPU进行处理的应用。
当然,在本场景中,如果在T1表中不存在该ARP应答报文携带的源IP地址和源MAC地址的映射关系表项,这时,有多种可能,例如,可能之前网关设备接收到的ARP请求报文并不是真实的用户A发送的,而是攻击者伪造的ARP请求报文,因此,网关设备在接收到ARP请求报文后记录下的源IP地址是用户A的IP地址,而记录下的源MAC地址则是攻击者的MAC地址。
当网关设备发送反向探测ARP请求报文后(反向探测的ARP请求报文携带的目的IP地址与接收到的ARP请求报文携带的源IP地址相同),由于是广播发送,因此,用户A自然会回应一个ARP应答报文。此时,网关设备接收到的ARP应答报文携带的源IP地址和源MAC地址均为用户A的IP地址和MAC地址,自然与T1表中记录的“用户A的IP地址、攻击者的MAC”表项不匹配。
此时,可选的,可以进一步的判断在T2表中是否存在该ARP应答报文携带的源IP地址表项,如果存在,则至少说明,该ARP应答报文的发送方,确实接收到了网关设备发出的ARP请求报文,此时,也可以认为该ARP应答报文的发送方是合法的。因此,也可以将该ARP应答报文上送至CPU进行处理。
应用场景二
如图11所示,在本场景中,网关设备主动发送ARP请求报文,请求获取用户B的MAC地址。
可选的,在本场景中,网关设备将发送的ARP请求报文携带的目的IP地址记录下来,形成T2表或增加至已有T2表中。
用户B收到上述网关设备发送的ARP请求报文后,向该网关设备回应一个ARP应答报文。
网关设备接收到用户B回应的ARP应答报文后,根据该ARP应答报文携带的源IP地址和源MAC地址,判断在T1表中是否存在该ARP应答报文携带的源IP地址和源MAC地址的映射关系表项,如果存在,则说明之前网关设备至少收到过来自该用户的ARP请求报文,可以认为该用户是合法的,这种情况下,网关设备根据该ARP应答报文重新构造同源的ARP请求报文,并将该重新构造的ARP请求报文上送至CPU进行处理。
网关设备的CPU对上送的ARP请求报文进行处理后,根据ARP协议的规定,会向用户B回应一个ARP应答报文。
但是,在本场景中,是网关设备主动发送的ARP请求报文,因此,实际应用中,网关设备很有可能没有收到过来自该用户的ARP请求报文。这种情况下,在T1表中就不存在该ARP应答报文携带的源IP地址和源MAC地址的映射关系表项。此时,可以进一步的判断在T2表中是否存在该ARP应答报文携带的源IP地址表项,如果存在,则至少说明,该ARP应答报文的发送方,确实接收到了网关设备发出的ARP请求报文,此时,也可以认为该ARP应答报文的发送方是合法的。因此,也可以将该ARP应答报文上送至CPU进行处理。
通过以上的实施方式的描述,本领域的普通技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备、或者服务器、或者其他网络设备执行本发明各个实施例或者实施例的某些部分所述的方法。
以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种上送地址解析协议ARP报文的方法,其特征在于,所述方法包括:
接收第一ARP应答报文;
判断在第一映射关系表中是否存在所述第一ARP应答报文携带的源因特网协议IP地址和源媒体接入控制MAC地址的映射关系表项,其中,所述第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;
当在所述第一映射关系表中存在所述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据所述第一ARP应答报文获得第一ARP请求报文,将所述第一ARP请求报文上送中央处理单元CPU进行处理;其中,所述第一ARP请求报文携带的源IP地址与所述第一ARP应答报文携带的源IP地址相同,所述第一ARP请求报文携带的源MAC地址与所述第一ARP应答报文携带的源MAC地址相同。
2.根据权利要求1所述的方法,其特征在于,在所述接收第一ARP应答报文之前,所述方法还包括:
接收第二ARP请求报文;
所述第一映射关系表中不存在所述第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,根据所述第二ARP请求报文,生成并发送第三ARP请求报文,其中,所述第三ARP请求报文携带的目的IP地址与所述第二ARP请求报文携带的源IP地址相同;
其中,所述第一ARP应答报文,为所述第三ARP请求报文的接收方针对所述第三ARP请求报文的回应。
3.根据权利要求1所述的方法,其特征在于,在所述接收第一ARP应答报文之前,所述方法还包括:
发送第四ARP请求报文;其中,所述第一ARP应答报文,为所述第四ARP请求报文的接收方针对所述第四ARP请求报文的回应。
4.根据权利要求1至3中任一项所述的方法,其特征在于,当在所述第一映射关系表中不存在所述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,判断在第二映射关系表中是否存在第一ARP应答报文携带的源IP地址表项,其中,所述第二映射关系表至少包括发送的ARP请求报文携带的目的IP地址表项;
当在所述第二映射关系表中存在所述第一ARP应答报文携带的源IP地址表项时,将所述第一ARP应答报文上送至CPU进行处理。
5.一种上送地址解析协议ARP报文的装置,其特征在于,所述装置包括:
第一接收模块,用于接收第一ARP应答报文;
第一判断模块,用于判断在第一映射关系表中是否存在所述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项;其中,所述第一映射关系表中至少包括接收到的ARP请求报文携带的源IP地址以及源MAC地址的映射关系表项;
第一上送模块,用于当在所述第一映射关系表中存在所述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,根据所述第一ARP应答报文获得第一ARP请求报文,将所述第一ARP请求报文上送CPU进行处理;
其中,所述第一ARP请求报文携带的源IP地址与所述第一ARP应答报文携带的源IP地址相同,所述第一ARP请求报文携带的源MAC地址与所述第一ARP应答报文携带的源MAC地址相同。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收第二ARP请求报文;
第二判断模块,用于判断在所述第一映射关系表中是否存在所述第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项;
反向探测模块,用于当所述第一映射关系表中不存在所述第二ARP请求报文携带的源IP地址和源MAC地址的映射关系表项时,根据所述第二ARP请求报文,生成并发送第三ARP请求报文;
其中,所述第三ARP请求报文携带的目的IP地址与所述第二ARP请求报文携带的源IP地址相同;所述第一ARP应答报文,为所述第三ARP请求报文的接收方针对所述第三ARP请求报文的回应。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
发送模块,用于发送第四ARP请求报文;其中所述第一ARP应答报文,为所述第四ARP请求报文的接收方针对所述第四ARP请求报文的回应。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:
第三判断模块,用于当在所述第一映射关系表中不存在所述第一ARP应答报文携带的源IP地址和源MAC地址的映射关系表项时,判断在第二映射关系表中是否存在第一ARP应答报文携带的源IP地址表项;其中,所述第二映射关系表至少包括发送的ARP请求报文携带的目的IP地址表项;
第二上送模块,用于当在所述第二映射关系表中存在第一ARP应答报文携带的源IP地址表项时,将所述第一ARP应答报文上送至CPU进行处理。
CN200910189617.1A 2009-08-21 2009-08-21 一种上送地址解析协议报文的方法和装置 Expired - Fee Related CN101997768B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN200910189617.1A CN101997768B (zh) 2009-08-21 2009-08-21 一种上送地址解析协议报文的方法和装置
EP09848395.1A EP2469787B1 (en) 2009-08-21 2009-10-16 Method and device for preventing network attacks
PCT/CN2009/074488 WO2011020254A1 (zh) 2009-08-21 2009-10-16 防范网络攻击的方法和装置
US13/397,214 US20120144483A1 (en) 2009-08-21 2012-02-15 Method and apparatus for preventing network attack

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910189617.1A CN101997768B (zh) 2009-08-21 2009-08-21 一种上送地址解析协议报文的方法和装置

Publications (2)

Publication Number Publication Date
CN101997768A true CN101997768A (zh) 2011-03-30
CN101997768B CN101997768B (zh) 2012-10-17

Family

ID=43606554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910189617.1A Expired - Fee Related CN101997768B (zh) 2009-08-21 2009-08-21 一种上送地址解析协议报文的方法和装置

Country Status (4)

Country Link
US (1) US20120144483A1 (zh)
EP (1) EP2469787B1 (zh)
CN (1) CN101997768B (zh)
WO (1) WO2011020254A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827532A (zh) * 2016-05-12 2016-08-03 深圳市蜂联科技有限公司 一种路由器对中继器下挂sta真实mac的发现方法与转换方法
CN106161461A (zh) * 2016-08-29 2016-11-23 东软集团股份有限公司 一种arp报文的处理方法及装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888370B (zh) * 2009-05-11 2013-01-09 中兴通讯股份有限公司 防止IPv6地址被欺骗性攻击的装置与方法
CN102594834B (zh) * 2012-03-09 2014-09-10 北京星网锐捷网络技术有限公司 网络攻击的防御方法及装置、网络设备
CN104519489B (zh) * 2013-09-26 2018-04-06 中国电信股份有限公司 防范MIPv6源地址欺骗攻击的方法、设备和系统
CN104683500B (zh) * 2015-03-25 2017-12-15 新华三技术有限公司 一种安全表项生成方法和装置
EP3443730B1 (en) * 2016-04-15 2021-09-01 Convida Wireless, LLC 6lowpan neighbor discovery for supporting mobility and multiple border routers
CN106789954A (zh) * 2016-11-30 2017-05-31 杭州迪普科技股份有限公司 一种基于多cpu的ddos攻击识别的方法和装置
CN107070797B (zh) * 2017-03-13 2020-03-06 杭州迪普科技股份有限公司 一种报文转发的方法及系统
CN110392034B (zh) * 2018-09-28 2020-10-13 新华三信息安全技术有限公司 一种报文处理方法及装置
CN111865876B (zh) * 2019-04-29 2021-10-15 华为技术有限公司 网络的访问控制方法和设备
US11050650B1 (en) * 2019-05-23 2021-06-29 Juniper Networks, Inc. Preventing traffic outages during address resolution protocol (ARP) storms
JP7417395B2 (ja) * 2019-10-01 2024-01-18 アズビル株式会社 不正検出装置および不正検出方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US6640251B1 (en) * 1999-03-12 2003-10-28 Nortel Networks Limited Multicast-enabled address resolution protocol (ME-ARP)
US7269143B2 (en) * 1999-12-31 2007-09-11 Ragula Systems (Fatpipe Networks) Combining routers to increase concurrency and redundancy in external network access
US6907470B2 (en) * 2000-06-29 2005-06-14 Hitachi, Ltd. Communication apparatus for routing or discarding a packet sent from a user terminal
US7739398B1 (en) * 2000-11-21 2010-06-15 Avaya Inc. Dynamic load balancer
WO2003096210A1 (en) * 2002-05-08 2003-11-20 Starrete Communications, Inc. System and method for providing video telephony over a cable access network infrastructure
US7734745B2 (en) * 2002-10-24 2010-06-08 International Business Machines Corporation Method and apparatus for maintaining internet domain name data
US7434254B1 (en) * 2002-10-25 2008-10-07 Cisco Technology, Inc. Method and apparatus for automatic filter generation and maintenance
WO2005009002A1 (en) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. System and method for securing networks
KR100432675B1 (ko) * 2003-09-19 2004-05-27 주식회사 아이앤아이맥스 네트워크상의 장비들 간의 통신제어방법 및 이를 위한 장치
US7464183B1 (en) * 2003-12-11 2008-12-09 Nvidia Corporation Apparatus, system, and method to prevent address resolution cache spoofing
US7330456B2 (en) * 2003-12-19 2008-02-12 Mediatek, Inc. Method and apparatus for wireless relay within a network environment
KR20050079419A (ko) * 2004-02-05 2005-08-10 삼성전자주식회사 중복 주소 검출을 보장하는 방법 및 장치
JP2005236767A (ja) * 2004-02-20 2005-09-02 Ntt Docomo Inc 通信装置、中継装置及び通信システム並びに通信方法
KR100587560B1 (ko) * 2004-05-07 2006-06-08 삼성전자주식회사 링크 로컬 주소를 가지는 시스템에서 외부 시스템과통신하는 방법 및 장치
US20060085556A1 (en) * 2004-09-30 2006-04-20 Chueng-Hsien Lin Method and apparatus for accessing CDMA2000 networks
US20080008183A1 (en) * 2004-12-28 2008-01-10 Keiichi Takagaki Communication Device, Storage Medium, Integrated Circuit, and Communication System
US20060140177A1 (en) * 2004-12-28 2006-06-29 Nokia Corporation Method and device for setting a route for communication connection
US20070189218A1 (en) * 2006-02-11 2007-08-16 Yoshihiro Oba Mpa with mobile ip foreign agent care-of address mode
US7724754B2 (en) * 2006-02-24 2010-05-25 Texas Instruments Incorporated Device, system and/or method for managing packet congestion in a packet switching network
CN100438517C (zh) * 2006-04-30 2008-11-26 中国移动通信集团公司 家庭网关设备
US20070254677A1 (en) * 2006-05-01 2007-11-01 Motorola, Inc. Method and system to enable paging for mobile ip nodes
US7876765B2 (en) * 2006-09-29 2011-01-25 Intel Corporation Method for supporting IP network interconnectivity between partitions in a virtualized environment
US8194683B2 (en) * 2007-03-30 2012-06-05 Microsoft Corporation Teredo connectivity between clients behind symmetric NATs
CN101094236B (zh) * 2007-07-20 2011-08-10 华为技术有限公司 地址解析协议报文处理方法及通讯系统及转发平面处理器
CN101110821B (zh) * 2007-09-06 2010-07-07 华为技术有限公司 防止arp地址欺骗攻击的方法及装置
CN101170515B (zh) * 2007-12-04 2010-10-13 华为技术有限公司 一种处理报文的方法、系统和网关设备
EP2347560B1 (en) * 2008-10-15 2014-08-27 Telefonaktiebolaget L M Ericsson (PUBL) Secure access in a communication network
US7957374B2 (en) * 2008-10-22 2011-06-07 Fortinet, Inc. Mechanism for enabling layer two host addresses to be shielded from the switches in a network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827532A (zh) * 2016-05-12 2016-08-03 深圳市蜂联科技有限公司 一种路由器对中继器下挂sta真实mac的发现方法与转换方法
CN105827532B (zh) * 2016-05-12 2019-08-30 深圳市蜂联科技有限公司 一种路由器对中继器下挂sta真实mac的发现方法与转换方法
CN106161461A (zh) * 2016-08-29 2016-11-23 东软集团股份有限公司 一种arp报文的处理方法及装置
CN106161461B (zh) * 2016-08-29 2019-06-07 东软集团股份有限公司 一种arp报文的处理方法及装置

Also Published As

Publication number Publication date
EP2469787A1 (en) 2012-06-27
US20120144483A1 (en) 2012-06-07
EP2469787B1 (en) 2014-06-18
CN101997768B (zh) 2012-10-17
WO2011020254A1 (zh) 2011-02-24
EP2469787A4 (en) 2012-10-24

Similar Documents

Publication Publication Date Title
CN101997768B (zh) 一种上送地址解析协议报文的方法和装置
CN101110821B (zh) 防止arp地址欺骗攻击的方法及装置
US9712559B2 (en) Identifying frames
CN101179566B (zh) 一种防御arp报文攻击的方法和装置
JP6858749B2 (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
CN104780139B (zh) 一种基于mac地址攻击的防御方法和系统
CN100563149C (zh) 一种dhcp监听方法及其装置
CN103391272B (zh) 检测虚假攻击源的方法及系统
CN110493366B (zh) 一种接入点加入网络管理的方法及装置
US20080162516A1 (en) Relay apparatus and communication method
KR20170005129A (ko) 네트워크 패킷 캡슐화 및 라우팅
WO2016090995A1 (zh) 页面与长连接服务器间的通信方法及客户端
US8472420B2 (en) Gateway device
CN101800781A (zh) 一种穿越nat的隧道过渡方法及系统
CN101808097B (zh) 一种防arp攻击方法和设备
US9992159B2 (en) Communication information detecting device and communication information detecting method
CN106487807A (zh) 一种域名解析的防护方法和装置
CN104427004A (zh) 一种基于网络设备的arp报文管理方法
Thaler Privacy Considerations for IPv6 Adaptation-Layer Mechanisms
CN103581361A (zh) 一种域名解析代理方法、设备及系统
CN109246024B (zh) 一种组网中负载分担方法、装置、终端设备及存储介质
CN104092751B (zh) 一种业务访问方法和设备
CN109728972A (zh) 网络连接检测方法和装置
CN103023818A (zh) 媒体接入控制强制转发arp报文的方法及装置
CN107547691B (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: 20121017

Termination date: 20190821

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