以太网虚连接域老化介质访问控制地址的方法转让专利

申请号 : CN200810176409.3

文献号 : CN101404611B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王庆东

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种以太网虚连接域老化介质访问控制地址的方法,包括:接收报文,提取所述报文携带的介质访问控制MAC地址和以太网虚连接号EVC-ID;当接收到携带有EVC-ID的定时器消息时,如果MAC地址表中存在和所述EVC-ID相匹配的EVC-ID时,对所述EVC-ID对应的MAC地址进行老化;所述MAC地址表的表项包括相对应的MAC地址和EVC-ID。本发明解决了不同业务要求MAC地址管理差异性的问题,同时也提高了老化效率。

权利要求 :

1.一种以太网虚连接域老化介质访问控制地址的方法,其特征在于,包括:

接收报文,提取所述报文携带的介质访问控制MAC地址和以太网虚连接号EVC-ID;

当接收到携带有EVC-ID的定时器消息时,如果MAC地址表中存在和所述EVC-ID相匹配的MAC地址时,对所述EVC-ID对应的MAC地址进行老化;所述MAC地址表的表项包括相对应的MAC地址和EVC-ID。

2.如权利要求1所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,对每个以太网虚连接EVC启动一个定时器,在遍历所述MAC地址表时检查其中EVC-ID,只对所述EVC的所属MAC地址进行老化,需要老化的所述EVC-ID在所述定时器消息中指定。

3.如权利要求2所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,启动所述定时器后,定时器任务向老化任务发送所述定时器消息,所述定时器消息中包含有EVC-ID;所述老化任务收到所述定时器消息后,对所述定时器消息中EVC-ID所对应的MAC地址进行老化。

4.如权利要求1所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,在所述MAC地址老化之前需要确定以太网虚连接EVC老化属性,所述MAC地址的老化按照所述EVC老化属性进行,所述EVC老化属性由网管配置并下发。

5.如权利要求4所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,所述EVC老化属性的参数包括MAC老化使能选项和MAC老化时间。

6.如权利要求5所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,确定所述EVC老化属性包括下列步骤:进行合法性检查,并保存所述EVC老化属性参数;

启动一个循环定时器并设定定时时间。

7.如权利要求6所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,所述循环定时器的时间粒度小于所述老化时间。

8.如权利要求1所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,对所述EVC-ID对应的MAC地址进行老化之前,建立所述MAC地址表;配置以太网虚连接EVC的老化属性,所述老化属性包括老化使能选项和老化时间;根据老化时间确定老化定时器的时间粒度。

9.如权利要求1所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于:老化任务接收定时器消息,所述定时器消息中携带有EVC-ID;

遍历所述MAC地址表,在所述MAC地址表中查找与所述EVC-ID相匹配的MAC地址项;

如果查找到所述EVC-ID匹配的MAC地址,根据所述MAC地址对应的老化索引获取老化计数,对所述老化计数按照老化粒度作减操作;如果没有查找到所述EVC-ID匹配的MAC地址,查找下一条MAC地址项;

如果递减后的所述老化计数为0,在所述MAC地址表中删除所述MAC地址项;如果递减后的老化计数不为0,则将递减后的老化计数更新到老化索引所指向的计数器中,然后查找下一条MAC地址项。

10.如权利要求1所述的以太网虚连接域老化介质访问控制地址的方法,其特征在于,如果当前报文的MAC地址相对于MAC地址表中的表项来说为新的MAC地址时,进行MAC地址的学习,所述MAC地址的学习过程包括:当在端口接收到报文时,对所述报文进行流分类,获取所述报文所属的EVC-ID;

提取所述报文的源MAC地址,然后根据MAC地址+EVC-ID查所述MAC地址表;

如果能查找到所述MAC地址,更新所述MAC地址对应的老化计数;如果查不到所述MAC地址,通过管理接口将源MAC地址信息传递给CPU,将所述源MAC地址信息添加到MAC地址表中,所述源MAC地址信息包括EVC-ID、源MAC地址和源端口号;

给源MAC地址信息中的源MAC地址分配对应的老化索引,同时将老化计数设置为初始值,将源MAC地址信息连同老化索引更新到所述MAC地址表中。

说明书 :

以太网虚连接域老化介质访问控制地址的方法

技术领域

[0001] 本发明涉及一种按照流域老化MAC地址的方法,尤其涉及一种以太网虚连接(EVC,Ethernet Virtual Connection)域老化介质访问控制(MAC,Media Access Control)地址的方法。

背景技术

[0002] MEF(Metro Ethernet Forum)是一个专注于解决以太网技术的非营利性组织,其主要目标是定义一个电信级的以太网体系结构,将以太网技术作为交换技术和传输技术广泛应用于城域网建设。它定义了三层的应用:传输层、以太网服务层、应用服务层。以太网服务层用于实现传统的以太网MAC(Media Access Control,介质访问控制)层功能,基本原理仍然遵循以太网网桥特性,以太网交换机通过对进入端口的以太网广播/单播帧的源MAC地址的自动学习功能,获得MAC地址与交换机端口的对应关系,从而在下次进入交换机的以太网帧中,读取目的MAC地址,查找对应的端口,进行交换,并可实现初级L2流控。
[0003] MEF中定义了几种EVC(Ethernet Virtual Connection,以太网虚连接)业务模型,其中多点到多点的EVC类似于传统以太网网桥;由于一个MEF设备节点可以配置多个EVC,也就类似于存在多个网桥,需要按照EVC来提供二层以太网服务;传统以太网交换机可以采用IVL(独立vlan学习)或者SVL(共享vlan学习)的方式进行MAC地址学习和转发,按照设备级别进行MAC地址的老化;而符合MEF标准的城域以太网设备应该如何对MAC地址进行管理,MEF标准中没有提及。如果按照传统以太网交换机的方法,则没有办法按照流域精细管理MAC,也无法按照流域设置老化属性,达到对业务的差异化管理,并且MAC地址老化效率也十分低下。

发明内容

[0004] 本发明要解决的技术问题是提供一种以太网虚连接域老化介质访问控制地址的方法,解决了不同业务要求MAC地址管理差异性的问题,同时也提高了老化效率。
[0005] 为了解决上述问题,本发明提供了一种以太网虚连接域老化介质访问控制地址的方法,包括:
[0006] 接收报文,提取所述报文携带的介质访问控制MAC地址和以太网虚连接号EVC-ID;
[0007] 当接收到携带有EVC-ID的定时器消息时,如果MAC地址表中存在和所述EVC-ID相匹配的MAC地址时,对所述EVC-ID对应的MAC地址进行老化;所述MAC地址表的表项包括相对应的MAC地址和EVC-ID。
[0008] 进一步,对每个以太网虚连接EVC启动一个定时器,在遍历所述MAC地址表时检查其中EVC-ID,只对所述EVC的所属MAC地址进行老化,需要老化的所述EVC-ID在所述定时器消息中指定。
[0009] 进一步,启动所述定时器后,定时器任务向老化任务发送所述定时器消息,所述定时器消息中包含有EVC-ID;所述老化任务收到所述定时器消息后,对所述定时器消息中EVC-ID所对应的MAC地址进行老化。
[0010] 进一步,在所述MAC地址老化之前需要确定以太网虚连接EVC老化属性,所述MAC地址的老化按照所述EVC老化属性进行,所述EVC老化属性由网管配置并下发。
[0011] 进一步,所述EVC老化属性的参数包括MAC老化使能选项和MAC老化时间。
[0012] 进一步,确定所述EVC老化属性包括下列步骤:
[0013] 进行合法性检查,并保存所述EVC老化属性参数;
[0014] 启动一个循环定时器并设定定时时间。
[0015] 进一步,所述循环定时器的时间粒度小于所述老化时间。
[0016] 进一步,对所述EVC-ID对应的MAC地址进行老化之前,建立所述MAC地址表;配置以太网虚连接EVC的老化属性,所述老化属性包括老化使能选项和老化时间;根据老化时间确定老化定时器的时间粒度。
[0017] 进一步:
[0018] 老化任务接收定时器消息,所述定时器消息中携带有EVC-ID;
[0019] 遍历所述MAC地址表,在所述MAC地址表中查找与所述EVC-ID相匹配的MAC地址项;
[0020] 如果查找到所述EVC-ID匹配的MAC地址,根据所述MAC地址对应的老化索引获取老化计数,对所述老化计数按照老化粒度作减操作;如果没有查找到所述EVC-ID匹配的MAC地址,查找下一条MAC地址项;
[0021] 如果递减后的所述老化计数为0,在所述MAC地址表中删除所述MAC地址项;如果递减后的老化计数不为0,则将递减后的老化计数更新到老化索引所指向的计数器中,然后查找下一条MAC地址项。
[0022] 进一步,如果当前报文的MAC地址相对于MAC地址表中的表项来说为新的MAC地址时,进行MAC地址的学习,所述MAC地址的学习过程包括:
[0023] 当在端口接收到报文时,对所述报文进行流分类,获取所述报文所属的EVC-ID;
[0024] 提取所述报文的源MAC地址,然后根据MAC地址+EVC-ID查所述MAC地址表;
[0025] 如果能查找到所述MAC地址,更新所述MAC地址对应的老化计数;如果查不到所述MAC地址,通过管理接口将源MAC地址信息传递给CPU,将所述源MAC地址信息添加到MAC地址表中,所述源MAC地址信息包括EVC-ID、源MAC地址和源端口号;
[0026] 给源MAC地址信息中的源MAC地址分配对应的老化索引,同时将老化计数设置为初始值,将源MAC地址信息连同老化索引更新到所述MAC地址表中。
[0027] 技术效果如下:
[0028] 采用本发明所述方法,与现有技术相比,解决了不同业务要求MAC地址管理差异性的问题,同时也提高了老化效率。本发明通过区分对待不同用户EVC业务的老化属性,实现对MAC地址的精细化管理,满足了用户的差异性需求,解决现有以太网技术只能进行设备级MAC地址老化的弊端。同时,由于循环定时器的粒度远小于老化时间,MAC地址老化的时间精度也大大提高。
[0029] 本发明基于EVC这个实际的交换域,精确控制MAC地址的老化,具有同一类转发属性的用户业务具备了相同的MAC老化属性(如老化时间参数);而不同的用户业务之间,则可以设置不同的MAC老化属性,实现了MAC地址管理上灵活性,更好的满足了用户对差异性的需求。

附图说明

[0030] 图1是本发明中MAC地址的学习流程图;
[0031] 图2是本发明中MAC地址的老化流程图。

具体实施方式

[0032] 本发明与传统以太网交换设备按照MAC地址+VLAN方式进行MAC地址学习不同,本发明根据MAC地址+EVC-ID(以太网虚连接号)的方式进行MAC地址的学习和老化,即依赖于MAC地址和EVC-ID的对应关系分别进行MAC地址的学习和老化。具体来说,如果当前报文的MAC地址相对于MAC地址表中的表项来说为新的MAC地址时,进行MAC地址的学习;当MAC地址表中存在匹配的EVC-ID时,对该EVC-ID对应的MAC地址老化计数进行更新(恢复成最大值)。
[0033] 传统以太网网桥在老化MAC地址的时候只会启动一个定时器,而不会按照EVC启动多个定时器,遍历MAC地址表时不会去匹配MAC地址所属的EVC-ID,而是对设备中MAC地址表的所有条目进行老化计数的递减和删除;而本发明的特别之处在于对每个EVC启动一个定时器,在遍历MAC地址表的时候要检查EVC-ID,只对本EVC的所属MAC地址(即EVC-ID对应的MAC地址)进行老化,需要老化的EVC-ID是在定时器消息中已经指定。
[0034] 如图1所示,是本发明中MAC地址的学习流程图,下面参照附图对以太网交换设备的MAC地址学习功能作详细描述。
[0035] 步骤101:MEF设备在端口接收到一条报文;
[0036] 步骤102:按照一定的规则对该报文进行流分类,流分类的结果是获取该报文所属的EVC-ID;
[0037] 步骤103:MEF设备提取该报文的源MAC地址,然后根据MAC地址+EVC-ID查MAC地址表;MAC地址表的表项包括MAC地址和EVC-ID等MAC地址信息,可以根据MAC地址、EVC-ID信息查找到端口号(对应于报文的目的端口);
[0038] 步骤104:判断表项MAC地址是否存在;如果存在进行步骤105,否则进行步骤106;
[0039] 步骤105:如果能查找到该MAC地址,说明本MAC地址已经学习到,只需要更新所对应的老化计数;
[0040] 步骤106:如果查不到该MAC地址,说明该MAC地址尚未学习,需要通过管理接口将源MAC地址信息传递给CPU,由软件对该源MAC地址信息进行添加,将该报文的源MAC地址信息添加到MAC地址表中。
[0041] 软件对MAC地址信息进行添加的过程如下:MAC地址学习任务收到的MAC地址信息主要包括EVC-ID、源MAC地址和源端口号,软件将会保存MAC地址信息,并给MAC地址信息中的源MAC地址分配对应的老化索引(该老化索引用来指定保存老化计数寄存器或者RAM的位置),同时将老化计数设置为初始值;最后将MAC地址信息连同老化索引一并更新到硬件MAC地址表中。
[0042] MAC地址老化之前还需要确定EVC老化属性,MAC地址的老化是按照EVC老化属性进行的,EVC老化属性由网管配置并下发。软件接收网管下发的EVC老化属性,前提是该EVC必须已经建立,而且具有多点到多点交换属性;EVC老化属性包括MAC老化使能选项(包括老化或者不老化)、MAC老化时间等参数。
[0043] 确定EVC老化属性可以包括下列步骤:
[0044] 1、软件进行相应的合法性检查,并保存EVC老化属性参数;
[0045] 2、启动一个循环定时器并设定定时时间。为了保证老化的精确性,循环定时器的时间粒度应小于老化时间。
[0046] 下面,对MAC地址的老化过程作详细说明。
[0047] MAC地址老化任务在收到定时器消息后,将会执行MAC地址老化操作。在MAC地址老化过程中,只对定时器所属的EVC进行MAC地址老化,老化完成后,该EVC下的所有MAC地址将会得到处理。
[0048] 1、定时器时间到,根据定时器消息所携带的EVC-ID,对MAC地址表进行遍历,查找所有与该EVC-ID匹配的MAC地址项;
[0049] 2、根据MAC地址对应的老化索引,从硬件寄存器或者RAM中读取到老化计数,并将该计数器进行一定步长的递减操作,判断结果是否为0;
[0050] 3、如果为0,说明该条MAC地址的老化时间已到,通过管理接口将MAC地址表中的本条MAC地址对应的信息删除;如果不为0,说明该MAC地址的老化时间尚未来到,则将递减后的老化计数重新写入硬件寄存器或者RAM中;
[0051] 4、继续处理下一条MAC地址项。
[0052] 下面,以一个具体的MAC地址老化过程对本发明作进一步说明。
[0053] 假定MAC地址的老化计数器初始值为200,从建立MAC地址表到MAC地址的老化过程包括以下步骤:
[0054] 步骤一:建立MAC地址表。
[0055] 在学习MAC地址的时候按照MAC+EVC-ID方式生成MAC地址表表项,设定老化计数初始化为200。
[0056] 步骤二:网管配置EVC的老化属性,老化属性包括老化使能选项、老化时间等参数;软件在接收到EVC老化属性后将会进行合法性检查,必须是已经成功建立的EVC才能配置老化属性。
[0057] 步骤三:根据老化时间确定老化定时器的时间粒度,本实施例中时间粒度设定为老化时间的1/20;启动定时器后,定时器任务向老化任务发送定时消息,定时消息中包含了EVC-ID信息。
[0058] 步骤四:老化任务收到该定时消息后,对该定时消息中EVC-ID所对应的MAC地址进行老化。
[0059] 如图2所示,是本发明中MAC地址的老化流程图,该MAC地址老化过程包括以下步骤:
[0060] 步骤201:当老化定时器时间片到,老化任务接收定时消息,该定时消息中携带有EVC-ID;
[0061] 步骤202:接收到定时消息后,遍历MAC地址表,在MAC地址表中查找所有与EVC-ID相匹配的MAC地址项;
[0062] 步骤203:判断MAC地址表中是否有与EVC-ID相匹配的MAC地址项;如果查找到EVC-ID相匹配的MAC地址,进行步骤204;如果没有查找到EVC-ID相匹配的MAC地址,则需要
[0063] 否则进行步骤202,查找下一条MAC地址项;
[0064] 步骤204:根据MAC地址对应的老化索引获取老化计数,对老化计数按照老化粒度作减操作,即将老化计数减10;
[0065] 步骤205:判断老化计数减步长后的老化计数是否为0;如果为0,说明该MAC地址的老化时间已到,进行步骤207;如果不为0,说明该MAC地址的老化时间还没有到,进行步骤206;
[0066] 步骤206:如果递减后的老化计数不为0,则将递减后的老化计数更新到老化索引所指向的计数器中,然后进行步骤202,查找下一条MAC地址项;
[0067] 步骤207:如果递减后的老化计数为0,在MAC地址表中删除该MAC地址项,实现地址的老化;
[0068] 步骤208:判断该MAC地址是否为MAC地址表中最后的表项,如果是则结束老化过程,否则进行步骤202,查找下一条MAC地址项,进行新一轮老化流程。