一种MAC地址快速撤销的方法及系统与流程

文档序号:17758472发布日期:2019-05-24 21:29阅读:498来源:国知局
一种MAC地址快速撤销的方法及系统与流程

本发明涉及vplsmac地址学习领域,具体涉及一种mac地址快速撤销的方法及系统。



背景技术:

vpls(virtualprivatelanservice,虚拟专用局域网服务)是在公用网络中提供的一种点到多点的l2vpn业务。vpls使地域上隔离的用户站点能通过man(metropolitanareanetwork,城域网)或wan(wideareanetwork,广域网)相连,并且使各个站点间的连接效果像在一个lan中一样。

vpls通过mac地址学习来提供可达性。每个pe(provideredge,服务商边缘路由器)设备会维护一张桥mac地址表,基于mac地址或者mac地址加vlantag(虚拟局域网标签)来做出转发决策。与特定的vpls服务关联的每个pe设备都为该vpls实例建立一个vsi(virtualswitchinterface,虚拟交换接口),每个vsi维护一张mac地址表,并具有洪泛和转发、mac地址学习和老化的功能,以便实现报文的转发。

随着网络规模的扩大,在拓扑结构改变时,在这段时间内,业务流量会因为查到不正确的mac地址表发生中断,故需要更新发生变化的vp相关联的mac地址。传统的mac地址撤销方式需要cpu遍历关联的mac地址表,当mac地址表庞大时,mac地址撤销耗时较长,无法满足用户需求。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种mac地址快速撤销的方法,基于流驱动方式进行mac地址表的快速撤销,进行mac地址表的更新,解决当网络拓扑结构发生改变时,业务流量中断过长的问题。

为达到以上目的,本发明采取的技术方案是:

出口vp所属的vsi和入口所属的vsi不一致,或出口vp所关联的出口无效时,构造消息;

构造的消息中添加待转发报文入口所属的vsi信息和报文dmac信息;

基于消息中的vsi信息和报文dmac信息,查询mac地址表,若未命中,则不作处理,若命中,则删除当前mac地址表,所有vp重新对被删除的mac地址表进行学习。

在上述技术方案的基础上,在出口vp所属的vsi和入口所属的vsi不一致之前,还包括:

创建资源池队列,所述资源池队列用于存储vp;

判断网络拓扑是否发生变化,若是,则删除与拓扑变化相关联的vp,以及对应的出接口表;

将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效;

获取资源池队列队首的vp,并进行分配。

在上述技术方案的基础上,出口vp所属的vsi和入口所属的vsi一致时,判断出口vp的出接口是否有效,若是,则待转发报文进行转发;若否,则构造消息。

在上述技术方案的基础上,删除当前mac地址表之后,所有vp重新对被删除的mac地址表进行学习之前,还包括:待转发报文洪泛到vsi的所有vp中。

在上述技术方案的基础上,所述出口vp得到的具体步骤包括:

获取待转发报文入口所属的vsi信息和报文dmac信息;

将获取的vsi信息和报文dmac信息作为key,查询mac地址表;

判断是否查表命中,若是,则得到出口vp,若否,则将待转发报文洪泛到vsi的所有vp中,所有vp重新进行mac地址学习。

本发明还提供一种mac地址快速撤销的系统,包括:

消息构造模块,其用于当出口vp所属的vsi和入口所属的vsi不一致,或出口vp所关联的出口无效时,构造消息;

信息添加模块,其用于在构造的消息中添加待转发报文入口所属的vsi信息和报文dmac信息;

mac地址撤销模块,其用于基于消息中的vsi信息和报文dmac信息,查询mac地址表,若未命中,则不作处理,若命中,则删除当前mac地址表,所有vp重新对被删除的mac地址表进行学习。

在上述技术方案的基础上,在出口vp所属的vsi和入口所属的vsi不一致之前,还包括:

创建资源池队列,所述资源池队列用于存储vp;

判断网络拓扑是否发生变化,若是,则删除与拓扑变化相关联的vp,以及对应的出接口表;

将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效;

获取资源池队列队首的vp,并进行分配。

在上述技术方案的基础上,该系统还包括判断模块,所述判断模块用于当出口vp所属的vsi和入口所属的vsi一致时,判断出口vp的出接口是否有效,若是,则待转发报文进行转发;若否,则构造消息。

在上述技术方案的基础上,所述mac地址撤销模块删除当前mac地址表之后,所有vp重新对被删除的mac地址表进行学习之前,还包括:待转发报文洪泛到vsi的所有vp中。

在上述技术方案的基础上,所述出口vp得到的具体过程包括:

获取待转发报文入口所属的vsi信息和报文dmac信息;

将获取的vsi信息和报文dmac信息作为key,查询mac地址表;

判断是否查表命中,若是,则得到出口vp,若否,则将待转发报文洪泛到vsi的所有vp中,所有vp重新进行mac地址学习。

与现有技术相比,本发明的优点在于:当网络拓扑结构发生改变后,构造消息,基于构造消息中的vsi信息和报文dmac信息,查询mac地址表,将无效的mac地址表进行删除,基于流驱动方式进行mac地址表的快速撤销,进行mac地址表的更新,解决当网络拓扑结构发生改变时,业务流量中断过长的问题。

附图说明

图1为一种拓扑结构的示意图;

图2为本发明实施例中一种mac地址快速撤销的方法的流程图。

具体实施方式

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

本发明实施例提供一种mac地址快速撤销的方法,基于流驱动方式进行mac地址表的快速撤销,进行mac地址表的更新,解决当网络拓扑结构发生改变时,业务流量中断过长的问题。本发明实施例还相应地提供了一种mac地址快速撤销的系统。

图1为一种拓扑结构,站点a和站点b接入vpls,p1和p2为主备二条转发路径,正常情况下,站点a和站点b之间流量走p1路径,站点a和站点b二个站mac学习学到的出口也是指向p1路径。当链路故障检测手段(例如bfd)检测到p1路径掉电或其它故障时,主备倒换到p2路径上,需要联动触发站点a和站点b进行mac地址撤销,否则在mac老化之前流量一直会向p1路径的出口转发,同时mac被撤销之间的这段时间,流量会中断。

参见图2所示,本发明实施例提供一种mac地址快速撤销的方法的一实施例包括:

s1:出口vp所属的vsi和入口所属的vsi不一致,或出口vp所关联的出口无效时,构造消息。

本发明实施例中,vp是为减少网管和网控的复杂性,增加atm(asynchronoustransfermode,异步传输模式)交换与管理的灵活性与便利性,而将物理链路划分的逻辑子信道,它把众多的vc分成组,具有相同vpi分组标识的vc同属一个vp(即包含在同一vp内)。vc是传送atm信元的逻辑信道,vpi是vp的标识符,标识了具有相同vpi的一束vc。

s2:构造的消息中添加待转发报文入口所属的vsi信息和报文dmac(存储器直接访问控制器)信息;

s3:基于消息中的vsi信息和报文dmac信息,查询mac地址表,若未命中,则不作处理,若命中,则删除当前mac地址表,所有vp重新对被删除的mac地址表进行学习。由于mac地址表被删除,之后对应这条消息中vsi信息和报文dmac信息的待转发报文,在查表时便会不再命中,避免业务数据流向无效的路径,相当于利用当前业务流来精确删除某条mac地址表的方式,对当前业务流量来说,业务中断时间可以极大地进行缩短。

可选地,在上述一种mac地址快速撤销的方法实施例的基础上,本发明实施例提供的一种mac地址快速撤销的方法的第一个可选实施例中,在出口vp所属的vsi和入口所属的vsi不一致之前,还包括:

s101:创建资源池队列,所述资源池队列用于存储vp;

s102:判断网络拓扑是否发生变化,若是,则删除与拓扑变化相关联的vp,以及对应的出接口表;

s103:将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效;

s104:获取资源池队列队首的vp,并进行分配。

具体的可以参见图1所示,bfd(bidirectionalforwardingdetection)检测到pi路径出现问题,触发主备倒换,站点a和站点b删除与p1路径直接端口相关联的vp以及对应的出接口表,将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效。然后获取资源池队列队首的vp,进行分配,由于资源池队列队足够大,可以保证回收的vp在较长一段时间中表项数据无效,业务流量可以触发mac地址删除。

可选地,在上述一种mac地址快速撤销的方法第一个可选实施例的基础上,本发明实施例提供的一种mac地址快速撤销的方法的第二个可选实施例中,出口vp所属的vsi和入口所属的vsi一致时,判断出口vp的出接口是否有效,若是,则待转发报文进行转发;若否,则构造消息。

删除当前mac地址表之后,所有vp重新对被删除的mac地址表进行学习之前,还包括:待转发报文洪泛到vsi的所有vp中。

出口vp得到的具体步骤包括:

获取待转发报文入口所属的vsi信息和报文dmac信息;

将获取的vsi信息和报文dmac信息作为key,查询mac地址表;

判断是否查表命中,若是,则得到出口vp,若否,则将待转发报文洪泛到vsi的所有vp中,所有vp重新进行mac地址学习。

本发明实施例的mac地址快速撤销的方法,当网络拓扑结构发生改变后,构造消息,基于构造消息中的vsi信息和报文dmac信息,查询mac地址表,将无效的mac地址表进行删除,基于流驱动方式进行mac地址表的快速撤销,进行mac地址表的更新,解决当网络拓扑结构发生改变时,业务流量中断过长的问题。

本发明实施例提供的一种mac地址快速撤销的系统的一实施例包括消息构造模块、信息添加模块和mac地址撤销模块。消息构造模块用于当出口vp所属的vsi和入口所属的vsi不一致,或出口vp所关联的出口无效时,构造消息;信息添加模块用于在构造的消息中添加待转发报文入口所属的vsi信息和报文dmac信息;mac地址撤销模块用于基于消息中的vsi信息和报文dmac信息,查询mac地址表,若未命中,则不作处理,若命中,则删除当前mac地址表,所有vp重新对被删除的mac地址表进行学习。

可选地,在上述mac地址快速撤销的系统对应实施例的基础上,本发明实施例提供的一种mac地址快速撤销的系统的第一个可选实施例中,在出口vp所属的vsi和入口所属的vsi不一致之前,还包括:

创建资源池队列,所述资源池队列用于存储vp;

判断网络拓扑是否发生变化,若是,则删除与拓扑变化相关联的vp,以及对应的出接口表;

将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效;

获取资源池队列队首的vp,并进行分配。

具体的可以参见图1所示,bfd(bidirectionalforwardingdetection)检测到pi路径出现问题,触发主备倒换,站点a和站点b删除与p1路径直接端口相关联的vp以及对应的出接口表,将删除的vp存储于资源池队列的队尾,并将删除的vp对应的vsi重置,出接口置无效。然后获取资源池队列队首的vp,进行分配,由于资源池队列队足够大,可以保证回收的vp在较长一段时间中表项数据无效,业务流量可以触发mac地址删除。

可选地,在上述一种mac地址快速撤销的系统第一个可选实施例的基础上,本发明实施例提供的一种mac地址快速撤销的系统的第二个可选实施例中,该系统还包括判断模块,所述判断模块用于当出口vp所属的vsi和入口所属的vsi一致时,判断出口vp的出接口是否有效,若是,则待转发报文进行转发;若否,则构造消息。

mac地址撤销模块删除当前mac地址表之后,所有vp重新对被删除的mac地址表进行学习之前,还包括:待转发报文洪泛到vsi的所有vp中。

出口vp得到的具体过程包括:

获取待转发报文入口所属的vsi信息和报文dmac信息;

将获取的vsi信息和报文dmac信息作为key,查询mac地址表;

判断是否查表命中,若是,则得到出口vp,若否,则将待转发报文洪泛到vsi的所有vp中,所有vp重新进行mac地址学习。

本发明实施例的mac地址快速撤销的系统,当网络拓扑结构发生改变后,构造消息,基于构造消息中的vsi信息和报文dmac信息,查询mac地址表,将无效的mac地址表进行删除,基于流驱动方式进行mac地址表的快速撤销,进行mac地址表的更新,解决当网络拓扑结构发生改变时,业务流量中断过长的问题。

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

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

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