一种MAC地址同步方法及系统与流程

文档序号:15394950发布日期:2018-09-08 01:57阅读:335来源:国知局

本发明涉及mac地址同步领域,具体涉及一种mac地址同步方法及系统。



背景技术:

evpn(ethernetvirtualprivatenetwork,以太网虚拟专用网络)是一种vpn(virtualprivatenetwork,虚拟专用网络)技术,控制平面采用mp-bgp(多协议边界网关协议)通告evpn路由信息,数据平面采用vxlan(virtualextensiblelan,虚似扩展局域网)封装方式转发报文。租户的物理站点分散在不同位置时,evpn可以基于已有的服务提供商或企业ip网络,为同一租户所有物理站点的相同子网提供二层互联;通过evpn网关,能够为同一租户所有物理站点的不同子网和外部网络提供三层互联。

用户网络可能包括分布在不同地理位置的多个站点内的虚拟机。在骨干网上可以利用vxlan隧道将这些站点连接起来,为用户提供一个逻辑的二层vpn。这个二层vpn称为一个vxlan网络,也称为evpn实例,二层vpn通过vxlanid来标志;不同vxlan网络中的虚拟机不能二层互通。

为了支持evpn实例,mp-bgp在二层vpn地址族下定义了新的子地址族(evpn地址族)、并新增evpn路由。在l2vpn场景下,本地vtep(vxlantunnelendpoin,隧道端点)学到mac地址后,需要通过evpn路由将mac地址与远端vtep进行同步。

目前,本地vtep与远端vtep进行mac地址同步的方法为:本地控制平面更新(学习或者老化)mac地址,本地数据平面将更新的mac地址嵌入广播数据包后,数据平面将含有mac地址的广播数据包发送至远端vtep的数据平面,远端的数据平面将接收的mac地址同步至控制平面。但是,上述方法存在以下缺陷:

(1)广播数据包的传输占用的网络带宽较大,进而不仅降低了网络性能,而且有可能会引发广播风暴(当广播数据充斥网络无法处理,并占用大量网络带宽时,会导致正常业务不能运行,甚至彻底瘫痪)。

(2)通过承载用户和网络的交互控制信息的控制平面,来更新mac地址,无疑会极大的加剧控制平面的负荷,进而降低了控制平面的工作效率和质量,用户体验较差。



技术实现要素:

针对现有技术中存在的缺陷,本发明解决的技术问题为:在本地和远端同步mac地址时,如何降低所需的网络带宽和控制平面的负荷。本发明不仅提高了控制平面的工作效率和质量,而且能够避免广播风暴发生,用户体验较好。

为达到以上目的,本发明提供的mac地址同步方法,包括以下步骤:

s1:为本地mac地址表中的每条mac地址各分配2个更新标志:1个学习标志和1个老化标志,转到s2;

s2:本地数据平面根据收到的报文的mac地址,更新本地mac地址及其更新标志后,将更新后的带有更新标志的mac地址上传至本地控制平面,转到s3;

s3:本地控制平面将收到的带有更新标志的mac地址传输至远端控制平面,转到s4;

s4:远端控制平面将收到的带有更新标志的mac地址下发至远端数据平面,远端数据平面根据mac地址的更新标志,进行mac地址同步。

在上述技术方案的基础上,s2中所述更新本地mac地址及其更新标志的流程包括:本地数据平面收到报文后,判断mac地址表中是否存在与报文中的mac地址对应的mac地址表项,若是,将该mac地址表项的老化标志标记为待老化:否则在mac地址表中新建一条与报文中的mac地址对应的mac地址表项,将该mac地址表项的老化标志标记为待老化,学习标志标记为待学习。

在上述技术方案的基础上,s2中所述更新本地mac地址及其更新标志的流程还包括:本地数据平面遍历mac地址表中的所有mac地址表项,判断遍历到的mac地址表项的老化标志是否为需要老化,若是,将遍历到的mac地址表项缓存后,从mac地址表中删除;否则将遍历到的mac地址表项的老化标志标记为需要老化。

在上述技术方案的基础上,s2中所述将更新后的带有更新标志的mac地址上传至本地控制平面的流程包括:本地数据平面遍历mac地址表中所有的mac地址表项,当遍历到的mac地址表项的同步标志为待学习时,将遍历到的mac地址表项连同同步标志一起上传至本地控制平面后,将遍历到的mac地址表项的同步标志标记为已学习;当缓存中存在老化标志为需要老化的mac地址表项时,将mac地址表项连同老化标志一起上传至本地控制平面。

在上述技术方案的基础上,s4的流程包括:远端控制平面将接收的mac地址表项下发至远端数据平面,若当前mac地址表项中的同步标志为待学习,远端数据平面在mac地址表中插入当前mac地址表项;若当前mac地址表项中的老化标志为需要老化,远端数据平面在mac地址表中删除当前mac地址表项。

本发明提供的mac地址同步系统,包括更新标志设置模块、设置于本地数据平面上的mac地址更新模块、设置于本地控制平面和远端控制平面上的mac地址传输模块、以及设置于远端数据平面的mac地址同步模块;

更新标志设置模块用于:为本地mac地址表中的每条mac地址各分配2个更新标志:1个学习标志和1个老化标志;

mac地址更新模块用于:根据收到的报文的mac地址,更新本地mac地址及其更新标志后,将更新后的带有更新标志的mac地址上传至本地控制平面的mac地址传输模块;

本地控制平面的mac地址传输模块用于:将收到的带有更新标志的mac地址传输至远端控制平面的mac地址传输模块;

远端控制平面的mac地址传输模块用于:将收到的带有更新标志的mac地址下发至远端数据平面的mac地址同步模块;

mac地址同步模块用于:根据收到的mac地址的更新标志,进行mac地址同步。

在上述技术方案的基础上,所述mac地址更新模块更新本地mac地址及其更新标志的流程包括:收到报文后,判断mac地址表中是否存在与报文中的mac地址对应的mac地址表项,若是,将该mac地址表项的老化标志标记为待老化:否则在mac地址表中新建一条与报文中的mac地址对应的mac地址表项,将该mac地址表项的老化标志标记为待老化,学习标志标记为待学习。

在上述技术方案的基础上,所述mac地址更新模块更新本地mac地址及其更新标志的流程还包括:遍历mac地址表中的所有mac地址表项,判断遍历到的mac地址表项的老化标志是否为需要老化,若是,将遍历到的mac地址表项缓存后,从mac地址表中删除;否则将遍历到的mac地址表项的老化标志标记为需要老化。

在上述技术方案的基础上,所述mac地址更新模块将更新后的带有更新标志的mac地址上传至本地控制平面的mac地址传输模块的流程包括:遍历mac地址表中所有的mac地址表项,当遍历到的mac地址表项的同步标志为待学习时,将遍历到的mac地址表项连同同步标志一起上传至mac地址传输模块后,将遍历到的mac地址表项的同步标志标记为已学习;当缓存中存在老化标志为需要老化的mac地址表项时,将mac地址表项连同老化标志一起上传至mac地址传输模块。

在上述技术方案的基础上,所述mac地址同步模块的流程包括:若当前mac地址表项中的同步标志为待学习,在mac地址表中插入当前mac地址表项;若当前mac地址表项中的老化标志为需要老化,在mac地址表中删除当前mac地址表项。

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

(1)与现有技术中的本地控制平面更新mac地址,本发明通过本地数据平面更新mac地址,进而显著降低了本地控制平面的负荷,提高了控制平面的工作效率和质量,增强了用户体验。与现有技术中的本地数据平面将更新的mac地址嵌入广播数据包进行传输相比,本发明通过本地控制平面传输mac地址,不需要使用广播数据包,进而显著降低了mac地址传输时占用的网络带宽,避免广播风暴发生。

(2)本发明处理需要老化的mac地址时,本地数据平面先将需要老化的mac地址保存至缓存中,再由本地控制平面定期将缓存中的所有需要老化的mac地址进行删除。与本地控制平面单个接收并删除需要老化的mac地址相比,定期在缓存中批量删除需要老化mac地址,会进一步降低本地控制平面的负荷,进而进一步提高本地控制平面的工作质量。

附图说明

图1为本发明实施例中mac地址同步方法的流程图。

具体实施方式

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

参见图1所示,本发明实施例中的mac地址同步方法,包括以下步骤:

s1:本地(vtep的)控制平面与远端(vtep的)控制平面建立二层vpn,为本地mac地址表中的每条mac地址各分配2个更新标志:学习标志和老化标志,转到s2。

s2:本地数据平面根据收到的报文的mac地址,更新本地mac地址和更新标志后,将更新后的带有更新标志的mac地址上传至本地控制平面,转到s3。

s3:本地控制平面将收到的带有更新标志的mac地址传输至远端控制平面,转到s4。

s4:远端控制平面将收到的带有更新标志的mac地址下发至远端数据平面,远端数据平面根据mac地址的更新标志,进行mac地址同步。

s2中更新本地mac地址和更新标志的步骤包括mac地址的学习流程和mac地址的老化流程;将更新后的带有更新标志的mac地址上传至本地控制平面的步骤包括mac地址的同步流程,上述流程可并行,也可随机先后进行。

下面通过六个实施例对本发明进行具体说明。

实施例一:mac地址的学习流程包括:

本地数据平面收到报文后,根据vsi(virtualswitchinterface,虚拟交换接口和报文的smac(源mac地址)作为key,判断本地业务盘的mac地址表中是否存在与报文中的mac地址对应的mac地址表项,若是,将该mac地址表项的老化标志标记为待老化(例如置0):否则在mac地址表中新建一条与报文中的mac地址对应的mac地址表项,将该mac地址表项的老化标志标记为待老化(例如置0),学习标志标记为待学习(例如置0)。

实施例二:mac地址的老化流程包括:

本地数据平面定时轮询(遍历)mac地址表中的所有mac地址表项,判断轮询到的mac地址表项的老化标志是否为需要老化(例如置1),若是,将轮询到的mac地址表项缓存后,从mac地址表中删除;否则将轮询到的mac地址表项的老化标志标记为需要老化(例如置1)。

实施例三:mac地址的同步流程包括:

本地数据平面定时轮询(遍历)缓存池、以及mac地址表中所有的mac地址表项,当轮询到的mac地址表项的同步标志为待学习(例如置0)时,将轮询到的mac地址表项连同同步标志一起上传至本地控制平面后,将轮询到的mac地址表项的同步标志标记为已学习(例如置1,以免上传);当轮询到缓存中存在老化标志为需要老化的mac地址表项时,将mac地址表项连同老化标志一起上传至本地控制平面。

实施例四:s3的流程包括:本地控制平面将本地数据平面上传的mac地址表项(带有待学习的同步标志或需要老化的老化标志)传输至远端控制平面。

实施例五:s4的流程包括:远端控制平面将接收的mac地址表项下发至远端数据平面,若当前mac地址表项中的同步标志为待学习,远端数据平面在mac地址表中插入当前mac地址表项;若当前mac地址表项中的老化标志为需要老化(即说明当前mac地址表项已存在于远端的mac地址表,需要删除),远端数据平面在mac地址表中删除当前mac地址表项。

实施例六:本发明还提供一种mac地址同步系统,该系统包括更新标志设置模块、设置于本地数据平面上的mac地址更新模块、设置于本地控制平面和远端控制平面上的mac地址传输模块、以及设置于远端数据平面的mac地址同步模块。

更新标志设置模块用于:为本地mac地址表中的每条mac地址各分配2个更新标志:1个学习标志和1个老化标志。

mac地址更新模块用于:根据收到的报文的mac地址,更新本地mac地址及其更新标志后,将更新后的带有更新标志的mac地址上传至本地控制平面的mac地址传输模块。

mac地址更新模块更新本地mac地址及其更新标志的流程包括:收到报文后,判断mac地址表中是否存在与报文中的mac地址对应的mac地址表项,若是,将该mac地址表项的老化标志标记为待老化:否则在mac地址表中新建一条与报文中的mac地址对应的mac地址表项,将该mac地址表项的老化标志标记为待老化,学习标志标记为待学习。

mac地址更新模块更新本地mac地址及其更新标志的流程还包括:遍历mac地址表中的所有mac地址表项,判断遍历到的mac地址表项的老化标志是否为需要老化,若是,将遍历到的mac地址表项缓存后,从mac地址表中删除;否则将遍历到的mac地址表项的老化标志标记为需要老化。

mac地址更新模块将更新后的带有更新标志的mac地址上传至本地控制平面的mac地址传输模块的流程包括:遍历mac地址表中所有的mac地址表项,当遍历到的mac地址表项的同步标志为待学习时,将遍历到的mac地址表项连同同步标志一起上传至mac地址传输模块后,将遍历到的mac地址表项的同步标志标记为已学习;当缓存中存在老化标志为需要老化的mac地址表项时,将mac地址表项连同老化标志一起上传至mac地址传输模块。

本地控制平面的mac地址传输模块用于:将收到的带有更新标志的mac地址传输至远端控制平面的mac地址传输模块。

远端控制平面的mac地址传输模块用于:将收到的带有更新标志的mac地址下发至远端数据平面的mac地址同步模块。

mac地址同步模块用于:根据收到的mac地址的更新标志,进行mac地址同步;具体流程为:若当前mac地址表项中的同步标志为待学习,在mac地址表中插入当前mac地址表项;若当前mac地址表项中的老化标志为需要老化,在mac地址表中删除当前mac地址表项。

需要说明的是:本发明实施例提供的系统在进行模块间通信时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

进一步,本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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