激活VLAN的动态调整方法和装置转让专利

申请号 : CN201210183997.X

文献号 : CN102769556B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪平安周天弋

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明提供了一种激活VLAN的动态调整方法和装置,该方法中,DED获取各多归属ED测量的自身的每个激活VLAN的流量信息,根据获取的各多归属ED测量的自身的每个激活VLAN的流量信息,按照预设规则对各多归属ED的激活VLAN进行调整;各多归属ED重新下发调整后分配到的激活VLAN。本发明能够保持各多归属ED间的流量均衡。

权利要求 :

1.一种激活VLAN的动态调整方法,应用于以太网虚拟化互联EVI站点;其特征在于,该方法包括:多归属边缘设备ED,测量自身的每个激活VLAN在公网侧的流量;接收到由当前设备参与选举出的指定边缘设备DED发送的流量请求报文时,返回携带自身的每个激活VLAN的流量信息的流量响应报文;接收到DED发送的激活VLAN下发请求报文时,重新下发激活VLAN下发请求报文中携带的激活VLAN;

DED向参与选举DED的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;根据获取的各多归属ED的每个激活VLAN的流量信息,按照预设规则对各多归属ED的激活VLAN进行调整,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED;

所述根据获取的各多归属ED的每个激活VLAN的流量信息,按照预设规则对各多归属ED的激活VLAN进行调整包括:计算各多归属ED的总流量,以及所有多归属ED的平均流量Avg;其中,各多归属ED的总流量为该多归属ED的所有激活VLAN的总流量;

针对总流量大于Avg的每个多归属ED,在该多归属ED的所有有竞争关系的激活VLAN中选择一组激活VLAN放入再分配列表,该多归属ED的总流量与该组激活VLAN的总流量的差Diff大于所述Avg,且,当该多归属ED中还存在除该组激活VLAN之外的有竞争关系的激活VLAN时,所述Diff与该多归属ED的除该组激活VLAN之外的任一有竞争关系的激活VLAN的流量的差小于所述Avg;

对于再分配列表中的每个有竞争关系的激活VLAN,将该VLAN分配给配置有该VLAN且总流量最小的多归属ED。

2.根据权利要求1所述的激活VLAN的动态调整方法,其特征在于,

所述DED向参与选举DED的所有多归属ED发送流量请求报文的方法为:

每隔预设激活VLAN调整时间间隔向所述所有多归属ED发送流量请求报文;

或者,

所述DED向参与选举DED的所有多归属ED发送流量请求报文的方法为:

接收到任一参与选举DED的多归属ED发送的激活VLAN调整请求报文时,向所述所有参与选举DED的多归属ED发送流量请求报文,其中,所述任一参与选举DED的多归属ED发送的激活VLAN调整请求报文包括:所述任一参与选举DED的多归属ED检测到自身的所有激活VLAN在公网侧的总流量大于预设流量阈值时,向DED发送激活VLAN调整请求报文。

3.根据权利要求1所述的激活VLAN的动态调整方法,其特征在于,该方法进一步包括:

当多归属ED中配置新扩展VLAN时,将新配置的扩展VLAN通告给DED;

DED接收到该多归属ED通告的新配置的扩展VLAN时,确定该多归属ED新配置的扩展VLAN中的所有无竞争关系的扩展VLAN,将所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED,将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED。

4.根据权利要求1所述的激活VLAN的动态调整方法,其特征在于,该方法进一步包括:

当多归属ED删除扩展VLAN时,将删除的扩展VLAN通告给DED;

DED接收到该多归属ED通告删除的扩展VLAN时,确定删除的扩展VLAN中所有有竞争关系的激活VLAN,向配置有该些有竞争关系的激活VLAN的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中该多归属ED的每个激活VLAN的流量信息;将删除的扩展VLAN中每个有竞争关系的激活VLAN分配给配置有该VLAN且总流量最小的多归属ED;将分配给多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED。

5.根据权利要求1所述的激活VLAN的动态调整方法,其特征在于,该方法进一步包括:

多归属ED加入所述EVI站点时,如果被选举作为DED,则将自身的所有无竞争关系的扩展VLAN下发为激活VLAN;如果未被选举作为DED,则将自身的扩展VLAN配置信息通告给DED;DED接收到该多归属ED通告的自身的扩展VLAN配置信息时,将该多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED,并将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED。

6.根据权利要求1所述的激活VLAN的动态调整方法,其特征在于,该方法进一步包括:

多归属ED在原DED退出所述EVI站点后,如果被选举作为新DED,则将原DED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的ED;将分配给各ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该ED;

DED检测到退出所述EVI站点的多归属ED时,将该多归属ED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的其它多归属ED;将分配给所述其它多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给所述其它多归属ED。

7.根据权利要求1-6任一权项所述的激活VLAN的动态调整方法,其特征在于,多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN的方法为:比较激活VLAN下发请求报文中携带的激活VLAN和本设备当前的激活VLAN,将需要去激活的激活VLAN设置为半激活状态,将新增的激活VLAN下发为激活VLAN,并将该新增激活VLAN的MAC信息通告给远端站点;其中,对于处于半激活状态的VLAN,多归属ED保持对从公网接收到的该VLAN的报文在所述EVI站点中的正常转发,并停止向远端站点通告该VLAN的MAC信息。

8.根据权利要求7所述的激活VLAN的动态调整方法,其特征在于,

多归属ED将新增的激活VLAN下发为激活VLAN时,进一步将该新增VLAN通告给本站点内的与本ED互为多归属的所有其它多归属ED;

多归属ED接收到本站点内与本ED互为多归属的其它多归属ED通告的新增激活VLAN时,将新增激活VLAN与本地的半激活状态的VLAN进行比较,如果相同,则启动该VLAN对应的定时器,若定时器时间内接收到该VLAN的报文,则重新启动该VLAN对应的定时器,若定时器时间内未接收到该VLAN的报文,则删除该VLAN对应的定时器,并将该VLAN下发为去激活VLAN。

9.一种路由交换设备,其特征在于,该路由交换设备可应用于EVI站点,该路由交换设备包括:获取单元、调整单元、通知单元;

所述获取单元,用于向参与选举本设备作为DED的所有多归属ED发送流量请求报文,接收参与选举本设备作为DED的各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;

所述调整单元,用于根据获取单元获取的参与选举本设备作为DED的各多归属ED的每个激活VLAN在公网侧的流量信息,按照预设规则对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整;

所述通知单元,用于在调整单元对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整后,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN;

所述调整单元在根据获取单元获取的参与选举本设备作为DED的各多归属ED的每个激活VLAN的流量信息,按照预设规则对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整时,用于:计算各多归属ED的总流量,以及所有多归属ED的平均流量Avg;其中,各多归属ED的总流量为该多归属ED的所有激活VLAN的总流量;

针对总流量大于Avg的每个多归属ED,从该多归属ED的所有有竞争关系的激活VLAN中选择一组激活VLAN放入再分配列表,该多归属ED的总流量与该组激活VLAN的总流量的差Diff大于所述Avg,且,当该多归属ED中还存在除该组激活VLAN之外的有竞争关系的激活VLAN时,所述Diff与该多归属ED的除该组激活VLAN之外的任一有竞争关系的激活VLAN的流量的差小于所述Avg;

对于再分配列表中的每个有竞争关系的激活VLAN,将该VLAN分配给配置有该VLAN且总流量最小的多归属ED。

10.根据权利要求9所述的路由交换设备,其特征在于,

所述获取单元在向参与选举本设备作为DED的所有多归属ED发送流量请求报文时,用于:

每隔预设激活VLAN调整时间间隔向所有多归属ED发送流量请求报文;

或者,

接收到任一参与选举本设备作为DED的多归属ED的激活VLAN调整请求报文后,向所有参与选举本设备作为DED的多归属ED发送流量请求报文。

11.根据权利要求9所述的路由交换设备,其特征在于,

所述调整单元,用于接收到参与选举本设备作为DED的多归属ED通告的新配置的扩展VLAN时,确定所述新配置的扩展VLAN中所有无竞争关系的扩展VLAN,将所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED;

所述通知单元,用于在调整单元将所述多归属ED新配置的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED后,将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。

12.根据权利要求9所述的路由交换设备,其特征在于,

所述调整单元,用于接收到参与选举本设备作为DED的多归属ED通告的删除的扩展VLAN时,确定删除的扩展VLAN中所有有竞争关系的激活VLAN,向配置有该些有竞争关系的激活VLAN的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中该多归属ED的每个激活VLAN的流量信息;将删除的扩展VLAN中每个有竞争关系的激活VLAN分配给配置有该VLAN且总流量最小的多归属ED;

所述通知单元,用于将调整单元分配给多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。

13.根据权利要求9所述的路由交换设备,其特征在于,

所述调整单元,用于在本设备作为多归属ED新加入EVI站点并被选举作为DED时,将自身的所有无竞争关系的扩展VLAN下发为激活VLAN;用于本设备作为DED时,接收新加入本EVI站点的多归属ED通告的自身的扩展VLAN配置信息,将该多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED;

所述通知单元,用于本设备作为DED时,在调整单元将新加入站点的多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED后,将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED下发激活VLAN下发请求报文中携带的激活VLAN。

14.根据权利要求9所述的路由交换设备,其特征在于,

所述调整单元,用于在原DED退出EVI站点后本设备被选举为新DED时,将原DED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的多归属ED;用于本设备作为DED检测到退出站点的多归属ED时,确定该多归属ED的所有有竞争关系的激活VLAN,将每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的其它多归属ED;

所述通知单元,用于作为DED时,在调整单元将退出EVI站点的原DED的每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的多归属ED后,将分配给多归属各ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN;用于在调整单元将退出站点的多归属ED的每个有竞争关系的激活VLAN分配给配置有该VLAN的所述其它多归属ED后,将分配给所述其它多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给所述其它多归属ED,用以使所述其它多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。

15.一种路由交换设备,其特征在于,该路由交换设备包括:测量单元,收发单元、下发单元;当本设备作为可应用为EVI站点的ED时,所述测量单元,用于测量自身的每个激活VLAN在公网侧的流量;

所述收发单元,用于接收由本设备作为ED参与选举出的指定边缘设备DED的流量请求报文,返回携带自身的每个激活VLAN在公网侧的流量信息的流量响应报文;用于接收DED的激活VLAN下发请求报文;

所述下发单元,用于下发收发单元接收到的激活VLAN下发请求报文中携带的激活VLAN。

16.根据权利要求15所述的路由交换设备,其特征在于,

所述测量单元,用于检测到自身的所有激活VLAN的总流量大于预设流量阈值时,向DED发送激活VLAN调整请求报文,用以使DED开始获取与本设备互为多归属的所有多归属ED的每个激活VLAN的流量信息,并调整各个多归属ED的激活VLAN。

17.根据权利要求15所述的路由交换设备,其特征在于,

所述收发单元,用于本设备作为ED加入EVI站点时,如果未被选举为DED,则将自身的扩展VLAN配置信息通告给DED;用于本设备作为ED新配置扩展VLAN时,将本设备新配置的扩展VLAN通告给DED;用于本设备作为ED删除扩展VLAN时,将本设备删除的扩展VLAN通告给DED。

18.根据权利要求15所述的路由交换设备,其特征在于,

所述下发单元在下发收发单元接收到的激活VLAN下发请求报文中携带的激活VLAN时,用于:比较激活VLAN下发请求报文中携带的激活VLAN和本设备当前的激活VLAN,将需要去激活的激活VLAN设置为半激活状态,将新增的激活VLAN下发为激活VLAN,并将该新增激活VLAN的MAC信息通告给远端站点;其中,对于处于半激活状态的VLAN,本设备保持对从公网接收到的该VLAN的报文在本EVI站点内的正常转发,并停止向远端站点通告该VLAN的MAC信息。

19.根据权利要求18所述的路由交换设备,其特征在于,

所述下发单元在将新增的激活VLAN下发为激活VLAN时,进一步将该新增的激活VLAN通告给本站点内与本ED互为多归属的所有其它多归属ED;

所述收发单元,用于接收到本站点内与本设备互为多归属的任一其它多归属ED通告的新增激活VLAN;

所述下发单元,用于在收发单元接收到本站点内与本设备互为多归属的任一其它多归属ED通告的新增激活VLAN时,将该新增激活VLAN与本设备的处于半激活状态的VLAN进行比较,如果相同,则启动该VLAN对应的定时器,若定时器时间内收发单元接收到该VLAN的报文,则重新启动该VLAN对应的定时器,若定时器时间内收发单元未接收到该VLAN的报文,删除该VLAN对应的定时器,并将该VLAN下发为去激活VLAN。

说明书 :

激活VLAN的动态调整方法和装置

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种在以太网虚拟化互联(Ethernet virtualization Interconnection,EVI)站点中的多归属边缘设备(ED)间的激活VLAN的动态调整方法和装置。

背景技术

[0002] 随着Internet的高速发展,网络的地域跨度越来越大。为了更好的提供服务,用户通常会在异地部署数据中心。而这些数据中心之间往往是通过虚拟机进行自由迁移来实现负载分担和高可靠性的。由于虚拟机迁移过程对用户透明,不能改变IP地址,所以要求异地数据中心之间实现二层网络互联。
[0003] EVI技术将整体网络划分为核心网络(公网)和站点网络(私网)两个部分。站点之间建立隧道,通过ISIS协议学习异地站点MAC地址,实现不同站点间的二层互联和数据转发。
[0004] 为了保证站点之间数据传输的可靠性,并同时实现负载分担,站点内往往会使用多个ED,通过多归属接入公网,称为多归属ED,在多归属ED上按VLAN来划分设备承载的流量,使每个VLAN的所有本地流量都从同一个多归属ED进入公网。
[0005] 现有技术中,多归属ED之间通过交互EVI ISIS HELLO报文选举出指定边缘设备(DED),由DED来为各多归属ED分配激活VLAN,从而实现流量的负载分担。DED为各多归属ED分配激活VLAN的方法是给每个扩展VLAN(LEV)选择一个指定边缘转发器(AEF),也即:多归属ED,选择算法如下:
[0006] 对于没有竞争关系的LEV,选择LEV的通告者为AEF。
[0007] 对于有竞争关系的LEV,通过以下公式选择AEF:
[0008] f(VLAN ID)=(VLAN ID)%Number of多归属ED。
[0009] 由AEF的选择算法可知,对于有竞争关系的LEV,其AEF的选择是遵循按VLAN数平均分配的原则。
[0010] 参见图1,图1为EVI组网示意图,包括站点1和站点2,其中站点1使用一个ED1,站点2中使用2个边缘设备:ED2和ED3,ED 1、ED2和ED3均接入公网,ED2和ED3互为多归属,通过分担不同VLAN的流量,实现负载分担,另外,ED2和ED3之间还通过EVI ISIS HELLO报文交互进行DED选举。
[0011] 现有技术中,DED为各多归属ED分配激活VLAN后,除非EVI组网发生变化,例如:站点内某多归属ED加入或退出EVI组网,或某多归属ED上增加或删除扩展VLAN等会导致激活VLAN被动的发生变化,否则多归属ED不会主动改变自身的激活VLAN。在实际应用中,不同VLAN承载的业务不同,其上的数据流量也大不相同,仅仅按VLAN数来平均分配激活VLAN有可能导致多个多归属ED之间的流量不均衡,存在部分多归属ED到远端站点的流量过大,带宽不够用,而其它多归属ED到远端站点的流量较小,有大量带宽闲置的情况。

发明内容

[0012] 有鉴于此,本发明的目的在于提供一种激活VLAN的动态调整方法,该方法能够保持EVI站点中各多归属ED之间的流量均衡。
[0013] 为了达到上述目的,本发明提供了一种激活VLAN的动态调整方法,应用于以太网虚拟化互联EVI站点;该方法包括:
[0014] 多归属边缘设备ED,测量自身的每个激活VLAN在公网侧的流量;接收到由当前设备参与选举出的指定边缘设备DED发送的流量请求报文时,返回携带自身的每个激活VLAN的流量信息的流量响应报文;接收到DED发送的激活VLAN下发请求报文时,重新下发激活VLAN下发请求报文中携带的激活VLAN;
[0015] DED向参与选举DED的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;根据获取的各多归属ED的每个激活VLAN的流量信息,按照预设规则对各多归属ED的激活VLAN进行调整,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED。
[0016] 本发明还提供了一种路由交换设备,该路由交换设备可应用于EVI站点,该路由交换设备包括:获取单元、调整单元、通知单元;
[0017] 所述获取单元,用于向参与选举本设备作为DED的所有多归属ED发送流量请求报文,接收参与选举本设备作为DED的各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;
[0018] 所述调整单元,用于根据获取单元获取的参与选举本设备作为DED的各多归属ED的每个激活VLAN在公网侧的流量信息,按照预设规则对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整;
[0019] 所述通知单元,用于在调整单元对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整后,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0020] 本发明还提供了另一种路由交换设备,该路由交换设备包括:测量单元,收发单元、下发单元;当本设备作为可应用为EVI站点的ED时,
[0021] 所述测量单元,用于测量自身的每个激活VLAN在公网侧的流量;
[0022] 所述收发单元,用于接收由本设备作为ED参与选举出的指定边缘设备DED的流量请求报文,返回携带自身的每个激活VLAN在公网侧的流量信息的流量响应报文;用于接收DED的激活VLAN下发请求报文;
[0023] 所述下发单元,用于下发收发单元接收到的激活VLAN下发请求报文中携带的激活VLAN。
[0024] 由上面的技术方案可知,本发明中,DED通过向参与选举本设备作为DED的所有多归属ED发送流量请求报文,获取各多归属ED的每个激活VLAN的流量信息,然后根据获取的各多归属ED的每个激活VLAN的流量信息对各多归属ED的激活VLAN进行调整,从而能够使各多归属ED之间保持流量均衡。

附图说明

[0025] 图1是现有技术EVI组网示意图;
[0026] 图2是本发明实施例激活VLAN的动态调整方法流程图;
[0027] 图3是本发明实施例提供的第一种路由交换设备的结构示意图;
[0028] 图4是本发明实施例提供的第二种路由交换设备的结构示意图。

具体实施方式

[0029] 为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
[0030] 本发明中,将应用了EVI技术的数据中心站点称为EVI站点,不同EVI站点的ED之间建立经由公网的隧道,例如通用路由封装(GRE)隧道,通过建立的隧道实现二层互联。
[0031] 参见图2,图2是本发明实施例激活VLAN的动态调整方法流程图,包括以下步骤:
[0032] 步骤201、多归属ED测量自身的每个激活VLAN在公网侧的流量;接收到由当前设备参与选举出的DED发送的流量请求报文时,返回携带自身的每个激活VLAN的流量信息的流量响应报文;接收到DED发送的激活VLAN下发请求报文时,重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0033] 本实施例中,在初始时DED仍然按照现有技术的方法在各个多归属ED之间进行激活VLAN的分配,并记录每个多归属ED的VLAN分配情况。假设图1所示的站点2中,ED2中配置的扩展VLAN包括100-300、ED3中配置的扩展VLAN包括200-350,如果按照现有技术方法将100-250分配给ED2作为激活VLAN,将251-350分配给ED3作为激活VLAN,则可以将ED2、ED3的VLAN分配情况记录为表一:
[0034]System ID Active VLAN Inactive VLAN
0011.2200.0001(ED2) 100-250 251-300
0011.2200.0101(ED3) 251-350 200-250
[0035] 表一
[0036] 其中,System ID表示多归属ED的标识;Active VLAN表示分配给多归属ED的激活VLAN(授权VLAN);Inactive VLAN表示多归属ED配置的扩展VLAN中去激活的扩展VLAN。
[0037] DED按照现有技术方法在各个多归属ED之间进行激活VLAN分配之后,各个多归属ED将分配的激活VLAN下发,并开始接收和发送自身的每个激活VLAN的报文。
[0038] 在多归属ED接收和发送自身的每个激活VLAN的报文时,需要测量并记录自身的每个激活VLAN在公网侧的流量信息。当接收到来自公网侧的报文时,解析报文的VLAN信息,增加VLAN对应的流量信息,当接收到需要转发到公网的报文时,解析报文的VLAN信息,增加VLAN对应的流量信息。记录自身的每个激活VLAN的流量信息可以如表二所示:
[0039]VLAN ID Interface Tunnel bytes/min
100 Evi-link0 Tunnel 1 1890
200 Evi-link0 Tunnel 1 2000
300 Evi-link1 Tunnel 2 1300
[0040] 表二
[0041] 其中,VLAN ID表示分配给多归属ED的激活VLAN;interface表示收发该VLAN的报文的接口;Tunnel表示该承载该VLAN报文的隧道。
[0042] 步骤202、DED向参与选举当前设备作为DED的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;根据获取的各多归属ED的每个激活VLAN的流量信息,按照预设规则对各多归属ED的激活VLAN进行调整,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED。
[0043] 这里,DED由互为多归属的ED通过交互EVI ISIS HELLO报文选举得到,选举出的DED同时具有DED和ED的功能,DED在发送流量请求报文时,向自身发送的流量请求报文即是流量请求消息。
[0044] 所述将分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送到该多归属ED,也即:向各多归属ED发送激活VLAN下发请求报文,该激活VLAN下发请求报文中携带了分配给该ED的所有激活VLAN。
[0045] 本实施例中,触发DED调整各多归属ED的激活VLAN的条件可以有以下两种:
[0046] 第一种,DED定期对参与选举DED的各多归属ED的激活VLAN进行调整,这种情况下,可以预先设置激活VLAN调整时间间隔;每隔预设激活VLAN调整时间间隔向参与选举DED的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,然后根据各多归属ED的流量响应报文开始调整各多归属ED的激活VLAN。
[0047] 第二种,当参与选举DED的多归属ED的所有激活VLAN的总流量过大时,可以主动触发DED对参与选举DED的各多归属ED的激活VLAN进行调整。这种情况下,可以预先设置一个流量阈值,当任一参与选举DED的多归属ED检测到自身的所有激活VLAN的总流量大于预设流量阈值时,可以向DED发送激活VLAN调整请求报文,从而触发DED向参与选举DED的所有多归属ED发送流量请求报文,接收参与选举DED的各多归属ED返回的流量响应报文,然后根据各多归属ED的流量响应报文开始调整各多归属ED的激活VLAN。
[0048] 图2所示本发明实施例中,DED根据获取的参与选举DED的各多归属ED的每个激活VLAN的流量信息,按照预设规则对参与选举DED的各多归属ED的激活VLAN进行调整具体可以包括:
[0049] 计算参与选举DED的各多归属ED的总流量,以及参与选举DED的所有多归属ED的平均流量Avg;其中,各多归属ED的总流量为该多归属ED的所有激活VLAN的总流量;
[0050] 针对总流量大于Avg的每个多归属ED,在该多归属ED的所有有竞争关系的激活VLAN中选择一组激活VLAN放入再分配列表,该多归属ED的总流量与该组激活VLAN的总流量的差Diff大于所述Avg,且,当该多归属ED中还存在除该组激活VLAN之外的有竞争关系的激活VLAN时,所述Diff与该多归属ED的除该组激活VLAN之外的任一有竞争关系的激活VLAN的流量的差小于所述Avg;
[0051] 对于再分配列表中的每个有竞争关系的激活VLAN,将该VLAN分配给配置有该VLAN且总流量最小的多归属ED。
[0052] 其中,针对总流量大于Avg的每个多归属ED,在该多归属ED的所有有竞争关系的激活VLAN中选择一组激活VLAN放入再分配列表的一种可能的实现方法如下(假设该多归属ED的所有无竞争关系的激活VLAN的总流量Flow2):
[0053] 将所有有竞争关系的激活VLAN按照流量从大到小的顺序排序;
[0054] 取出流量最大的激活VLAN,判断该激活VLAN的流量与Flow2的和是否大于Avg,如果是,则将该激活VLAN添加到再分配列表,如果否,则将Flow2加上该激活VLAN的流量;
[0055] 取出流量次大的激活VLAN,判断该激活VLAN的流量与Flow2的和是否大于Avg,如果是,则将该激活VLAN添加到再分配列表,如果否,则将Flow2加上该激活VLAN的流量。
[0056] 依次类推,直到处理完所有的有竞争关系的激活VLAN;将最后一个添加到再分配列表中的激活VLAN从再分配列表中删除。
[0057] 这样,就是实现了从该多归属ED中选出一组激活VLAN并将该组激活VLAN放入了再分配列表中,该ED中除该组激活VLAN外的所有激活VLAN仍保持为该多归属ED作为激活VLAN。
[0058] 在实际应用中,可以根据需要动态的在多归属ED上配置新的扩展VLAN,或删除已配置的扩展VLAN,无论是配置新的扩展VLAN或删除已有的扩展VLAN,均需要进行激活VLAN的分配。
[0059] 当多归属ED上配置新的扩展VLAN时,需要将新配置的扩展VLAN通告给DED。在多归属ED新配置的扩展VLAN中,可能包括二种扩展VLAN:一种扩展VLAN是属于无竞争关系的扩展VLAN,是当前多归属ED独有的,需要分配给当前多归属ED作为激活VLAN;另一种扩展VLAN是有竞争关系的扩展VLAN,在此之前已经有其它多归属ED配置了该扩展VLAN,已经分配给其它多归属ED作为激活VLAN,因此可以暂不分配给当前多归属ED,而是在DED发起新一轮激活VLAN调整时再进行激活VLAN调整。
[0060] 因此,当DED接收到多归属ED通告的新配置的扩展VLAN时,可以确定该多归属ED新配置的扩展VLAN中的所有无竞争关系的扩展VLAN,将所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED,将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,从而使该多归属ED下发激活VLAN下发请求报文中携带的新分配的激活VLAN。
[0061] 当多归属ED删除扩展VLAN时,需要将删除的扩展VLAN通告给DED。在多归属ED删除的扩展VLAN中,可能包括三种扩展VLAN:第一种是去激活VLAN,这种VLAN已经分配给其他多归属ED作为激活VLAN,因此暂时也不需要进行处理;第二种是无竞争关系的激活VLAN,删除之后不能分配给其他多归属ED;第三种是有竞争关系的激活VLAN,需要将这种激活VLAN重新分配给其他多归属ED。
[0062] 因此,DED接收到多归属ED通告的删除的扩展VLAN时,可以先确定删除的扩展VLAN中所有有竞争关系的激活VLAN,然后向配置有该些有竞争关系的激活VLAN的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中该多归属ED的每个激活VLAN的流量信息;接着将删除的扩展VLAN中每个有竞争关系的激活VLAN分配给配置有该VLAN且总流量最小的多归属ED;最后将分配给多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,从而使该多归属ED在分配到新的激活VLAN后重新下发分配到的所有激活VLAN。
[0063] 另外,DED接收到多归属ED通告的删除的扩展VLAN,并确定删除的扩展VLAN中所有有竞争关系的激活VLAN后,向配置有该些有竞争关系的激活VLAN的所有多归属ED发送流量请求报文时,还需要将存储的该多归属ED通告删除的扩展VLAN从存储的该多归属ED的扩展VLAN中删除。
[0064] 图2所示本发明实施例中,当有多归属ED加入EVI站点时,需要进行DED的重新选举。
[0065] 如果新加入站点多归属ED被选举为DED,则可以将自身的所有无竞争关系的扩展VLAN下发为激活VLAN,然后在被选举为DED后发起的第一轮激活VLAN调整时再进行激活VLAN调整;这里,新加入站点的多归属ED被选举为DED后,会接收到参与选举DED的各多归属ED定期广播发送的VLAN配置信息,进而可以在后续有参与选举DED的多归属ED检测到自身的总流量大于预设流量阈值或DED发起新一轮的激活VLAN调整时,对所有多归属ED的激活VLAN进行重新分配。
[0066] 如果新加入站点的多归属ED未被选举为DED,则需要将自身的扩展VLAN配置信息通告给DED,从而使DED可以为新加入站点的多归属ED分配激活VLAN。这种情况下,DED接收到新加入站点的多归属ED通告的自身的扩展VLAN配置信息后,可以将该多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED,并将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,从而使该多归属ED将激活VLAN下发请求报文中携带的扩展VLAN下发为激活VLAN。
[0067] 另外,DED在将新加入站点的多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED后,还可以确定新加入站点的所有有竞争关系的扩展VLAN,根据新加入站点的所有有竞争关系的扩展VLAN确定与新加入站点的多归属ED有竞争关系的所有多归属ED,再向与新加入站点的多归属ED有竞争关系的所有多归属ED发送流量请求报文,并接收与新加入站点的多归属ED有竞争关系的各多归属ED返回的流量响应报文,然后按照预设规则对包括新加入站点(新加入站点的各激活VLAN的流量初始均为0)和与新加入站点有竞争关系的所有多归属ED进行激活VLAN调整,并将调整后各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,从而使该多归属ED重新下发激活VLAN。
[0068] 图2所示本发明实施例中,如果有多归属ED退出EVI站点,其与DED之间的EVI link的状态会变成down,因此DED可以及时感知到多归属ED的退出。当多归属ED退出站点后,DED需要将该多归属ED上的有竞争关系的激活VLAN进行重新分配,具体地,可以将该多归属ED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的其它多归属ED;最后将分配给所述其它多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给所述其它多归属ED,从而使其他多归属ED可以重新下发激活VLAN下发请求报文中携带的激活VLAN。这里,将每个激活VLAN按照平均分配的原则分配给配置有该VLAN的其他多归属ED的方法与现有技术相同,例如,对于VLAN 100,假设在互为多归属的ED:ED0、ED1、ED2、ED3上均配置有VLAN100,且选择了ED3为AEF(也即VLAN100分配给了ED3,在ED3上是激活VLAN),当ED3退出站点时,需要将作为有竞争关系的VLAN100分配给ED0、ED1或ED2之间进行分配,则根据公式f(VLAN ID)=(VLAN ID)%Number of多归属ED确定100%3=1,因此将VLAN100分配给ED1。
[0069] 另外,如果是DED退出站点,则需要在剩余的所有多归属ED之间重新进行DED选举,重新选举出的DED可以将原DED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的其它ED;将分配给所述其它ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给所述其它ED,从而使得其它多归属ED可以重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0070] 图2所示本发明实施例中,当激活VLAN迁移时,例如,VLAN1原来是ED1的激活VLAN,然而在DED对各多归属ED的激活VLAN进行调整后,将VLAN1分配给了ED2,则VLAN1从ED1迁移到了ED2。VLAN1从ED1迁移到ED2后,ED2需要将VLAN1的MAC信息通知给远端站点,远端站点接收到ED2通告的VLAN1的MAC信息后,才会将VLAN1的流量通过ED2转发,在此之前,VLAN1的流量仍然被发送到ED1,这可能会导致VLAN1的流量的丢失。
[0071] 为了避免激活VLAN迁移过程中的流量损失,本实施例中,定义了一种VLAN状态:半激活状态。对于处于半激活状态的VLAN,多归属ED仍然保持对从公网接收到的该VLAN的报文在本EVI站点内的正常转发,但是不再向远端站点通告该VLAN的MAC信息。
[0072] 这样,多归属ED接收到DED发送的激活VLAN下发请求报文后,重新下发激活VLAN下发请求报文中携带的激活VLAN的方法具体可以为:比较激活VLAN下发请求报文中携带的激活VLAN和本设备当前的激活VLAN,将需要去激活的激活VLAN设置为半激活状态,将新增的激活VLAN下发为激活VLAN,并将该新增激活VLAN的MAC信息通告给远端站点;其中,对于处于半激活状态的VLAN,多归属ED保持对从公网接收到的该VLAN的报文在本EVI站点内的正常转发,并停止向远端站点通告该VLAN的MAC信息。这里,需要去激活的激活VLAN也即这样的VLAN:该VLAN是本设备当前的激活VLAN,但不是激活VLAN下发请求报文中携带的激活VLAN。
[0073] 另外,多归属ED在将新增的激活VLAN下发为激活VLAN时,还需要进一步将该新增VLAN通告给本站点内的与本ED互为多归属的其它多归属ED,以表明多归属ED将该激活VLAN下发为了激活VLAN。相应地,多归属ED如果接收到本站点内与本ED互为多归属的任一其它多归属ED通告的新增激活VLAN,则可以将新增激活VLAN与本地的半激活状态的VLAN进行比较,如果相同,则启动该VLAN对应的定时器,若定时器时间内接收到该VLAN的报文,则重新启动该VLAN对应的定时器,若定时器时间内未接收到该VLAN的报文,则删除该VLAN对应的定时器,并将该VLAN下发为去激活VLAN。
[0074] 在上述本发明实施例中,所述的流量请求报文、流量响应报文、激活VLAN下发请求报文、激活VLAN调整请求报文等,均可以通过利用EVI ISIS Hello报文,通过在EVI ISIS Hello报文中增加新的CLV(Code-Length-Value)三元组实现,根据三元组的不同取值进行区分。
[0075] 以上对本发明激活VLAN的动态调整方法进行了详细说明,本发明还提供了两种路由交换设备,下面进行详细说明。
[0076] 参见图3,图3是本发明实施例提供的第一种路由交换设备的结构示意图,该路由交换设备可应用于EVI站点,该路由交换设备包括:获取单元301、调整单元302、通知单元303;其中,
[0077] 获取单元301,用于向参与选举本设备作为DED的所有多归属ED发送流量请求报文,接收参与选举本设备作为DED的各多归属ED返回的流量响应报文,获取流量响应报文中携带的该多归属ED的每个激活VLAN在公网侧的流量信息;
[0078] 调整单元302,用于根据获取单元301获取的参与选举本设备作为DED的各多归属ED的每个激活VLAN在公网侧的流量信息,按照预设规则对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整;
[0079] 通知单元303,用于在调整单元302对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整后,将调整后分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0080] 所述获取单元301在向参与选举本设备作为DED的所有多归属ED发送流量请求报文时,用于:
[0081] 每隔预设激活VLAN调整时间间隔向参与选举本设备作为DED的所有多归属ED发送流量请求报文;
[0082] 或者,
[0083] 接收到任一参与选举本设备作为DED的多归属ED的激活VLAN调整请求报文后,向参与选举本设备作为DED的所有多归属ED发送流量请求报文。
[0084] 所述调整单元302在根据获取单元301获取的参与选举本设备作为DED的各多归属ED的每个激活VLAN的流量信息,按照预设规则对参与选举本设备作为DED的各多归属ED的激活VLAN进行调整时,用于:
[0085] 计算各多归属ED的总流量,以及所有多归属ED的平均流量Avg;其中,各多归属ED的总流量为该多归属ED的所有激活VLAN的总流量;
[0086] 针对总流量大于Avg的每个多归属ED,从该多归属ED的所有有竞争关系的激活VLAN中选择一组激活VLAN放入再分配列表,该多归属ED的总流量与该组激活VLAN的总流量的差Diff大于所述Avg,且,当该多归属ED中还存在除该组激活VLAN之外的有竞争关系的激活VLAN时,所述Diff与该多归属ED的除该组激活VLAN之外的任一有竞争关系的激活VLAN的流量的差小于所述Avg;
[0087] 对于再分配列表中的每个有竞争关系的激活VLAN,将该VLAN分配给配置有该VLAN且总流量最小的多归属ED。
[0088] 所述调整单元302,用于接收到参与选举本设备作为DED的多归属ED通告的新配置的扩展VLAN时,确定所述新配置的扩展VLAN中所有无竞争关系的扩展VLAN,将所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED;
[0089] 所述通知单元303,用于在调整单元302将所述多归属ED新配置的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED后,将分配给该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0090] 所述调整单元302,用于接收到参与选举本设备作为DED的多归属ED通告的删除的扩展VLAN时,确定删除的扩展VLAN中所有有竞争关系的激活VLAN,向配置有该些有竞争关系的激活VLAN的所有多归属ED发送流量请求报文,接收各多归属ED返回的流量响应报文,获取流量响应报文中该多归属ED的每个激活VLAN的流量信息;将删除的扩展VLAN中每个有竞争关系的激活VLAN分配给配置有该VLAN且总流量最小的多归属ED;
[0091] 所述通知单元303,用于将调整单元302分配给所述多归属ED的所有激活VLAN携带在激活VLAN下发请求报文发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0092] 所述调整单元302,用于在本设备作为多归属ED新加入EVI站点并被选举作为DED时,将自身的所有无竞争关系的扩展VLAN下发为激活VLAN;用于本设备作为DED时,接收新加入本EVI站点的多归属ED通告的自身的扩展VLAN配置信息,将该多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED;
[0093] 所述通知单元303,用于本设备作为DED时,在调整单元302将新加入本EVI站点的多归属ED的所有无竞争关系的扩展VLAN作为激活VLAN分配给该多归属ED后,将分配该多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED下发激活VLAN下发请求报文中携带的激活VLAN。
[0094] 所述调整单元302,用于在原DED退出EVI站点后本设备被选举为新DED时,将原DED中每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的多归属ED;用于本设备作为DED检测到退出站点的多归属ED时,确定该多归属ED的所有有竞争关系的激活VLAN,将每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的其它多归属ED;
[0095] 所述通知单元303,用于作为DED时,在调整单元302将退出EVI站点的原DED的每个有竞争关系的激活VLAN按照平均分配的原则分配给配置有该VLAN的多归属ED后,将分配给各多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给该多归属ED,用以使该多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN;用于在调整单元302将退出站点的多归属ED的每个有竞争关系的激活VLAN分配给配置有该VLAN的所述其它多归属ED后,将分配给所述其他多归属ED的所有激活VLAN携带在激活VLAN下发请求报文中发送给所述其它多归属ED,用以使所述其它多归属ED重新下发激活VLAN下发请求报文中携带的激活VLAN。
[0096] 参见图4,图4是本发明提供的第二种路由交换设备的结构示意图,该路由交换设备包括:测量单元401,收发单元402、下发单元403;当本设备作为可应用为EVI站点的ED时,
[0097] 测量单元401,用于测量自身的每个激活VLAN在公网侧的流量;
[0098] 收发单元402,用于接收由本设备作为ED参与选举出的指定边缘设备DED的流量请求报文,返回携带自身的每个激活VLAN在公网侧的流量信息的流量响应报文;用于接收DED的激活VLAN下发请求报文;
[0099] 下发单元403,用于下发收发单元402接收到的激活VLAN下发请求报文中携带的激活VLAN。
[0100] 所述测量单元401,用于检测到自身的所有激活VLAN的总流量大于预设流量阈值时,向DED发送激活VLAN调整请求报文,用以使DED开始获取与本设备互为多归属的所有多归属ED的每个激活VLAN的流量信息,并调整各个多归属ED的激活VLAN。
[0101] 所述收发单元402,用于本设备作为ED加入EVI站点时,如果未被选举为DED,则将自身的扩展VLAN配置信息通告给DED;用于本设备作为ED新配置扩展VLAN时,将本设备新配置的扩展VLAN通告给DED;用于本设备作为ED删除扩展VLAN时,将本设备删除的扩展VLAN通告给DED。
[0102] 所述下发单元403在下发收发单元402接收到的激活VLAN下发请求报文中携带的激活VLAN时,用于:比较激活VLAN下发请求报文中携带的激活VLAN和本设备当前的激活VLAN,将需要去激活的激活VLAN设置为半激活状态,将新增的激活VLAN下发为激活VLAN,并将该新增激活VLAN的MAC信息通告给远端站点;其中,对于处于半激活状态的VLAN,本设备保持对从公网接收到的该VLAN的报文在本EVI站点内的正常转发,并停止向远端站点通告该VLAN的MAC信息。
[0103] 所述下发单元403在将新增的激活VLAN下发为激活VLAN时,进一步将该新增的激活VLAN通告给本站点内与本设备互为多归属的所有其它多归属ED;
[0104] 所述收发单元402,用于接收到本站点内与本设备互为多归属的任一其它多归属ED通告的新增激活VLAN;
[0105] 所述下发单元403,用于在收发单元402接收到本站点内与本ED互为多归属的任一其它多归属ED通告的新增激活VLAN时,将该新增激活VLAN与本设备的处于半激活状态的VLAN进行比较,如果相同,则启动该VLAN对应的定时器,若定时器时间内收发单元402接收到该VLAN的报文,则重新启动该VLAN对应的定时器,若定时器时间内收发单元402未接收到该VLAN的报文,删除该VLAN对应的定时器,并将该VLAN下发为去激活VLAN。
[0106] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。