发明内容
有鉴于此,本发明提供一种基于TRILL网络的处理报文的方法和路由桥。能够完整地将AVF信息传递给各RB,且不产生错误覆盖。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种基于TRILL网络的处理报文的方法,所述方法包括:
若当前RB被选举为DRB,发送携带Appointed Forwarders sub-TLV的Hello报文时,在所述Appointed Forwarders sub-TLV中增加RB连续标识,当该Appointed Forwarders sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointed Forwarders sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;
若其他RB被选举为DRB,当前RB接收到携带Appointed Forwarderssub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中包含自身信息时,获取该RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。
一种基于TRILL网络的处理报文的路由桥RB,所述RB包括:收发单元,增加单元和获取单元;
所述收发单元,用于当自身所在RB被选举为DRB时,发送携带Appointed Forwarders sub-TLV的Hello报文;当其他RB被选举为DRB时,接收携带Appointed Forwarders sub-TLV的Hello报文;
所述增加单元,用于在所述收发单元发送的所述Appointed Forwarderssub-TLV中增加RB连续标识,当该Appointed Forwarders sub-TLV携带第一个RB信息时,所述RB连续标识置为开始,携带最后一个RB信息时,所述RB连续标识置为结束;在该Appointed Forwarders sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,所述VLAN连续标识置为开始,携带该RB的结束VLAN时,所述VLAN连续标识置为结束;
所述获取单元,用于当所述收发单元接收的且从携带的RB连续标识为开始到结束的Hello报文中包含自身所在RB信息时,获取自身所在RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。
综上所述,本发明通过分别为sub-TLV和具体AVF信息增加字段,分别用以标识该sub-TLV中携带的RB,以及某RB的转发VLAN的范围,为各个Information和sub-TLV之间建立联系,扩展了Appointed Forwarderssub-TLV的标识能力,能够完整地将AVF信息传递给各RB,且不产生错误覆盖。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
参见图1,图1为本发明实施例中处理Hello报文的流程示意图。具体步骤如下:
步骤101,若当前RB被选举为DRB,发送携带Appointed Forwarderssub-TLV的Hello报文时,在该Appointed Forwarders sub-TLV中增加RB连续标识,当该Appointed Forwarders sub-TLV携带第一个RB信息时,RB连续标识置为开始,携带最后一个RB信息时,RB连续标识置为结束。
本步骤中,Appointed Forwarders sub-TLV中携带的RB信息按RB的Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,RB连续标识置为结束。
步骤102,当前RB在该Appointed Forwarders sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,VLAN连续标识置为开始,携带该RB的结束VLAN时,VLAN连续标识置为结束。
本步骤中各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,VLAN连续标识置为开始;当携带该RB的最大VLAN时,VLAN连续标识置为结束。
步骤103,若其他RB被选举为DRB,当前RB接收到携带AppointedForwarders sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中包含自身信息时,获取该RB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所有VLAN信息取并集作为自身的转发VLAN。
若当前RB接收到携带Appointed Forwarders sub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身信息时,该方法进一步包括:
当前RB确定自身是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的所述Appointed Forwarders sub-TLV。
下面参见附图,举具体实施例详细说明本发明的实现过程。
本发明具体实施例中扩展了现有的Appointed Forwarders sub-TLV的实现,分别为Appointed Forwarders sub-TLV和具体AVF Information增加属性字段,通过属性字段的两个位置的取值标识不同的范围。参见图2,图2为本发明具体实施例中Appointed Forwarders sub-TLV的格式定义示意图。L和S位(各1bit)分别表示RB的Nickname最小和RB的Nickname最大的标识位,如果S位置1,表示该报文包含了所要携带的Nickname最小的RB的RB信息;如果L位置1,表示该报文包含了所要携带的Nickname最大的RB的RB信息。
Appointed Forwarders sub-TLV中所携带的RB信息,按RB的Nickname大小进行排列。如果S位置1,表示该sub-TLV中有持有最小Nickname的RB的AVF信息;如果L位置1,表示该sub-TLV中有持有最大Nickname的RB的AVF信息。
参见图3,图3为本发明具体实施例中各RB信息的格式定义示意图。对于Appointed Forwarders sub-TLV中的各RB的Information中新增的字段,如果S位置1,表示该Information中带有该RB分得的最小转发VLAN;如果L位置1,表示该Information中带有该RB分得的最大转发VLAN。
当Hello报文中该Appointed Forwarders sub-TLV的S位置1,而本RB的Nickname小于该Appointed Forwarders sub-TLV中标识的最小Nickname;或,Hello报文中该Appointed Forwarders sub-TLV的L位置1,而本RB的Nickname大于该Appointed Forwarders sub-TLV中标识的最大Nickname;或该RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的Appointed Forwarders sub-TLV中并不包含自身的Nickname。
确定该RB是否已分得转发VLAN,如果是,将已分配的AVF全部清除,在处理接收的Hello报文时不处理该Hello报文携带的Appointed Forwarderssub-TLV。
在上述两种情况中,只要确定该RB的Nickname大于携带的RB的最大Nickname,或小于携带的RB的最小Nickname,,或属于接收到的Hello报文所标识的Nickname段,但不存在相等的Nickname,即可确定该次DRB未为该RB分配AVF,可以直接确定原先是否已分配AVF,如果分配直接清除,且不对该次DRB分配的AVF进行处理。
当该RB的Nickname不小于接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname,不大于接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname,且不等于接收的Hello报文中携带的RB的Nickname,确定该RB是否已分得转发VLAN,如果是,将已分配的AVF全部清除,在处理接收的Hello报文时不处理该Hello报文携带的AppointedForwarders sub-TLV。
上述情况确定RB的Nickname不小于接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname,不大于接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname时,并不能确定该次DRB是否为该RB分配AVF,只有与所有接收的Hello报文中携带的RB的Nickname都不相等时,才能确定该次DRB未为该RB分配AVF。这时才确定原先是否已分配AVF,如果分配直接清除,且不对该次DRB分配的AVF进行处理。
如该RB的Nickname为7,而收到的Hello报文中携带的RB连续标识置为开始的RB的Nickname为5,则后续收到的Hello报文中携带的RB的Nickname不小于5,可能存在等于7的,因此此时维持该RB的AVF信息,无论是否已分配,不进行处理,直到确定该次DRB未分配AVF或收集到所有的AVF信息时。
RB属于Hello报文中该sub-TLV所标识的Nickname段,但该sub-TLV中并不包含该RB的Nickname;则表示本RB没有分得任何转发VLAN,即自身不作为任何VLAN的转发者。该RB的AVF信息保持不变,避免了网络产生不应有的振荡。
如果RB属于Hello报文中该sub-TLV所标识的Nickname段,且该Appointed Forwarders sub-TLV中包含该RB的Nickname,则从收到S位置1的Information开始,直到收到L位置1的Informaiton,期间所有的Information所标识该RB的转发VLAN取并集,即为该RB全部的转发VLAN。
确定了该RB该次分得的转发VLAN时,如果该RB已分得转发VLAN,可以将已分得的清除,也可以直接覆盖已分得的VLAN,还可以与已分得的做比较,添加该次分得原先未分得的转发VLAN,删除原先分得该次未分得的转发VLAN。
当一个Hello报文无法携带所有RB的Appointed Forwarders sub-TLV时,S/L位用于标识前后报文的连续关系;当Hello报文无法携带该RB的所有AVF分配信息时,S/L用于标识前后报文VLAN的连续关系。
基于上述同样的发明构思,本发明还提出一种处理报文的RB。参见图4,图4为本发明具体实施例中处理Hello报文的RB的结构示意图。该RB包括:收发单元401,增加单元402和获取单元403。
收发单元401,用于当自身所在RB被选举为DRB时,发送携带AppointedForwarders sub-TLV的Hello报文;当其他RB被选举为DRB时,接收携带Appointed Forwarders sub-TLV的Hello报文。
增加单元402,用于在收发单元401发送的Appointed Forwarders sub-TLV中增加RB连续标识,当该Appointed Forwarders sub-TLV携带第一个RB信息时,RB连续标识置为开始,携带最后一个RB信息时,RB连续标识置为结束;在该Appointed Forwarders sub-TLV中携带的各RB的information中增加VLAN连续标识,当该RB的information中携带该RB的起始VLAN时,VLAN连续标识置为开始,携带该RB的结束VLAN时,VLAN连续标识置为结束。
获取单元403,用于当收发单元401接收的且从携带的RB连续标识为开始到结束的Hello报文中包含自身所在RB信息时,获取自身所在KB的information中VLAN连续标识为开始到结束的所有VLAN信息,并对所述所有VLAN信息取并集作为自身的转发VLAN。
较佳地,该RB进一步包括:确定清除单元404。
确定清除单元404,用于收发单元401接收到携带Appointed Forwarderssub-TLV的Hello报文,且从携带的RB连续标识为开始到结束的Hello报文中未包含自身所在RB的信息时,确定自身所在RB是否已分得转发VLAN,如果是,将已分得的转发VLAN清除,在处理接收的Hello报文时不处理该Hello报文携带的Appointed Forwarders sub-TLV。
较佳地,
增加单元402,进一步用于将Appointed Forwarders sub-TLV中携带的RB信息按RB的Nickname大小从小到大进行排序,当携带Nickname最小的RB的RB信息时,所述RB连续标识置为开始,当携带Nickname最大的RB的RB信息时,所述RB连续标识置为结束;
确定清除单元404,用于在确定收发单元401接收的Hello报文中携带的RB连续标识置为开始的RB的Nickname大于自身所在RB的Nickname;或,确定收发单元401接收的Hello报文中携带的RB连续标识置为结束的RB的Nickname小于自身所在RB的Nickname;或,确定自身所在RB的Nickname属于接收到的Hello报文所标识的Nickname段,而该Hello报文的AppointedForwarders sub-TLV中并不包含自身的Nickname时,执行确定自身所在RB是否已分得转发VLAN操作。
较佳地,
增加单元402,进一步用于将各RB的information中的VLAN信息按VLAN的大小从小到大进行排序,当携带该RB的最小VLAN时,VLAN连续标识置为开始;当携带该RB的最大VLAN时,VLAN连续标识置为结束。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例通过分别为Appointed Forwarders sub-TLV和具体AVF信息增加字段,分别用以标识该sub-TLV中携带的RB,以及某RB的转发VLAN的范围,为各个Information和sub-TLV之间建立联系,扩展了Appointed Forwarders sub-TLV的标识能力,能够完整地将AVF信息传递给各RB,且不产生错误覆盖。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。