CN108259635B - 一种arp表项学习方法和dr设备 - Google Patents
一种arp表项学习方法和dr设备 Download PDFInfo
- Publication number
- CN108259635B CN108259635B CN201710906648.9A CN201710906648A CN108259635B CN 108259635 B CN108259635 B CN 108259635B CN 201710906648 A CN201710906648 A CN 201710906648A CN 108259635 B CN108259635 B CN 108259635B
- Authority
- CN
- China
- Prior art keywords
- arp
- message
- interface
- equipment
- ipp
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping 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表项学习方法和DR设备,该方法应用于DRNI组网中的本端DR设备,该方法为:从IPP接收对端DR设备发送的ARP通告报文;从所述ARP通告报文中解析出ARP报文和DR接口标识;确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口;基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。此方法中DR设备对于从DR接口上收到的ARP报文,将ARP报文以及DR接口标识同步到对端DR设备上,使得对端DR设备可以将ARP表项学习到对应的DR接口上,从而解决了ARP表项的端口学习错误,导致DR设备发送给外部设备的ARP应答报文和数据报文被丢弃的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种ARP(Address Resolution Protocol,地址解析协议)表项学习方法和DR(Distributed Resilient,分布式弹性)设备。
背景技术
DRNI(Distributed Resilient Network Interconnect,分布式弹性网络互连)是一种跨设备链路聚合技术,将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担;这两台物理设备可称为DR设备。
参见图1,为一种DRNI组网模型示意图,在图1中,Device A与Device B形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。
DR设备在DR系统中互为邻居。DRNI为每个DR设备定义了以下几个接口角色:
DR接口(Distributed Relay interface,分布式聚合接口):与外部设备相连的二层聚合接口。与外部设备上相同聚合组相连的DR接口属于同一DR组(Distributed-Relaygroup,分布式聚合组)。如图1所示,Device A上的DR接口1和Device B上的DR接口2属于同一DR组。DR组中的DR接口由多条链路聚合组成。
IPP(Intra-Portal Port,内部控制链路端口):连接对端DR邻居设备用于内部控制的二层聚合接口。每台DR设备只有一个IPP。IPP间通过IPL(Intra-Portal Link,内部控制链路)在DR设备间传输DRNI协议报文。一个DR系统只有一条IPL。
从二层转发看,两台DR设备(Device A和 Device B)相当于一台设备。从三层转发的层面看,两台DR设备可以看做两台独立的设备,也可以考虑采用VRRP(Virtual RouterRedundancy Protocol,虚拟路由冗余协议)作为主备。由于Device C上是聚合负载分担,流量可能会到达任意一台DR设备。
发明内容
本申请提供一种应用于DRNI组网的ARP表项学习方法和DR设备。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面,提供了一种ARP表项学习方法,所述方法应用于DRNI组网中的本端DR设备,包括:
从IPP接收对端DR设备发送的ARP通告报文;
从所述ARP通告报文中解析出ARP报文和DR接口标识;
确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口;
基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
本申请第二方面,提供了一种DR设备,所述DR设备位于DRNI组网中。所述DR设备具有实现上述第一方面所述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。
一种可能的实现方式中,所述DR设备包括:
接收单元,用于从IPP接收对端DR设备发送的ARP通告报文;
报文处理单元,用于从所述ARP通告报文中解析出ARP报文和DR接口标识;
接口确定单元,用于确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口;
ARP表项学习单元,用于基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
另一种可能的实现方式中,所述控制器可以包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述处理器通过读取所述存储器中存储的逻辑指令,执行本申请第一方面所述的ARP表项学习方法。
在本申请中,DR设备对于从DR接口上收到的ARP报文,将ARP报文以及DR接口标识同步到对端DR设备上,使得对端DR设备将ARP表项学习到对应的DR接口上,从而解决ARP表项的端口学习错误,导致DR设备发送给外部设备的ARP应答报文和数据报文被丢弃的问题。
附图说明
图1是现有技术下的一种DRNI组网模型示意图;
图2是本申请提供的DRNI组网中的环路抑制示意图;
图3是本申请提供的DRNI组网中ARP报文到达DR设备的路径示意图;
图4是本申请提供的DRNI组网中环路抑制影响IP转发的示意图;
图5是本申请提供的方法流程图;
图6是应用本申请方法后的DRNI组网中的IP转发示意图;
图7是本申请提供的DR设备的功能模块框图;
图8是本申请提供的图7所示DR设备的硬件架构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在图2所示的DRNI组网中,DR_SW_1和DR_SW_2互为DR邻居设备。对于Switch C而言,DR_SW_1和DR_SW_2就相当于一台设备。
从Switch C发出的报文会转发给其中一台DR设备,比如DR_SW_2,然后可能会再从DR_SW_2转发到另一台DR设备DR_SW_1;在DR_SW_1上,如果该报文再从DR接口发送到SwitchC,就出现了环路。为避免DRNI组网中出现环路,现有技术中规定从IPP收到的报文不能再从DR接口发送出去。
但环路抑制的引入,却会对DRNI组网中的IP转发带来以下问题:
参见图3,当DR_SW_1请求Host(主机)2的ARP报文或是Host2主动向DR_SW_1发送ARP报文时,DR_SW_1有可能从DR接口上收到该ARP报文(如图3中的箭头1所示),也有可能从IPP上收到该ARP报文(如图3中的箭头2所示)。
如果DR_SW_1上是从IPP收到的ARP报文,则如图4所示,会导致DR_SW_1将与Host2对应的ARP表项学习在IPP上;这样,DR_SW_1发往Host2的ARP应答报文或是后续的数据报文都将走IPP转发。而由于环路抑制的原因,DR_SW_2从IPP收到报文后,不会再从DR接口转发到Switch C,而是丢弃报文。
为此,本申请提供了一种应用于DRNI组网的ARP表项学习方案,在本方案中,DR设备对于从DR接口上收到的ARP报文,将ARP报文以及DR接口标识同步到对端DR设备上,使得对端DR设备将ARP表项学习到对应的DR接口上,从而解决ARP表项的端口学习错误,导致DR设备发送给外部设备的ARP应答报文和数据报文被丢弃的问题。
下面结合说明书附图和各实施例对本申请技术方案进行说明。
参见图5,在一个实施方案中,在本端DR设备从DR接口收到外部设备发送的ARP报文,并通过IPL将该ARP报文发送给对端DR设备的场景下,本端DR设备和对端DR设备在运行过程中分别执行如下步骤:
步骤501:当本端DR设备从DR接口接收到外部设备发送的ARP报文时,确定接收该ARP报文的DR接口的DR接口标识。
这里,本端DR设备收到的ARP报文,其源IP(Internet Protocol,互联网协议)地址为该外部设备的IP地址,其源MAC(Medium Access Control,媒体接入控制)地址为该外部设备的MAC地址,其目的IP地址和目的MAC地址则要视具体情况而定。
一种情况下,本端DR设备收到的ARP报文,可以是外部设备响应本端DR设备或对端DR设备的ARP请求报文而返回的ARP应答报文。这种情况下,当本端DR设备和对端DR设备配置了VRRP备份组时,该ARP应答报文的目的IP地址为VRRP备份组对外体现的虚IP地址,目的MAC地址为VRRP备份组对外体现的虚MAC地址。当本端DR设备和对端DR设备未配置VRRP备份组时,如果该ARP应答报文是对本端DR设备的ARP请求的响应,则该ARP应答报文的目的IP地址为本端DR设备的IP地址,目的MAC地址为本端DR设备的VLAN(Virtual Local AreaNetwork,虚拟局域网)虚接口MAC地址;如果该ARP应答报文是对对端DR设备的ARP请求的响应,则该ARP应答报文的目的IP地址为对端DR设备的IP地址,目的MAC地址为对端DR设备的VLAN虚接口MAC地址。
另一种情况下,本端DR设备收到的ARP报文,也可以是外部设备主动发送的用于请求本端DR设备MAC地址或对端DR设备MAC地址的ARP请求报文。这种情况下,如果该ARP请求报文请求的是本端DR设备的MAC地址,则该ARP请求报文的目的IP地址为本端DR设备的IP地址,目的MAC地址为广播地址;如果该ARP请求报文请求的是对端DR设备的MAC地址,则该ARP请求报文的目的IP地址为对端DR设备的IP地址,目的MAC地址为广播地址。
再一种情况下,本端DR设备收到的ARP报文,还可以是外部设备对外发送的用于通告自身地址的ARP免费报文。这种情况下,该ARP免费报文的目的IP地址为该外部设备的IP地址,目的MAC地址为广播地址。
步骤502:本端DR设备将该ARP报文和确定出的DR接口标识封装在ARP通告报文中,通过IPL发送给对端DR设备。
这里的ARP通告报文可以通过私有协议报文;也可以是现有协议报文,比如,可以在现有的ARP报文中增加新的字段,或是利用现有ARP报文的已有字段来承载DR接口标识。
按照现有机制,对于从DR接口收到的ARP报文,如果该ARP报文的目的IP地址是本机IP地址,则本端DR设备会学习该ARP报文,反之则不学。如果该ARP报文的目的MAC地址是本机MAC地址,则终结该ARP报文的转发,反之则继续广播该ARP报文,将该ARP报文通过IPL转发给对端DR设备。至于对ARP报文的应答,则是由IP地址拥有者应答。
本申请在现有机制的基础上做了改进。
一方面,无论从DR接口收到的ARP报文的目的IP地址是否为本机IP地址,本端DR设备均可以基于收到的ARP报文在该DR接口上进行ARP表项学习。如此可以避免后续的ARP表项同步过程,加快本端DR设备的ARP表项学习。至于对ARP报文的应答,则仍是由IP地址拥有者应答。
另一方面,无论从DR接口收到的ARP报文的目的MAC地址是否为本机MAC地址,本端DR设备均会将该ARP报文转发给对端DR设备,如此可以加快对端DR设备的ARP表项学习。
而为了令对端DR设备能够将ARP表项学习到正确的端口上,这里本端DR设备在将ARP报文转发给对端DR设备时,可以将ARP报文和负责接收该ARP报文的DR接口的标识封装在ARP通告报文中通过IPL发送给对端DR设备。
在该ARP报文的目的MAC地址不是本端DR设备的MAC地址的场景下,本端DR设备会向对端DR设备先后发送两个ARP报文,其中之一为按照现有机制在确定该ARP报文的目的MAC地址不是本机MAC地址时直接转发的ARP报文,另外一份为按照本申请方案携带在ARP通告报文中的ARP报文。而在该ARP报文的目的MAC地址是本端DR设备的MAC地址的场景下,本端DR设备会向对端DR设备共发送一个ARP报文,即携带在ARP通告报文中的ARP报文。
该ARP通告报文的报文类型值可以是本端DR设备和对端DR设备事先约定的一个值,从而对端DR设备可以根据该报文类型值,知晓该ARP通告报文携带了待学习的ARP报文,从而执行下述步骤503至步骤505。
步骤503:对端DR设备从IPP收到本端DR设备发送的ARP通告报文后,从该ARP通告报文中解析出ARP报文和DR接口标识。
步骤504:对端DR设备确定本设备上属于该DR接口标识所标识的分布式聚合组的DR接口。
这里对端DR设备确定出的DR接口,与步骤501中本端DR设备负责接收ARP报文的DR接口属于同一分布式聚合组。
步骤505:对端DR设备基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
ARP表项的格式如下表1所示,本申请将从IPP收到的ARP报文学习到DR接口上,后续向该外部设备发送ARP回应报文或数据报文时,可以将报文通过DR接口发送到外部设备,这样便解决了ARP端口学习错误,导致报文通过IPP发送给DR邻居设备后被丢弃的问题。
需要注意的是,本申请中本端DR设备和对端DR设备在进行ARP表项学习时,均遵循DR接口优先原则。
举例来说,步骤502的实现过程中,本端DR设备除了会将ARP报文和负责接收该ARP报文的DR接口的标识封装在ARP通告报文中发送给对端DR设备,还可能会将同一ARP报文直接转发一份给对端DR设备,该ARP报文和该ARP通告报文到达对端DR设备的顺序可能有先有后。
一种方式下,如果对端DR设备先从IPP收到了本端DR设备发送的ARP报文,后从IPP收到了本端DR设备发送的携带同一ARP报文的ARP通告报文,则当对端DR设备先从IPP收到对端DR设备发送的ARP报文时,可以基于收到的ARP报文在IPP上进行ARP表项学习。然后,当对端DR设备再从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文时,可以将之前基于该同一ARP报文生成的ARP表项重新学习到该ARP通告报文携带的DR接口标识对应的DR接口上。这里所说的“DR接口标识对应DR接口”,指的是属于该DR接口标识所标识的分布式聚合组的DR接口。
在这种方式下,对端DR设备先将ARP表项学习到了IPP上,如果该ARP报文的目的IP地址正好是对端DR设备,对端DR设备会对此ARP报文进行应答,ARP应答报文从IPP发出,到达本端DR设备,但因环路抑制会被本端DR设备丢弃,不会到达外部设备。之后,对端DR设备将ARP表项重新学习到DR接口上,此时如果对端DR设备对此ARP报文进行应答,ARP应答报文从DR接口发出,可以到达外部设备。
另一种方式下,如果对端DR设备先从IPP收到了本端DR设备发送的携带ARP报文的ARP通告报文,后从IPP收到了本端DR设备发送的同一ARP报文,则当对端DR设备先从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文时,可以基于从ARP通告报文解析出的ARP报文在该ARP通告报文携带的DR接口标识对应的DR接口上进行ARP表项学习。然后,当对端DR设备再从IPP收到本端DR设备发送的同一ARP报文时,由于DR接口优先原则,禁止将之前基于该同一ARP报文生成的ARP表项重新学习到IPP上。
在这种方式下,对端DR设备先将ARP表项学习到了DR接口上,如果该ARP报文的目的IP地址正好是对端DR设备,对端DR设备会对此ARP报文进行应答,ARP应答报文从DR接口发出,可以到达外部设备。之后,对端DR设备再从IPP收到同一ARP报文时,不更新ARP表项,也不返回ARP应答报文。
采用DR接口的优先级大于IPP的优先级的原则,至少有以下好处:
第一,可以将ARP表项学习到正确的接口上,保证后续DR设备发送给外部设备的ARP应答报文和数据报文的顺利转发。
第二, ARP报文是定期发送的,现有技术中DR设备上一次可能是从IPP收到ARP报文,下一次就有可能是从DR接口收到ARP报文,这会导致ARP表项对应的出端口频繁变化。而本申请采用了DR接口优先原则后,就不用担心ARP表项频繁变化的问题。
当然,在本申请中,DR设备上的ARP表项也不是一旦学习到DR接口后就一直不变,在特殊情况下也可能由DR接口重新学习到IPP或非DR接口,比如外部设备迁移到了某一台DR设备的场景,以图4来说,可以想象成Host2从Switch C迁移到了DR_SW_1或DR_SW_2上。
假设外部设备迁移到了本端DR设备,迁移后的外部设备与本端DR设备的非DR接口相连。那么,当该外部设备完成迁移后,本端DR设备可以将本设备上存储的与该外部设备的IP地址和MAC地址匹配的ARP表项重新学习到该非DR接口上;以及,向对端DR设备发送外部设备迁移消息,以指示对端DR设备将存储的与该外部设备的IP地址和MAC地址匹配的ARP表项重新学习到IPP上。
本端DR设备对ARP表项修改完成后,后续如果再从非DR接口收到该外部设备的ARP报文时,按照现有机制处理即可,不需要执行类似步骤502的动作,即不需要将从非DR接口收到的ARP报文和非DR接口标识封装在ARP通告报文中通过IPL发送给对端DR设备。
至此,完成图5所示的流程。
需要说明的是,上述流程是基于本端DR设备从DR接口收到外部设备发送的ARP报文并通过IPL将该ARP报文发送给对端DR设备这种场景进行描述的。如果是在对端DR设备从DR接口收到外部设备发送的ARP报文,并通过IPL将该ARP报文发送给本端DR设备这种场景下,则本端DR设备执行图5中对端DR设备所执行的步骤,对端DR设备执行图5中本端DR设备所执行的步骤。
通过图5所示的流程可以看出,本申请中,DR设备对于DR接口上收到的ARP报文,可以将ARP报文以及DR接口标识同步到对端DR设备上,两台DR设备可以同时学习该ARP报文,加速学习过程。对端DR设备收到ARP报文和DR接口标识后,可以将ARP表项学习到对应的DR接口上,从而解决ARP表项的端口学习错误,导致DR设备发送给外部设备的ARP应答报文和数据报文被丢弃的问题。同时,两台DR设备在学习ARP报文时,可以采用DR接口优先于IPP即IPP不能覆盖DR接口的原则,从而确保将ARP表项学习到正确的接口上。
假设本申请应用在图4所示的DRNI组网中,则IP转发过程可以参考图6所示:
Switch C将Host2的ARP报文分担到DR_SW_2上,见图6中的箭头1。
在DR_SW_2上,将DR接口收到的ARP报文连同该DR接口的标识一起通过IPL同步到DR_SW_1,见图6中的箭头2。同时,DR_SW_2基于该ARP报文在DR接口上进行ARP表项学习,避免后续的ARP表项同步。至于该ARP报文的应答则由IP地址拥有者应答。这里假设该ARP报文的IP地址拥有者为DR_SW_1,则DR_SW_2不作ARP应答。
在DR_SW_1上,将IPP收到的ARP报文和DR接口的标识解析出来,同时将该ARP报文模拟从该标识对应的DR接口上送,从而生成出端口为DR接口的ARP表项。DR_SW_1对该ARP报文进行应答,见图6中的箭头3。
后续,当SwitchA向DR_SW_1发送目的地址为Host2的数据报文时,DR_SW_1根据上述已生成的ARP表项,将该数据报文通过DR接口发送给Host2,见图6中的箭头4。
从图6可见,应用本申请的ARP表项学习方法后,报文的IP转发不再和DRNI组网的环路抑制相冲突,报文得到了正常转发。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。
参见图7,为本申请提供的一种DR设备的功能模块框图,所述DR设备位于DRNI组网中。如图7所示,所述DR设备可以包括接收单元701、报文处理单元702、接口确定单元703和ARP表项学习单元704。
接收单元701,用于从IPP接收对端DR设备发送的ARP通告报文。
报文处理单元702,用于从所述ARP通告报文中解析出ARP报文和DR接口标识。
接口确定单元703,用于确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口。
ARP表项学习单元704,用于基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
在其中一种实施方式中,如果所述接收单元701先从IPP收到对端DR设备发送的ARP报文,后从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文,则,所述ARP表项学习单元704,用于当所述接收单元701从IPP收到对端DR设备发送的ARP报文时,基于收到的ARP报文在IPP上进行ARP表项学习;当所述接收单元701从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文时,将之前基于该同一ARP报文生成的ARP表项重新学习到该ARP通告报文携带的DR接口标识对应的DR接口上。
在其中一种实施方式中,如果所述接收单元701先从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文,后从IPP收到对端DR设备发送的同一ARP报文,则,所述ARP表项学习单元704,用于当所述接收单元701从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文时,基于从ARP通告报文解析出的ARP报文在该ARP通告报文携带的DR接口标识对应的DR接口上进行ARP表项学习;当所述接收单元701从IPP收到对端DR设备发送的同一ARP报文时,禁止将之前基于该同一ARP报文生成的ARP表项重新学习到IPP上。
在其中一种实施方式中,本端DR设备还可以包括发送单元;
所述接口确定单元703,还用于当所述接收单元701从DR接口接收到外部设备发送的ARP报文时,确定接收该ARP报文的DR接口的DR接口标识。
所述报文处理单元702,用于将所述接收单元收到的ARP报文和所述接口确定单元确定出的DR接口标识封装在ARP通告报文中。
所述发送单元,用于通过IPL发送给对端DR设备。
在其中一种实施方式中,所述ARP表项学习单元704,还用于如果所述接收单元701从DR接口接收的ARP报文的目的IP地址为非本机IP地址,则仍基于收到的ARP报文在该DR接口上进行ARP表项学习。
在其中一种实施方式中,所述ARP表项学习单元704,还用于当发送该ARP报文的外部设备迁移到本端DR设备的非DR接口时,将本设备上存储的与该外部设备的IP地址和MAC地址匹配的ARP表项,重新学习到该非DR接口上。
所述发送单元,用于向对端DR设备发送外部设备迁移消息,以指示对端DR设备将存储的与该外部设备的IP地址和MAC地址匹配的ARP表项重新学习到IPP上。
至此,完成图7所示DR设备的描述。
对应地,本申请还提供了图7所示DR设备的硬件架构。参见图8,图8为本申请提供的图7所示DR设备的硬件结构示意图,该DR设备包括:通信接口801、处理器802、存储器803和总线804;其中,通信接口801、处理器802、存储器803通过总线804完成相互间的通信。
其中,通信接口801,用于和对端DR设备和外部设备通信。处理器802可以是一个CPU,存储器803可以是非易失性存储器(non-volatile memory),并且存储器803中存储有ARP表项学习逻辑指令,处理器802可以执行存储器803中存储的ARP表项学习逻辑指令,以实现图5所示流程中本端DR设备的功能。
至此,完成图8所示DR设备的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种地址解析协议ARP表项学习方法,其特征在于,所述方法应用于分布式弹性网络互连DRNI组网中的本端分布式弹性DR设备,包括:
从内部控制链路端口IPP接收对端DR设备发送的ARP通告报文;
从所述ARP通告报文中解析出ARP报文和分布式聚合DR接口标识;
确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口;
基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
2.如权利要求1所述的方法,其特征在于,如果先从IPP收到对端DR设备发送的ARP报文,后从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文,则
当从IPP收到对端DR设备发送的ARP报文时,基于收到的ARP报文在IPP上进行ARP表项学习;
当从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文时,将之前基于该同一ARP报文生成的ARP表项重新学习到该ARP通告报文携带的DR接口标识对应的DR接口上。
3.如权利要求1所述的方法,其特征在于,如果先从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文,后从IPP收到对端DR设备发送的同一ARP报文,则
当从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文时,基于从ARP通告报文解析出的ARP报文在该ARP通告报文携带的DR接口标识对应的DR接口上进行ARP表项学习;
当从IPP收到对端DR设备发送的同一ARP报文时,禁止将之前基于该同一ARP报文生成的ARP表项重新学习到IPP上。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
当从DR接口接收到外部设备发送的ARP报文时,确定接收该ARP报文的DR接口的DR接口标识;
将收到的ARP报文和确定出的DR接口标识封装在ARP通告报文中,通过内部控制链路IPL发送给对端DR设备。
5.如权利要求4所述的方法,其特征在于,所述从DR接口接收到外部设备发送的ARP报文之后,所述方法还包括:
如果从DR接口接收的ARP报文的目的IP地址为非本机IP地址,则
仍基于收到的ARP报文在该DR接口上进行ARP表项学习。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
当发送该ARP报文的外部设备迁移到本端DR设备的非DR接口时,
将本设备上存储的与该外部设备的互联网协议IP地址和媒体接入控制MAC地址匹配的ARP表项,重新学习到该非DR接口上;以及
向对端DR设备发送外部设备迁移消息,以指示对端DR设备将存储的与该外部设备的IP地址和MAC地址匹配的ARP表项重新学习到IPP上。
7.一种分布式弹性DR设备,其特征在于,所述DR设备位于分布式弹性网络互连DRNI组网中,包括:
接收单元,用于从内部控制链路端口IPP接收对端DR设备发送的地址解析协议ARP通告报文;
报文处理单元,用于从所述ARP通告报文中解析出ARP报文和分布式聚合DR接口标识;
接口确定单元,用于确定本设备上属于所述DR接口标识所标识的分布式聚合组的DR接口;
ARP表项学习单元,用于基于解析出的ARP报文在确定出的本设备的DR接口上进行ARP表项学习。
8.如权利要求7所述的DR设备,其特征在于,如果所述接收单元先从IPP收到对端DR设备发送的ARP报文,后从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文,则
所述ARP表项学习单元,用于当所述接收单元从IPP收到对端DR设备发送的ARP报文时,基于收到的ARP报文在IPP上进行ARP表项学习;当所述接收单元从IPP收到对端DR设备发送的携带同一ARP报文的ARP通告报文时,将之前基于该同一ARP报文生成的ARP表项重新学习到该ARP通告报文携带的DR接口标识对应的DR接口上。
9.如权利要求7所述的DR设备,其特征在于,如果所述接收单元先从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文,后从IPP收到对端DR设备发送的同一ARP报文,则
所述ARP表项学习单元,用于当所述接收单元从IPP收到对端DR设备发送的携带ARP报文的ARP通告报文时,基于从ARP通告报文解析出的ARP报文在该ARP通告报文携带的DR接口标识对应的DR接口上进行ARP表项学习;当所述接收单元从IPP收到对端DR设备发送的同一ARP报文时,禁止将之前基于该同一ARP报文生成的ARP表项重新学习到IPP上。
10.如权利要求7所述的DR设备,其特征在于,本端DR设备还包括发送单元;
所述接口确定单元,还用于当所述接收单元从DR接口接收到外部设备发送的ARP报文时,确定接收该ARP报文的DR接口的DR接口标识;
所述报文处理单元,用于将所述接收单元收到的ARP报文和所述接口确定单元确定出的DR接口标识封装在ARP通告报文中;
所述发送单元,用于通过内部控制链路IPL发送给对端DR设备。
11.如权利要求10所述的DR设备,其特征在于,
所述ARP表项学习单元,还用于如果所述接收单元从DR接口接收的ARP报文的目的IP地址为非本机IP地址,则仍基于收到的ARP报文在该DR接口上进行ARP表项学习。
12.如权利要求7所述的DR设备,其特征在于,本端DR设备还包括发送单元;
所述ARP表项学习单元,还用于当发送该ARP报文的外部设备迁移到本端DR设备的非DR接口时,将本设备上存储的与该外部设备的互联网协议IP地址和媒体接入控制MAC地址匹配的ARP表项,重新学习到该非DR接口上;
所述发送单元,用于向对端DR设备发送外部设备迁移消息,以指示对端DR设备将存储的与该外部设备的IP地址和MAC地址匹配的ARP表项重新学习到IPP上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906648.9A CN108259635B (zh) | 2017-09-29 | 2017-09-29 | 一种arp表项学习方法和dr设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710906648.9A CN108259635B (zh) | 2017-09-29 | 2017-09-29 | 一种arp表项学习方法和dr设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108259635A CN108259635A (zh) | 2018-07-06 |
CN108259635B true CN108259635B (zh) | 2021-05-28 |
Family
ID=62722321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710906648.9A Active CN108259635B (zh) | 2017-09-29 | 2017-09-29 | 一种arp表项学习方法和dr设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108259635B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039888A (zh) * | 2018-08-10 | 2018-12-18 | 新华三技术有限公司合肥分公司 | 报文环路消除方法及分布式弹性dr设备 |
CN111224876B (zh) * | 2018-11-23 | 2022-04-29 | 中兴通讯股份有限公司 | 报文的处理方法及装置 |
CN109450791B (zh) * | 2018-11-30 | 2021-06-11 | 四川安迪科技实业有限公司 | 远端站侧的主机与主站侧的主机互通的方法及系统 |
CN110708275B (zh) * | 2018-12-18 | 2020-11-06 | 新华三技术有限公司 | 一种协议报文的处理方法和装置 |
CN113746733A (zh) * | 2020-05-29 | 2021-12-03 | 中兴通讯股份有限公司 | 表项同步方法、网关设备、组网系统及存储介质 |
CN112968836B (zh) * | 2021-01-31 | 2022-05-27 | 新华三信息安全技术有限公司 | 跨设备聚合链路配置方法、装置、设备及可读存储介质 |
CN115118660A (zh) * | 2022-05-31 | 2022-09-27 | 新华三技术有限公司合肥分公司 | 一种转发表项同步方法及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829190A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 一种分布式arp实现方法 |
CN103001868A (zh) * | 2012-12-31 | 2013-03-27 | 杭州华三通信技术有限公司 | 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置 |
CN106921578A (zh) * | 2017-03-14 | 2017-07-04 | 新华三技术有限公司 | 一种转发表项的生成方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166187B2 (en) * | 2009-01-28 | 2012-04-24 | Cisco Technology, Inc. | Distributed IP gateway based on sharing a MAC address and IP address concurrently between a first network switching device and a second network switching device |
US8908564B2 (en) * | 2010-06-28 | 2014-12-09 | Avaya Inc. | Method for Media Access Control address learning and learning rate suppression |
CN106878047B (zh) * | 2016-12-13 | 2019-11-12 | 新华三技术有限公司 | 故障处理方法及装置 |
CN106878166B (zh) * | 2017-01-22 | 2020-04-03 | 新华三技术有限公司 | 路由通告方法及装置 |
-
2017
- 2017-09-29 CN CN201710906648.9A patent/CN108259635B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1829190A (zh) * | 2005-03-01 | 2006-09-06 | 杭州华为三康技术有限公司 | 一种分布式arp实现方法 |
CN103001868A (zh) * | 2012-12-31 | 2013-03-27 | 杭州华三通信技术有限公司 | 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置 |
CN106921578A (zh) * | 2017-03-14 | 2017-07-04 | 新华三技术有限公司 | 一种转发表项的生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108259635A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259635B (zh) | 一种arp表项学习方法和dr设备 | |
US9755959B2 (en) | Dynamic service path creation | |
EP3210345B1 (en) | Transparent network service header path proxies | |
CN104272668B (zh) | 层3覆盖网关 | |
CN106936939B (zh) | 一种报文处理方法、相关装置及nvo3网络系统 | |
EP2621136B1 (en) | Link aggregation in software-defined networks | |
CN107547402B (zh) | 一种转发表生成方法和装置 | |
EP2600573B1 (en) | Method for transmitting addresses correspondence relationship in second-layer protocol using link status routing | |
JP5792894B2 (ja) | ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム | |
EP3197107B1 (en) | Message transmission method and apparatus | |
CN105376154A (zh) | 渐进式mac地址学习 | |
US10523464B2 (en) | Multi-homed access | |
CN104869042A (zh) | 报文转发方法和装置 | |
EP3605959B1 (en) | Method, device and computer storage medium for implementing double control plane | |
CN102420762B (zh) | 报文转发方法、系统、网络设备和防火墙线卡 | |
CN105812259A (zh) | 一种报文转发方法和设备 | |
EP2883123B1 (en) | Forwarding packet in stacking system | |
CN112671642A (zh) | 一种报文转发方法及设备 | |
CN107332772B (zh) | 转发表项建立方法和装置 | |
CN112422398B (zh) | 消息传输方法及通信装置 | |
CN108259295B (zh) | Mac地址同步方法及装置 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
CN113497752B (zh) | 一种报文发送方法、第一网络设备及网络系统 | |
CN105493454A (zh) | 双活接入多链接透明互联(trill)边缘 | |
CN115087994A (zh) | 用于隐私保护信息交换的方法和系统 |
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 |