基于VPLS的MAC地址老化的方法及装置.pdf

上传人:小** 文档编号:4335932 上传时间:2018-09-14 格式:PDF 页数:21 大小:6.25MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210281720.0

申请日:

2012.08.09

公开号:

CN102821168A

公开日:

2012.12.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 29/12申请日:20120809|||公开

IPC分类号:

H04L29/12; H04L12/46; H04L12/56

主分类号:

H04L29/12

申请人:

中兴通讯股份有限公司

发明人:

马自刚

地址:

518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

深圳市世纪恒程知识产权代理事务所 44287

代理人:

胡海国

PDF下载: PDF下载
内容摘要

本发明涉及一种基于VPLS的MAC地址老化的方法及装置,其方法包括:在构建VPLS实例后,获取来自远端侧和/或本地侧的报文,对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS?MAC老化表;当预先配置的对应VPLS实例的老化时间到达后,根据MAC老化软件链表及VPLS?MAC老化表进行MAC地址老化操作。本发明针对不同的VPLS实例可以按需分别配置不同的MAC老化时间,解决了所有VPLS实例只能采用同一个老化时间的局限,更能满足业务的灵活性需求。

权利要求书

1.一种基于VPLS的MAC地址老化的方法,其特征在于,包括:在构建VPLS实例后,获取来自远端侧和/或本地侧的报文;对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化表;当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作。2.根据权利要求1所述的方法,其特征在于,所述在构建VPLS实例后,获取来自远端和/或本地侧的报文的步骤之前还包括:配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。3.根据权利要求1所述的方法,其特征在于,所述对报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化表的步骤包括:获取所述VPLS实例的VPNID;以所述VPLS实例的VPNID作为键值查找VPN表;当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时,根据所述VPNID及从所述报文中解析出的MAC源地址查询MAC地址表;若所述MAC地址表中存在与所述源MAC地址对应的MAC表项,则将所述VPLS MAC老化表中对应的Refresh标记置位;否则进行MAC地址学习上报流程,同时创建VPLS MAC老化表。4.根据权利要求3所述的方法,其特征在于,所述获取VPLS实例的VPNID的步骤包括:当所述报文为本地侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID;当所述报文为远端侧报文时,通过查询标签表获取所述VPLS实例的VPNID。5.根据权利要求3所述的方法,其特征在于,所述进行MAC地址学习上报流程包括:当学习到一个新的MAC表项时,将具有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作的步骤包括:遍历MAC老化软件链表中所述VPLS实例的MAC地址;获取所述MAC地址对应的统计寄存器地址;根据所述MAC地址对应的统计寄存器地址,查询所述更新后的VPLS MAC老化表;若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未置位,则删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表项;若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将Refresh清零。7.一种基于VPLS的MAC地址老化的装置,其特征在于,包括:接收及转发模块,用于在构建VPLS实例后,获取来自远端侧和/或本地侧的报文;查询及操作模块,用于对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化表;老化处理模块,用于当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作。8.根据权利要求7所述的装置,其特征在于,所述老化处理模块还用于配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。9.根据权利要求7所述的装置,其特征在于,所述查询及操作模块包括:获取单元,用于获取所述VPLS实例的VPNID;第一查找单元,用于以所述VPLS实例的VPNID查找VPN表;第二查找单元,用于当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时,根据所述VPNID及从所述报文中解析出的MAC源地址查询MAC地址表;学习处理单元,用于当所述MAC地址表中存在与所述源MAC地址对应的MAC表项时,将所述VPLS MAC老化表中对应的Refresh标记置位;否则进行MAC地址学习上报流程,同时创建VPLS MAC老化表。10.根据权利要求9所述的装置,其特征在于,所述获取单元还用于当所述报文为本地侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID;当所述报文为远端侧报文时,通过查询标签表获取所述VPLS实例的VPNID。11.根据权利要求9所述的装置,其特征在于,所述学习处理单元还用于当学习到一个新的MAC表项时,将具有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。12.根据权利要求7-11中任一项所述的装置,其特征在于,所述老化处理模块包括:遍历单元,用于遍历MAC老化软件链表中所述VPLS实例的MAC地址;地址获取单元,用于获取所述MAC地址对应的统计寄存器地址;第三查询单元,用于根据所述MAC地址对应的统计寄存器地址,查询所述更新后的VPLS MAC老化表;老化单元,用于当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未置位,则删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表项;当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将Refresh清零。

说明书

基于VPLS的MAC地址老化的方法及装置

技术领域

本发明涉及网络数据通信技术领域,尤其涉及一种基于VPLS的MAC地址
老化的方法及装置。

背景技术

VPLS(Virtual Private LAN Services,虚拟专用局域网业务)是
一种在MPLS(Multi-protocol Label Switching,多协议标签交换
)网络上提供类似LAN(Local Area Network,局域网)的一种业务
,它可以使用户从多个地理位置分散的点同时接入网络,相互访问,
如同这些点直接接入到LAN上一样。VPLS结合了以太网和MPLS技术的优
势,是对传统LAN全部功能的仿真,其主要目的是通过运营商提供的M
PLS网络连接地域上隔离的多个由以太网构成的LAN,使得它们像一个
LAN那样去工作,从而形成虚拟专用网络。

通过MAC地址的学习,每个承载VPN的PE(Provider Edge,运营商边
缘)设备上都会生成相应的MAC地址表,该MAC地址表称作VFI (Vir
tual Forwarding Instance)。PE设备学习到的MAC地址表项如果不
再使用,则需要有老化机制来移除。

老化机制根据PE设备进行MAC地址学习所接收的报文中的源MAC地址进
行处理,其处理过程为:PE设备收到报文时,除了学习源MAC地址外,
对于已经生成的MAC表项,还需要设置“激活”或者“有效”标记,在
一定时间内未被设置“激活”或者“有效”标记的MAC表项,将从MAC
地址表中移除。

目前,网络设备的MAC老化机制一般都是基于硬件自动实现,其优点是
不用消耗CPU资源对每个MAC加时间戳,故效率较高。但是硬件老化机
制功能单一且不灵活,只能对所有的MAC地址采用统一的老化时间,而
传统的VPLS MAC地址老化也是采用和普通的MAC老化机制相同的硬件
机制来实现,因此,不能应付不同VPLS实例配置不同 MAC老化时间的
需求。

发明内容

本发明的主要目的在于提供一种基于VPLS的MAC地址老化的方法及装置
,旨在实现对于不同的VPLS实例配置不同的MAC老化时间,满足业务的
灵活性需求。

为了达到上述目的,本发明提出一种基于VPLS的MAC地址老化的方法,
包括:

在构建VPLS实例后,获取来自远端侧和/或本地侧的报文;

对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或
更新VPLS MAC老化表;

当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件
链表及所述VPLS MAC老化表进行MAC地址老化操作。

优选地,所述在构建VPLS实例后,获取来自远端和/或本地侧的报文的
步骤之前还包括:

配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。

优选地,所述对报文进行源MAC地址学习,根据源MAC地址的学习结果
,创建或更新VPLS MAC老化表的步骤包括:

获取所述VPLS实例的VPNID;

以所述VPLS实例的VPNID作为键值查找VPN表;

当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时,根据
所述VPNID及从所述报文中解析出的MAC源地址查询MAC地址表;

若所述MAC地址表中存在与所述源MAC地址对应的MAC表项,则将所述V
PLS MAC老化表中对应的Refresh标记置位;否则进行MAC地址学习上
报流程,同时创建VPLS MAC老化表。

优选地,所述获取VPLS实例的VPNID的步骤包括:

当所述报文为本地侧报文时,通过查询接口属性表获取所述VPLS实例
的VPNID;

当所述报文为远端侧报文时,通过查询标签表获取所述VPLS实例的VP
NID。

优选地,所述进行MAC地址学习上报流程包括:

当学习到一个新的MAC表项时,将具有相同VPNID的MAC表项添加到所述
MAC老化软件链表中对应位置,并顺序分配一统计寄存器地址至所述
MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。

优选地,所述根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地
址老化操作的步骤包括:

遍历MAC老化软件链表中所述VPLS实例的MAC地址;

获取所述MAC地址对应的统计寄存器地址;

根据所述MAC地址对应的统计寄存器地址,查询所述更新后的VPLS M
AC老化表;

若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未
置位,则删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表
中对应的MAC表项;

若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置
位,则将Refresh清零。

本发明还提出一种基于VPLS的MAC地址老化的装置,包括:

接收及转发模块,用于在构建VPLS实例后,获取来自远端侧和/或本地
侧的报文;

查询及操作模块,用于对所述报文进行源MAC地址学习,根据源MAC地
址的学习结果,创建或更新VPLS MAC老化表;

老化处理模块,用于当预先配置的对应所述VPLS实例的老化时间到达
后,根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操
作。

优选地,所述老化处理模块还用于配置VPLS实例的MAC老化时间,保存
于所述MAC老化软件链表中。

优选地,所述查询及操作模块包括:

获取单元,用于获取所述VPLS实例的VPNID;

第一查找单元,用于以所述VPLS实例的VPNID查找VPN表;

第二查找单元,用于当通过查找结果获取到所述VPLS实例使能VPLS 
MAC老化功能时,根据所述VPNID及从所述报文中解析出的MAC源地址查
询MAC地址表;

学习处理单元,用于当所述MAC地址表中存在与所述源MAC地址对应的
MAC表项时,将所述VPLS MAC老化表中对应的Refresh标记置位;否则
进行MAC地址学习上报流程,同时创建VPLS MAC老化表。

优选地,所述获取单元还用于当所述报文为本地侧报文时,通过查询
接口属性表获取所述VPLS实例的VPNID;当所述报文为远端侧报文时,
通过查询标签表获取所述VPLS实例的VPNID。

优选地,所述学习处理单元还用于当学习到一个新的MAC表项时,将具
有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺
序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老化表
及MAC地址表,添加相应的表项。

优选地,所述老化处理模块包括:

遍历单元,用于遍历MAC老化软件链表中所述VPLS实例的MAC地址;

地址获取单元,用于获取所述MAC地址对应的统计寄存器地址;

第三查询单元,用于根据所述MAC地址对应的统计寄存器地址,查询所
述更新后的VPLS MAC老化表;

老化单元,用于当所述VPLS MAC老化表中所述统计寄存器地址对应的
Refresh标记未置位,则删除所述MAC老化软件链表、MAC地址表以及V
PLS MAC老化表中对应的MAC表项;当所述VPLS MAC老化表中所述统
计寄存器地址对应的Refresh标记置位,则将Refresh清零。

本发明提出的一种基于VPLS的MAC地址老化的方法及装置,在构建VPL
S实例后,获取来自远端侧和/或本地侧的报文进行源MAC地址学习;根
据学习结果创建或者更新VPLS MAC老化表;当预先配置的对应所述V
PLS实例的老化时间到达后,根据MAC老化软件链表及所述VPLS MAC老
化表进行MAC地址老化操作,由此针对不同的VPLS实例可以按需分别配
置不同的MAC老化时间,解决了所有VPLS实例只能采用同一个老化时间
的局限,更能满足业务的灵活性需求。

附图说明

图1是本发明基于VPLS的MAC地址老化的方法一实施例的流程示意图;

图2a是本发明的VPLS MAC老化软件表的初始化状态示意图;

图2b是本发明的VPLS MAC老化软件表配置老化时间后的状态示意图;

图2c是本发明的VPLS MAC老化软件表添加MAC地址的状态示意图;

图3是本发明基于VPLS的MAC地址老化的方法一实施例中对报文进行源
MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化
表的流程示意图;

图4是本发明基于VPLS的MAC地址老化的方法一实施例中根据MAC老化软
件链表及所述VPLS MAC老化表进行MAC地址老化操作的流程示意图;

图5是本发明基于VPLS的MAC地址老化的方法另一实施例的流程示意图

图6是本发明基于VPLS的MAC地址老化的装置一实施例的结构示意图;

图7是本发明基于VPLS的MAC地址老化的装置一实施例中查询及操作模
块的结构示意图;

图8是本发明基于VPLS的MAC地址老化的装置一实施例中老化处理模块
的结构示意图。

为了使发明的技术方案更加清楚、明了,下面将结合附图作进一步详
述。

具体实施方式

本发明实施例的解决方案主要是:在构建VPLS实例后,接收来自远端
侧和/或本地侧的报文进行MAC地址查询;根据查询结果创建或者更新
VPLS MAC老化表;当预先配置的对应所述VPLS实例的老化时间到达后
,根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作
,以实现对于不同的VPLS实例可以按需分别配置不同的MAC老化时间,
满足业务的灵活性需求。

如图1所示,本发明一实施例提出一种基于VPLS的MAC地址老化的方法
,包括:

步骤S101,在构建VPLS实例后,获取来自远端侧和/或本地侧的报文;

步骤S102,对所述报文进行源MAC地址学习,根据源MAC地址的学习结
果,创建或更新VPLS MAC老化表;

VPLS实例的构建就是在对应的PE之间建立起伪线连接,需要定义相应
的伪线控制信令,其可通过隧道建立信令的扩展实现。在建立起VPLS
实例后,PE将承担起仿真网桥的功能,将客户某一区域LAN经由AC送入
的以太网帧转发至适当的伪线,即可送达目的区域LAN,由此完成客户
不同区域LAN的互联。通常,每个VPLS实例都唯一的对应一个实例号V
PNID。

本实施例方法运行环境涉及接收及转发模块、查询及操作模块以及老
化处理模块。

在构建VPLS实例后,接收及转发模块接收来自远端侧和/或本地侧的报
文,查询及操作模块进行MAC地址查询及转发操作。

如果没有查询到该MAC地址,则上报学习该MAC地址,同时创建VPLS 
MAC老化表;如果查询到该MAC地址,则根据查询结果更新VPLS MAC老
化表的刷新标记位。

本实施例预先在本地创建了MAC地址表以及MAC老化软件链表,并在构
建VPLS实例后,预先为每个VPLS实例配置有MAC老化时间,每个VPLS实
例的MAC老化时间与该VPLS实例的实例号唯一对应。

其中,VPLS MAC老化表如下表1所示,MAC地址表如下表2所示, VP
LS MAC老化软件表的初始化状态如图2a所示,VPLS MAC老化软件表
的配置老化时间后的状态如图2b所示,VPLS MAC老化软件表的添加M
AC地址的状态如图2c所示。

KEY
Result
CNT1(起始地址+1)
Refresh标记(0:表示未被命中1:表示命中过)
CNT2(起始地址+2)
Refresh标记(0:表示未被命中1:表示命中过)
CNT3(起始地址+3)
Refresh标记(0:表示未被命中1:表示命中过)

表1  VPLS MAC 老化表

Vpls实例号VpnId
Mac
出接口信息
Cnt值

表2 MAC地址表

上述表1及表2中 cnt值为统计寄存器地址 。

在配置VPLS实例MAC老化时间时,会将该实例号所配置的MAC老化
时间下发给老化处理模块。老化处理模块记录各个VPLS实例所配置的
老化时间至MAC老化软件链表中,并维护该MAC老化软件链表,同时维
护VPLS MAC老化表以供查询及操作模块操作。

查询及操作模块在接收到来自远端侧和/或本地侧的报文进行MAC地址
查询时, 若没有查询到该MAC地址,则上报学习该MAC地址,同时创
建VPLS MAC老化表,当学习到一个新的MAC表项时,将具有相同VPNI
D的MAC表项添加到同一个双向链表中,同时顺序分配一个统计寄存器
的地址,添加VPLS MAC老化表的一条表项。

若学习到的不是新的MAC表项,则将VPLS MAC老化表中对应的Refres
h标记置为1,表示该MAC表项被命中。

查询及操作模块根据报文的VPNID+MAC地址进行VPLS MAC老化表的更
新操作,并将报文送往接收及转发模块进行相应的转发。

步骤S103,当预先配置的对应所述VPLS实例的老化时间到达后,根据
MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作。

老化处理模块通过配置的老化时间来轮询遍历MAC老化软件链表,将满
足条件的VPLS MAC上报进行统一删除处理。

具体地,如图3所示,上述步骤S102包括:

步骤S1011,获取所述VPLS实例的VPNID;

其中,获取VPLS实例的VPNID的过程为:若所述报文为本地侧报文,则
通过查询接口属性表获取所述VPLS实例的VPNID;若所述报文为远端侧
报文,则通过查询标签表获取所述VPLS实例的VPNID。

步骤S1012,以所述VPLS实例的VPNID作为键值查找VPN表;

步骤S1013,判断所述VPLS实例是否使能VPLS MAC老化功能;若是,
则进入步骤S1014;否则,进入步骤S1015;

步骤S1014,进入普通转发流程;

步骤S1015,根据所述VPNID及从报文中解析出的MAC地址查询MAC地址
表;

步骤S1016,判断所述MAC地址表中是否存在与所述源MAC地址对应的M
AC表项,若是,则进入步骤S1017;否则,进入步骤S1018;

步骤S1017,将所述VPLS MAC老化表中对应的Refresh标记置为1;

步骤S1018,进行MAC地址学习上报流程。

所述进行MAC地址学习上报流程包括:当学习到一个新的MAC表项时,
将具有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,
并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老
化表及MAC地址表,添加相应的表项。

如图4所示,上述步骤S103中根据MAC老化软件链表及所述VPLS MAC老
化表进行MAC地址老化操作的步骤包括:

步骤S1031,遍历MAC老化软件链表中所述VPLS实例的MAC地址;

步骤S1032,获取所述MAC地址对应的统计寄存器地址;

步骤S1033,根据所述MAC地址对应的统计寄存器地址,查询所述更新
后的VPLS MAC老化表;

步骤S1034,判断所述VPLS MAC老化表中所述统计寄存器地址对应的
Refresh标记置位是否为0;若是,则进入步骤S1035;否则,进入步骤
S1036;

步骤S1035,删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老
化表中对应的MAC表项;

步骤S1036,将Refresh清零。

如果refresh 为0,则表示在老化时间内,该MAC地址没有被命中过,
故删除该MAC地址;如果refresh 为1,则表示在老化时间内,该MAC
地址被命中过,故不需要删除该MAC地址,同时老化处理模块将其ref
resh清零。

如图5所示,本发明另一实施例提出一种基于VPLS的MAC地址老化的方
法,在上述实施例的基础上,在上述步骤S101中构建VPLS实例后,获
取来自远端和/或本地侧的报文的步骤之前还包括:

步骤S100,配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链
表中。

在本实施例中,在配置老化时间时,老化处理模块记录每个VPLS实例
对应的MAC老化时间,如果配置了该VPLS实例下的老化功能,需要将所
有与该实例相关的MAC表项设置成硬件老化功能disable,防止被普通
的硬件
MAC 老化机制删除该MAC,同时当VPLS MAC有静态MAC时,也不能删
除,需要走正常的流程。

例如,如图2a所示,配置实例名称为VPLS1的MAC老化时间为20S,配置
实例名称为VPLS2的MAC老化时间为60S,配置实例名称为VPLS3的MAC老
化时间为10S,则老化处理模块需要建立一个数据结构用于保存这些信
息。

其中用于保存VPLS实例的老化配置的数据结构为:


更为具体地,本实施例检测老化时间及进行老化操作判断的过程如下

设定一循环定时器,启动循环定时器用于检测老化时间。定义循环定
时器的周期为单位时间T(假设一个单位时间T值的大小为10S)。定时
器每tick一次,老化计数器累加一次,当老化计数器等于该实例配置
的老化时间时,将该计数器进行清零操作,同时对该实例所有的MAC进
行遍历操作,老化处理模块判断该MAC的老化refresh标记是否被置位

例如,如图2b所示,定时器在经过一个周期后,此时所有实例的老化
计时器都累加了一次,对于实例vpls3,老化时间正好为10S,需要对
其进行MAC遍历操作,同时需要把老化计数器进行归零操作。

此外,在通过MAC地址学习后更新VPLS MAC老化表时,当学习到一个
新的MAC表项时,驱动将具有相同VPNID的MAC表项添加到同一个双向链
表中,同时顺序分配一个统计寄存器的地址,添加VPLS MAC老化表的
一条表项。

例如,如图2c所示,接收及转发模块收到一系列报文,并学习到三个
新的VPLS MAC,实例为VPLS3对应的VPNID为3,MAC地址分别为macA
, macB,macC,驱动会构建MAC表项。同时,如表1所示,顺序分配他
们的统计寄存器地址为起始地址+1,起始地址+2,起始地址+3。

其中用于存储老化MAC的双向链表的数据结构为:



另外,在VPLS MAC老化软件表遍历操作中,当老化计数器的时间等于
该配置的老化时间时,会触发该实例下的MAC老化功能。

例如,当实例Vpls3的老化时间到达10S时,将对该实例下的所有MAC表
项进行遍历操作,判断是否需要对该MAC表项进行老化操作。通过双向
链表中的该MAC对应的统计寄存器地址,来查询VPLS MAC老化表,来
判断该表项是否需要被老化。

如果refresh 为0,则表示在老化时间内,该MAC没有被命中过,故删
除该MAC;如果refresh 为1,则表示在老化时间内,该MAC被命中过
,故不需要删除该MAC,同时老化处理模块将其refresh 清零。

本实施例实现了针对不同的VPLS实例可以按需分别配置不同的MAC老化
时间,解决了所有VPLS实例只能采用同一个老化时间的局限,更能满
足业务的灵活性需求。

如图6所示,本发明一实施例提出一种基于VPLS的MAC地址老化的装
置,包括:接收及转发模块501、查询及操作模块502以及老化处理模
块503,其中:

接收及转发模块501,用于在构建VPLS实例后,获取来自远端侧和/或
本地侧的报文;

查询及操作模块502,用于对所述报文进行源MAC地址学习,根据源MA
C地址的学习结果,创建或更新VPLS MAC老化表;

老化处理模块503,用于当预先配置的对应所述VPLS实例的老化时间到
达后,根据MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化
操作。

VPLS实例的构建就是在对应的PE之间建立起伪线连接,需要定义相应
的伪线控制信令,其可通过隧道建立信令的扩展实现。在建立起VPLS
实例后,PE将承担起仿真网桥的功能,将客户某一区域LAN经由AC送入
的以太网帧转发至适当的伪线,即可送达目的区域LAN,由此完成客户
不同区域LAN的互联。通常,每个VPLS实例都唯一的对应一个实例号V
PNID。

在构建VPLS实例后,接收及转发模块501接收来自远端侧和/或本地侧
的报文,由查询及操作模块502进行MAC地址查询及转发操作。

如果没有查询到该MAC地址,则上报学习该MAC地址,同时创建VPLS 
MAC老化表;如果查询到该MAC地址,则根据查询结果更新VPLS MAC老
化表的刷新标记位。

本实施例预先在本地创建了MAC地址表以及MAC老化软件链表,并在构
建VPLS实例后,预先为每个VPLS实例配置有MAC老化时间,每个VPLS实
例的MAC老化时间与该VPLS实例的实例号唯一对应。

其中,VPLS MAC老化表如上表1所示,MAC地址表如上表2所示, VP
LS MAC老化软件表的初始化状态如图2a所示,VPLS MAC老化软件表
的配置老化时间后的状态如图2b所示,VPLS MAC老化软件表的添加M
AC地址的状态如图2c所示。

上述表1及表2中 cnt值为统计寄存器地址 。

在配置VPLS实例MAC老化时间时,会将该实例号所配置的MAC老化时间
下发给老化处理模块503。老化处理模块503记录各个VPLS实例所配置
的老化时间至MAC老化软件链表中,并维护该MAC老化软件链表,同时

护VPLS MAC老化表以供查询及操作模块502操作。

查询及操作模块502在对来自远端侧和/或本地侧的报文进行MAC地址查
询时,若没有查询到该MAC地址,则上报学习该MAC地址,同时创建VP
LS MAC老化表,当学习到一个新的MAC表项时,将具有相同VPNID的M
AC表项添加到同一个双向链表中,同时顺序分配一个统计寄存器的地
址,添加VPLS MAC老化表的一条表项。

若学习到的不是新的MAC表项,则将VPLS MAC老化表中对应的Refres
h标记置为1,表示该MAC表项被命中。

查询及操作模块502根据报文的VPNID+MAC地址进行VPLS MAC老化表的
更新操作,并将报文送往接收及转发模块501进行相应的转发。

老化处理模块503通过配置的老化时间来轮询遍历MAC老化软件链表,
将满足条件的VPLS MAC上报,进行统一删除处理。

具体地,如图7所示,所述查询及操作模块501包括:获取单元5011、
第一查找单元5012、第二查找单元5013以及学习处理单元5014,其中

获取单元5011,用于获取所述VPLS实例的VPNID;

第一查找单元5012,用于以所述VPLS实例的VPNID作为键值查找VPN表

第二查找单元5013,用于当通过查找结果获取到所述VPLS实例使能VP
LS MAC老化功能时,根据所述VPNID及从所述报文中解析出的MAC地址
查询MAC地址表;

学习处理单元5014,用于当所述MAC地址表中存在与所述源MAC地址对
应的MAC表项时,将所述VPLS MAC老化表中对应的Refresh标记置位;
否则进行MAC地址学习上报流程,同时创建VPLS MAC老化表。

所述获取单元5011获取VPLS实例的VPNID的过程为:当所述报文为本地
侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID;当所述报
文为远端侧报文时,通过查询标签表获取所述VPLS实例的VPNID。

具体地,所述学习处理单元5014还用于当学习到一个新的MAC表项时,
将具有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,
并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老

表及MAC地址表,添加相应的表项。

如图8所示,所述老化处理模块503包括:遍历单元5031、地址获取单
元5032、第三查询单元5033以及老化单元5034,其中:

遍历单元5031,用于遍历MAC老化软件链表中所述VPLS实例的MAC地址

地址获取单元5032,用于获取所述MAC地址对应的统计寄存器地址;

第三查询单元5033,用于根据所述MAC地址对应的统计寄存器地址,查
询所述更新后的VPLS MAC老化表;

老化单元5034,用于当所述VPLS MAC老化表中所述统计寄存器地址对
应的Refresh标记未置位时,删除所述MAC老化软件链表、MAC地址表以
及VPLS MAC老化表中对应的MAC表项;当所述VPLS MAC老化表中所述
统计寄存器地址对应的Refresh标记置位时,将Refresh清零。

进一步,所述老化处理模块503还用于配置VPLS实例的MAC老化时间,
保存于所述MAC老化软件链表中。

在配置老化时间时,老化处理模块503记录每个VPLS实例对应的MAC老
化时间,如果配置了该VPLS实例下的老化功能,需要将所有与该实例
相关的MAC表项设置成硬件老化功能disable,防止被普通的硬件MAC 
老化机制删除该MAC,同时当VPLS MAC有静态MAC时,也不能删除,需
要走正常的流程。

例如,如图2a所示,配置实例名称为VPLS1的MAC老化时间为20S,配置
实例名称为VPLS2的MAC老化时间为60S,配置实例名称为VPLS3的MAC老
化时间为10S,则老化处理模块503需要建立一个数据结构用于保存这
些信息。

其中用于保存VPLS实例的老化配置的数据结构为:



更为具体地,本实施例检测老化时间及进行老化操作判断的过程如下

设定一循环定时器,启动循环定时器用于检测老化时间。定义循环定
时器的周期为单位时间T(假设一个单位时间T值的大小为10S)。定时
器每tick一次,老化计数器累加一次,当老化计数器等于该实例配置
的老化时间时,将该计数器进行清零操作,同时对该实例所有的MAC进
行遍历操作,老化处理模块503判断该MAC的老化refresh标记是否被置
位。

例如,如图2b所示,定时器在经过一个周期后,此时所有实例的老化
计时器都累加了一次,对于实例vpls3,老化时间正好为10S,需要对
其进行MAC遍历操作,同时需要把老化计数器进行归零操作。

此外,在通过MAC地址学习后更新VPLS MAC老化表时,当学习到一个
新的MAC表项时,驱动将具有相同VPNID的MAC表项添加到同一个双向链
表中,同时顺序分配一个统计寄存器的地址,添加VPLS MAC老化表的
一条表项。

例如,如图2c所示,接收及转发模块501收到一系列报文,并学习到三
个新的VPLS MAC,实例为VPLS3对应的VPNID为3,MAC地址分别为mac
A, macB,macC,驱动会构建MAC表项。同时,如表1所示,顺序分配
他们的统计寄存器地址为起始地址+1,起始地址+2,起始地址+3。

其中用于存储老化MAC的双向链表的数据结构为:




另外,在VPLS MAC老化软件表遍历操作中,当老化计数器的时间等于
该配置的老化时间时,会触发该实例下的MAC老化功能。

例如,当实例Vpls3的老化时间到达10S时,将对该实例下的所有MAC表
项进行遍历操作,判断是否需要对该MAC表项进行老化操作。通过双向
链表中的该MAC对应的统计寄存器地址,来查询VPLS MAC老化表,来
判断该表项是否需要被老化。

如果refresh 为0,则表示在老化时间内,该MAC没有被命中过,故删
除该MAC;如果refresh 为1,则表示在老化时间内,该MAC被命中过
,故不需要删除该MAC,同时老化处理模块503将其refresh 清零。

本发明实施例基于VPLS的MAC地址老化的方法及装置,在构建VPLS实例
后,接收并转发来自远端侧和/或本地侧的报文,对所述报文进行MAC
地址查询并转发操作;根据查询MAC地址的结果,创建或更新VPLS M
AC老化表;当预先配置的对应所述VPLS实例的老化时间到达后,根据
MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作,由此
针对不同的VPLS实例可以按需分别配置不同的MAC老化时间,解决了所
有VPLS实例只能采用同一个老化时间的局限,更能满足业务的灵活性
需求。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围
,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或
直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利
保护范围内。

基于VPLS的MAC地址老化的方法及装置.pdf_第1页
第1页 / 共21页
基于VPLS的MAC地址老化的方法及装置.pdf_第2页
第2页 / 共21页
基于VPLS的MAC地址老化的方法及装置.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《基于VPLS的MAC地址老化的方法及装置.pdf》由会员分享,可在线阅读,更多相关《基于VPLS的MAC地址老化的方法及装置.pdf(21页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102821168 A (43)申请公布日 2012.12.12 C N 1 0 2 8 2 1 1 6 8 A *CN102821168A* (21)申请号 201210281720.0 (22)申请日 2012.08.09 H04L 29/12(2006.01) H04L 12/46(2006.01) H04L 12/56(2006.01) (71)申请人中兴通讯股份有限公司 地址 518057 广东省深圳市南山区高新技术 产业园科技南路中兴通讯大厦法务部 (72)发明人马自刚 (74)专利代理机构深圳市世纪恒程知识产权代 理事务所 44287 代理人胡海国 (5。

2、4) 发明名称 基于VPLS的MAC地址老化的方法及装置 (57) 摘要 本发明涉及一种基于VPLS的MAC地址老化的 方法及装置,其方法包括:在构建VPLS实例后,获 取来自远端侧和/或本地侧的报文,对所述报文 进行源MAC地址学习,根据源MAC地址的学习结 果,创建或更新VPLS MAC老化表;当预先配置的 对应VPLS实例的老化时间到达后,根据MAC老化 软件链表及VPLS MAC老化表进行MAC地址老化操 作。本发明针对不同的VPLS实例可以按需分别配 置不同的MAC老化时间,解决了所有VPLS实例只 能采用同一个老化时间的局限,更能满足业务的 灵活性需求。 (51)Int.Cl. 权。

3、利要求书2页 说明书11页 附图7页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 11 页 附图 7 页 1/2页 2 1.一种基于VPLS的MAC地址老化的方法,其特征在于,包括: 在构建VPLS实例后,获取来自远端侧和/或本地侧的报文; 对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC 老化表; 当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件链表及所述 VPLS MAC老化表进行MAC地址老化操作。 2.根据权利要求1所述的方法,其特征在于,所述在构建VPLS实例后,获取来自远端和 /或。

4、本地侧的报文的步骤之前还包括: 配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。 3.根据权利要求1所述的方法,其特征在于,所述对报文进行源MAC地址学习,根据源 MAC地址的学习结果,创建或更新VPLS MAC老化表的步骤包括: 获取所述VPLS实例的VPNID; 以所述VPLS实例的VPNID作为键值查找VPN表; 当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时,根据所述VPNID及 从所述报文中解析出的MAC源地址查询MAC地址表; 若所述MAC地址表中存在与所述源MAC地址对应的MAC表项,则将所述VPLS MAC老化 表中对应的Refresh标记。

5、置位;否则进行MAC地址学习上报流程,同时创建VPLS MAC老化 表。 4.根据权利要求3所述的方法,其特征在于,所述获取VPLS实例的VPNID的步骤包括: 当所述报文为本地侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID; 当所述报文为远端侧报文时,通过查询标签表获取所述VPLS实例的VPNID。 5.根据权利要求3所述的方法,其特征在于,所述进行MAC地址学习上报流程包括: 当学习到一个新的MAC表项时,将具有相同VPNID的MAC表项添加到所述MAC老化软 件链表中对应位置,并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老 化表及MAC地址表,添加相。

6、应的表项。 6.根据权利要求1-5中任一项所述的方法,其特征在于,所述根据MAC老化软件链表及 所述VPLS MAC老化表进行MAC地址老化操作的步骤包括: 遍历MAC老化软件链表中所述VPLS实例的MAC地址; 获取所述MAC地址对应的统计寄存器地址; 根据所述MAC地址对应的统计寄存器地址,查询所述更新后的VPLS MAC老化表; 若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未置位,则删除所 述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表项; 若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将 Ref。

7、resh清零。 7.一种基于VPLS的MAC地址老化的装置,其特征在于,包括: 接收及转发模块,用于在构建VPLS实例后,获取来自远端侧和/或本地侧的报文; 查询及操作模块,用于对所述报文进行源MAC地址学习,根据源MAC地址的学习结果, 创建或更新VPLS MAC老化表; 老化处理模块,用于当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老 权 利 要 求 书CN 102821168 A 2/2页 3 化软件链表及所述VPLS MAC老化表进行MAC地址老化操作。 8.根据权利要求7所述的装置,其特征在于,所述老化处理模块还用于配置VPLS实例 的MAC老化时间,保存于所述MAC。

8、老化软件链表中。 9.根据权利要求7所述的装置,其特征在于,所述查询及操作模块包括: 获取单元,用于获取所述VPLS实例的VPNID; 第一查找单元,用于以所述VPLS实例的VPNID查找VPN表; 第二查找单元,用于当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时, 根据所述VPNID及从所述报文中解析出的MAC源地址查询MAC地址表; 学习处理单元,用于当所述MAC地址表中存在与所述源MAC地址对应的MAC表项时,将 所述VPLS MAC老化表中对应的Refresh标记置位;否则进行MAC地址学习上报流程,同时 创建VPLS MAC老化表。 10.根据权利要求9所述的装置。

9、,其特征在于,所述获取单元还用于当所述报文为本地 侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID;当所述报文为远端侧报文时, 通过查询标签表获取所述VPLS实例的VPNID。 11.根据权利要求9所述的装置,其特征在于,所述学习处理单元还用于当学习到一个 新的MAC表项时,将具有相同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置, 并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表, 添加相应的表项。 12.根据权利要求7-11中任一项所述的装置,其特征在于,所述老化处理模块包括: 遍历单元,用于遍历MAC老化软件链表中所述VP。

10、LS实例的MAC地址; 地址获取单元,用于获取所述MAC地址对应的统计寄存器地址; 第三查询单元,用于根据所述MAC地址对应的统计寄存器地址,查询所述更新后的 VPLS MAC老化表; 老化单元,用于当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未 置位,则删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表项; 当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将Refresh清 零。 权 利 要 求 书CN 102821168 A 1/11页 4 基于 VPLS 的 MAC 地址老化的方法及装置 技术领域。

11、 0001 本发明涉及网络数据通信技术领域,尤其涉及一种基于VPLS的MAC地址老化的方 法及装置。 背景技术 0002 VPLS(Virtual Private LAN Services,虚拟专用局域网业务)是一种在MPLS (Multi-protocol Label Switching,多协议标签交换)网络上提供类似LAN(Local Area Network,局域网)的一种业务,它可以使用户从多个地理位置分散的点同时接入网络,相互 访问,如同这些点直接接入到LAN上一样。VPLS结合了以太网和MPLS技术的优势,是对传 统LAN全部功能的仿真,其主要目的是通过运营商提供的MPLS网络连接。

12、地域上隔离的多个 由以太网构成的LAN,使得它们像一个LAN那样去工作,从而形成虚拟专用网络。 0003 通过MAC地址的学习,每个承载VPN的PE(Provider Edge,运营商边缘)设备上 都会生成相应的MAC地址表,该MAC地址表称作VFI (Virtual Forwarding Instance)。PE 设备学习到的MAC地址表项如果不再使用,则需要有老化机制来移除。 0004 老化机制根据PE设备进行MAC地址学习所接收的报文中的源MAC地址进行处理, 其处理过程为:PE设备收到报文时,除了学习源MAC地址外,对于已经生成的MAC表项,还 需要设置“激活”或者“有效”标记,在一定。

13、时间内未被设置“激活”或者“有效”标记的MAC 表项,将从MAC地址表中移除。 0005 目前,网络设备的MAC老化机制一般都是基于硬件自动实现,其优点是不用消耗 CPU资源对每个MAC加时间戳,故效率较高。但是硬件老化机制功能单一且不灵活,只能对 所有的MAC地址采用统一的老化时间,而传统的VPLS MAC地址老化也是采用和普通的MAC 老化机制相同的硬件机制来实现,因此,不能应付不同VPLS实例配置不同 MAC老化时间的 需求。 发明内容 0006 本发明的主要目的在于提供一种基于VPLS的MAC地址老化的方法及装置,旨在实 现对于不同的VPLS实例配置不同的MAC老化时间,满足业务的灵活。

14、性需求。 0007 为了达到上述目的,本发明提出一种基于VPLS的MAC地址老化的方法,包括: 0008 在构建VPLS实例后,获取来自远端侧和/或本地侧的报文; 0009 对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化表; 0010 当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件链表及所 述VPLS MAC老化表进行MAC地址老化操作。 0011 优选地,所述在构建VPLS实例后,获取来自远端和/或本地侧的报文的步骤之前 还包括: 0012 配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。 说 明 书CN 1。

15、02821168 A 2/11页 5 0013 优选地,所述对报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或更 新VPLS MAC老化表的步骤包括: 0014 获取所述VPLS实例的VPNID; 0015 以所述VPLS实例的VPNID作为键值查找VPN表; 0016 当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功能时,根据所述VPNID 及从所述报文中解析出的MAC源地址查询MAC地址表; 0017 若所述MAC地址表中存在与所述源MAC地址对应的MAC表项,则将所述VPLS MAC 老化表中对应的Refresh标记置位;否则进行MAC地址学习上报流程,同时创建。

16、VPLS MAC 老化表。 0018 优选地,所述获取VPLS实例的VPNID的步骤包括: 0019 当所述报文为本地侧报文时,通过查询接口属性表获取所述VPLS实例的VPNID; 0020 当所述报文为远端侧报文时,通过查询标签表获取所述VPLS实例的VPNID。 0021 优选地,所述进行MAC地址学习上报流程包括: 0022 当学习到一个新的MAC表项时,将具有相同VPNID的MAC表项添加到所述MAC老 化软件链表中对应位置,并顺序分配一统计寄存器地址至所述MAC老化软件链表、VPLS MAC 老化表及MAC地址表,添加相应的表项。 0023 优选地,所述根据MAC老化软件链表及所述V。

17、PLS MAC老化表进行MAC地址老化操 作的步骤包括: 0024 遍历MAC老化软件链表中所述VPLS实例的MAC地址; 0025 获取所述MAC地址对应的统计寄存器地址; 0026 根据所述MAC地址对应的统计寄存器地址,查询所述更新后的VPLS MAC老化表; 0027 若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记未置位,则删 除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表项; 0028 若所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将 Refresh清零。 0029 本发明还提出一种基于VP。

18、LS的MAC地址老化的装置,包括: 0030 接收及转发模块,用于在构建VPLS实例后,获取来自远端侧和/或本地侧的报 文; 0031 查询及操作模块,用于对所述报文进行源MAC地址学习,根据源MAC地址的学习结 果,创建或更新VPLS MAC老化表; 0032 老化处理模块,用于当预先配置的对应所述VPLS实例的老化时间到达后,根据 MAC老化软件链表及所述VPLS MAC老化表进行MAC地址老化操作。 0033 优选地,所述老化处理模块还用于配置VPLS实例的MAC老化时间,保存于所述MAC 老化软件链表中。 0034 优选地,所述查询及操作模块包括: 0035 获取单元,用于获取所述VP。

19、LS实例的VPNID; 0036 第一查找单元,用于以所述VPLS实例的VPNID查找VPN表; 0037 第二查找单元,用于当通过查找结果获取到所述VPLS实例使能VPLS MAC老化功 能时,根据所述VPNID及从所述报文中解析出的MAC源地址查询MAC地址表; 说 明 书CN 102821168 A 3/11页 6 0038 学习处理单元,用于当所述MAC地址表中存在与所述源MAC地址对应的MAC表项 时,将所述VPLS MAC老化表中对应的Refresh标记置位;否则进行MAC地址学习上报流程, 同时创建VPLS MAC老化表。 0039 优选地,所述获取单元还用于当所述报文为本地侧报。

20、文时,通过查询接口属性表 获取所述VPLS实例的VPNID;当所述报文为远端侧报文时,通过查询标签表获取所述VPLS 实例的VPNID。 0040 优选地,所述学习处理单元还用于当学习到一个新的MAC表项时,将具有相同 VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺序分配一统计寄存器地址 至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。 0041 优选地,所述老化处理模块包括: 0042 遍历单元,用于遍历MAC老化软件链表中所述VPLS实例的MAC地址; 0043 地址获取单元,用于获取所述MAC地址对应的统计寄存器地址; 0044 第三查。

21、询单元,用于根据所述MAC地址对应的统计寄存器地址,查询所述更新后 的VPLS MAC老化表; 0045 老化单元,用于当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标 记未置位,则删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应的MAC表 项;当所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标记置位,则将Refresh 清零。 0046 本发明提出的一种基于VPLS的MAC地址老化的方法及装置,在构建VPLS实例后, 获取来自远端侧和/或本地侧的报文进行源MAC地址学习;根据学习结果创建或者更新 VPLS MAC老化表;当预先。

22、配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软件 链表及所述VPLS MAC老化表进行MAC地址老化操作,由此针对不同的VPLS实例可以按需 分别配置不同的MAC老化时间,解决了所有VPLS实例只能采用同一个老化时间的局限,更 能满足业务的灵活性需求。 附图说明 0047 图1是本发明基于VPLS的MAC地址老化的方法一实施例的流程示意图; 0048 图2a是本发明的VPLS MAC老化软件表的初始化状态示意图; 0049 图2b是本发明的VPLS MAC老化软件表配置老化时间后的状态示意图; 0050 图2c是本发明的VPLS MAC老化软件表添加MAC地址的状态示意图; 00。

23、51 图3是本发明基于VPLS的MAC地址老化的方法一实施例中对报文进行源MAC地 址学习,根据源MAC地址的学习结果,创建或更新VPLS MAC老化表的流程示意图; 0052 图4是本发明基于VPLS的MAC地址老化的方法一实施例中根据MAC老化软件链 表及所述VPLS MAC老化表进行MAC地址老化操作的流程示意图; 0053 图5是本发明基于VPLS的MAC地址老化的方法另一实施例的流程示意图; 0054 图6是本发明基于VPLS的MAC地址老化的装置一实施例的结构示意图; 0055 图7是本发明基于VPLS的MAC地址老化的装置一实施例中查询及操作模块的结 构示意图; 0056 图8是。

24、本发明基于VPLS的MAC地址老化的装置一实施例中老化处理模块的结构 说 明 书CN 102821168 A 4/11页 7 示意图。 0057 为了使发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。 具体实施方式 0058 本发明实施例的解决方案主要是:在构建VPLS实例后,接收来自远端侧和/或本 地侧的报文进行MAC地址查询;根据查询结果创建或者更新VPLS MAC老化表;当预先配置 的对应所述VPLS实例的老化时间到达后,根据MAC老化软件链表及所述VPLS MAC老化表 进行MAC地址老化操作,以实现对于不同的VPLS实例可以按需分别配置不同的MAC老化时 间,满足业务的灵活。

25、性需求。 0059 如图1所示,本发明一实施例提出一种基于VPLS的MAC地址老化的方法,包括: 0060 步骤S101,在构建VPLS实例后,获取来自远端侧和/或本地侧的报文; 0061 步骤S102,对所述报文进行源MAC地址学习,根据源MAC地址的学习结果,创建或 更新VPLS MAC老化表; 0062 VPLS实例的构建就是在对应的PE之间建立起伪线连接,需要定义相应的伪线控 制信令,其可通过隧道建立信令的扩展实现。在建立起VPLS实例后,PE将承担起仿真网桥 的功能,将客户某一区域LAN经由AC送入的以太网帧转发至适当的伪线,即可送达目的区 域LAN,由此完成客户不同区域LAN的互联。

26、。通常,每个VPLS实例都唯一的对应一个实例号 VPNID。 0063 本实施例方法运行环境涉及接收及转发模块、查询及操作模块以及老化处理模 块。 0064 在构建VPLS实例后,接收及转发模块接收来自远端侧和/或本地侧的报文,查询 及操作模块进行MAC地址查询及转发操作。 0065 如果没有查询到该MAC地址,则上报学习该MAC地址,同时创建VPLS MAC老化表; 如果查询到该MAC地址,则根据查询结果更新VPLS MAC老化表的刷新标记位。 0066 本实施例预先在本地创建了MAC地址表以及MAC老化软件链表,并在构建VPLS实 例后,预先为每个VPLS实例配置有MAC老化时间,每个VP。

27、LS实例的MAC老化时间与该VPLS 实例的实例号唯一对应。 0067 其中,VPLS MAC老化表如下表1所示,MAC地址表如下表2所示, VPLS MAC老化 软件表的初始化状态如图2a所示,VPLS MAC老化软件表的配置老化时间后的状态如图2b 所示,VPLS MAC老化软件表的添加MAC地址的状态如图2c所示。 0068 KEY Result CNT1(起始地址+1) Refresh标记(0:表示未被命中1:表示命中过) CNT2(起始地址+2) Refresh标记(0:表示未被命中1:表示命中过) CNT3(起始地址+3) Refresh标记(0:表示未被命中1:表示命中过) 00。

28、69 表1 VPLS MAC 老化表 0070 说 明 书CN 102821168 A 5/11页 8 Vpls实例号VpnId Mac出接口信息Cnt值 0071 表2 MAC地址表 0072 上述表1及表2中 cnt值为统计寄存器地址 。 0073 在配置VPLS实例MAC老化时间时,会将该实例号所配置的MAC老化时间下发给老 化处理模块。老化处理模块记录各个VPLS实例所配置的老化时间至MAC老化软件链表中, 并维护该MAC老化软件链表,同时维护VPLS MAC老化表以供查询及操作模块操作。 0074 查询及操作模块在接收到来自远端侧和/或本地侧的报文进行MAC地址查询时, 若没有查询到。

29、该MAC地址,则上报学习该MAC地址,同时创建VPLS MAC老化表,当学习到一 个新的MAC表项时,将具有相同VPNID的MAC表项添加到同一个双向链表中,同时顺序分配 一个统计寄存器的地址,添加VPLS MAC老化表的一条表项。 0075 若学习到的不是新的MAC表项,则将VPLS MAC老化表中对应的Refresh标记置为 1,表示该MAC表项被命中。 0076 查询及操作模块根据报文的VPNID+MAC地址进行VPLS MAC老化表的更新操作,并 将报文送往接收及转发模块进行相应的转发。 0077 步骤S103,当预先配置的对应所述VPLS实例的老化时间到达后,根据MAC老化软 件链表。

30、及所述VPLS MAC老化表进行MAC地址老化操作。 0078 老化处理模块通过配置的老化时间来轮询遍历MAC老化软件链表,将满足条件的 VPLS MAC上报进行统一删除处理。 0079 具体地,如图3所示,上述步骤S102包括: 0080 步骤S1011,获取所述VPLS实例的VPNID; 0081 其中,获取VPLS实例的VPNID的过程为:若所述报文为本地侧报文,则通过查询接 口属性表获取所述VPLS实例的VPNID;若所述报文为远端侧报文,则通过查询标签表获取 所述VPLS实例的VPNID。 0082 步骤S1012,以所述VPLS实例的VPNID作为键值查找VPN表; 0083 步骤。

31、S1013,判断所述VPLS实例是否使能VPLS MAC老化功能;若是,则进入步骤 S1014;否则,进入步骤S1015; 0084 步骤S1014,进入普通转发流程; 0085 步骤S1015,根据所述VPNID及从报文中解析出的MAC地址查询MAC地址表; 0086 步骤S1016,判断所述MAC地址表中是否存在与所述源MAC地址对应的MAC表项, 若是,则进入步骤S1017;否则,进入步骤S1018; 0087 步骤S1017,将所述VPLS MAC老化表中对应的Refresh标记置为1; 0088 步骤S1018,进行MAC地址学习上报流程。 0089 所述进行MAC地址学习上报流程包。

32、括:当学习到一个新的MAC表项时,将具有相同 VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺序分配一统计寄存器地址 至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。 0090 如图4所示,上述步骤S103中根据MAC老化软件链表及所述VPLS MAC老化表进 行MAC地址老化操作的步骤包括: 0091 步骤S1031,遍历MAC老化软件链表中所述VPLS实例的MAC地址; 说 明 书CN 102821168 A 6/11页 9 0092 步骤S1032,获取所述MAC地址对应的统计寄存器地址; 0093 步骤S1033,根据所述MAC地址对应。

33、的统计寄存器地址,查询所述更新后的VPLS MAC老化表; 0094 步骤S1034,判断所述VPLS MAC老化表中所述统计寄存器地址对应的Refresh标 记置位是否为0;若是,则进入步骤S1035;否则,进入步骤S1036; 0095 步骤S1035,删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对应 的MAC表项; 0096 步骤S1036,将Refresh清零。 0097 如果refresh 为0,则表示在老化时间内,该MAC地址没有被命中过,故删除该MAC 地址;如果refresh 为1,则表示在老化时间内,该MAC地址被命中过,故不需要删除该MAC 地址,同。

34、时老化处理模块将其refresh清零。 0098 如图5所示,本发明另一实施例提出一种基于VPLS的MAC地址老化的方法,在上 述实施例的基础上,在上述步骤S101中构建VPLS实例后,获取来自远端和/或本地侧的报 文的步骤之前还包括: 0099 步骤S100,配置VPLS实例的MAC老化时间,保存于所述MAC老化软件链表中。 0100 在本实施例中,在配置老化时间时,老化处理模块记录每个VPLS实例对应的MAC 老化时间,如果配置了该VPLS实例下的老化功能,需要将所有与该实例相关的MAC表项设 置成硬件老化功能disable,防止被普通的硬件MAC 老化机制删除该MAC,同时当VPLS M。

35、AC 有静态MAC时,也不能删除,需要走正常的流程。 0101 例如,如图2a所示,配置实例名称为VPLS1的MAC老化时间为20S,配置实例名称 为VPLS2的MAC老化时间为60S,配置实例名称为VPLS3的MAC老化时间为10S,则老化处 理模块需要建立一个数据结构用于保存这些信息。 0102 其中用于保存VPLS实例的老化配置的数据结构为: 0103 0104 更为具体地,本实施例检测老化时间及进行老化操作判断的过程如下: 说 明 书CN 102821168 A 7/11页 10 0105 设定一循环定时器,启动循环定时器用于检测老化时间。定义循环定时器的周期 为单位时间T(假设一个单。

36、位时间T值的大小为10S)。定时器每tick一次,老化计数器累 加一次,当老化计数器等于该实例配置的老化时间时,将该计数器进行清零操作,同时对该 实例所有的MAC进行遍历操作,老化处理模块判断该MAC的老化refresh标记是否被置位。 0106 例如,如图2b所示,定时器在经过一个周期后,此时所有实例的老化计时器都累 加了一次,对于实例vpls3,老化时间正好为10S,需要对其进行MAC遍历操作,同时需要把 老化计数器进行归零操作。 0107 此外,在通过MAC地址学习后更新VPLS MAC老化表时,当学习到一个新的MAC表 项时,驱动将具有相同VPNID的MAC表项添加到同一个双向链表中,。

37、同时顺序分配一个统计 寄存器的地址,添加VPLS MAC老化表的一条表项。 0108 例如,如图2c所示,接收及转发模块收到一系列报文,并学习到三个新的VPLS MAC,实例为VPLS3对应的VPNID为3,MAC地址分别为mac, macB,macC,驱动会构建MAC 表项。同时,如表1所示,顺序分配他们的统计寄存器地址为起始地址+1,起始地址+2,起 始地址+3。 0109 其中用于存储老化MAC的双向链表的数据结构为: 0110 0111 0112 另外,在VPLS MAC老化软件表遍历操作中,当老化计数器的时间等于该配置的老 化时间时,会触发该实例下的MAC老化功能。 0113 例如,。

38、当实例Vpls3的老化时间到达10S时,将对该实例下的所有MAC表项进行遍 历操作,判断是否需要对该MAC表项进行老化操作。通过双向链表中的该MAC对应的统计 寄存器地址,来查询VPLS MAC老化表,来判断该表项是否需要被老化。 0114 如果refresh 为0,则表示在老化时间内,该MAC没有被命中过,故删除该MAC;如 果refresh 为1,则表示在老化时间内,该MAC被命中过,故不需要删除该MAC,同时老化处 说 明 书CN 102821168 A 10 8/11页 11 理模块将其refresh 清零。 0115 本实施例实现了针对不同的VPLS实例可以按需分别配置不同的MAC老。

39、化时间,解 决了所有VPLS实例只能采用同一个老化时间的局限,更能满足业务的灵活性需求。 0116 如图6所示,本发明一实施例提出一种基于VPLS的MAC地址老化的装置,包括:接 收及转发模块501、查询及操作模块502以及老化处理模块503,其中: 0117 接收及转发模块501,用于在构建VPLS实例后,获取来自远端侧和/或本地侧的报 文; 0118 查询及操作模块502,用于对所述报文进行源MAC地址学习,根据源MAC地址的学 习结果,创建或更新VPLS MAC老化表; 0119 老化处理模块503,用于当预先配置的对应所述VPLS实例的老化时间到达后,根 据MAC老化软件链表及所述VP。

40、LS MAC老化表进行MAC地址老化操作。 0120 VPLS实例的构建就是在对应的PE之间建立起伪线连接,需要定义相应的伪线控 制信令,其可通过隧道建立信令的扩展实现。在建立起VPLS实例后,PE将承担起仿真网桥 的功能,将客户某一区域LAN经由AC送入的以太网帧转发至适当的伪线,即可送达目的区 域LAN,由此完成客户不同区域LAN的互联。通常,每个VPLS实例都唯一的对应一个实例号 VPNID。 0121 在构建VPLS实例后,接收及转发模块501接收来自远端侧和/或本地侧的报文, 由查询及操作模块502进行MAC地址查询及转发操作。 0122 如果没有查询到该MAC地址,则上报学习该MA。

41、C地址,同时创建VPLS MAC老化表; 如果查询到该MAC地址,则根据查询结果更新VPLS MAC老化表的刷新标记位。 0123 本实施例预先在本地创建了MAC地址表以及MAC老化软件链表,并在构建VPLS实 例后,预先为每个VPLS实例配置有MAC老化时间,每个VPLS实例的MAC老化时间与该VPLS 实例的实例号唯一对应。 0124 其中,VPLS MAC老化表如上表1所示,MAC地址表如上表2所示, VPLS MAC老化 软件表的初始化状态如图2a所示,VPLS MAC老化软件表的配置老化时间后的状态如图2b 所示,VPLS MAC老化软件表的添加MAC地址的状态如图2c所示。 012。

42、5 上述表1及表2中 cnt值为统计寄存器地址 。 0126 在配置VPLS实例MAC老化时间时,会将该实例号所配置的MAC老化时间下发给老 化处理模块503。老化处理模块503记录各个VPLS实例所配置的老化时间至MAC老化软件 链表中,并维护该MAC老化软件链表,同时维护VPLS MAC老化表以供查询及操作模块502 操作。 0127 查询及操作模块502在对来自远端侧和/或本地侧的报文进行MAC地址查询时, 若没有查询到该MAC地址,则上报学习该MAC地址,同时创建VPLS MAC老化表,当学习到一 个新的MAC表项时,将具有相同VPNID的MAC表项添加到同一个双向链表中,同时顺序分配。

43、 一个统计寄存器的地址,添加VPLS MAC老化表的一条表项。 0128 若学习到的不是新的MAC表项,则将VPLS MAC老化表中对应的Refresh标记置为 1,表示该MAC表项被命中。 0129 查询及操作模块502根据报文的VPNID+MAC地址进行VPLS MAC老化表的更新操 作,并将报文送往接收及转发模块501进行相应的转发。 说 明 书CN 102821168 A 11 9/11页 12 0130 老化处理模块503通过配置的老化时间来轮询遍历MAC老化软件链表,将满足条 件的VPLS MAC上报,进行统一删除处理。 0131 具体地,如图7所示,所述查询及操作模块501包括:。

44、获取单元5011、第一查找单 元5012、第二查找单元5013以及学习处理单元5014,其中: 0132 获取单元5011,用于获取所述VPLS实例的VPNID; 0133 第一查找单元5012,用于以所述VPLS实例的VPNID作为键值查找VPN表; 0134 第二查找单元5013,用于当通过查找结果获取到所述VPLS实例使能VPLS MAC老 化功能时,根据所述VPNID及从所述报文中解析出的MAC地址查询MAC地址表; 0135 学习处理单元5014,用于当所述MAC地址表中存在与所述源MAC地址对应的MAC 表项时,将所述VPLS MAC老化表中对应的Refresh标记置位;否则进行M。

45、AC地址学习上报 流程,同时创建VPLS MAC老化表。 0136 所述获取单元5011获取VPLS实例的VPNID的过程为:当所述报文为本地侧报文 时,通过查询接口属性表获取所述VPLS实例的VPNID;当所述报文为远端侧报文时,通过查 询标签表获取所述VPLS实例的VPNID。 0137 具体地,所述学习处理单元5014还用于当学习到一个新的MAC表项时,将具有相 同VPNID的MAC表项添加到所述MAC老化软件链表中对应位置,并顺序分配一统计寄存器 地址至所述MAC老化软件链表、VPLS MAC老化表及MAC地址表,添加相应的表项。 0138 如图8所示,所述老化处理模块503包括:遍历。

46、单元5031、地址获取单元5032、第 三查询单元5033以及老化单元5034,其中: 0139 遍历单元5031,用于遍历MAC老化软件链表中所述VPLS实例的MAC地址; 0140 地址获取单元5032,用于获取所述MAC地址对应的统计寄存器地址; 0141 第三查询单元5033,用于根据所述MAC地址对应的统计寄存器地址,查询所述更 新后的VPLS MAC老化表; 0142 老化单元5034,用于当所述VPLS MAC老化表中所述统计寄存器地址对应的 Refresh标记未置位时,删除所述MAC老化软件链表、MAC地址表以及VPLS MAC老化表中对 应的MAC表项;当所述VPLS MAC。

47、老化表中所述统计寄存器地址对应的Refresh标记置位 时,将Refresh清零。 0143 进一步,所述老化处理模块503还用于配置VPLS实例的MAC老化时间,保存于所 述MAC老化软件链表中。 0144 在配置老化时间时,老化处理模块503记录每个VPLS实例对应的MAC老化时间, 如果配置了该VPLS实例下的老化功能,需要将所有与该实例相关的MAC表项设置成硬件老 化功能disable,防止被普通的硬件MAC 老化机制删除该MAC,同时当VPLS MAC有静态MAC 时,也不能删除,需要走正常的流程。 0145 例如,如图2a所示,配置实例名称为VPLS1的MAC老化时间为20S,配置。

48、实例名称 为VPLS2的MAC老化时间为60S,配置实例名称为VPLS3的MAC老化时间为10S,则老化处 理模块503需要建立一个数据结构用于保存这些信息。 0146 其中用于保存VPLS实例的老化配置的数据结构为: 说 明 书CN 102821168 A 12 10/11页 13 0147 0148 更为具体地,本实施例检测老化时间及进行老化操作判断的过程如下: 0149 设定一循环定时器,启动循环定时器用于检测老化时间。定义循环定时器的周期 为单位时间T(假设一个单位时间T值的大小为10S)。定时器每tick一次,老化计数器累 加一次,当老化计数器等于该实例配置的老化时间时,将该计数器进行清零操作,同时对该 实例所有的MAC进行遍历操作,老化处理模块503判断该MAC的老化refresh标记是否被 置位。 0150 例如,如图2b所示,定时器在经过一个周期后,此时所有实例的老化计时器都累 加了一次,对于实例vpls3,老化时间正好为10S,需要对其进行MAC遍历操作,同时需要把 老化计数器进行归零操作。 0151 此外,在通过MAC地址学习后更新VPLS MAC老化表时,当学习到一个新的MAC表 项时,驱动将具有相同VPNID的MAC表项添加到同一个双向链表中,同时顺序分配一个统计 寄存器的地址,添加VPLS MAC老化表的一条表项。 0152 例如,如图2c所示,。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1