一种多生成树协议的实现方法

文档序号:7667060阅读:293来源:国知局
专利名称:一种多生成树协议的实现方法
技术领域
本发明涉及数据通讯领域,尤其涉及一种多生成树协议的实现方法。
背景技术
STP ( Spanning-Tree Protocol,生成树协议)从诞生的那一刻起,决定了其 作为一个"小"协议决定"大"协议的特性。这里所谓"大小",是指协议本身而言, 但生成树协议却比任何路由协议、MPLS (多协议标记交换)协议都要重要的多。
生成树协议在其历史发展中经历了三个阶段第一代生成树协议 SSTP/RSTP (简单生成树协议/快速生成树协议);第二代生成树协议 PVST/PVST+ (VLAN (虚拟局域网)生成树协议);第三代生产树协议MSTP 协议(Multi Spanning-Tree Protocol -多生成树协i义)。
第一代生成树协议虽然简单、快捷,但是在正EE802.1Q协议大行其道的今 天,由于该协议主要涉及VLAN的实现,SSTP或者RSTP对VLAN实例无法 区分,也不能对分属不同VLAN业务进行操作,第一代生成树协议已不能满足 IEEE 802.1Q协议的要求。
为了解决对VLAN业务无能为力的局面,第二代生成树协议应运而生,但 是采用该生成树协议,每一个VLAN都要维持一个生成树实例,这样生成树实 例数量要和VLAN——对应,不但缺乏灵活性,而且当VLAN众多时,需要维 持的生成树实例也会相应增多,给交换机带来很大负担,大大影响了交换机的 性能。
第三代生成树协议解决了前面两代协议都面临的问题,是一种可以区分
VLAN而又可以对VLAN进行多种组合的多生成树实例,每一个生成树实例代 表一系列的VLAN组合,这样MSTP便能很好的解决802.1Q协议的所有问题。 随着数据通讯领域日益IP化的趋势必然要求对不同VLAN业务给予支持, 在这种趋势下,QINQ (或称SVLAN,即VLAN堆叠)协议和二层VPN (虚拟 专用网)协议诞生了,这种用二层协议区分不同业务的思想必然要求生成树协 议做出相应对策,但生成树协议发展到MSTP协议就停滞不前了。从目前数据 通讯的特点看,现有MSTP协议只能根据参与多生成树计算的交换机端口的 VLAN ID进行区分,并根据不同的多生成树实例和VLAN ID的映射进行生成树 拓朴计算。对于QiNQ协议涉及的双VLAN标签协议或者多层VLAN标签协议 以及二层VPN协议需要区分不同VLAN业务的操作却不能支持,而且VLAN 业务可扩展性差,没有给未来发展提供必要空间。

发明内容
本发明的目的是提出 一种多生成树协议的实现方法,用以克服现有技术中 MSTP协议对QINQ协议和二层VPN协议支持不足的问题。 为了实现上述发明目的,本发明具体是这样实现的 一种多生成树协议的实现方法,包括如下步骤
步骤1,需要经过交换机转发的数据报文进入交换机,交换机开启iMSTP 多生成树协议,在协议报文中增加iMSTP协议字段,并根据对iMSTP协议字 段设置,进行iMST生成树子实例的设置;
步骤2,通过协议报文增加的字段,进行生成树子实例拓朴计算;
步骤3,交换机转发输出经过生成树子实例拓朴转发的数据报文。
其中所述步骤2中,计算生成树子实例拓朴,包括如下步骤
步骤2a,进行iMST模式判断;
步骤2b,进行区域根选举;
步骤2c,进行路径开销计算。
其中所述步骤2a中,根据在所述设置的iMSTP协议字段中设置的iMSTP ID 进行iMSTP模式判断;
所述iMSTP ID的取值是由VLAN组网方式决定;
若采用QINQ方式组网,则iMSTP ID取值为QINQ的内层VLAN标签的 VLAN ID;
若采用二层VPN方式组网,则iMSTP ID取值为二层VPN边缘接口所配置 的trunk值或者二层VPN中给不同业务所分配的VCID值。
所述的多生成树协议的实现方法,所述步骤1中,在进行交换机开启iMSTP 多生成树协议前,先进行MSTP多生成树协议的开启。
其中所述步骤l中,若没有设置iMST生成树子实例,则进行MST多生成 树实例拓朴计算,根据多生成树实例拓朴,交换机转发输出数据报文。
采用本发明所迷的多生成树协议的实现方法,不但解决了现有MSTP协议 对QINQ协议和二层VPN协议支持不足的问题,可以区分二层协议下的不同 VLAN业务,还增强了 VLAN业务的扩展性。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分, 本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明中QINQ模式下iMST的结构框图; 图2是本发明中VPLS VLAN模式下iMST的结构框图; 图3是本发明中VPLS VCID模式下iMST的结构框图; 图4是本发明的具体实施例的处理流程图5是对采用本发明方法组成的IP网络设备系统进行功能验证测试的系统 结构图。
图6是采用本发明方法改造现有的MSTP协议的BPDU报文的结构示意图。
具体实施例方式
本发明所述方法,主要包括如下步骤
步骤1,在交换机上开启多生成树协议MSTP、以及基于QINQ或者二层 VPN的多生成树协议iMSTP (带有生成树子实例的MSTP协议);对于没有配 置多生成树协议iMSTP的交换机,其数据报文直接按照已生成的多生成树MST 拓朴进行转发。
步骤2,配置生成树子实例,获得生成树子实例拓朴;
在进行生成树子实例的配置时,应先进行iMSTP模式的判断,所述iMSTP 模式是根据iMSTP ID来标识的,由于VLAN组网方式不同,所述iMSTP ID的 取值也不同。
若釆用QINQ方式组网,则需要将iMSTP模式设置为QINQ模式,并将QINQ 的内层VLAN标签的VLAN ID指定为iMSTP ID;
若采用二层VPN方式组网,需要区分trunk VLAN ( 二层VPN边缘接口配 置成trunk VLAN)方式和VCID方式
若釆用trunk VLAN方式,则将二层VPN边缘接口所配置的trunk值赋给 iMSTP ID;
若采用VCID方式,则将各二层VPN中给不同业务所分配的VCID值赋给 iMSTP ID;
步骤3,需要经过交换机转发的数据报文进入交换机,并按照生成树子实例 拓朴进行转发,可通过专门的命令查询各个生成树子实例的拓朴状态;不同的 生成树子实例的拓朴应该不同。
步骤4,出口交换机输出经过生成树子实例拓朴转发的用户数据。 属于不同业务的数据报文都可以按照不同的生成树子实例拓朴进行转发, 然后经过报文解析,验证报文的正确性、完整性。
下面结合附图对本发明的具体实施例作进一步的详细描述。 如图4所示,本发明中iMSTP处理流程,包括以下步骤 步骤401,交换机收到用户数据报文;
步骤402,交换机判断是否开启MSTP多生成树协议,若是,则转入步骤
403, 否则,转入步骤408;
步骤403,交换机判断是否开启iMSTP多生成树协议,若是,则转入步骤
404, 否则,转入步骤406;
所述步骤402或步骤403中,开启多生成树协议(MSTP或iMSTP )是这 样实现的,即使能交换机上的多生成树实例,在交换机全局配置模式下,开启 一使能命令(例如enable spanning - tree );然后执行该命令指定生成树模式 (MSTP或iMSTP )(例如spanning - tree mode MSTP )。
步骤404,在iMSTP协议报文中增加iMSTP协议字段,根据对iMSTP协 议字段的设置,交换机对是否设置iMST生成树子实例进行判断,若是,则转入 步骤405,否则,转入步骤406;
所述设置iMST子实例,是指在交换网络中增加生成树种类iMST, iMST 和MST、 SST和RST相互独立,而后应在交换机中增加对iMST支持的模式, 即iMSTP模式,但是,iMSTP和MSTP的配置(即拓朴)是相互独立且能够共 存的。
步骤405,进入iMST多生成树协商模式,计算生成树子实例拓朴,然后转 入步骤407;
所述计算生成树子实例拓朴,包括如下步骤 步骤5a,进行iMSTP模式判断; 步骤5b,进行区域根选举; 步骤5c,进行路径开销计算。
步骤406,进入MST多生成树协商模式,计算生成树实例拓朴; 所述计算生成树拓朴,包括如下步骤 步骤6a,进行区域根选举; 步骤6b,进行路径开销计算。
步骤407,交换机协议层通知驱动层,按已计算好的拓朴结构生成转发通道; 步骤408,交换机转发经过拓朴后的用户数据报文。
如图6所示,以QINQ协议为例,为了能够提供iMSTP协议支持,针对QINQ 接口 ,改造现有的MSTP协议的BPDU (桥协议数据单元)报文,增加一个长 度为18bit的iMSTP (Inside MSTP )协议字段,该字段镶嵌在原有MSTP协议 字段内部,标识QINQ接口所属MST实例中的iMST子实例,该iMST子实例 对应内层VLAN标签的VLAN ID (即,嵌套的802.1Q标签所表示的生成树实 例号)指定为iMSTP ID, iMSTP ID协议字段的其他部分与现有的MSTP ID字 段一样。
上述iMST子实例在进行配置前,首先在QINQ交换网中,增加生成树种类 iMST,增加iMST生成树与增加MST生成树的方式都是一样的,且增加后的 iMST与MST、 SST、 RST都是相互独立的;然后对增加的生成树子实例进行配
置(增加的iMST生成树子实例的配置独立于现有的MST生成树实例配置,但 是二者却是可以共存的)。
iMST称为"子实例",用实例号表示为x.y,其中x为实例号,y为子实例号。 x表示在没有设置生成树子实例情况下,MST的实例号,它可对应于一些列的 VLAN的集合(在QINQ条件下,即位于外层VLAN标签的集合);y表示在设 置了生成树子实例的情况下,iMST子实例号对应于内层私网VLAN的集合(在 QINQ条件下,即位于内层VLAN标签的集合)。
例如,在QINQ条件下,外层VLAN记为VLAN10,内层VLAN记为 VLAN20,可以设定MST实例1对应于外层VLAN标签VLAN10,而iMST实 例1.1对应于内层VLAN标签VLAN20,那么当iMST启用,数据报文进行交
互时,所走的拓朴环境就由内层的VLAN20决定,而并非外层的VLANIO。不 同的iMST子实例可以挂在同一个MST实例下,如图1所示。
iSMT子实例必须依附于MST实例,但如果不清楚公网VLANID到底为何 值、或者根本无需按照公网VLAN标签进行生成树计算,那么可以采用设置MST 实例1 VLAN ID1 _ 4094 (对于QINQ协议,带VLAN标签的数据报文中,有一 个12bit长度的VLAN ID字段,该字段用于存放VLAN ID值,该值的取值空间 为1至4094)的方法,所有iMST子实例绑定MST实例1,即l.y。
对于二层VPN协议,以VPLS (虚拟专用局域网)协议为例,为了能够提 供iMSTP协议支持,在进行iMST配置时,首先应该解决iMST对于VPLS的 支持上的一难点,即私网内层VLAN标签的不确定性。所谓私网内层标签的不 确定性,针对的是交换机(具体是指具有MPLS功能的高端路由交换机)。
若要解决上述难点,那么应该先获得PE入口侧端口的封装方式(PE入口 侧端口的封装模式决定了二层VPN内存标签的实现方式),在VPLS网络中,在 PE侧xconnect接口有两种封装方式access VLAN和trunk VLAN。
若PE侧xconnect接口已经配置为trunk方式,由于增加了 iMST的配置模 式的VPLS VLAN网,针对VPLS报文特点,MPLS标签内封装的VLAN标签 进行生成树子实例匹配。这种方式类似于QINQ方式,iMSTP将PE侧xconnect 接口 trunk封装值所匹配的iSMT子实例填充到交换机BPDU报文中的iMSTP ID 字段,采用对P路由交换机逐一配置,在进行MPLS标签分配之前,就计算好 生成树子实例拓朴,如图2所示,其余可以沿用QINQ方式进行实施。
若PE侧xconnect 4妾口配置为access方式,对于access VLAN,私网内层标 签是不会携带802.1Q标签的,这样就给区分私网带来困难,而且目前的VPLS
内层标签分配采用空闲、随机的方式,从16 - 1048575随机分配,难以预先知 道VPLS内层标记具体是如何分配的。
为了解决上述问题,在PE侧xconnect接口进行VCID的配置,将各二层 VPN中给不同业务所分配的VCID值赋给iMSTP ID,即,增加iMSTP配置模 式下VPLSVCID功能,该功能表示私网业务按照自身VCID进行区分,iMSTP 将私网VPN VCID值去配置iMST子实例并填充到交换机BPDU报文中的iMSTP ID字段,并且在P路由交换机上逐一配置,以此计算并建立新的基于VCID的 拓朴,在此基础上进行TCP报文握手、建立MPLS标签绑定,如图3所示,其 余可以沿用QINQ方式进行实施。
综上所述,对于二层VPN协议,在进行生成树子实例拓朴计算时,仅需要 确定内层标签值和iMSTP ID的——对应的关系,若确定了 二层VPN的内存标 签(即一个入参数),则可套用QINQ内存标签(即一个入参数)的解决方式, 将这个入参数代入拓朴计算方法中,得出生成树子实例拓朴。
图5是本发明对IP网络设备进行功能验证测试的系统结构图,使用测试仪 的两个端口分别与被测试设备的两个用户接入端口相连,分别记作端口 1和端 口 2,四台4皮测设备组成环网。
若所述被测设备的iMSTP模式采用QINQ方式组网,则具体测试步骤包括
步骤1,被测设备所有互联接口配置成QINQ接口 ,并且连接测试仪的两台 被测设备起到PE作用,将用户侧单802.1Q标签的报文转换成为公网上双802.1Q 标签的报文;
步骤2,在所有被测设备上配置iMSTP,针对用户侧的不同VLAN映射 iMSTP子实例,设置iMSTP模式为QINQ,完成iMSTP配置后即可观察子生成
树(iMSTP)建立情况;
步骤3,测试仪1端口、 2端口互发各种802.1Q标签的用户报文,然后在 各个被测设备上观察流量流经情况,可以尝试断去其中一些链路,考察流量是 否会中断。
若所述被测设备的iMSTP模式采用二层VPN模式组网,则具体测试步骤 包括
步骤1 ,将与测试仪直连的设备上配置VFI用户接口 ,并将VCID与iMSTP 子实例进行映射;设置iMSTP模式为VPLS VCID;完成iMSTP配置后即可观 察子生成树(iMST)建立情况;
步骤2,设备上配置VPLS,可以观察VPLS标签是否分配成功、PW伪线 是否建立成功;
步骤3,测试仪端口 1 、端口 2互发各种VFI用户才艮文,然后在各个被测设 备上观察流量流经情况;可以尝试断去其中一些链路,考察流量是否会中断;
步骤4,改变iMSTP模式为VPLSVLAN,重复步骤2、 3。
所述被测IP网络设备需具备如下功能,VLAN相关功能、QINQ功能、路 由功能、二层VPN功能;
所述VLAN相关功能包括,用户VLAN隔离功能、802.1Q封装功能。所述 QINQ功能包括,支持双Q标签的二层数据转发。所述路由功能包括,用于通 过配置生成路由,建立L2VPN伪线。所述二层VPN功能包括,支持VPLS、 VPWS (Virtual Private Wire Service,虚拟专用线路服务)等功能。
所述测试仪包括配置模块根据对接设备的借口类型进行相应的配置, 根据测试需求配置整机测试的流量等;发送模块对配置好的测试流量进行发
送;收模块接收被测设备发送的流量并进行统计计算等。
以上所述的实施例,是本发明较优选的两种方式,本领域的技术人员在本 范围内。
权利要求
1、一种多生成树协议的实现方法,其特征在于,包括如下步骤步骤1,需要经过交换机转发的数据报文进入交换机,交换机开启iMSTP多生成树协议,在协议报文中增加iMSTP协议字段,并根据对iMSTP协议字段的设置获得iMST生成树子实例的设置;步骤2,通过协议报文增加的字段,进行生成树子实例拓扑计算;步骤3,交换机转发输出经过生成树子实例拓扑转发的数据报文。
2、 如权利要求1所述的多生成树协议的实现方法,其特征在于,所述步骤 2中,计算生成树子实例拓朴,包括如下步骤步骤2a,进行iMSTP模式判断; 步骤2b,进行区域根选举; 步骤2c,进行路径开销计算。
3、 如权利要求2所述的多生成树协议的实现方法,其特征在于,所述步骤 2a中,根据在所述设置的iMSTP协议字段中设置的iMSTP ID进行iMSTP模式 判断;所述iMSTP ID的取值是由VLAN组网方式决定;若采用QINQ方式组网,则iMSTP ID取值为QINQ的内层VLAN标签的 VLAN ID;若采用二层VPN方式组网,则iMSTP ID取值为二层VPN边缘接口所配置 的trunk值或者二层VPN中给不同业务所分配的VCID值。
4、 如权利要求1所述的多生成树协议的实现方法,其特征在于,所述步骤 1中,在进行交换才几开启iMSTP多生成树协议前,先进行MSTP多生成树协议的 开启。
5、 如权利要求4所述的多生成树协议的实现方法,其特征在于,所述步骤1中,若没有设置iMST生成树子实例,则进行MST多生成树实例拓朴计算,根 据多生成树实例拓朴,交换机转发输出数据报文。
全文摘要
本发明公开了一种多生成树协议的实现方法,所述方法包括在交换机上开启多生成树协议MSTP、以及基于QINQ或者二层VPN的多生成树协议iMSTP;设置生成树子实例,获得生成树子实例拓扑;出口交换机输出经过生成树子实例拓朴转发的用户数据。所述获得生成树子实例拓扑,必须先根据iMSTP ID进行iMSTP模式的判断。采用本发明方法,不但解决了现有MSTP协议对QINQ协议和二层VPN协议支持不足的问题,且能区分二层协议下的不同VLAN业务,增强了VLAN业务的扩展性。
文档编号H04L12/56GK101188564SQ20071018839
公开日2008年5月28日 申请日期2007年11月21日 优先权日2007年11月21日
发明者伏朝晖, 军 邵, 锐 钱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1