CN108243262A - Arp表的学习方法、装置及网络三层设备 - Google Patents

Arp表的学习方法、装置及网络三层设备 Download PDF

Info

Publication number
CN108243262A
CN108243262A CN201611215968.1A CN201611215968A CN108243262A CN 108243262 A CN108243262 A CN 108243262A CN 201611215968 A CN201611215968 A CN 201611215968A CN 108243262 A CN108243262 A CN 108243262A
Authority
CN
China
Prior art keywords
address
service message
interface
arp
message
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
CN201611215968.1A
Other languages
English (en)
Other versions
CN108243262B (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment 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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201611215968.1A priority Critical patent/CN108243262B/zh
Publication of CN108243262A publication Critical patent/CN108243262A/zh
Application granted granted Critical
Publication of CN108243262B publication Critical patent/CN108243262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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]

Landscapes

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

Abstract

本发明提供一种ARP表的学习方法、装置及网络三层设备,其中,方法包括:若检测到网络三层设备的接口接收到待发送的业务报文且在其ARP表中没有查找到该业务报文的目标IP地址,则将该业务报文修改伪装成ARP请求报文并通过该接口对应源端口广播;接收ARP应答报文;根据ARP应答报文中的源IP地址和源MAC地址的对应关系,更新网络三层设备的接口的ARP表。本发明能够解决现有技术中在网络三层设备接口ARP表被老化、而主机协议栈ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题,可使报文转发的中断时间缩短到忽略不计,迅速实现协议栈ARP表和接口ARP表的同步,减少协议栈的开销。

Description

ARP表的学习方法、装置及网络三层设备
技术领域
本发明涉及通信技术领域,尤其涉及一种ARP表的学习方法、装置及网络三层设备。
背景技术
在三层路由设备的组网中,为了提升性能和可靠性,网络三层设备的接口的地址解析协议(Address Resolution Protocol,简称ARP)表和主机协议栈的ARP表一般来说是独立维护的,这样就会存在这两个ARP表在设备运行时的不一致情况,此种不一致在基本上均是ARP老化归零导致的ARP表不一致。
目前,在业界通用的做法包括:一、如果主机协议栈ARP表老化丢失,主机协议栈在进行相关三层报文处理时会立即发起标准ARP协议流程重新学习,更新ARP表;二、如果是接口ARP表丢失,此时处理方式较为复杂,正常的无ARP协议流程将此报文交送主机协议栈时,因为主机协议栈此时的ARP表存在且正确,其并不会发起ARP协议流程重新学习,此时接口的ARP表无法正常通过正常的协议流程获取到进行更新,其标准做法是在协议栈定时启用定时器进行ARP的定时重新学习流程,重新让接口更新ARP表。
但是,现有技术中利用定时器间隙的三层报文处理存在以下缺点:一、相关接口业务转发报文可能中断时间过长。二、协议栈可能会收到大量接口上报的报文,虽然协议栈认为这些报文为正常报文,但是会加大协议栈的开销。
鉴于此,网络三层设备如何进行ARP表的学习,以解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时转发过程中中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题成为目前需要解决的技术问题。
发明内容
为解决上述的技术问题,本发明提供一种ARP表的学习方法、装置及网络三层设备,能够解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题。
第一方面,本发明提供一种ARP表的学习方法,包括:
若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;
将所述ARP请求报文通过所述接口的对应源端口进行广播;
接收所述ARP请求报文的ARP应答报文;
根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
可选地,所述将所述业务报文修改伪装成ARP请求报文,包括:
获取所述业务报文的目的MAC地址,获取所述业务报文的下一跳IP地址,以及获取所述业务报文的下一跳IP地址对应接口上的接口IP地址;
将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;
将所述业务报文中的目的MAC地址修改为广播MAC地址;
将所述业务报文中的类型修改为ARP请求报文类型;
将所述业务报文的长度修改为ARP请求报文默认长度;
将所述业务报文中的数据修改为ARP报文;
将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;
将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;
将所述ARP报文的目的MAC地址设置为全0;
将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
可选地,所述获取所述业务报文的下一跳IP地址,包括:
获取所述业务报文的目的IP地址;
根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
可选地,所述获取所述业务报文的下一跳IP地址对应接口上的接口IP地址,包括:
在获得所述业务报文的下一跳IP地址之后,将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
第二方面,本发明提供一种ARP表的学习装置,包括:
修改模块,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;
广播模块,用于将所述ARP请求报文通过所述接口的对应源端口进行广播;
接收模块,用于接收所述ARP请求报文的ARP应答报文;
更新模块,用于根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
可选地,所述修改模块,包括:
第一获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的MAC地址;
第二获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址;
第三获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址对应接口上的接口IP地址;
修改单元,用于将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;将所述业务报文中的目的MAC地址修改为广播MAC地址;将所述业务报文中的类型修改为ARP请求报文类型;将所述业务报文的长度修改为ARP请求报文默认长度;将所述业务报文中的数据修改为ARP报文;将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;将所述ARP报文的目的MAC地址设置为全0;将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
可选地,所述第二获取单元,具体用于
若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的IP地址,根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
可选地,所述第三获取单元,具体用于
在获得所述业务报文的下一跳IP地址之后,将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
第三方面,本发明提供一种网络三层设备,包括:上述ARP表的学习装置。
由上述技术方案可知,本发明的ARP表的学习方法、装置及网络三层设备,通过若检测到网络三层设备的接口接收到待发送的业务报文、且在该接口的ARP表中没有查找到该业务报文的目标IP地址,则将该业务报文修改伪装成ARP请求报文;将ARP请求报文通过该接口的对应源端口进行广播,并接收其ARP应答报文;根据ARP应答报文中的源IP地址和源MAC地址的对应关系,更新网络三层设备的接口的ARP表,由此,能够解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题,可使报文转发的中断时间缩短到忽略不计,简化处理流程,迅速实现主机协议栈的ARP表和网络三层设备接口的ARP表的同步,减少主机协议栈的开销。
附图说明
图1为本发明一实施例提供的ARP表的学习方法的流程示意图;
图2为本发明一实施例提供的ARP表的学习装置的结构示意图;
图3为本发明一实施例提供的网络三层设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的ARP表的学习方法的流程示意图,本实施例中,所述ARP表的学习方法应用于网络三层设备,如图1所示,本实施例的ARP表的学习方法如下所述。
101、若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标网络之间互连的协议(Internet Protocol,简称IP)地址,则将所述业务报文修改伪装成ARP请求报文。
在具体应用中,所述步骤101中的“将所述业务报文修改伪装成ARP请求报文”,可以包括图中未示出的步骤S1和S2:
S1、获取所述业务报文的目的媒体访问控制(Media Access Control或者MediumAccess Control,简称MAC)地址,获取所述业务报文的下一跳IP地址,以及获取所述业务报文的下一跳IP地址对应接口上的接口IP地址。
具体地,在所述步骤S1中,可以先获取所述业务报文的目的IP地址,再根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
进一步地,所述步骤S1在获得所述业务报文的下一跳IP地址之后,可以将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
S2、将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;将所述业务报文中的目的MAC地址修改为广播MAC地址(即将所述业务报文中的目的MAC地址修改为全F);将所述业务报文中的类型修改为ARP请求报文类型;将所述业务报文的长度修改为ARP请求报文默认长度;将所述业务报文中的数据修改为ARP报文;将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;将所述ARP报文的目的MAC地址设置为全0;将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
举例来说,如果所述业务报文中的类型为IPV4(网际协议版本4)的0800,那么所述步骤S2在将所述业务报文中的类型修改为ARP请求报文类型时,可以将上述0800修改为ARP请求报文类型的0806。
102、将所述ARP请求报文通过所述接口的对应源端口进行广播。
可以理解的是,在所述步骤102进行广播之后,网络中的所有主机均可以接收到所述ARP请求报文,当网络中的某一主机的协议栈接收到网络三层设备的接口广播的ARP请求报文之后,会判断所述ARP请求报文中的目的IP地址与自己的IP地址是否一致;
如果所述ARP请求报文中的目标IP地址与自己的IP地址不一致,则将所述ARP请求报文丢弃;
如果所述ARP请求报文中的目的IP地址与自己的IP地址一致,则向所述网络三层设备的接口单播所述ARP请求报文的ARP应答报文(所述ARP应答报文中的源IP地址为该主机的IP地址,所述ARP应答报文中的源MAC地址为该主机的MAC地址),同时根据所述ARP请求报文中的源IP地址与源MAC地址的对应关系,更新该主机的协议栈的ARP表。
103、接收所述ARP请求报文的ARP应答报文。
104、根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
本实施例的ARP表的学习方法,通过若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;将所述ARP请求报文通过所述接口的对应源端口进行广播;接收所述ARP请求报文的ARP应答报文;根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。本实施例所述方法,在不改变组网的情况下,将待发送的业务报文不交由主机协议栈处理,而在网络三层设备接口处作修改处理,将网络三层设备接口的无ARP协议流程伪装成协议栈ARP处理流程,进行ARP学习,能够解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题,可使报文转发的中断时间缩短到忽略不计,保证网络三层设备接口业务尽快回复,简化处理流程,迅速实现主机协议栈的ARP表和网络三层设备接口的ARP表的同步,减少主机协议栈的开销。
图2示出了本发明一实施例提供的ARP表的学习装置的结构示意图,如图2所示,本实施例的ARP表的学习装置,包括:修改模块21、广播模块22、接收模块23和更新模块24;其中:
修改模块21,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;
广播模块22,用于将所述ARP请求报文通过所述接口的对应源端口进行广播;
接收模块23,用于接收所述ARP请求报文的ARP应答报文;
更新模块24,用于根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
在具体应用中,所述修改模块,包括图中未示出的:
第一获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的MAC地址;
第二获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址;
第三获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址对应接口上的接口IP地址;
修改单元,用于将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;将所述业务报文中的目的MAC地址修改为广播MAC地址;将所述业务报文中的类型修改为ARP请求报文类型;将所述业务报文的长度修改为ARP请求报文默认长度;将所述业务报文中的数据修改为ARP报文;将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;将所述ARP报文的目的MAC地址设置为全0;将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
进一步地,所述第二获取单元,可具体用于
若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的IP地址,根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
进一步地,所述第三获取单元,可具体用于
在获得所述业务报文的下一跳IP地址之后,将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
本实施例的ARP表的学习装置,能够解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题,可使报文转发的中断时间缩短到忽略不计,保证网络三层设备接口业务尽快回复,简化处理流程,迅速实现主机协议栈的ARP表和网络三层设备接口的ARP表的同步,减少主机协议栈的开销。
本实施例的ARP表的学习装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图3示出了本发明一实施例提供的网络三层设备的结构示意图,如图3所示,本实施例的网络三层设备,包括:图2所示实施例所述的ARP表的学习装置。
本实施例的网络三层设备,能够解决现有技术中在网络三层设备接口的ARP表被老化、而主机协议栈的ARP表未被老化时报文转发可能中断时间过长及主机协议栈接收的报文过多而导致开销过大的问题,可使报文转发的中断时间缩短到忽略不计,保证网络三层设备接口业务尽快回复,简化处理流程,迅速实现主机协议栈的ARP表和网络三层设备接口的ARP表的同步,减少主机协议栈的开销。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

Claims (9)

1.一种ARP表的学习方法,其特征在于,包括:
若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;
将所述ARP请求报文通过所述接口的对应源端口进行广播;
接收所述ARP请求报文的ARP应答报文;
根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
2.根据权利要求1所述的方法,其特征在于,所述将所述业务报文修改伪装成ARP请求报文,包括:
获取所述业务报文的目的MAC地址,获取所述业务报文的下一跳IP地址,以及获取所述业务报文的下一跳IP地址对应接口上的接口IP地址;
将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;
将所述业务报文中的目的MAC地址修改为广播MAC地址;
将所述业务报文中的类型修改为ARP请求报文类型;
将所述业务报文的长度修改为ARP请求报文默认长度;
将所述业务报文中的数据修改为ARP报文;
将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;
将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;
将所述ARP报文的目的MAC地址设置为全0;
将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
3.根据权利要求2所述的方法,其特征在于,所述获取所述业务报文的下一跳IP地址,包括:
获取所述业务报文的目的IP地址;
根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
4.根据权利要求3所述的方法,其特征在于,所述获取所述业务报文的下一跳IP地址对应接口上的接口IP地址,包括:
在获得所述业务报文的下一跳IP地址之后,将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
5.一种ARP表的学习装置,其特征在于,包括:
修改模块,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则将所述业务报文修改伪装成ARP请求报文;
广播模块,用于将所述ARP请求报文通过所述接口的对应源端口进行广播;
接收模块,用于接收所述ARP请求报文的ARP应答报文;
更新模块,用于根据所述ARP应答报文中的源IP地址和源MAC地址的对应关系,更新所述网络三层设备的接口的ARP表。
6.根据权利要求5所述的网络三层设备,其特征在于,所述修改模块,包括:
第一获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的MAC地址;
第二获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址;
第三获取单元,用于若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的下一跳IP地址对应接口上的接口IP地址;
修改单元,用于将所述业务报文中的源MAC地址修改为所述业务报文的目的MAC地址;将所述业务报文中的目的MAC地址修改为广播MAC地址;将所述业务报文中的类型修改为ARP请求报文类型;将所述业务报文的长度修改为ARP请求报文默认长度;将所述业务报文中的数据修改为ARP报文;将所述ARP报文的发送方MAC地址设置为所述业务报文的目的MAC地址;将所述ARP报文的发送方IP地址设置为所述业务报文的下一跳IP地址对应接口上的接口IP地址;将所述ARP报文的目的MAC地址设置为全0;将所述ARP报文的目的IP地址设置为所述业务报文的下一跳IP地址。
7.根据权利要求6所述的网络三层设备,其特征在于,所述第二获取单元,具体用于
若检测到网络三层设备的接口接收到待发送的业务报文、且在所述接口的ARP表中没有查找到所述业务报文的目标IP地址,则获取所述业务报文的目的IP地址,根据所述业务报文的目的IP地址,在所述网络三层设备预先存储的路由表中进行查找,获得所述业务报文的下一跳IP地址。
8.根据权利要求7所述的网络三层设备,其特征在于,所述第三获取单元,具体用于
在获得所述业务报文的下一跳IP地址之后,将所述业务报文的下一跳IP地址作为最长匹配,在所述网络三层设备预先存储的端口的接口IP表中进行查找,获得所述业务报文的下一跳IP地址对应接口上的接口IP地址。
9.一种网络三层设备,其特征在于,包括:权利要求5-8中任一项所述的ARP表的学习装置。
CN201611215968.1A 2016-12-26 2016-12-26 Arp表的学习方法、装置及网络三层设备 Active CN108243262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611215968.1A CN108243262B (zh) 2016-12-26 2016-12-26 Arp表的学习方法、装置及网络三层设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611215968.1A CN108243262B (zh) 2016-12-26 2016-12-26 Arp表的学习方法、装置及网络三层设备

Publications (2)

Publication Number Publication Date
CN108243262A true CN108243262A (zh) 2018-07-03
CN108243262B CN108243262B (zh) 2020-04-21

Family

ID=62704933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611215968.1A Active CN108243262B (zh) 2016-12-26 2016-12-26 Arp表的学习方法、装置及网络三层设备

Country Status (1)

Country Link
CN (1) CN108243262B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816897A (zh) * 2019-02-27 2019-05-28 北京三快在线科技有限公司 一种访问数据的方法、装置、设备及存储介质
CN110247851A (zh) * 2019-06-28 2019-09-17 北京东土军悦科技有限公司 三层交换机中的信息更新方法、装置、三层交换机及介质
CN110868479A (zh) * 2018-08-27 2020-03-06 北京淳中科技股份有限公司 一种设备寻址方法、装置和系统
CN110912997A (zh) * 2019-11-26 2020-03-24 杭州迪普科技股份有限公司 一种三角组网Loopback接口的检查方法及装置
CN112311905A (zh) * 2019-07-29 2021-02-02 烽火通信科技股份有限公司 一种实现动态arp学习的方法及设备
CN112532526A (zh) * 2020-11-30 2021-03-19 迈普通信技术股份有限公司 数据转发方法、装置及网络设备
CN113630322A (zh) * 2021-08-02 2021-11-09 迈普通信技术股份有限公司 网络割接方法、装置、网络设备及计算机可读存储介质
CN113810511A (zh) * 2021-08-06 2021-12-17 锐捷网络股份有限公司 Arp表的更新方法及装置
CN114567614A (zh) * 2022-03-07 2022-05-31 江苏新质信息科技有限公司 基于fpga实现arp协议处理的方法及装置
CN115242895A (zh) * 2022-07-19 2022-10-25 杭州迪普科技股份有限公司 基于dpdk的访问本机方法和装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128294A (en) * 1996-04-05 2000-10-03 Hitachi, Ltd. Network connecting apparatus
US20060088037A1 (en) * 2004-10-21 2006-04-27 International Business Machines Corporation Preventing asynchronous ARP cache poisoning of multiple hosts
CN1992672A (zh) * 2005-12-27 2007-07-04 中兴通讯股份有限公司 一种防止由于地址老化时间不一致导致网络中断的方法
CN101159619A (zh) * 2007-11-20 2008-04-09 杭州华三通信技术有限公司 Arp表项的快速添加方法、装置及交换设备
US20090222548A1 (en) * 2003-07-11 2009-09-03 Gopal Dommety Method and Apparatus for Restricting Address Resolution Protocol Table Updates
CN101572648A (zh) * 2008-05-04 2009-11-04 华为技术有限公司 一种QinQ内广播的实现方法和装置
CN101594375A (zh) * 2008-05-30 2009-12-02 华为技术有限公司 Arp代理的方法及arp代理设备
CN102075591A (zh) * 2010-12-21 2011-05-25 华为技术有限公司 获取介质访问控制地址的方法、装置和系统
CN102355417A (zh) * 2011-10-08 2012-02-15 杭州华三通信技术有限公司 一种数据中心二层互联方法和装置
CN103873368A (zh) * 2012-12-11 2014-06-18 杭州华三通信技术有限公司 以太网报文转发方法和接入设备
CN104883410A (zh) * 2015-05-21 2015-09-02 深圳颐和网络科技有限公司 一种网络传输方法和网络传输装置
EP2984797A1 (en) * 2013-04-19 2016-02-17 Entuity Limited Querying a traffic forwarding table
US20160301655A1 (en) * 2015-04-07 2016-10-13 Nicira, Inc. Address resolution protocol suppression using a flow-based forwarding element

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128294A (en) * 1996-04-05 2000-10-03 Hitachi, Ltd. Network connecting apparatus
US20090222548A1 (en) * 2003-07-11 2009-09-03 Gopal Dommety Method and Apparatus for Restricting Address Resolution Protocol Table Updates
US20060088037A1 (en) * 2004-10-21 2006-04-27 International Business Machines Corporation Preventing asynchronous ARP cache poisoning of multiple hosts
CN1992672A (zh) * 2005-12-27 2007-07-04 中兴通讯股份有限公司 一种防止由于地址老化时间不一致导致网络中断的方法
CN101159619A (zh) * 2007-11-20 2008-04-09 杭州华三通信技术有限公司 Arp表项的快速添加方法、装置及交换设备
CN101572648A (zh) * 2008-05-04 2009-11-04 华为技术有限公司 一种QinQ内广播的实现方法和装置
CN101594375A (zh) * 2008-05-30 2009-12-02 华为技术有限公司 Arp代理的方法及arp代理设备
CN102075591A (zh) * 2010-12-21 2011-05-25 华为技术有限公司 获取介质访问控制地址的方法、装置和系统
CN102355417A (zh) * 2011-10-08 2012-02-15 杭州华三通信技术有限公司 一种数据中心二层互联方法和装置
CN103873368A (zh) * 2012-12-11 2014-06-18 杭州华三通信技术有限公司 以太网报文转发方法和接入设备
EP2984797A1 (en) * 2013-04-19 2016-02-17 Entuity Limited Querying a traffic forwarding table
US20160301655A1 (en) * 2015-04-07 2016-10-13 Nicira, Inc. Address resolution protocol suppression using a flow-based forwarding element
CN104883410A (zh) * 2015-05-21 2015-09-02 深圳颐和网络科技有限公司 一种网络传输方法和网络传输装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110868479A (zh) * 2018-08-27 2020-03-06 北京淳中科技股份有限公司 一种设备寻址方法、装置和系统
CN109816897A (zh) * 2019-02-27 2019-05-28 北京三快在线科技有限公司 一种访问数据的方法、装置、设备及存储介质
CN110247851A (zh) * 2019-06-28 2019-09-17 北京东土军悦科技有限公司 三层交换机中的信息更新方法、装置、三层交换机及介质
CN110247851B (zh) * 2019-06-28 2022-01-21 北京东土军悦科技有限公司 三层交换机中的信息更新方法、装置、三层交换机及介质
CN112311905A (zh) * 2019-07-29 2021-02-02 烽火通信科技股份有限公司 一种实现动态arp学习的方法及设备
CN112311905B (zh) * 2019-07-29 2022-11-25 烽火通信科技股份有限公司 一种实现动态arp学习的方法及设备
CN110912997A (zh) * 2019-11-26 2020-03-24 杭州迪普科技股份有限公司 一种三角组网Loopback接口的检查方法及装置
CN110912997B (zh) * 2019-11-26 2022-07-29 杭州迪普科技股份有限公司 一种三角组网Loopback接口的检查方法及装置
CN112532526A (zh) * 2020-11-30 2021-03-19 迈普通信技术股份有限公司 数据转发方法、装置及网络设备
CN112532526B (zh) * 2020-11-30 2022-05-17 迈普通信技术股份有限公司 数据转发方法、装置及网络设备
CN113630322A (zh) * 2021-08-02 2021-11-09 迈普通信技术股份有限公司 网络割接方法、装置、网络设备及计算机可读存储介质
CN113810511A (zh) * 2021-08-06 2021-12-17 锐捷网络股份有限公司 Arp表的更新方法及装置
CN113810511B (zh) * 2021-08-06 2024-03-19 锐捷网络股份有限公司 Arp表的更新方法及装置
CN114567614A (zh) * 2022-03-07 2022-05-31 江苏新质信息科技有限公司 基于fpga实现arp协议处理的方法及装置
CN114567614B (zh) * 2022-03-07 2023-06-23 江苏新质信息科技有限公司 基于fpga实现arp协议处理的方法及装置
CN115242895A (zh) * 2022-07-19 2022-10-25 杭州迪普科技股份有限公司 基于dpdk的访问本机方法和装置
CN115242895B (zh) * 2022-07-19 2023-04-18 杭州迪普科技股份有限公司 基于dpdk的访问本机方法和装置

Also Published As

Publication number Publication date
CN108243262B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
CN108243262A (zh) Arp表的学习方法、装置及网络三层设备
CN106878166B (zh) 路由通告方法及装置
CN108173691B (zh) 一种跨设备聚合的方法及装置
US20160173415A1 (en) Issuing method for forwarding adjacency link
CN107547349A (zh) 一种虚拟机迁移的方法及装置
CN103118149B (zh) 同一租户内服务器间的通信控制方法及网络设备
CN106059923B (zh) 一种报文转发方法及装置
US10574570B2 (en) Communication processing method and apparatus
WO2014114228A1 (en) Item aggregation in shortest path bridging mac-in-mac mode (spbm) network
US8472420B2 (en) Gateway device
CN109412949B (zh) 一种数据报文传输方法和装置
CN103441932A (zh) 一种主机路由表项生成方法及设备
CN103731349A (zh) 一种以太网虚拟化互联邻居间报文转发方法和边缘设备
CN107547346B (zh) 一种报文传输方法和装置
CN105704029A (zh) 伪线建立方法、系统及设备
CN109728972B (zh) 网络连接检测方法和装置
CN106161227A (zh) 一种报文转发方法及装置
CN105530159B (zh) 一种实现跨IPv6和IPv4的VPN互访的方法和系统
US9106445B2 (en) Virtual extended network
CN108540386B (zh) 一种防止业务流中断方法及装置
CN108667732A (zh) 一种报文转发方法及装置
CN104363084A (zh) 一种链路状态同步方法及装置
CN103634214A (zh) 一种路由信息生成方法及装置
CN102647328B (zh) 一种标签分配方法、设备与系统
WO2007144788A3 (en) Lan topology detection and assignment of addresses

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