一种基于分布式设备MAC地址学习方法及系统与流程

文档序号:18737741发布日期:2019-09-21 01:24阅读:254来源:国知局
一种基于分布式设备MAC地址学习方法及系统与流程

本发明涉及通信技术领域,具体涉及一种基于分布式设备MAC地址学习方法及系统。



背景技术:

MAC地址是通信设备中进行报文转发的重要依据,报文通过查询MAC地址表中的MAC地址与端口的对应关系,得到报文转发过程所需要的发送端口信息。

随着网络数据传输速度的不断提升,单块业务盘的通信设备已经难以处理现在网络的数据流量。因此,分布式的数通设备被设计出来用于处理单块业务盘难以完成的线速转发。分布式数通设备由多块业务盘组成,每一块业务盘上都会承载部分业务。如图1所示,为一分布式数通设备的示意图,其中,报文流从一块入口业务盘进入,在业务盘上查询MAC地址得知出口业务盘与端口,然后转发至出口业务盘进行后续处理,最后从出端口转发出去。即将MAC地址通知其他业务盘是通过发送MAC地址同步报文到其他业务盘的形式实现的。

分布式数通设备上的MAC地址需要在多块业务盘上进行同步。比如说业务流量从业务盘A的端口1进入,从业务盘B的端口2转发出去的流程中,该业务流量在盘A上会根据报文的目的MAC地址查询MAC地址表,查询结果表明转发到业务盘B的端口2,之后该业务流量才会转发到业务盘B的端口2,完成整个转发流程。该转发流程中,只有当从业务盘B端口2学习到的MAC地址同步到业务盘A,才能在转发流程中业务盘A上,以业务流量目的MAC地址为关键字,查询MAC地址表得到出口信息。如果MAC地址没有在业务盘B学习到,或者从业务盘B同步到业务盘A失败,均会导致业务流量在网络中洪泛,影响报文转发。

现有技术中,无法保证MAC地址同步报文一定能够到达其他业务盘,所发送的MAC地址同步报文可能在发起端、传输过程以及接受端被丢弃。当MAC地址同步报文丢弃发生时,就会导致对应的MAC地址信息丢失或者错误,进而导致业务流量广播洪泛甚至于走向错误。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于分布式设备MAC地址学习方法及系统,保证系统在MAC地址学习信息缺失或者错误的情况下,能够自动恢复,提升系统健壮性。

为达到以上目的,本发明采取的技术方案是:一种基于分布式设备MAC地址学习方法,包括以下步骤:

出口业务盘将学习到的MAC地址同步至入口业务盘,入口业务盘更新其MAC地址表;

入口业务盘根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘;

出口业务盘根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘。

在上述方案的基础上,出口业务盘将学习到的MAC地址同步至入口业务盘,入口业务盘更新其MAC地址表,具体包括以下步骤:

出口业务盘学习到MAC地址后,向所有入口业务盘发送MAC同步报文,所述MAC同步报文中包含MAC地址、VPLS实例号和业务出端口信息;

入口业务盘收到MAC地址同步报文,解析出MAC地址、VPLS实例号和出端口信息,保存到入口业务盘的MAC地址表中。

在上述方案的基础上,入口业务盘根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘,具体包括以下步骤:

根据业务流量报文的DMAC和VPLS实例号,查询入口业务盘MAC地址表;

如果查询MAC地址表有匹配表项,则从MAC地址表中得到出端口信息;如果查询MAC地址表没有匹配表项,则出端口信息标记为无效;

为业务流量报文增加私有字段信息,所述私有字段信息包括报文DMAC、VPLS实例号和出端口信息;将业务流量报文转发到出口业务盘。

在上述方案的基础上,所述出端口信息包括出口业务盘号,出口业务盘上对应的端口号。

在上述方案的基础上,出口业务盘根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘,具体包括以下步骤:

解析业务流量报文的私有字段信息,得到入口业务盘查询MAC地址得到的出端口信息、业务流量报文的DMAC和VPLS实例号;

根据业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出口业务盘MAC地址表中学习到的业务流量的出端口信息;

比较业务流量报文的私有字段信息中的出端口信息与查询MAC地址得到的出端口信息是否相同;

若相同则流程结束;若不相同且出口业务盘查询MAC地址表有匹配项,则出口业务盘将匹配项MAC地址重新组成MAC同步报文,发送到入口业务盘。

本发明还提供一种基于分布式设备MAC地址学习系统,包括出口业务盘和入口业务盘:

入口业务盘用于:根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘;

出口业务盘用于:根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘。

在上述方案的基础上,

所述出口业务盘还用于:学习到MAC地址后,向所有入口业务盘发送MAC同步报文,所述MAC同步报文中包含MAC地址、VPLS实例号和业务出端口信息;

所述入口业务盘还用于:收到MAC地址同步报文,解析出MAC地址、VPLS实例号和出端口信息,保存到入口业务盘的MAC地址表中。

在上述方案的基础上,所述入口业务盘具体用于:

根据业务流量报文的DMAC和VPLS实例号,查询入口业务盘MAC地址表;

如果查询MAC地址表有匹配表项,则从MAC地址表中得到出端口信息;如果查询MAC地址表没有匹配表项,则出端口信息标记为无效;

为业务流量报文增加私有字段信息,所述私有字段信息包括报文DMAC、VPLS实例号和出端口信息;将业务流量报文转发到出口业务盘。

在上述方案的基础上,所述出端口信息包括出口业务盘号,出口业务盘上对应的端口号。

在上述方案的基础上,所述出口业务盘具体用于:

解析业务流量报文的私有字段信息,得到入口业务盘查询MAC地址得到的出端口信息、业务流量报文的DMAC和VPLS实例号;

根据业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出口业务盘MAC地址表中学习到的业务流量的出端口信息;

比较业务流量报文的私有字段信息中的出端口信息与查询MAC地址得到的出端口信息是否相同;

若相同则流程结束;若不相同且出口业务盘查询MAC地址表有匹配项,则出口业务盘将匹配项MAC地址重新组成MAC同步报文,发送到入口业务盘。

与现有技术相比,本发明的优点在于:

本发明根据业务流量报文的DMAC对业务流量报文走向进行确认检测,根据检测结果判断是否需要进行MAC地址重新学习,需要时重新学习MAC地址。从而保证系统在MAC地址学习信息缺失或者错误的情况下,能够自动恢复,提升系统健壮性。

附图说明

图1为背景技术的业务盘之间MAC地址同步的流程示意图;

图2为本发明实施例的基于分布式设备MAC地址学习方法的流程示意图;

图3为本发明实施例的基于分布式设备MAC地址学习方法的入口业务盘将业务流量报文转发至出口业务盘的流程示意图;

图4本发明实施例的基于分布式设备MAC地址学习方法的出口业务盘对MAC地址进行确认检测的流程示意图。

具体实施方式

以下结合附图对本发明的实施例作进一步详细说明。

参见图2所示,本发明实施例提供一种基于分布式设备MAC地址学习方法,包括以下步骤:

出口业务盘将学习到的MAC地址同步至入口业务盘,入口业务盘更新其MAC地址表;

入口业务盘根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘;

出口业务盘根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘。

本发明实施例根据业务流量报文的DMAC对业务流量报文走向进行确认检测,根据检测结果判断是否需要进行MAC地址重新学习,需要时重新学习MAC地址。从而保证系统在MAC地址学习信息缺失或者错误的情况下,能够自动恢复,提升系统健壮性。

优选的,出口业务盘将学习到的MAC地址同步至入口业务盘,入口业务盘更新其MAC地址表,具体包括以下步骤:

出口业务盘学习到MAC地址后,向所有入口业务盘发送MAC同步报文,所述MAC同步报文中包含MAC地址、VPLS实例号和业务出端口信息;

入口业务盘收到MAC地址同步报文,解析出MAC地址、VPLS实例号和出端口信息,保存到入口业务盘的MAC地址表中。

优选的,入口业务盘根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘,具体包括以下步骤:

根据业务流量报文的DMAC和VPLS实例号,查询入口业务盘MAC地址表;

如果查询MAC地址表有匹配表项,则从MAC地址表中得到出端口信息;如果查询MAC地址表没有匹配表项,则出端口信息标记为无效;

为业务流量报文增加私有字段信息,所述私有字段信息包括报文DMAC、VPLS实例号和出端口信息;将业务流量报文转发到出口业务盘。具体的说,如果出端口信息为有效,将业务流量报文发送至对应的出口业务盘;如果出端口信息标记为无效,将报文广播洪泛到VPLS内的所有出口业务盘。

优选的,所述出端口信息包括出口业务盘号,出口业务盘上对应的端口号。

优选的,出口业务盘根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘,具体包括以下步骤:

解析业务流量报文的私有字段信息,得到入口业务盘查询MAC地址得到的出端口信息、业务流量报文的DMAC和VPLS实例号;

根据业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出口业务盘MAC地址表中学习到的业务流量的出端口信息;

比较业务流量报文的私有字段信息中的出端口信息与查询MAC地址得到的出端口信息是否相同;

若相同则流程结束;若不相同且出口业务盘查询MAC地址表有匹配项,则出口业务盘将匹配项MAC地址重新组成MAC同步报文,发送到入口业务盘。

参考图3所示,业务流量报文进入入口业务盘包括以下步骤:

步骤101,根据业务流量报文的入端口,VLAN等信息得到业务所属VPLS实例号;进入步骤102;

步骤102,根据业务流量报文的DMAC,业务所属的VPLS实例号,查询入口业务盘MAC地址表。所述MAC地址表的查询关键字是MAC地址和VPLS实例号的组合;进入步骤102;

步骤103,判断查询MAC地址表是否有匹配表项,若是,进入步骤104;若否,进入步骤105;

步骤104,如果查询MAC地址表有匹配表项,则从MAC地址表中得到业务流量出端口信息。所述业务流量出端口信息包括出口业务盘号,出口业务盘上对应的端口号;进入步骤106;

步骤105,如果查询MAC地址表没有匹配表项,则流量应该进行广播洪泛,出端口信息标志为无效;进入步骤106;

步骤106,为业务流量报文增加私有信息。所述私有信息包括报文DMAC、VPLS实例号、出口业务盘上对应的端口号;

步骤106,将业务流量报文转发到出口业务盘。

参考图4所示,出口业务盘收到业务流量报文,对MAC地址进行确认检测包括以下步骤:

步骤201,解析业务流量报文私有信息,得到报文DMAC,VPLS实例号,出口业务盘端口号;进入步骤202;

步骤202,根据报文DMAC,VPLS实例号,查询出口业务盘MAC地址表。得到出口业务盘查询结果中的端口号;进入步骤203;

步骤203,判断报文私有信息中的出端口号与查询出口业务盘MAC地址表得到的出端口号是否相同,若是,进入步骤204;若否,进入步骤205;

步骤204,如果相同则流程结束;

步骤205,如果不同,且查询出口业务盘MAC地址表有匹配项,则将匹配的MAC地址表信息重新组成MAC学习信息同步报文,发送到入口业务盘。所述的MAC地址学习信息同步报文包含VPLS实例号,MAC地址,MAC地址对应端口,本业务盘槽位号。

本发明实施例还提供了一种基于分布式设备MAC地址学习系统,包括出口业务盘和入口业务盘:

入口业务盘用于:根据业务流量报文的DMAC和VPLS实例号查询入口业务盘的MAC地址表,得到出端口信息,将业务流量报文的DMAC和VPLS实例号、以及查询MAC地址得到的出端口信息转发至出口业务盘;

出口业务盘用于:根据收到的业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出端口信息;判断入口业务盘发送来的出端口信息与出口业务盘查询MAC地址表得到的出端口信息是否相同;若不同,则将出口业务盘查询MAC地址表的得到的出端口信息,组成MAC同步报文发送至入口业务盘。

优选的,出口业务盘还用于:学习到MAC地址后,向所有入口业务盘发送MAC同步报文,所述MAC同步报文中包含MAC地址、VPLS实例号和业务出端口信息;

入口业务盘还用于:收到MAC地址同步报文,解析出MAC地址、VPLS实例号和出端口信息,保存到入口业务盘的MAC地址表中。

优选的,所述入口业务盘具体用于:

根据业务流量报文的DMAC和VPLS实例号,查询入口业务盘MAC地址表;

如果查询MAC地址表有匹配表项,则从MAC地址表中得到出端口信息;如果查询MAC地址表没有匹配表项,则出端口信息标记为无效;

为业务流量报文增加私有字段信息,所述私有字段信息包括报文DMAC、VPLS实例号和出端口信息;将业务流量报文转发到出口业务盘。

优选的,所述出端口信息包括出口业务盘号,出口业务盘上对应的端口号。

优选的,所述出口业务盘具体用于:

解析业务流量报文的私有字段信息,得到入口业务盘查询MAC地址得到的出端口信息、业务流量报文的DMAC和VPLS实例号;

根据业务流量报文的DMAC和VPLS实例号查询出口业务盘的MAC地址表,得到出口业务盘MAC地址表中学习到的业务流量的出端口信息;

比较业务流量报文的私有字段信息中的出端口信息与查询MAC地址得到的出端口信息是否相同;

若相同则流程结束;若不相同且出口业务盘查询MAC地址表有匹配项,则出口业务盘将匹配项MAC地址重新组成MAC同步报文,发送到入口业务盘。

基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于分布式设备MAC地址学习方法的所有方法步骤或部分方法步骤。

本发明实现上述基于分布式设备MAC地址学习方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

基于同一发明构思,本申请实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现基于分布式设备MAC地址学习方法中的所有方法步骤或部分方法步骤。

所称处理器可以是中央处理单元(Central Processing Unit,CP U),还可以是其他通用处理器、数字信号处理器(Digital Signal Proc essor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1