一种MAC地址同步方法和VTEP技术

技术编号:17710002 阅读:156 留言:0更新日期:2018-04-14 21:31
本申请提供一种MAC地址同步方法和VTEP,该方法可应用于EVPN中的本地VTEP,该方法包括:当本地VTEP为管理VTEP时,接收同一EVPN实例内与所述本地VTEP建立有EVPN邻居关系的被管理VTEP发送的二类路由通告消息;基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习,以及禁止将学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP。该方法中,管理VTEP不再向被管理VTEP同步自己学习到的MAC地址,这样可以节省公网带宽资源,以及可以节省被管理VTEP的硬件表项资源。

【技术实现步骤摘要】
一种MAC地址同步方法和VTEP
本申请涉及通信
,尤其涉及一种MAC(MediumAccessControl,媒体接入控制)地址同步方法和VTEP(VxLANTunnelEndPoint,可扩展虚拟局域网络隧道端点)。
技术介绍
EVPN(EthernetVirtualPrivateNetwork,以太网虚拟专用网络)是一种二层VPN技术,控制平面采用MP-BGP(MultiprotocolExtensionsforBorderGatewayProtocol,边界网关协议的多协议扩展)通告EVPN路由信息,具体是通过MP-BGP的三类路由通告消息发现EVPN邻居,并建立VxLAN(VirtualeXtensibleLocalAreaNetwork,可扩展虚拟局域网络)隧道,通过MP-BGP的二类通告路由消息将私网用户的MAC地址同步给所有EVPN邻居。
技术实现思路
本申请提供一种EVPN中的MAC地址同步方案。具体地,本申请是通过如下技术方案实现的:本申请第一方面,提供了一种MAC地址同步方法,应用于EVPN中的本地VTEP,所述方法包括:当本地VTEP为管理VTEP时,接收同一EVPN实例内与所述本地VTEP建立有EVPN邻居关系的被管理VTEP发送的二类路由通告消息;基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习,以及禁止将学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP。本申请第二方面,提供了一种VTEP,位于EVPN中,所述VTEP具有实现上述第一方面所述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。一种可能的实现方式中,所述VTEP包括:收发单元,用于当本地VTEP为管理VTEP时,接收同一EVPN实例内与所述本地VTEP建立有EVPN邻居关系的被管理VTEP发送的二类路由通告消息;学习单元,用于基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习;禁止同步单元,用于禁止将所述学习单元学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP。另一种可能的实现方式中,所述VTEP包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述处理器通过读取所述存储器中存储的逻辑指令,执行本申请第一方面所述的MAC地址同步方法。本申请中管理VTEP不再向被管理VTEP同步自己学习到的MAC地址,这样可以节省公网带宽资源,以及可以节省被管理VTEP的硬件表项资源。附图说明图1是现有技术中的EVPN的组网图;图2是本申请提供的EVPN的组网图;图3是本申请提供的方法流程图;图4是本申请提供的管理VTEP与被管理VTEP之间的交互流程图;图5是本申请提供的管理VTEP与被管理VTEP之间的MAC地址同步过程示意图;图6是本申请提供的VTEP的功能模块框图;图7是本申请提供的图6所示VTEP的硬件结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。现有技术中EVPN一般采用控制层和数据层分离的结构,控制层面上VTEP之间通过MP-BGP三类路由通告消息发现邻居,并自动创建VxLAN隧道,MAC地址学习不再依赖于数据流量的触发,而是通过控制层面的MP-BGP二类路由通告消息来获取,数据层面上通过硬件转发表(即二层转发表)指导转发,分工明确。例如在图1所示的传统EVPN组网中,VTEP1通过三类路由通告消息发现处于同一VxLAN的VTEP2,并根据三类路由通告消息携带的VxLAN信息自动创建VxLAN隧道。虚拟机VM1访问VM2时,VM1上线发送免费ARP(AddressResolutionProtocol,地址解析协议)报文经AC口到VTEP1,触发VTEP1学习VM1的MAC地址,然后VTEP1通过MP-BGP二类路由通告消息同步给VTEP2,使得VTEP2可以学到VM1的MAC地址及MAC地址对应的转发出接口Tunnel,并将此MAC地址和其对应的Tunnel下发到驱动形成二层转发表项。同样的,VTEP2也会通过三类路由通告消息发现VTEP1并自动创建到VTEP1的VxLAN隧道,VM2上线后VTEP2通过免费ARP报文学习VM2的MAC地址,同时根据自身与VTEP1之间的EVPN邻居关系将VM2的MAC地址和对应的Tunnel同步给VTEP1,VTEP1下发转发表项到硬件驱动,这样VTEP1和VTEP2就可以形成到彼此下挂主机的二层转发表,VM1和VM2就可以二层互通了。VM1和VM2通信时,如果要对VM1的流量进行统计,可以在VTEP1的AC(AttachmentCircuit,接入电路)口上配置统计功能,在底层对VM1上送的流量和去往VM1的流量进行统计。只是传统的EVPN组网无法对私网用户侧流量进行统一管理(包括认证、监控、过滤、计费等功能),只能通过手动在各个AC口上实现流量统计功能(如统计流量有多少字节);且在存在大量主机的情况下,配置起来比较麻烦。针对以上问题,可以考虑在传统EVPN组网中增加可以管理各VTEP的设备:比如可以在图1所示的VTEP1和VTEP2之间增加一台管理设备VTEP3,分别与VTEP1和VTEP2建立EVPN邻居关系,VTEP2和VTEP3负责接入主机形成分支站点,管理设备VTEP3下挂流量统一管理系统形成中心站点,负责对VTEP2和VTEP3之间的流量进行统一管理和控制。这里的VTEP3可以是新增的VTEP也可以是传统EVPN组网中已有的VTEP。调整之后的EVPN组网结构可以参考图2所示,为便于描述,以下将本申请提供的EVPN组网中作为管理设备的VTEP称之为管理VTEP,将EVPN组网中作为被管理设备的VTEP称之为被管理VTEP。基于上述提出的EVPN组网,接下来要解决的问题是,这种组网方式下的EVPN路由信息通告过程。作为一种实施方式,仍可以复用现有的EVPN路由信息通告流程。例如在图2所示的EVPN组网中,被管理VTEP1和管理VTEP之间、被管理VTEP2和管理VTEP之间可以通过三类路由通告消息发现彼此的本文档来自技高网...
一种MAC地址同步方法和VTEP

【技术保护点】
一种媒体接入控制MAC地址同步方法,其特征在于,应用于以太网虚拟专用网络EVPN中的本地可扩展虚拟局域网络隧道端点VTEP,所述方法包括:当本地VTEP为管理VTEP时,接收同一EVPN实例内与所述本地VTEP建立有EVPN邻居关系的被管理VTEP发送的二类路由通告消息;基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习,以及禁止将学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP。

【技术特征摘要】
1.一种媒体接入控制MAC地址同步方法,其特征在于,应用于以太网虚拟专用网络EVPN中的本地可扩展虚拟局域网络隧道端点VTEP,所述方法包括:当本地VTEP为管理VTEP时,接收同一EVPN实例内与所述本地VTEP建立有EVPN邻居关系的被管理VTEP发送的二类路由通告消息;基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习,以及禁止将学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP。2.如权利要求1所述的方法,其特征在于,本地VTEP通过以下步骤建立与所述被管理VTEP的EVPN邻居关系:接收角色通告消息;若所述角色通告消息中携带的对端角色信息与本地VTEP的角色信息不一致,则确定发送所述角色通告消息的对端VTEP在本EVPN实例内的角色为被管理角色;当本地VTEP为管理VTEP时本地VTEP的角色为管理角色;基于所述对端VTEP发送的三类路由通告消息建立与所述对端VTEP的EVPN邻居关系;所述禁止将学习到的MAC地址同步给同一EVPN实例内的其它被管理VTEP,包括:禁止将学习到的MAC地址同步给同一EVPN实例内担任被管理角色的VTEP。3.如权利要求1所述的方法,其特征在于,本地VTEP通过以下步骤使所述被管理VTEP建立与本地VTEP的EVPN邻居关系:将本地VTEP在本EVPN实例内的角色通过角色通告消息发送给所述被管理VTEP;当本地VTEP为管理VTEP时本地VTEP的角色为管理角色;向所述被管理VTEP发送三类路由通告消息,以使得所述被管理VTEP在确定自身的角色与所述本地VTEP的角色不一致时,基于收到的三类路由通告消息建立与所述本地VTEP的EVPN邻居关系。4.如权利要求1所述的方法,其特征在于,在基于所述二类路由通告消息中携带的MAC地址进行二层转发表项学习之后,所述方法包括:接收所述被管理VTEP发送的报文;将收到的报文发送给与本地VTEP相连的中心站点进行认证、监控、过滤和计费处理;接收到中心站点返回的处理后的报文,基于本地保存的二层转发表项对所述处理后的报文进行查表转发。5.如权利要求1所述的方法,其特征在于,当本地VTEP为被管理VTEP时,所述方法还包括:当收到报文时,在本地查找与所述报文匹配的二层转发表项;如果找到,则基于找到的二层转发表项转发所述报文;如果未找到,则将所述报文发送给同一EVPN实例内...

【专利技术属性】
技术研发人员:尹子瑞黄李伟王伟
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1