发明内容
本发明提供确定AVF的方法及装置,以在TRILL网络和普通二层网络的边界处实现负载分担。
本发明的技术方案是这样实现的:
一种确定指定虚拟局域网转发者AVF的方法,应用于多链路透明互联TRILL网络中,该方法包括:
路由桥RB向与自身所连的普通二层网络相连的其它RB传递本RB作为本RB在所述普通二层网络中的各使能虚拟局域网VLAN的AVF的优先级;
RB收集与所述普通二层网络相连的其它各RB作为该其它RB在所述普通二层网络中的各使能VLAN的AVF的优先级,当自身作为自身在所述普通二层网络中的任一使能VLAN的AVF的优先级最高时,将自身设置为该VLAN的生效AVF。
所述方法进一步包括:
在RB与普通二层网络相连的边缘接口上配置本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级;
所述本RB作为本RB在所述普通二层网络中的各使能VLAN的AVF的优先级为:
所述边缘接口上配置的本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级。
所述当自身作为自身在所述普通二层网络中的任一使能VLAN的AVF的优先级最高时,将自身设置为该VLAN的生效AVF包括:
对于自身在所述普通二层网络中的任一使能VLAN,将作为该VLAN的AVF的优先级最高的RB选举为该VLAN的生效AVF,建立使能VLAN与生效AVF的对应关系表,对于自身在所述普通二层网络中的各使能VLAN,根据该对应关系表,确定自身是否为该VLAN的生效AVF。
当RB发现与任一所述其它RB的普通二层网络通信中断时,若发现该其它RB为自身在所述普通二层网络中的任一使能VLAN的生效AVF,则在通过所述普通二层网络互连的剩余正常RB中,重新选举作为该VLAN的AVF的优先级最高的RB,将选举出的RB作为该VLAN的新生效AVF,且,当自身作为该VLAN的AVF的优先级最高时,将自身设置为该VLAN的新生效AVF。
所述RB向与自身所连的普通二层网络相连的其它RB传递本RB作为本RB在所述普通二层网络中的各使能VLAN的AVF的优先级包括:
RB将本RB作为本RB在所述普通二层网络中的各使能VLAN的AVF的优先级携带在TRILL-ISIS Hello报文的TRILL指定转发者子TLV中,将该Hello报文通过普通二层网络边缘接口传递给其它RB。
一种确定指定虚拟局域网转发者AVF的装置,位于多链路透明互联TRILL网络中的路由桥RB上,该装置包括:
生效AVF选举模块:向与本RB所连的普通二层网络相连的其它RB传递本RB作为本RB在所述普通二层网络中的各使能虚拟局域网VLAN的AVF的优先级,收集与所述普通二层网络相连的其它各RB作为该其它RB在所述普通二层网络中的各使能VLAN的AVF的优先级,当本RB作为本RB在所述普通二层网络中的任一使能VLAN的AVF的优先级最高时,将本RB设置为该VLAN的生效AVF。
所述装置进一步包括:
配置模块:在本RB与普通二层网络相连的边缘接口上配置本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级。
所述生效AVF选举模块当本RB作为本RB在所述普通二层网络中的任一使能VLAN的AVF的优先级最高时,将本RB设置为该VLAN的生效AVF包括:
对于本RB在所述普通二层网络中的任一使能VLAN,将作为该VLAN的AVF的优先级最高的RB选举为该VLAN的生效AVF,建立使能VLAN与生效AVF的对应关系表,对于本RB在所述普通二层网络中的各使能VLAN,根据该对应关系表,确定本RB是否为该VLAN的生效AVF。
所述生效AVF选举模块进一步用于,当发现与任一所述其它RB的普通二层网络通信中断时,若发现该其它RB为本RB在所述普通二层网络中的任一使能VLAN的生效AVF,则在通过所述普通二层网络互连的剩余正常RB中,重新选举作为该VLAN的AVF的优先级最高的RB,将选举出的RB作为该VLAN的新生效AVF,且,当本RB作为该VLAN的AVF的优先级最高时,将本RB设置为该VLAN的新生效AVF。
所述生效AVF选举模块向与本RB所连的普通二层网络相连的其它RB传递本RB作为本RB在所述普通二层网络中的各使能VLAN的AVF的优先级包括:
将本RB作为本RB在所述普通二层网络中的各使能VLAN的AVF的优先级携带在TRILL-ISIS Hello报文的TRILL指定转发者子TLV中,将该Hello报文通过本RB的普通二层网络边缘接口传递给其它RB。
可见,本发明可以在TRILL网络和普通二层网络的边界处实现负载分担。
具体实施方式
下面结合附图及具体实施例对本申请再作进一步详细的说明。
图3为本发明实施例提供的TRILL网络中确定AVF的方法流程图,如图3所示,其具体步骤如下:
步骤300:对于任一RB,在该RB与普通二层网络相连的边缘接口上配置本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级。
具体地,本步骤中在RB与普通二层网络相连的边缘接口上配置的该RB作为该RB在该普通二层网络中的各使能VLAN的AVF的优先级可通过一张AVF表实现,该AVF表的组成如表1所示:
其中,
1)组(Group):表示AVF组;这里,针对RB在普通二层网络中使能的VLAN,为RB配置了多少个AVF的优先级,就将该RB使能的VLAN划分为多少个AVF组,即,每个AVF组对应一个或多个VLAN,针对每个AVF组中的VLAN,该RB作为该组中的所有VLAN的AVF的优先级相同。
2)VLAN ID:AVF组所涉及的VLAN列表。
3)优先级(Priority):本RB作为该AVF组的AVF的优先级。可规定:优先级数值越大则优先级越高,或者优先级数值越小则优先级越高。可设定优先级的取值范围是(0,255)。
4)状态(Status):对于每个VLAN,本RB是作为该VLAN的生效(active)AVF还是备用(standby)AVF。即,status有两种:active和standby。初始时,默认Status为active。
Group |
VLAN ID |
Priority |
Status |
表1AVF表的格式
如图4所示,设RB1的下连端口Port4允许VLAN1到5的流量通过,RB2和RB3的下连端口Port5和Port6都允许VLAN1到5、VLAN7到8的流量通过。
在RB1上,配置的AVF表如表2所示:
Group |
VLAN ID |
Priority |
Status |
AVF1 |
VLAN1,2 |
255 |
active |
AVF2 |
VLAN3,4 |
127 |
active |
AVF3 |
VLAN5 |
126 |
active |
表2RB1上配置的AVF表的示例
如表2所示,RB1作为VLAN1和VLAN2的AVF的优先级为255,作为VLAN3和VLAN4的AVF的优先级为127,作为VLAN5的AVF的优先级为126。
在RB2上,配置的AVF表如表3所示:
Group |
VLAN ID |
Priority |
Status |
AVF1 |
VLAN1,2,7,8 |
126 |
active |
AVF2 |
VLAN3,4 |
255 |
active |
表3RB2上配置的AVF表的示例
如表3所示,RB2作为VLAN1、VLAN2、VLAN7和VLAN8的AVF的优先级为126,作为VLAN3和VLAN4的AVF的优先级为255,作为VLAN5的AVF的优先级为127。
在RB3上,配置的AVF表如表4所示:
Group |
VLAN ID |
Priority |
Status |
AVF1 |
VLAN1,2 |
127 |
active |
AVF2 |
VLAN3,4 |
126 |
active |
AVF3 |
VLAN5,7,8 |
255 |
active |
表4RB3上配置的AVF表的示例
如表4所示,RB3作为VLAN1和VLAN2的AVF的优先级为127,作为VLAN3和VLAN4的AVF的优先级为126,作为VLAN5、VLAN7和VLAN8的AVF的优先级为255。
步骤301:对于任一RB,该RB通过自身的普通二层网络边缘接口向外发送TRILL-中间系统到中间系统(ISIS)hello报文,该报文的TRILL指定转发者子类型长度值(AppointForwarders Sub-TLV)中携带本RB在该普通二层网络中的使能VLAN列表,以及本RB作为该列表中各使能VLAN的AVF的优先级信息。
现有的TRILL Appoint Forwarders Sub-TLV的格式如表5所示,其主要包括3类字段:类型(Type)、长度(Length)和指定信息(Appointment information)。
表5现有的TRILL Appoint Forwarders Sub-TLV的格式
在现有技术中,只有DRB才有资格携带该TRILL Appoint Forwarders Sub-TLVTLV。该TLV的Appointment information字段的格式如表6所示,其主要包括:指定者昵称(Appointee Nickname)、保留(RESV)和开始VLAN(Start.VLAN)和结束VLAN(End.VLAN)五个字段。
表6现有的TRILL Appoint Forwarders Sub-TLV的Appointment information字段的格式
本实施例中,将该TRILL Appoint Forwarders Sub-TLV的Appointmentinformation字段的格式修改为如表7所示,其中,Priority代表本RB作为各使能VLAN(Start VLAN到End VLAN)的AVF的优先级。
表7本发明实施例中TRILL Appoint Forwarders Sub-TLV的Appointmentinformation字段的格式
仍以图4为例,RB1发出的TRILL-ISIS hello报文的TRILL Appoint ForwardersSub-TLV的内容如表8所示:
表8RB1发出的TRILL-ISIS hello报文的TRILL Appoint Forwarders Sub-TLV的内容
RB2发出的TRILL-ISIS hello报文的TRILL Appoint Forwarders Sub-TLV的内容如表9所示:
表9RB2发出的TRILL-ISIS hello报文的TRILL Appoint Forwarders Sub-TLV的内容
RB3发出的TRILL-ISIS hello报文的TRILL Appoint Forwarders Sub-TLV的内容如表10所示:
表10RB3发出的TRILL-ISIS hello报文的TRILL Appoint Forwarders Sub-TLV的内容
步骤302:对于任一RB,当该RB通过发出Trill-ISIS hello报文的普通二层网络边缘接口,收集到与自身所连的普通二层网络相连的所有RB在该普通二层网络中的使能VLAN列表以及作为对应列表中的各使能VLAN的AVF的优先级后,对于自身在该普通二层网络中的任一使能VLAN,将作为该VLAN的AVF的优先级最高的RB选举为该VLAN的active AVF,并记录自身在该普通二层网络中的各使能VLAN标识与active AVF的对应关系,同时记录本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态。
本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态包括:active和standby两种。
仍以图4为例,RB1收到RB2和RB3的Appointed Forwarders Sub-TLV后,具体处理过程如下:
首先,比较RB1、RB2、RB3作为VLAN1和VLAN2的AVF的priority,其中,RB1作为VLAN1和VLAN2的AVF的Priority是255,为最高,则将RB1选举为VLAN1和VLAN2的active AVF。
然后,比较RB1、RB2、RB3作为VLAN3和VLAN4的AVF的priority,其中,RB1作为VLAN3和VLAN4的AVF的Priority是127,小于RB2作为VLAN3和VLAN4的AVF的priority:255,则将RB2选举为VLAN3和VLAN4的active AVF,RB1将作为VLAN3和VLAN4的standby AVF。
同理,将RB3选举为VLAN5的active AVF,RB1将作为VLAN5的Standby AVF。
最终得到RB1选举出的RB1在该普通二层网络中的各使能VLAN:VLAN1~5的activeAVF如表11所示,RB1作为RB1在该普通二层网络中的各使能VLAN:VLAN1~5的AVF的状态如表12所示:
VLAN ID |
active AVF |
VLAN1,2 |
RB1 |
VLAN3,4 |
RB2 |
VLAN5 |
RB3 |
表11RB1选举出的RB1在该普通二层网络中的各使能VLAN:VLAN1~5的active AVF
VLAN ID |
priority |
Status |
VLAN1,2 |
255 |
active |
VLAN3,4 |
127 |
standby |
VLAN5 |
126 |
standby |
表12RB1作为RB1在该普通二层网络中的各使能VLAN:VLAN1~5的AVF的状态
RB2,RB3执行类似处理,最终得到的RB2、RB3选举出的各自在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的active AVF分别如表13、14所示,RB2、RB3作为各自在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的AVF的状态分别如表15、16所示:
VLAN ID |
active AVF |
VLAN1,2 |
RB1 |
VLAN3,4 |
RB2 |
VLAN5,7,8 |
RB3 |
表13RB2选举出的RB2在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的active AVF
VLAN ID |
active AVF |
VLAN1,2 |
RB1 |
VLAN3,4 |
RB2 |
VLAN5,7,8 |
RB3 |
表14RB3选举出的RB3在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的active AVF
VLAN ID |
priority |
Status |
VLAN1,2,7,8 |
126 |
standby |
VLAN3,4 |
255 |
active |
VLAN5 |
127 |
standby |
表15RB2作为RB2在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的AVF的状态
VLAN ID |
priority |
Status |
VLAN1,2 |
127 |
standby |
VLAN3,4 |
126 |
standby |
VLAN5,7,8 |
255 |
active |
表16RB3作为RB3在该普通二层网络中的各使能VLAN:VLAN1~5、VLAN7~8的AVF的状态
步骤303:对于任一RB,该RB根据记录的本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态,转发active状态对应的各VLAN的报文。
以图4为例,如果网络连接都正常,那么从TRILL网络发往普通二层网络的VLAN1,2的流量将由RB1转发给Host。而VLAN3,4的流量将由RB2转发,VLAN5,7,8的流量由RB3转发。
当有RB新加入普通二层网络时,所有RB通过图3所示流程重新进行各VLAN的active AVF选举过程。
图5为本发明实施例提供的当RB或RB的普通二层链路出现故障后,TRILL网络中确定AVF的方法流程图,如图5所示,其具体步骤如下:
步骤501:对于任一RB,该RB发现与任一其它RB的普通二层网络通信中断。
当一个RB或RB的普通二层链路出现故障时,其它RB可通过以下方式发现:
方式一、等待该RB的Hello报文超时;
方式二、接收到自身的网络质量分析(NQA,Network Quality Analyzer)模块或双向转发检测(BFD,Bidirectional Forwarding Detection)模块发来的指示该RB故障的消息。
NQA与BFD是现有的专用于进行链路监控的技术,RB上的NQA或BFD模块检测到一RB或该RB的普通二层链路故障后,可以立刻通知本RB,从而本RB可以立即更新各VLAN的active AVF,从而减少了断流时间。
步骤502:该RB查询自身在该普通二层网络中的各使能VLAN的activeAVF,若任一使能VLAN的active AVF为该通信中断的其它RB,则在通过该普通二层网络互连的剩余正常RB中,重新选举作为该VLAN的AVF的优先级最高的RB为该VLAN的新active AVF,更新自身记录的该使能VLAN的active AVF,同时,若本RB被选举为该使能VLAN的active AVF,则更新自身记录的本RB作为该使能VLAN的AVF的状态。
步骤503:对于任一RB,该RB根据最新记录的本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态,转发active状态对应的各VLAN的报文。
仍以图4为例,设RB2出现故障,此时RB1和RB3不能再收到RB2发来的Hello报文,RB1和RB3重新计算各使能VLAN的active AVF。RB1发现自身作为VLAN3和VLAN4的AVF的优先级高于RB3,则将本RB更新为VLAN3和VLAN4的Active AVF,如表17所示。RB3发现自己的优先级及AVF没有变化,不做改变,仍如表13所示。
VLAN ID |
priority |
Status |
VLAN1,2 |
255 |
active |
VLAN3,4 |
127 |
active |
VLAN5 |
126 |
standby |
表17RB2故障后,RB1更新后的RB1作为RB1在该普通二层网络中的各使能VLAN:VLAN1~5的AVF的状态
从上述实施例可以看出,采用手工配置RB作为RB在普通二层网络中的各使能VLAN的AVF的优先级,根据优先级高低来调整Active AVF的分布,可以由管理员根据流量走向的预知和控制,然后根据RB的实际性能来调整网络的流量分布,可以实现TRILL网络和普通二层网络相连边界的负载分担和冗余备份。
图6为本发明实施例提供的TRILL网络中确定AVF的装置组成示意图,该装置位于RB上,如图6所示,该装置主要包括:配置模块61、生效AVF选举模块62和转发模块63,其中:
配置模块61:在本RB与普通二层网络相连的边缘接口上配置本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级。
生效AVF选举模块62:从本RB与普通二层网络相连的边缘接口上读取本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级,向与本RB所连的该普通二层网络相连的其它RB传递本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级,收集与该普通二层网络相连的其它各RB作为该其它RB在该普通二层网络中的各使能VLAN的AVF的优先级,对于本RB在该普通二层网络中的任一使能VLAN,将作为该VLAN的AVF的优先级最高的RB选举为该VLAN的active AVF,并记录本RB在该普通二层网络中的各使能VLAN标识与active AVF的对应关系,同时记录本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态。
其中,RB可将本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的优先级携带在TRILL-ISIS Hello报文的TRILL Appoint Forwarders Sub-TLV中发送出去。
转发模块63:根据生效AVF选举模块62记录的本RB作为本RB在该普通二层网络中的各使能VLAN的AVF的状态,对本RB作为active AVF的各VLAN的报文进行转发。
生效AVF选举模块62进一步用于,当发现本RB与任一其它RB的普通二层网络通信中断时,查询本RB在该普通二层网络中的各使能VLAN的active AVF,若任一使能VLAN的active AVF为该通信中断的其它RB,则在通过该普通二层网络互连的剩余正常RB中,重新选举作为该VLAN的AVF的优先级最高的RB为该VLAN的新active AVF,且,当本RB作为该VLAN的AVF的优先级最高时,将本RB设置为该VLAN的新生效AVF。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。