一种MAC表项同步方法及装置与流程

文档序号:27979968发布日期:2021-12-15 02:32阅读:97来源:国知局
一种MAC表项同步方法及装置与流程
一种mac表项同步方法及装置
技术领域
1.本技术涉及通信技术领域,尤其涉及一种mac表项同步方法及装置。


背景技术:

2.在以太网虚拟专用网(ethernet virtual private network,evpn)下配置虚拟专用局域网业务(virtual private lan service,vpls)形成evpn vpls组网。
3.目前,在evpn vpls组网中,在本地服务商边缘(provider edge,pe)设备需要向远端pe同步媒体访问控制(media access control,mac)表项时,在一种实现中,通常由本地pe设备中的软件管理模块遍历自己记录的本地pe设备中的转发模块(例如,现场可编程门阵列(field

programmable gate array fpga)芯片等)同步过来的每条mac表项,并逐一查找本地pe设备中的边界网关协议(border gateway protocol,bgp)模块记录的mac表项中是否存在包括的mac地址与该条mac表项中的mac地址相同的mac表项;在查找结果为不存在时,该软件管理模块确定该条mac表项为需要新增的mac表项;在查找结果为存在时,进一步判断该条mac表项中的表项内容与查找到的mac表项中的表项内容是否一致,在判断结果为否时,该软件管理模块确定该条mac表项为需要修改的mac表项。
4.然后,该软件管理模块遍历该bgp模块记录的每条mac表项,并在该软件管理模块记录的mac表项中查找是否存在包括的mac地址与该条mac表项中的mac地址相同的mac表项;在查找结果为不存在时,该软件管理模块确定该条mac表项为需要删除的mac表项;在查找结果为存在时,进一步判断该条mac表项中的表项内容与查找到的mac表项中的表项内容是否一致,在判断结果为否时,该软件管理模块确定该条mac表项为需要修改的mac表项。
5.最后,该软件管理模块将确定出的需要同步的mac表项同步给该bgp模块,由该bgp模块将这些mac表项同步给远端pe设备,以由远端pe设备进行相关同步操作。在这里,确定出的需要同步的mac表项可以包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
6.可见,在上述mac表项的同步流程中,本地pe设备中的软件管理模块需要执行两次遍历和两次查找操作,并且还需要频繁与bgp模块进行通信,同步mac表项的耗时较长,进而导致mac表项的同步效率较低。


技术实现要素:

7.为克服相关技术中存在的问题,本技术提供了一种mac表项同步方法及装置。
8.根据本技术实施例的第一方面,提供一种mac表项同步方法,所述方法应用于mac表项同步模块,所述方法包括:
9.在当前次接收到pe设备中的软件管理模块发送的至少一条mac表项时,创建包括有所述至少一条mac表项的有序表,其中,所述至少一条mac表项为所述软件管理模块按照设定周期发送的所述pe设备中的转发模块同步过来的mac表项,且所述有序表中的mac表项按照其包括的vsi标识和mac地址从大到小或者从小到大的顺序排列;
10.比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容;
11.在比对结果为存在需要同步的mac表项时,将比对出的需要同步的mac表项发送给bgp模块,以由所述bgp模块将所述比对出的需要同步的mac表项同步给与所述pe设备进行通信的远端pe设备,其中,所述比对出的需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
12.根据本技术实施例的第二方面,提供一种mac表项同步装置,所述装置应用于mac表项同步模块,所述装置包括:
13.创建单元,用于在当前次接收到pe设备中的软件管理模块发送的至少一条mac表项时,创建包括有所述至少一条mac表项的有序表,其中,所述至少一条mac表项为所述软件管理模块按照设定周期发送的所述pe设备中的转发模块同步过来的mac表项,且所述有序表中的mac表项按照其包括的vsi标识和mac地址从大到小或者从小到大的顺序排列;
14.比对单元,用于比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容;
15.同步单元,用于在比对结果为存在需要同步的mac表项时,将比对出的需要同步的mac表项发送给bgp模块,以由所述bgp模块将所述比对出的需要同步的mac表项同步给与所述pe设备进行通信的远端pe设备,其中,所述比对出的需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
16.本技术的实施例提供的技术方案可以包括以下有益效果:
17.在本技术实施例中,专门设置一个mac表项同步模块,这样一来,pe设备中的软件管理模块会按照设定周期将所述pe设备中的转发模块同步过来的至少一条mac表项发送给该mac表项同步模块。
18.该mac表项同步模块在接收到这些mac表项时,先创建包括有所述至少一条mac表项的有序表;然后,再比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项,并在比对结果为存在需要同步的mac表项时,将需要同步的mac表项发送给bgp模块,以由bgp模块将需要同步的mac表项同步给与pe设备进行通信的远端pe设备,在这里,需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
19.可见,在这种mac表项的同步流程中,仅需要通过专门设置的mac表项同步模块比对两个有序表,即可确定出需要同步的mac表项,将其通过bgp模块同步给相关远端pe设备,相较于现有的mac表项的同步流程,大大缩短了mac表项的同步时间,进而提高了mac表项的同步效率。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
21.此处的附图被并入说明书中并构成本技术的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
22.图1为本技术实施例提供的一种mac表项同步方法的流程示意图;
23.图2为本技术实施例提供的一种mac表项同步方法所应用的网络的结构示意图;
24.图3为本技术实施例提供的一种mac表项同步装置的结构示意图。
具体实施方式
25.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
26.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
27.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
28.接下来对本技术实施例进行详细说明。
29.本技术实施例提供了一种mac表项同步方法,该方法应用于mac表项同步模块,如图1所示,该方法可以包括如下步骤:
30.s11、在接收到pe设备中的软件管理模块发送的至少一条mac表项时,创建包括有至少一条mac表项的有序表。
31.在本步骤中,上述至少一条mac表项为软件管理模块按照设定周期发送的pe设备中的转发模块同步过来的mac表项。这些mac表项是pe设备学习到的用户边缘(customer edge,ce)设备侧的mac表项。
32.在这里,上述设定周期可根据pe设备所属网络的实际网络情况来设定,例如,设定周期为30ms等。
33.上述转发模块可以是fpga芯片、网络处理器(network processors,np)芯片等。
34.另外,在本步骤中,上述有序表中的mac表项均按照其包括的虚拟交换实例(virtual switch instance,vsi)标识和mac地址从大到小或者从小到大的顺序排列。
35.在这里,上述有序表可以是哈希表等,并且,上述有序有中的每条mac表项中还可以包括有端口(port)标识等信息。
36.s12、比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容。
37.在本步骤中,在当前次为首次时,上一次创建的有序表默认为空。
38.s13、在比对结果为存在需要同步的mac表项时,将比对出的需要同步的mac表项发送给bgp模块,以由bgp模块将比对出的需要同步的mac表项同步给与pe设备进行通信的远端pe设备。
39.在本步骤中,比对出的需要同步的mac表项中包括需要新增的mac表项、需要修改
的mac表项和需要删除的mac表项中的一种或者多种。
40.也就是说,比对出的需要同步的mac表项可以有以下几种情况:
41.第一种情况,仅包括需要新增的mac表项;
42.第二种情况,仅包括需要修改的mac表项;
43.第三种情况,仅包括需要删除的mac表项;
44.第四种情况,包括需要新增的mac表项和需要修改的mac地址表项;
45.第五种情况,包括需要新增的mac表项和需要删除的mac地址表项
46.第六种情况,包括需要修改的mac表项和需要删除的mac地址表项;
47.第七种情况,包括需要新增的mac表项、需要修改的mac地址表项和需要删除的mac地址表项。
48.不管比对出的需要同步的mac表项是上述哪一种情况,上述mac表项同步模块在将比对出的需要同步的mac表项发送给bgp模块时,均可以以列表的形式发送给bgp模块。
49.并且,在比对出的需要同步的mac表项是上述第四种情况至第七种情况中的任意一种情况时,上述mac表项同步模块可以通过一个接口一次性发送给bgp模块,也可以通过多个接口发送给bgp模块,例如,上述mac表项同步模块通过接口1发送需要新增的mac表项,通过接口2发送需要修改的mac表项等。
50.需要说明的是,在本技术实施例中,在第一种网络场景下,上述mac表项同步模块和bgp模块可以均设置于pe设备的内部。
51.并且,在第一种网络场景下,对于与pe设备进行通信的远端pe设备而言,在远端pe设备中的bgp模块接收到bgp模块发送的比对出的需要同步的mac表项时,可以执行现有的同步操作流程。即,远端pe设备中的bgp模块根据比对出的需要同步的mac表项,执行相应的同步操作,并在执行完同步操作后,将比对出的需要同步的mac表项通告给远端pe设备中的软件管理模块,由此软件管理模块执行相应的同步操作,并在执行完同步操作后,将比对出的需要同步的mac表项继续通告给远端pe设备中的转发模块,由此转发模块继续执行相应的同步操作。
52.在这里,需要新增的mac表项对应的同步操作是新增mac表项操作;需要修改的mac表项对应的同步操作是修改mac表项操作;需要删除的mac表项对应的同步操作是删除mac表项操作。
53.另外,在远端pe设备中的bgp模块接收到bgp模块发送的比对出的需要同步的mac表项时,还可以先由此bgp模块执行完相应的同步操作后,将比对出的需要同步的mac表项通过mac表项同步模块透传给远端pe设备中的软件管理模块,然后,再由此软件管理模块执行相应的同步操作,并在执行完同步操作后,将比对出的需要同步的mac表项继续通告给远端pe设备中的转发模块,继续由此转发模块执行相应的同步操作。
54.在第二种网络场景下,上述mac表项同步模块和bgp模块可以均设置于pe设备所属网络中的软件定义网络(software defined network,sdn)控制器的内部。在这种网络场景下,sdn控制器负责管理该网络中所有的pe设备,一旦该sdn控制器中的bgp模块获取到来源于任一pe设备上的需要同步的mac表项,该bgp模块会将这些mac表项同步给与该pe设备进行通信的其他pe设备。
55.在第三种网络场景下,上述mac表项同步模块和bgp模块可以均设置于pe设备所属
网络中的网络管理平台的内部。在这种网络场景下,网络管理平台负责管理该网络中所有的pe设备,一旦该网络管理平台中的bgp模块获取到来源于任一pe设备上的需要同步的mac表项,此bgp模块同样会将这些mac表项同步给与该pe设备进行通信的其他pe设备。
56.进一步需要说明的是,在第二种网络场景和第三种网络场景中的任一网络场景下,对于与pe设备进行通信的远端pe设备而言,在接收到bgp模块发送的比对出的需要同步的mac表项时,远端pe设备中的软件管理模块和转发模块均会根据这些mac表项,执行相应的同步操作。
57.进一步地,在本技术实施例中,为了节省上述mac表项同步模块的表项资源,上述mac表项同步模块还可以执行以下操作:
58.在比对完当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容之后,删除上一次创建的有序表,并保留当前次创建的有序表。
59.也就是说,mac表项同步模块在比对完当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容之后,不管比对结果是存在需要同步的mac表项,还是不存在需要同步的mac表项,mac表项同步模块都删除上一次创建的有序表,并保留当前次创建的有序表。
60.下面结合具体实施例对上述mac表项同步方法进行详细说明。
61.如图2所示,以图2中的pe设备1为例,假设pe设备1包括转发模块11、软件管理模块12、mac处理模块13和bgp模块14(图2中未示出)。
62.假设到达了某个设定周期,pe设备1中的软件管理模块12将pe设备1中的转发模块11同步过来的mac表项发送给pe设备1中的mac表项同步模块13。
63.mac表项同步模块13接收到这些mac表项后,创建包括有这些mac表项的有序表,如下表一所示。
64.vsi标识mac地址端口标识vsi 1mac11port11vsi 1mac12port12vsi 1mac13port13vsi 1mac14port14vsi 2mac21port21vsi 2mac23port23vsi 3mac31port31vsi 3mac32port33
65.表一
66.然后,mac表项同步模块13比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容。
67.假设mac表项同步模块13上一次创建的有序表如下表二所示。
68.vsi标识mac地址端口标识vsi 1mac11port11vsi 1mac12port12vsi 1mac13port13
vsi 2mac21port21vsi 2mac22port22vsi 2mac23port23vsi 3mac31port31vsi 3mac32port32
69.表二
70.通过比对表一和表二,可以知晓比对结果为存在需要同步的mac表项,此时,mac表项同步模块13将比对出的需要同步的mac表项发送给pe设备1中的bgp模块14。
71.在这里,比对出的需要同步的mac表项包括:
72.需要新增的mac表项:包括有vsi 1和mac14的mac表项;
73.需要修改的mac表项:包括有vsi 3和mac32的mac表项;
74.需要删除的mac表项:包括有vsi 2和mac22的mac表项。
75.mac表项同步模块13在将比对出的需要同步的mac表项发送给bgp模块14之后,删除上述表二,并保留表一。
76.bgp模块14将比对出的需要同步的mac表项同步给pe设备2。
77.pe设备2中的bgp模块21(图2中未示出)在接收到这些mac表项后,将包括有vsi 1和mac14的mac表项记录到本地,将本地记录的mac表项中包括有vsi 2和mac22的mac表项删除,以及将本地记录的mac表项中包括有vsi 3和mac32的mac表项中的端口标识修改为port33。
78.之后,bgp模块21将这些mac表项通过pe设备2中的mac表项同步模块22(图2中未示出)透传给pe设备2中的软件管理模块23(图2中未示出),由软件管理模块23执行与此bgp模块21类似的同步操作后,再将这些mac表项继续通告给pe设备2中的转发模块24(图2中未示出),由转发模块24继续执行相应的同步操作。
79.由以上技术方案可以看出,在本技术实施例中,专门设置一个mac表项同步模块,这样一来,pe设备中的软件管理模块会按照设定周期将所述pe设备中的转发模块同步过来的至少一条mac表项发送给该mac表项同步模块。
80.该mac表项同步模块在接收到这些mac表项时,先创建包括有所述至少一条mac表项的有序表;然后,再比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项,并在比对结果为存在需要同步的mac表项时,将需要同步的mac表项发送给bgp模块,以由bgp模块将需要同步的mac表项同步给与pe设备进行通信的远端pe设备,在这里,需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
81.可见,在这种mac表项的同步流程中,仅需要通过专门设置的mac表项同步模块比对两个有序表,即可确定出需要同步的mac表项,将其通过bgp模块同步给相关远端pe设备,相较于现有的mac表项的同步流程,大大缩短了mac表项的同步时间,进而提高了mac表项的同步效率。
82.基于同一发明构思,本技术还提供了一种mac表项同步装置,所述装置应用于mac表项同步模块,其结构示意图如图3所示,具体包括:
83.创建单元31,用于在当前次接收到pe设备中的软件管理模块发送的至少一条mac
表项时,创建包括有所述至少一条mac表项的有序表,其中,所述至少一条mac表项为所述软件管理模块按照设定周期发送的所述pe设备中的转发模块同步过来的mac表项,且所述有序表中的mac表项按照其包括的vsi标识和mac地址从大到小或者从小到大的顺序排列;
84.比对单元32,用于比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项中的表项内容;
85.同步单元33,用于在比对结果为存在需要同步的mac表项时,将比对出的需要同步的mac表项发送给bgp模块,以由所述bgp模块将所述比对出的需要同步的mac表项同步给与所述pe设备进行通信的远端pe设备,其中,所述比对出的需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
86.优选地,所述装置还包括:
87.处理单元(图3中未示出),用于在将所述比对出的需要同步的mac表项发送给所述bgp模块之后或者在比对结果为不存在需要同步的mac表项时,删除上一次创建的有序表,并保留当前次创建的有序表。
88.优选地,所述mac表项同步模块和所述bgp模块均设置于所述pe设备的内部。
89.优选地,所述mac表项同步模块和所述bgp模块均设置于所述pe设备所属网络中的软件定义网络sdn控制器的内部。
90.优选地,所述mac表项同步模块和所述bgp模块均设置于所述pe设备所属网络中的网络管理平台的内部
91.由以上技术方案可以看出,在本技术实施例中,专门设置一个mac表项同步模块,这样一来,pe设备中的软件管理模块会按照设定周期将所述pe设备中的转发模块同步过来的至少一条mac表项发送给该mac表项同步模块。
92.该mac表项同步模块在接收到这些mac表项时,先创建包括有所述至少一条mac表项的有序表;然后,再比对当前次创建的有序表中的mac表项和上一次创建的有序表中的mac表项,并在比对结果为存在需要同步的mac表项时,将需要同步的mac表项发送给bgp模块,以由bgp模块将需要同步的mac表项同步给与pe设备进行通信的远端pe设备,在这里,需要同步的mac表项中包括需要新增的mac表项、需要修改的mac表项和需要删除的mac表项中的一种或者多种。
93.可见,在这种mac表项的同步流程中,仅需要通过专门设置的mac表项同步模块比对两个有序表,即可确定出需要同步的mac表项,将其通过bgp模块同步给相关远端pe设备,相较于现有的mac表项的同步流程,大大缩短了mac表项的同步时间,进而提高了mac表项的同步效率。
94.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1