一种配置地址解析协议arp表项的方法和装置的制作方法

文档序号:7628067阅读:127来源:国知局
专利名称:一种配置地址解析协议arp表项的方法和装置的制作方法
技术领域
本发明属于通信技术领域,具体涉及一种配置ARP(AddreSS Resolutiorfrotocol,地址解析协议)表项的方法和装置。
背景技术
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC(Media Access Control,介质访问控制)地址。而在 IPdnternet Protocol,因特网协议)协议栈中,网络层和传输层只关心目标主机的IP地址,这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目标主机的IP地址。于是需要根据目标主机的IP地址,获得其MAC地址, 这就是ARP实现的功能。在IP网络中,路由器作为基本网元,承担着传递IP报文的角色。路由器接收到数据包之后,去掉数据链路帧的报头,根据目标IP地址搜索路由表,找到下一跳地址或直连接口,然后将数据包重新进行封装并使用二层寻址,此时路由器将根据其上配置的ARP表项获知到下一跳接口的MAC地址,从而将三层地址(IP地址)映射到二层地址(MAC地址), 并在出接口将带有下一跳接口设备的二层地址的帧放在传输线上完成数据包的转发。但是作为一个网络设备,路由器只感知到自己接口上配置的地址,如果要想知道几跳以外的网络地址的哪个接口可达,就必须依靠路由协议。ISISantermediate System to Intermediate System,中间系统到中间系统)协议即是专门为了解决路由学习而创造的协议。假设网络中所有的路由器均运行ISIS协议,那么相邻的路由器就会建立邻居关系,并把自己相邻的邻居的信息和可直接到达的IP地址在自制系统(Autonomous System, AS)内泛洪。路由器会收到AS内其他路由器泛洪的这些信息,然后结合自己的链路信息,就会合成网络的拓扑图,然后通过SPFGhortest Path First,最短路径优先)算法,生成一个到达网络中各个路由器的最短路径图,进而计算得出到达各个IP地址的路由信息。由于ISIS协议属于二层协议,运行ISIS协议的路由器在邻居建立的过程中不会发送三层协议的IP报文,无法触发ARP表项的学习,因此在完成邻居路由计算时,由于没有对应的ARP表项,从而邻居路由器进行第一次流量转发时就会出现部分流量丢失。

发明内容
本发明实施例提供一种配置ARP表项的方法和装置,能够避免邻居路由器进行第一次流量转发出现部分流量丢失的问题。本发明实施例采用如下技术方案一种配置ARP表项的方法,包括第一路由器判断与第二路由器邻居可达时,获取配置ARP表项需要的信息;所述第一路由器与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。
一种路由设备,包括获取单元,用于判断与相邻路由器邻居可达时,获取配置ARP表项需要的信息;配置单元,用于与所述相邻路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。由本发明实施例的上述技术方案可知,第一路由器在判断与第二路由器邻居可达时,通过获取配置ARP表项需要的信息,并在与所述第二路由器进行邻居路由计算期间,根据获取到的信息配置ARP表项,从而所述第一路由器与所述第二路由器在完成邻居建立时,第一路由器与第二路由器上的ARP表项的配置已经完成,可以正常转发IP流量,因此避免了邻居路由器进行第一次流量转发出现的部分流量丢失的问题。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍。图1为本发明实施例提供的配置ARP表项的方法示意图;图2为本发明实施例提供的以太网中两个相邻路由器A和B建立邻居的过程示意图;图3为本发明实施例提供的配置ARP表项的一种方式的过程示意图;图4为本发明实施例提供的配置ARP表项的另一种方式的过程示意图;图5为本发明实施例提供的配置ARP表项的装置的示意图。
具体实施例方式参见图1,本发明实施例提供的配置ARP表项的方法,包括11,第一路由器判断与第二路由器邻居可达时,获取配置ARP表项需要的信息;12,所述第一路由器与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。参见图2,图2为本发明实施例提供的以太网中两个相邻路由器A和B建立邻居的过程示意图。在路由器A和B上分别运行ISIS协议,路由器A在判断与路由器B邻居可达 (UP)时,获取配置ARP表项需要的信息,并在路由器A与路由器B进行邻居路由计算期间, 根据获取到的信息配置ARP表项,从而路由器A与路由器B在完成邻居建立时,邻居路由器 A和B链路上的ARP表项的配置已经完成,可以正常转发IP流量,因此可以避免邻居路由器进行第一次流量转发出现部分流量丢失的问题。第一路由器在判断与第二路由器邻居可达时,可以采用下述两种方式中的一种配置ARP表项方式一通过发送二层协议的ARP请求报文;方式二通过发送三次协议的HELLO 报文。下面对这两种方式分别进行说明。方式一通过发送ARP请求报文配置ARP表项。仍以图2所示的以太网中两个相邻路由器A和B为例。路由器A和B上分别运行 ISIS协议,在路由器A通过ISIS协议判断可以与路由器B邻居可达时,路由器A可以获取路由器B的IP地址信息,再加上自身邻居路由器的IP地址和MAC地址,就可以通过发送二层协议的ARP请求报文的方式来配置ARP表项。举例来说,参见图3,图3为本发明实施例提供的配置ARP表项的一种方式的过程示意图,包括31,路由器A以广播方式发送ARP请求报文,所述ARP请求报文的目的IP地址是路由器B的IP地址,目的MAC地址是广播地址,所述ARP请求报文中携带路由器A的IP地址和路由器A的MAC地址;举例来说,路由器A可以将路由器A的IP地址和路由器A的MAC地址封装在上述 ARP请求报文的内容中,将路由器B的IP地址封装在上述ARP请求报文的报文头中。32,路由器B收到所述ARP请求报文后,确定自身的IP地址是否为上述ARP请求报文的目的IP地址,当确定自身的IP地址是上述ARP请求报文的目的IP地址时,从上述 ARP请求报文中获取路由器A的IP地址和路由器A的MAC地址并将获取到的信息添加到路由器B的ARP表项中。 举例来说,路由器B根据上述ARP请求报文的报文头中封装的IP地址确定自身的 IP地址即是上述ARP请求报文的目的IP地址时,从上述ARP请求报文的内容中获取路由器 A的IP地址和路由器A的MAC地址并添加到自身的ARP表项中。33,当路由器B确定自身的IP地址是上述ARP请求报文的目的IP地址时,路由器 B以单播方式向路由器A发送ARP应答报文,所述ARP应答报文的目的IP地址为路由器A 的IP地址,目的MAC地址为路由器A的MAC地址,所述ARP应答报文携带路由器B的IP地址和路由器B的MAC地址;举例来说,路由器B将路由器B的IP地址和路由器B的MAC地址封装在所述ARP 应答报文的内容中,将路由器A的IP地址和路由器A的MAC地址封装在ARP应答报文的报文头中。34,路由器A收到所述ARP应答报文后,从上述ARP应答报文中获取路由器B的IP 地址和路由器B的MAC地址并将获取到的信息添加到路由器A的ARP表项中。举例来说,路由器A从上述ARP应答报文的内容中获取路由器B的IP地址和路由器B的MAC地址并添加到自身的ARP表项中。至此,路由器A和路由器B分别完成了自身ARP表项的配置。由于广播网相邻路由器A和B从邻居可达到完成邻居路由计算,期间包括完成 DIS (Designated Intermediate System 指定中间系统)选举,至少需要两个 hello timer 超时的时间(默认为20秒),通常来说,这个时间足以可以完成相邻路由器A和B的ARP表项学习的过程,也即是说,完成发送ARP请求报文获取配置ARP表项需要的信息,以及根据接收的ARP应答报文配置ARP表项的过程,从而当路由器A和B完成邻居建立时,由于此时邻居路由器上的ARP表项的配置已经完成,可以正常转发IP流量,因此可以避免进行第一次流量转发出现的部分流量丢失的问题。方式二 通过发送HELLO报文配置ARP表项。仍以图2所示的以太网中两个相邻路由器A和B为例。路由器A和B上分别运行 ISIS协议,在路由器A通过ISIS协议判断可以与路由器B邻居可达时,路由器A可以获取路由器B的IP地址信息,路由器B也可以获取路由器A的IP地址信息,再加上本端接口的 IP地址和MAC地址已知,就可以通过发送三层协议的HELLO报文的方式来配置ARP表项。 举例来说,参见图4,图4为本发明实施例提供的配置ARP表项的另一种方式的过程示意图, 包括
41,路由器A向路由器B的IP地址发送第一 HELLO报文,在所述第一 HELLO报文中携带路由器A的IP地址和路由器A的MAC地址。42,路由器B收到路由器A发送的所述第一 HELLO报文后,从所述第一 HELLO报文获取路由器A的IP地址和路由器A的MAC地址并将获取到的信息添加到自身的ARP表项中。43,路由器B向路由器A的IP地址发送第二 HELLO报文,在所述第二 HELLO报文中携带路由器B的IP地址和路由器B的MAC地址。44,路由器A收到路由器B发送的所述第二 HELLO报文后,从所述第二 HELLO报文获取路由器B的IP地址和路由器B的MAC地址并将获取到的信息添加到自身的ARP表项中。需要说明的是,步骤41和42可以与步骤43和44并行,不分先后。至此,路由器 A和路由器B分别完成了自身ARP表项的配置。图4所示实施例通过广播网相邻路由器A和B的Hello报文的交互,获取到对端的IP地址和MAC地址,可以替代ARP表项学习过程,来完成ARP表项的添加。从而当路由器A和B完成邻居建立时,由于此时邻居路由器上的ARP表项的配置已经完成,可以正常转发IP流量,因此可以避免进行第一次流量转发出现的部分流量丢失的问题。参见图5,本发明实施例提供的路由设备,包括获取单元51,用于判断与相邻路由器邻居可达时,获取配置ARP表项需要的信息;配置单元52,用于与所述相邻路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。一种实施方式,所述获取单元51可以包括请求模块,用于以广播方式发送ARP请求报文,所述ARP请求报文的目的IP地址为所述相邻路由器的IP地址,目的MAC地址为广播地址,所述ARP请求报文中携带所述路由设备的IP地址和所述路由设备的MAC地址;接收模块,用于接收所述相邻路由器以单播方式发送的ARP应答报文,所述ARP应答报文的目的IP地址为所述路由设备的IP地址,目的MAC地址为所述路由设备的MAC地址,所述ARP应答报文中携带所述相邻路由器的IP地址和所述相邻路由器的MAC地址;获取模块,用于从所述接收模块接收的所述ARP应答报文中获取所述相邻路由器的IP地址和所述相邻路由器的MAC地址。在该实施方式下,所述配置单元包括配置模块,所述配置模块用于将从所述获取模块获取的所述相邻路由器的IP地址和所述相邻路由器的MAC地址添加到所述路由设备的ARP表项中。另一种实施方式,所述获取单元51可以包括接收模块,用于接收所述相邻路由器向所述路由设备的IP地址发送的HELLO报文,在所述HELLO报文中携带所述相邻路由器的IP地址和所述相邻路由器的MAC地址;获取模块,用于从所述接收模块接收的所述HELLO报文中获取所述相邻路由器的 IP地址和所述相邻路由器的MAC地址。在该实施方式下,所述配置单元包括配置模块,所述配置模块用于将从所述获取模块获取的所述相邻路由器的IP地址和所述相邻路由器的MAC地址添加到所述路由设备的ARP表项中。由上述本发明实施例的路由设备可知,在判断与相邻路由器邻居可达时,通过获取单元51获取配置ARP表项需要的信息,并与所述相邻路由器进行邻居路由计算期间,由配置单元52根据获取到的信息配置ARP表项,从而与相邻路由器在完成邻居建立时,邻居路由器上的ARP表项的配置已经完成,可以正常转发IP流量,因此可以避免邻居路由器进行第一次流量转发出现的部分流量丢失的问题。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求为准。
权利要求
1.一种配置地址解析协议ARP表项的方法,其特征在于,包括第一路由器判断与第二路由器邻居可达时,获取配置ARP表项需要的信息; 所述第一路由器与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置 ARP表项需要的信息配置ARP表项。
2.根据权利要求1所述的方法,其特征在于,所述第一路由器判断与第二路由器邻居可达时,获取配置ARP表项需要的信息包括所述第一路由器以广播方式发送ARP请求报文,所述ARP请求报文的目的互联网协议 IP地址为所述第二路由器的IP地址,目的介质访问控制MAC地址为广播地址,所述ARP请求报文中携带所述第一路由器的IP地址和所述第一路由器的MAC地址;所述第一路由器接收所述第二路由器以单播方式发送的ARP应答报文,所述ARP应答报文的目的IP地址为所述第一路由器的IP地址,目的MAC地址为所述第一路由器的MAC 地址,所述ARP应答报文中携带所述第二路由器的IP地址和所述第二路由器的MAC地址; 所述第一路由器从所述ARP应答报文中获取所述第二路由器的IP地址和所述第二路由器的MAC地址。
3.根据权利要求2所述的方法,其特征在于,所述第一路由器与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项包括所述第一路由器将从所述ARP应答报文中获取的所述第二路由器的IP地址和所述第二路由器的MAC地址添加到所述第一路由器的ARP表项中;和所述第二路由器在确定自身的IP地址为所述ARP请求报文的目标IP地址后,将从所述ARP请求报文中获取的所述第一路由器的IP地址和所述第一路由器的MAC地址添加到所述第二路由器的ARP表项中。
4.根据权利要求1所述的方法,其特征在于,所述第一路由器判断与第二路由器邻居可达时,获取配置ARP表项需要的信息包括所述第一路由器向所述第二路由器的IP地址发送第一 HELLO报文,所述第一 HELLO报文中携带所述第一路由器的IP地址和所述第一路由器的MAC地址;以及,所述第一路由器接收所述第二路由器向所述第一路由器的IP地址发送的第二 HELLO 报文,所述第二 HELLO报文中携带所述第二路由器的IP地址和所述第二路由器的MAC地址;所述第一路由器从所述第二 HELLO报文中获取所述第二路由器的IP地址和所述第二路由器的MAC地址。
5.根据权利要求4所述的方法,其特征在于,所述第一路由器与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项包括所述第一路由器将从所述第二 HELLO报文中获取的所述第二路由器的IP地址和所述第二路由器的MAC地址添加到所述第一路由器的ARP表项中;和所述第二路由器将从所述第一 HELLO报文中获取的所述第一路由器的IP地址和所述第一路由器的MAC地址添加到所述第二路由器的ARP表项中。
6.一种路由设备,其特征在于,包括获取单元,用于判断与相邻路由器邻居可达时,获取配置ARP表项需要的信息; 配置单元,用于与所述相邻路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。
7.根据权利要求6所述的路由设备,其特征在于,所述获取单元包括请求模块,用于以广播方式发送ARP请求报文,所述ARP请求报文的目的IP地址为所述相邻路由器的互联网协议IP地址,目的介质访问控制MAC地址为广播地址,所述ARP请求报文中携带所述路由设备的IP地址和所述路由设备的MAC地址;接收模块,用于接收所述相邻路由器以单播方式发送的ARP应答报文,所述ARP应答报文的目的IP地址为所述路由设备的IP地址,目的MAC地址为所述路由设备的MAC地址,所述ARP应答报文中携带所述相邻路由器的IP地址和所述相邻路由器的MAC地址;获取模块,用于从所述接收模块接收的所述ARP应答报文中获取所述相邻路由器的IP 地址和所述相邻路由器的MAC地址。
8.根据权利要求7所述的路由设备,其特征在于,所述配置单元包括配置模块,所述配置模块用于将所述获取模块获取的所述相邻路由器的IP地址和所述相邻路由器的MAC地址添加到所述路由设备的ARP表项中。
9.根据权利要求6所述的路由设备,其特征在于,所述获取单元包括接收模块,用于接收所述相邻路由器向所述路由设备的IP地址发送的HELLO报文,在所述HELLO报文中携带所述相邻路由器的IP地址和所述相邻路由器的MAC地址;获取模块,用于从所述接收模块接收的所述HELLO报文中获取所述相邻路由器的IP地址和所述相邻路由器的MAC地址。
10.根据权利要求9所述的路由设备,其特征在于,所述配置单元包括配置模块,所述配置模块用于将所述获取模块获取的所述相邻路由器的IP地址和所述相邻路由器的MAC 地址添加到所述路由设备的ARP表项中。
全文摘要
本发明实施例公开了一种配置ARP表项的方法和装置。所述的方法包括第一路由器在判断与第二路由器邻居可达时,获取配置ARP表项需要的信息,并在与所述第二路由器进行邻居路由计算期间,根据所述获取到的配置ARP表项需要的信息配置ARP表项。由于第一路由器与第二路由器在完成邻居建立时,邻居路由器上的ARP表项的配置已经完成,可以正常转发IP流量,从而可以避免邻居路由器进行第一次流量转发出现的部分流量丢失的问题。
文档编号H04L29/12GK102158407SQ20111008174
公开日2011年8月17日 申请日期2011年3月31日 优先权日2011年3月31日
发明者李元佳, 杨东冬, 王翠军 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1