CN102316033B - 一种指定分发树的方法和*** - Google Patents
一种指定分发树的方法和*** Download PDFInfo
- Publication number
- CN102316033B CN102316033B CN201110261762.3A CN201110261762A CN102316033B CN 102316033 B CN102316033 B CN 102316033B CN 201110261762 A CN201110261762 A CN 201110261762A CN 102316033 B CN102316033 B CN 102316033B
- Authority
- CN
- China
- Prior art keywords
- distribution
- distribution tree
- rbridge
- tree
- trees
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种指定分发树的方法和***,当Rbridge发现自身没有指定分发树或所指定的分发树错误时,将自身期望使用的分发树更新为:包含在k棵分发树列表中的分发树;所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数;Rbridge根据更新后的分发树刷新自身在网络中的LSP。本发明指定分发树的技术,通过优化本地Rbridge自身期望使用的分发树的通告流程,使得Rbridge转发时使用的分发树和其他Rbridge上控制信息保持一致。
Description
技术领域
本发明涉及通信领域,具体涉及一种指定分发树的方法和***。
背景技术
多链接透明互连(Transparent Interconnection over Lots of Links,TRILL)是IETF(互联网工程任务组)推荐的连接层(L2)网络标准,用于解决大型数据中心中STP(Spanning Tree protocol,生成树协议)的不足。在L2网络中,STP通过阻塞冗余链路(Link)来避免环路,但同时也造成了冗余链路带宽的浪费。TRILL通过将IS-IS(Intermediate System to Intermediate System,中间***到中间***)路由协议引入L2网络,解决了L2环路问题,同时保留了L2多路径。所述L2多路径也可称为ECMP(EquivalentCost Multiple Path,等价多路径)。
在TRILL网络中,运行TRILL协议的设备称为路由网桥(Rbridge,RB),Rbridge使用分发树(Distribution trees)来转发组播报文。虽然理论上对于一个TRILL网络来说,一个分发树就已足够,但为了实现组播报文的多路径以及能够选择树根离自身较近的分发树来分发组播报文,一个TRILL网络中一般需要计算多颗分发树。在为组播报文选择分发树时,一般选择树根离自身最近的分发树。
当Rbridge使用分发树来转发组播报文时,为了避免报文产生环路,需要进行反向路径检查(Reverse Path Forwarding Check,RPF Check),Rbridge会丢弃反向路径检查失败的报文。当一个Rbridge(设为RB3)在计算分发树X时,RB3会为每一个选用X分发组播报文的Rbridge(设为RB2)计算RPF信息,即在分发树X上,从任意链路上收到RB2导入的组播报文都是合法的。
在控制面,其他Rbridge是通过下列方式获取RB2的反向路径检查信息的:每个Rbrdige通过链路状态数据包(LSP)将自身期望使用的分发树数目j以及这些树的树根和优先级告知其他Rbridge。通过优先级算法,网络中的Rbridge最终会确定需要所有Rbridge计算的k棵分发树。如果RB2期望使用的分发树(比如Tx)包含在上述的k棵分发树中,网络中的其他Rbridge会在Tx上为RB2计算RPF信息;反之,如果RB2期望使用的分发树Tx不在上述的k棵分发树中或者RB2没有指定期望使用的分发树的树根,其他的Rbridge则从上述k棵树中选择优先级较高的分发树(比如Ty)并为RB2计算RPF信息。
在转发层面,缺省情况下(比如RB2没有具体指定期望使用的分发树的树根或者指定的树根不在k棵分发树中),RBridge(比如RB2)会从k棵分发树中选择树根距离自身最近的一颗分发树(比如Tz)用于组播报文分发。在缺省情况下(RB2没有指定期望使用的分发树的树根)或者指定的分发树不包含在k棵分发树中的情况下,RB2在转发层面选择的分发树Tz可能与其他Rbridge在控制面为RB2计算RPF信息的分发树Ty不一致,引起报文反向路径检查失败,进而导致报文丢弃。
可见,如果没有指定分发树或者指定分发树错误,就可能存在以下情况:
其他Rbridge在为RB2选择可能使用的分发树时,基于性能的考虑,不可能为RB2进行以RB2为根结点的SPF计算从而获取树根离RB2较近的分发树列表,这样其他Rbridge只能为RB2计算所有k棵树的反向路径检查信息。当网络较大时,会导致反向路径检查信息异常庞大,存在较多的冗余信息,不利于报文的转发。
另外,RB2在转发报文时,根据优先级选择最优的分发树,但是这样就会导致TRILL网络中的流量将会集中于优先级较高的某几棵分发树上,不利于整个网络的流量负荷分担。
发明内容
有鉴于此,本发明的主要目的在于提供一种指定分发树的方法和***,解决TRILL分发树选择和反向路径检查信息不一致的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种指定分发树的方法,该方法包括:
Rbridge发现自身没有指定分发树或所指定的分发树错误时,将自身期望使用的分发树更新为:包含在k棵分发树列表中的分发树;所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数;
Rbridge根据更新后的分发树刷新自身在网络中的LSP。
包含在k棵分发树列表中的所述分发树为:
在k棵分发树列表中,树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的分发树。
刷新所述LSP的过程包括:
将LSP中的指定分发树信息更新为更新后的分发树,并通告给网络中的其他Rbridge。
该方法还包括:
在收到所述LSP时,TRILL网络中其他Rbridge重新选举出更新分发树的所述Rbridge所可能使用的分发树。
该方法还包括:
TRILL网络中其他Rbridge为更新分发树的所述Rbridge计算出正确的反向路径检查信息。
所述指定的分发树错误为:指定的分发树不在或者不完全在上述k棵分发树中;
包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的所述分发树为:包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的j棵(最多不超过{j,k}的最小值)分发树。
一种指定分发树的***,该***包括分发树处理单元、LSP更新单元;其中,
所述分发树处理单元,用于在发现自身所属的Rbridge没有指定分发树或所指定的分发树错误时,将期望使用的分发树更新为:包含在k棵分发树列表中的分发树;所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数;
所述LSP更新单元,用于根据更新后的所述分发树刷新自身所属的Rbridge在网络中的LSP。
包含在k棵分发树列表中的所述分发树为:
在k棵分发树列表中,树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的分发树。
所述LSP更新单元在刷新所述LSP时,用于:
将LSP中的指定分发树信息更新为更新后的分发树,并通告给网络中的其他Rbridge。
该***中还包括TRILL网络中的其他Rbridge,用于:
在收到所述LSP时,重新选举出更新分发树的所述Rbridge所可能使用的分发树。
TRILL网络中的所述其他Rbridge,还用于:
为更新分发树的所述Rbridge计算出正确的反向路径检查信息。
所述指定的分发树错误为:指定的分发树不在或者不完全在上述k棵分发树中;
包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的所述分发树为:包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的j棵(最多不超过{j,k}的最小值)分发树。
本发明指定分发树的技术,通过优化本地Rbridge自身期望使用的分发树的通告流程,使得Rbridge转发时使用的分发树和其他Rbridge上控制信息保持一致,因此没有指定分发树的Rbridge都会选择树根离自身较近的分发树来发送报文,其他Rbridge针对此Rbridge发送的组播报文也能进行正确的反向路径检查;能够避免反向路径检查信息过于庞大以及TRILL网络中的流量过于集中,有利于报文的转发以及整个网络的流量负荷分担。
附图说明
图1为本发明实施例的TRILL网络拓扑图;
图2为本发明实施例中以RB4为根进行SPF算法计算所得到的TRILL网络SPF树;
图3为本发明实施例指定分发树的流程简图;
图4为本发明实施例指定分发树的***图。
具体实施方式
在实际应用中,当Rbridge发现自身没有指定分发树或所指定的分发树错误时,将自身期望使用的分发树更新为:包含在k棵分发树列表中且树根离自身最近的分发树;k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数;
之后,Rbridge可以根据更新后的分发树刷新自身在网络中的LSP。
比如,在获知网络中所有Rbridge都需要计算的k棵分发树后,如果某个Rbridge(比如RB2)发现自身指定的分发树错误(指定的分发树不在或者不完全在k棵分发树中)或者没有指定分发树时,则将LSP中自身期望使用的分发树更新为:包含在k棵分发树列表中且树根离自身最近的j棵(最多不超过{j,k}的最小值)分发树,并刷新网络中自身的LSP。这样,在收到RB2更新后的LSP时,网络中其他Rbridge就会重新选举出RB2所可能使用的分发树,并为RB2计算出正确的RPF检查信息。
下面结合附图描述以下几种情况下TRILL分发树选择和反向路径检查信息计算的处理流程。
参见图1,图1所示网络配置信息如下:
RB1:配置别名(nickname){T11};
RB2:配置nickname{T21};
RB3:配置nickname{T31,T32};
RB4:配置nickname{T41};
RB5:配置nickname{T51,T52};
RB6:配置nickname{T61};
RB7:配置nickname{T71}。
k值(指Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数)为3,RB5具有最高树根优先级,所有nickname的优先级为T51>T52>T21>T11>T31>T41>T71>T61。
下面以图1中的一个简单的TRILL网络为例,描述一下当RB4没有指定分发树时,对TRILL分发树中选举优化的处理流程。由于RB4没有指定分发树,则j(RB4可能使用的分发树个数)缺省为1。
首先,RB5接收到所有的LSP,选举出k棵所有Rbridge都要计算的分发树为{T51,T52,T21},并通告给所有Rbridge;
接下来,其他所有Rbridge针对RB4选举可能使用的分发树,由于RB4没有指定分发树,所以j缺省为1。在RB5最终选出的k棵分发树{T51,T52,T21}中,根据优先级得出RB4最终可能使用的分发树为{T51},并为RB4在T51分发树上计算反向路径检查信息;
收到RB5通告的k棵最高优先级分发树后,由于RB4没有指定分发树,则j缺省为1,通过以RB4为根进行SPF计算,RB4得出TRILL网络的SPF树为图2所示;根据此SPF树,RB4从k棵分发树{T51,T52,T21}中选出树根离自身最近的j棵分发树{T21},将LSP中的指定分发树信息更新为{T21},并通告给网络中的其他Rbridge;
这样,其他Rbridge收到RB4更新后的LSP,据此重新选出RB4可能使用的分发树为{T21},重新为RB4计算反向路径检查信息。
下面再以图1中的一个简单的TRILL网络为例,描述一下当RB4指定分发树错误时,对TRILL分发树中选举优化的处理流程。设R4通告的j为2,指定的分发树nickname为{T51,T61}。
首先,RB5接收到所有的LSP,选举出k棵所有Rbridge都要计算的分发树为{T51,T52,T21},并通告给所有Rbridge;
接下来,其他所有Rbridge针对RB4选举可能使用的分发树,由于RB4指定的分发树{T51,T61}并不都在最终选出的k棵分发树{T51,T52,T21}中,所以根据优先级得出最终可能使用的分发树为{T51,T52},并为RB4在{T51,T52}分发树上计算反向路径检查信息;
RB4收到RB5通告的k棵最高优先级分发树后,发现自身指定的分发树中只有一个是在最终选出的k棵树中。由于j为2,所以RB4还要再在RB5通告的k棵分发树中选出离自身最近的1棵分发树,通过以RB4为根进行SPF计算,得出TRILL网络的SPF树为图2所示;根据此SPF树,RB4从k棵分发树{T51,T52,T21}中选出树根离自身最近的另外一棵分发树{T21},将LSP中的指定分发树信息更新为{T51,T21},并通告给网络中的其他Rbridge;
这样,其他Rbridge收到RB4更新后的LSP,据此重新选出RB4可能使用的分发树为{T51,T21},重新为RB4计算反向路径检查信息。
结合以上技术描述可知,本发明指定分发树的操作思路可以表示如图3所示的流程,该流程包括以下步骤:
步骤310:Rbridge发现自身没有指定分发树或所指定的分发树错误时,将自身期望使用的分发树更新为:包含在k棵分发树列表中的分发树;如:包含在k棵分发树列表中且树根离自身最近的分发树;
所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数。
步骤320:Rbridge根据更新后的分发树刷新自身在网络中的LSP。
为了保证前述技术描述以及上述操作思路能够顺利实现,可以进行如图4所示的设置。参见图4,图4为本发明实施例指定分发树的***图,该***包括相连的分发树处理单元、LSP更新单元。所述分发树处理单元、LSP更新单元均可设置于Rbridge中。
在实际应用时,分发树处理单元在发现自身所属的Rbridge没有指定分发树或所指定的分发树错误时,将期望使用的分发树更新为:包含在k棵分发树列表中的分发树;如:包含在k棵分发树列表中且树根离自身最近的分发树。
所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数。
LSP更新单元能够根据更新后的所述分发树刷新自身所属的Rbridge在网络中的LSP。
综上所述可见,无论是方法还是***,本发明指定分发树的技术,通过优化本地Rbridge自身期望使用的分发树的通告流程,使得Rbridge转发时使用的分发树和其他Rbridge上控制信息保持一致,因此没有指定分发树的Rbridge都会选择树根离自身较近的分发树来发送报文,其他Rbridge针对此Rbridge发送的组播报文也能进行正确的反向路径检查;能够避免反向路径检查信息过于庞大以及TRILL网络中的流量过于集中,有利于报文的转发以及整个网络的流量负荷分担。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种指定分发树的方法,其特征在于,该方法包括:
路由网桥Rbridge发现自身没有指定分发树或所指定的分发树错误时,将自身期望使用的分发树更新为:包含在k棵分发树列表中的分发树;所述k为Rbridge所在的多链接透明互连TRILL网络中所有Rbridge需要计算的分发树的个数;其中,所述包含在k棵分发树列表中的所述分发树为:在k棵分发树列表中,树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的分发树;
Rbridge根据更新后的分发树刷新自身在网络中的链路状态数据包LSP。
2.根据权利要求1所述的方法,其特征在于,刷新所述LSP的过程包括:
将LSP中的指定分发树信息更新为更新后的分发树,并通告给网络中的其他Rbridge。
3.根据权利要求1至2任一项所述的方法,其特征在于,该方法还包括:
在收到所述LSP时,TRILL网络中其他Rbridge重新选举出更新分发树的所述Rbridge所可能使用的分发树。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
TRILL网络中其他Rbridge为更新分发树的所述Rbridge计算出正确的反向路径检查信息。
5.根据权利要求1或2所述的方法,其特征在于,
所述指定的分发树错误为:指定的分发树不在或者不完全在上述k棵分发树中;
包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的所述分发树为:包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的j棵(最多不超过{j,k}的最小值)分发树;所述j为所述Rbridge期望使用的分发树数目。
6.一种指定分发树的***,其特征在于,该***包括分发树处理单元、LSP更新单元;其中,
所述分发树处理单元,用于在发现自身所属的Rbridge没有指定分发树或所指定的分发树错误时,将期望使用的分发树更新为:包含在k棵分发树列表中的分发树;所述k为Rbridge所在的TRILL网络中所有Rbridge需要计算的分发树的个数;其中,所述包含在k棵分发树列表中的所述分发树为:在k棵分发树列表中,树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的分发树;
所述LSP更新单元,用于根据更新后的所述分发树刷新自身所属的Rbridge在网络中的LSP。
7.根据权利要求6所述的***,其特征在于,所述LSP更新单元在刷新所述LSP时,用于:
将LSP中的指定分发树信息更新为更新后的分发树,并通告给网络中的其他Rbridge。
8.根据权利要求6至7任一项所述的***,其特征在于,该***中还包括TRILL网络中的其他Rbridge,用于:
在收到所述LSP时,重新选举出更新分发树的所述Rbridge所可能使用的分发树。
9.根据权利要求8所述的***,其特征在于,TRILL网络中的所述其他Rbridge,还用于:
为更新分发树的所述Rbridge计算出正确的反向路径检查信息。
10.根据权利要求7所述的***,其特征在于,
所述指定的分发树错误为:指定的分发树不在或者不完全在上述k棵分发树中;
包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的所述分发树为:包含在k棵分发树列表中且树根离没有指定分发树或所指定的分发树错误的所述Rbridge最近的j棵(最多不超过{j,k}的最小值)分发树;所述j为所述Rbridge期望使用的分发树数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110261762.3A CN102316033B (zh) | 2011-09-06 | 2011-09-06 | 一种指定分发树的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110261762.3A CN102316033B (zh) | 2011-09-06 | 2011-09-06 | 一种指定分发树的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102316033A CN102316033A (zh) | 2012-01-11 |
CN102316033B true CN102316033B (zh) | 2017-04-05 |
Family
ID=45428865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110261762.3A Active CN102316033B (zh) | 2011-09-06 | 2011-09-06 | 一种指定分发树的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102316033B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428088B (zh) * | 2012-05-14 | 2018-11-06 | 中兴通讯股份有限公司 | 一种树根分配、报文处理的方法及路由网桥 |
CN102710522B (zh) * | 2012-06-08 | 2017-09-12 | 神州数码网络(北京)有限公司 | 多链接透明互联网络中rpf规则的配置方法和装置 |
CN102780623B (zh) * | 2012-07-26 | 2015-09-02 | 杭州华三通信技术有限公司 | 一种多链接透明互联网络中组播路由表项更新方法和装置 |
CN103560964B (zh) * | 2013-10-28 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种基于多链接半透明互联trill协议的vlan负载分担方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136843A (zh) * | 2006-08-30 | 2008-03-05 | 华为技术有限公司 | 最短路径桥中对称树的生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7944860B2 (en) * | 2009-06-04 | 2011-05-17 | Cisco Technology, Inc. | Preventing loss of network traffic due to inconsistent configurations within the network |
-
2011
- 2011-09-06 CN CN201110261762.3A patent/CN102316033B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136843A (zh) * | 2006-08-30 | 2008-03-05 | 华为技术有限公司 | 最短路径桥中对称树的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102316033A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3259887B1 (en) | Method and system for automatic optimal route reflector root address assignemt to route reflector clients | |
US20200396162A1 (en) | Service function chain sfc-based communication method, and apparatus | |
EP3195538B1 (en) | Automated determination of tree attributes and assignment of receiver identifiers by distributed election in multicast architectures relying on packets identifying intended receivers | |
US10158558B1 (en) | Segment routing of packets according to a multicast distribution tree in a network | |
US8817798B2 (en) | Constraining topology size and recursively calculating routes in large networks | |
CN102884767B (zh) | 第2层多路径网络中链路成本按图分配 | |
US10461998B2 (en) | PE device and method for advertising information about PE device | |
US9699077B2 (en) | Method for determining a packet forwarding path, network device, and control device | |
US8948051B2 (en) | System and method for efficient MVPN source redundancy with S-PMSI | |
EP2173069A1 (en) | Path selection method and network system, path computation element | |
US20180324097A1 (en) | Method for Implementing Load Balancing, Apparatus, and Network System | |
CN104335537A (zh) | 用于层2多播多路径传送的***和方法 | |
CN101237399A (zh) | 获取标签交换路径的方法、***和设备 | |
US20130208624A1 (en) | Link State Fast Flood with Computed Multi-Protocol-Label-Switching (MPLS) Broadcast Tree | |
US8902794B2 (en) | System and method for providing N-way link-state routing redundancy without peer links in a network environment | |
US11805047B2 (en) | Method and apparatus for controlling network traffic path | |
CN102316033B (zh) | 一种指定分发树的方法和*** | |
US9306856B2 (en) | Optimal tree root selection for trees spanning multiple sites | |
JP5978384B2 (ja) | 情報を受信するための方法、情報を送信するための方法及びそれらの装置 | |
US8072908B2 (en) | Partitioned forwarding of packets originated on a broadcast link among layer 2 forwarding devices of different adjacency networks | |
CN111464441A (zh) | 一种通信方法及装置 | |
US9942126B2 (en) | Distributing non-unicast routes information in a TRILL network | |
CN105591940B (zh) | 一种trill网络分发树选择方法和trill网络节点 | |
CN103685031A (zh) | 一种报文转发装置和方法 | |
WO2020021558A1 (en) | Methods, apparatus and machine-readable media relating to path computation in a communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |