CN117749700A - 对应关系的获取方法、参数通告方法、装置、设备及介质 - Google Patents
对应关系的获取方法、参数通告方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117749700A CN117749700A CN202211550567.7A CN202211550567A CN117749700A CN 117749700 A CN117749700 A CN 117749700A CN 202211550567 A CN202211550567 A CN 202211550567A CN 117749700 A CN117749700 A CN 117749700A
- Authority
- CN
- China
- Prior art keywords
- forwarding device
- bfr
- tag
- bier
- anycast
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 36
- 101710104277 Bacterioferritin A Proteins 0.000 description 34
- 230000006870 function Effects 0.000 description 19
- 230000006855 networking Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 13
- 238000005538 encapsulation Methods 0.000 description 9
- 235000008694 Humulus lupulus Nutrition 0.000 description 8
- 230000010076 replication Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000006424 Flood reaction Methods 0.000 description 4
- 101000935846 Magnetospirillum magnetotacticum Bacterioferritin subunit 1 Proteins 0.000 description 4
- 101000935838 Magnetospirillum magnetotacticum Putative bacterioferritin subunit 2 Proteins 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 101000589436 Homo sapiens Membrane progestin receptor alpha Proteins 0.000 description 2
- 102100032328 Membrane progestin receptor alpha Human genes 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 108020001568 subdomains Proteins 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种对应关系的获取方法、参数通告方法、装置、设备及介质,属于通信技术领域。本申请中,第二转发设备从第一站点内的第一转发设备和第三转发设备接收到两个参数集,根据两个参数集包含的任播标签均标识第一站点,将第一转发设备和第三转发设备的BFR‑ID体现在同一条对应关系中,相当于通过任播标签,将同一个站点内的多个设备绑定在一起,那么当接收到数据报文时,如果到达第一站点内其中一个设备的链路故障,能够根据数据报文中的比特串匹配到对应关系中的F‑BM,直接向对应关系中的下一跳转发数据报文,而无需通过路由收敛重新计算下一跳,因此提高了收敛切换的速度,实现流量保护。
Description
本申请要求于2022年9月22日提交的申请号为202211160684.2、发明名称为“一种BIER Anycast流量保护方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种对应关系的获取方法、参数通告方法、装置、设备及介质。
背景技术
在位索引显式复制(bit indexed explicit replication,BIER)的场景中,当BIER转发路径所经过的一跳BFR故障或者BFR所在的链路发生故障,其他BFR需要通过单播将到达BFER的路由逐跳收敛,通过收敛后的路由转发报文,导致收敛切换的速度较慢。
发明内容
本申请提供了一种对应关系的获取方法、参数通告方法、装置、设备及介质,能够提高了收敛切换的速度,实现流量保护。所述技术方案如下。
第一方面,提供了一种对应关系的获取方法,包括:第二站点内第二转发设备接收来自第一站点内第一转发设备的第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;所述第二转发设备接收来自所述第一站点内第三转发设备的第二参数集,所述第二参数集包括第二任播标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFR prefix,所述第二任播标签用于标识所述第一站点;所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,所述第一对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的转发比特掩码F-BM、所述第一任播标签以及与所述第一转发设备的BFR prefix匹配的下一跳;所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,所述第二对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的F-BM、所述第二任播标签以及与所述第三转发设备的BFR prefix匹配的下一跳。
上述方法中,第二转发设备从第一站点内的第一转发设备和第三转发设备接收到两份参数集,根据两个参数集包含的任播标签均标识第一站点,将第一转发设备和第三转发设备的BFR-ID体现在同一条对应关系中,相当于通过任播标签,将同一个站点内的多个设备绑定在一起,那么当接收到数据报文时,如果到达第一站点内其中一个设备的链路故障,能够根据数据报文中的比特串匹配到对应关系中的F-BM,直接向对应关系中的下一跳转发数据报文,而无需通过路由收敛重新计算下一跳,因此提高了收敛切换的速度,实现流量保护。
在一些实施方式中,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,包括:所述第二转发设备基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;所述第二转发设备基于所述F-BM、所述第一任播标签以及所述第一转发设备的BFRprefix,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签以及所述第一转发设备的BFR prefix。
在一些实施方式中,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,包括:所述第二转发设备基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;所述第二转发设备基于所述第一转发设备的BFR prefix,确定所述第二转发设备上到达所述第一转发设备的第一出接口;所述第二转发设备基于所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口。
在一些实施方式中,所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,包括:所述第二转发设备基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;所述第二转发设备基于所述F-BM、所述第二任播标签以及所述第三转发设备的BFRprefix,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签以及所述第三转发设备的BFR prefix。
在一些实施方式中,所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,包括:所述第二转发设备基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;所述第二转发设备基于所述第三转发设备的BFR prefix,确定所述第二转发设备上到达所述第三转发设备的第二出接口;所述第二转发设备基于所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口。
在一些实施方式中,所述第一任播标签和所述第二任播标签均为标签;或,所述第一任播标签和所述第二任播标签均为IPv6目的地址。
在一些实施方式中,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个;所述第二参数集还包括所述第三转发设备的比特串长度BSL、所述第三转发设备所属的集合标识SI以及所述第三转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,所述第二站点内第二转发设备接收来自第一站点内第一转发设备的第一参数集,包括:所述第二转发设备接收来自所述第一转发设备的第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签;所述第二转发设备接收来自所述第一站点内第三转发设备的第二参数集,包括:所述第二转发设备接收来自所述第一站点内第一转发设备的第二通告报文,所述第二通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第二任播标签。
在一些实施方式中,所述第一通告报文以及所述第二通告报文为IGP报文;或者所述第一通告报文以及所述第二通告报文为BGP报文。
在一些实施方式中,所述第一转发设备为BFER,所述第二转发设备为transitBFR;或者,所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
在一些实施方式中,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系之后,所述方法还包括:所述第二转发设备获得第一BIER报文,所述第一BIER报文包括第一比特串、所述第二转发设备的标签以及组播数据报文,所述第一比特串与所述第一转发设备的BFR-ID和所述第三转发设备的BFR-ID中的一个或多个对应;
所述第二转发设备基于所述第一BIER报文以及所述第一对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一任播标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第一对应关系中的F-BM获得的;所述第二转发设备发送所述第二BIER报文。
在一些实施方式中,所述第二转发设备发送所述第二BIER报文,包括:若所述与所述第一转发设备的BFR prefix匹配的下一跳处于故障状态,所述第二转发设备向所述第二对应关系中的所述与所述第三转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,若所述与所述第三转发设备的BFR prefix匹配的下一跳处于故障状态,所述第二转发设备向所述第一对应关系中的所述与所述第一转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路开销最小的一者发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFRprefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFRprefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送所述第二BIER报文。
第二方面,提供了一种参数通告方法,包括:第一站点内第一转发设备获得第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;所述第一转发设备向第二站点内第二转发设备发送所述第一参数集。
在一些实施方式中,所述第一任播标签为标签或IPv6目的地址。
在一些实施方式中,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,所述第一转发设备向第二站点内第二转发设备发送所述第一参数集,包括:所述第一转发设备向所述第二转发设备发送第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签。
在一些实施方式中,所述第一通告报文为IGP报文或者BGP报文。
在一些实施方式中,所述第一转发设备为BFER,所述第二转发设备为transitBFR;或者,所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
在一些实施方式中,所述方法还包括:所述第一转发设备接收来自所述第一站点内第三转发设备的第三参数集,所述第三参数集包括第一bypass标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFR prefix,所述第一bypass标签用于标识所述第三转发设备;所述第一转发设备基于所述第三参数集获得第三对应关系,所述第三对应关系包括所述第一bypass标签、所述与第三转发设备的BFR-ID匹配的F-BM以及与所述第三转发设备的BFR prefix匹配的下一跳。
在一些实施方式中,所述第一转发设备向第二站点内第二转发设备发送所述第一参数集之后,所述方法还包括:所述第一转发设备接收第一BIER报文,所述第一BIER报文包括所述第三转发设备的BFR-ID对应的第一比特串、所述第一任播标签以及组播数据报文;所述第一转发设备基于所述第一BIER报文以及所述第三对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一bypass标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第三对应关系中的F-BM获得的比特串;所述第一转发设备向所述第三转发设备发送所述第二BIER报文。
在一些实施方式中,所述方法还包括:所述第一转发设备获得第四参数集,所述第四参数集包括第二bypass标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFRprefix,所述第二bypass标签用于标识所述第一转发设备;所述第一转发设备向所述第三转发设备发送所述第四参数集。
第三方面,提供了一种对应关系的获取装置,设于第二站点内第二转发设备,包括:
接收单元,用于接收来自第一站点内第一转发设备的第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;
所述接收单元,还用于接收来自所述第一站点内第三转发设备的第二参数集,所述第二参数集包括第二任播标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFR prefix,所述第二任播标签用于标识所述第一站点;
处理单元,用于基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,所述第一对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的转发比特掩码F-BM、所述第一任播标签以及与所述第一转发设备的BFRprefix匹配的下一跳;
所述处理单元,还用于基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,所述第二对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的F-BM、所述第二任播标签以及与所述第三转发设备的BFR prefix匹配的下一跳。
在一些实施方式中,所述处理单元,用于基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述F-BM、所述第一任播标签以及所述第一转发设备的BFR prefix,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签以及所述第一转发设备的BFR prefix。
在一些实施方式中,所述处理单元,用于基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述第一转发设备的BFR prefix,确定所述第二转发设备上到达所述第一转发设备的第一出接口;基于所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口。
在一些实施方式中,所述处理单元,用于基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述F-BM、所述第二任播标签以及所述第三转发设备的BFR prefix,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签以及所述第三转发设备的BFR prefix。
在一些实施方式中,所述处理单元,用于基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述第三转发设备的BFR prefix,确定所述第二转发设备上到达所述第三转发设备的第二出接口;基于所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口。
在一些实施方式中,所述第一任播标签和所述第二任播标签均为标签;或所述第一任播标签和所述第二任播标签均为IPv6目的地址。
在一些实施方式中,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个;所述第二参数集还包括所述第三转发设备的比特串长度BSL、所述第三转发设备所属的集合标识SI以及所述第三转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,所述接收单元,用于接收来自所述第一转发设备的第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签;接收来自所述第一站点内第一转发设备的第二通告报文,所述第二通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第二任播标签。
在一些实施方式中,所述第一通告报文以及所述第二通告报文为IGP报文;或者所述第一通告报文以及所述第二通告报文为BGP报文。
在一些实施方式中,所述第一转发设备为BFER,所述第二转发设备为transitBFR;或者,所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
在一些实施方式中,所述处理单元,还用于:获得第一BIER报文,所述第一BIER报文包括第一比特串、所述第二转发设备的标签以及组播数据报文,所述第一比特串与所述第一转发设备的BFR-ID和所述第三转发设备的BFR-ID中的一个或多个对应;基于所述第一BIER报文以及所述第一对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一任播标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第一对应关系中的F-BM获得的;所述装置还包括:发送单元,用于发送所述第二BIER报文。
在一些实施方式中,所述发送单元,用于若所述与所述第一转发设备的BFRprefix匹配的下一跳处于故障状态,向所述第二对应关系中的所述与所述第三转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,若所述与所述第三转发设备的BFRprefix匹配的下一跳处于故障状态,向所述第一对应关系中的所述与所述第一转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFRprefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路开销最小的一者发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFRprefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送所述第二BIER报文;或者,若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送所述第二BIER报文。
第四方面,提供了一种参数通告装置,设于第一站点内第一转发设备,包括:处理单元,用于获得第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;发送单元,用于向第二站点内第二转发设备发送所述第一参数集。
在一些实施方式中,所述第一任播标签为标签或IPv6目的地址。
在一些实施方式中,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,所述发送单元,用于向所述第二转发设备发送第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签。
在一些实施方式中,所述第一通告报文为IGP报文或者BGP报文。
在一些实施方式中,所述第一转发设备为BFER,所述第二转发设备为transitBFR;或者,所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
在一些实施方式中,所述装置还包括:接收单元,用于接收来自所述第一站点内第三转发设备的第三参数集,所述第三参数集包括第一bypass标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFR prefix,所述第一bypass标签用于标识所述第三转发设备;所述处理单元,还用于基于所述第三参数集获得第三对应关系,所述第三对应关系包括所述第一bypass标签、所述与第三转发设备的BFR-ID匹配的F-BM以及与所述第三转发设备的BFR prefix匹配的下一跳。
在一些实施方式中,所述接收单元,还用于接收第一BIER报文,所述第一BIER报文包括所述第三转发设备的BFR-ID对应的第一比特串、所述第一任播标签以及组播数据报文;所述处理单元,还用于基于所述第一BIER报文以及所述第三对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一bypass标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第三对应关系中的F-BM获得的比特串;所述发送单元,还用于向所述第三转发设备发送所述第二BIER报文。
在一些实施方式中,所述处理单元,还用于获得第四参数集,所述第四参数集包括第二bypass标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第二bypass标签用于标识所述第一转发设备;所述发送单元,还用于向所述第三转发设备发送所述第四参数集。
第五方面,提供了一种转发设备,所述转发设备包括处理器和网络接口,所述转发设备通过所述处理器和所述网络接口,执行上述第一方面或第一方面任一种可选方式所提供的方法。
第六方面,提供了一种转发设备,所述转发设备包括处理器和网络接口,所述转发设备通过所述处理器和所述网络接口,执行如上述第二方面或第二方面任一种可选方式所提供的方法。
第七方面,提供了一种网络系统,所述系统包括第三方面中的装置以及第四方面中的装置。
第八方面,提供了一种网络系统,所述系统包括第五方面的设备以及第六方面的设备。
第九方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
第十方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行上述第二方面或第二方面任一种可选方式所提供的方法。
第十一方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
第十二方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行上述第二方面或第二方面任一种可选方式所提供的方法。
第十三方面,提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第一方面或第一方面的任一可选方式所提供的方法。
第十四方面,提供一种芯片,该芯片包括可编程逻辑电路和/或程序指令,当该芯片运行时用于实现如上述第二方面或第二方面任一种可选方式所提供的方法。
附图说明
图1是本申请实施例提供的一种组网场景的示意图;
图2是本申请实施例提供的另一种组网场景的示意图;
图3是本申请实施例提供的再一种组网场景的示意图;
图4是本申请实施例提供的一种配置组播方法的流程图;
图5是本申请实施例提供的一种处理组播数据报文的方法流程图;
图6是本申请实施例提供的一种对应关系的获取方法的流程图;
图7是本申请实施例提供的一种数据报文处理方法的流程图;
图8是本申请实施例提供的另一种数据报文处理方法的流程图;
图9是本申请实施例提供的BIER信息子TLV的格式示意图;
图10是本申请实施例提供的BIER-MPLS封装的sub-sub-TLV的格式示意图;
图11是本申请实施例提供的一种携带anycast label的sub-sub-TLV的格式示意图;
图12是本申请实施例提供的一种参数配置的场景示意图;
图13是本申请实施例提供的另一种参数配置的场景示意图;
图14是本申请实施例提供的又一种参数配置的场景示意图;
图15是本申请实施例提供的再一种参数配置的场景示意图;
图16是本申请实施例提供的一种报文格式示意图;
图17是本申请实施例提供的另一种报文格式示意图;
图18是本申请实施例提供的再一种报文格式示意图;
图19是本申请实施例提供的一种参数配置的场景示意图;
图20是本申请实施例提供的另一种参数配置的场景示意图;
图21是本申请实施例提供的又一种参数配置的场景示意图;
图22是本申请实施例提供的再一种参数配置的场景示意图;
图23是本申请实施例提供的一种网络部署场景示意图;
图24是本申请实施例提供的一种报文格式示意图;
图25是本申请实施例提供的另一种报文格式示意图;
图26是本申请实施例提供的再一种报文格式示意图;
图27是本申请实施例提供的一种网络部署场景示意图;
图28是本申请实施例提供的另一种网络部署场景示意图;
图29是本申请实施例提供的又一种网络部署场景示意图;
图30是本申请实施例提供的再一种网络部署场景示意图;
图31是本申请实施例提供的另一种网络部署场景示意图;
图32是本申请实施例提供的再一种网络部署场景示意图;
图33是本申请实施例提供的一种报文格式示意图;
图34是本申请实施例提供的另一种报文格式示意图;
图35是本申请实施例提供的再一种网络部署场景示意图;
图36是本申请实施例提供的另一种网络部署场景示意图;
图37是本申请实施例提供的再一种网络部署场景示意图;
图38是本申请实施例提供的一种报文格式示意图;
图39是本申请实施例提供的另一种报文格式示意图;
图40是本申请实施例提供的一种网络部署场景示意图;
图41是本申请实施例提供的另一种网络部署场景示意图;
图42是本申请实施例提供的一种对应关系的获取装置的结构示意图;
图43是本申请实施例提供的一种参数通告装置的结构示意图;
图44是本申请实施例提供的一种转发设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的一些术语概念做解释说明。
(1)站点(site)
站点是一种逻辑区域,一个站点包括具有IP连通性的一个或多个转发设备。例如,一个站点中包括两个转发设备。
(2)转发设备
转发设备是指具有路由转发功能的任意设备,例如,转发设备包括而不限于路由器、交换机、防火墙、服务器或主机等。
(3)位索引显式复制(bit indexed explicit replication,BIER)
BIER是一种新型的组播转发技术,通过将组播报文要到达的目的节点集合以比特串的方式封装在报文头部发送,使得网络中间节点无需感知组播业务和维护组播流状态。BIER的效果包括而不限于:第一,具有良好的组播业务扩展性;BFR上采用BIER技术建立的BIFT是独立于具体的组播业务的公共转发表,使得网络中间节点无需感知组播业务,不需要维护特定组播业务的组播流状态。公网组播和私网组播报文均可通过BIFT转发,具有良好的组播业务扩展性。第二,简化业务部署和运维。由于网络中间节点不感知组播业务,因此部署组播业务通常不涉及中间节点,组播业务变化对中间节点的影响较小,简化了网络的部署和运维。第三,利于软件定义网络(software defined network,SDN)架构网络演进。具体的,部署组播业务不需要操作网络中间节点,只需在入口节点为组播报文添加上指示后续组播复制的BIER头。BIER头中携带标识组播出口节点的比特串,中间节点根据比特串实现组播复制和转发,从而有利于SDN架构网络的演进。
(4)BIER网络
BIER网络是指支持BIER转发的逻辑区域,一个BIER网络包括多个BFR。可选地,一个BIER网络为一个BIER域,或者一个BIER网络为一个BIER子域。
(5)BIER子域(BIER sub-domain)。
一个BIER域可以划分为一个或者多个BIER子域,BIER子域也可简称为SD。每个BIER子域通过一个唯一的子域标识(sub-domain ID)来标识。
(6)位转发路由器(bit-forwarding router,BFR)
BFR是指支持BIER转发的设备。BFR的产品形态包括而不限于路由器、交换机、防火墙或者为其他网络设备。BFR分为比特转发入口路由器(bit forwarding ingress router,BFIR)、中间BFR(transit BFR)以及比特转发出口路由器(bit forwarding egressrouter,BFER)。
(7)BFIR
BFIR是组播数据流进入BIER网络所经过的节点。BFIR用于对进入BIER网络的组播数据报文进行BIER封装,得到包含组播数据报文以及BIER头的BIER报文。
(8)transit BFR
transit BFR是组播数据报文在BIER网络中转发的中间节点,用于基于比特串对BIER报文进行转发。transit BFR是BIER网络中可选部署的设备。在一些实施例中,在BIER网络中部署BFIR和BFER,而不部署transit BFR。例如,BFIR和BFER物理直连;又如,BFIR和BFER直连,BFER是BFIR的下一跳;又如,BFIR和BFER通过一跳或多跳不支持BIER的节点相连,BFIR发送BIER报文后,BIER报文通过BIER头外层的MPLS封装或者IPv6单播路由,穿越不支持BIER的节点到达BFER。
在部署transit BFR的实施例中,一个BIER网络中部署的transit BFR的数量包括多种情况,下面以两种情况举例说明。在一些实施例中,一个BIER网络中部署一个transitBFR,该transit BFR在BIER转发路径中位于BFIR与BFER之间,BIER报文从BFIR经由该transit BFR转发至BFER。在另一些实施例中,一个BIER网络中部署两个或两个以上的transit BFR,不同的transit BFR之间具有上下跳的关系,BIER报文从BFIR经由一个transit BFR转发至另一个transit BFR,再从另一个transit BFR转发至BFER。例如,在BIER网络中部署BFIR、transit BFR 1、transit BFR 2和BFER,BIER报文的转发路径为BFIR→transit BFR 1→transit BFR 2→BFER。
transit BFR是BIER网络中可选部署的设备。在一些实施例中,在BIER网络中部署BFIR和BFER,而不部署transit BFR。例如,BFIR和BFER物理直连,BFER是BFIR的下一跳;又如,BFIR和BFER通过一跳或多跳支持BIER的节点相连;又如,BFIR和BFER通过一跳或多跳不支持BIER的节点相连,BFIR发送BIER报文后,BIER报文通过BIER头外层的MPLS封装或者IPv6单播路由,穿越不支持BIER的节点到达BFER。
在部署transit BFR的实施例中,一个BIER网络中部署的transit BFR的数量包括多种情况,下面以两种情况举例说明。
在一些实施例中,一个BIER网络中部署一个transit BFR,该transit BFR在BIER转发路径中位于BFIR与BFER之间,BIER报文从BFIR经由该transit BFR转发至BFER。
在另一些实施例中,一个BIER网络中部署两个或两个以上的transit BFR,不同的transit BFR之间具有上下跳的关系,BIER报文从BFIR经由一个transit BFR转发至另一个transit BFR,再从另一个transit BFR转发至BFER。例如,在BIER网络中部署BFIR、transitBFR 1、transit BFR 2和BFER,BIER报文的转发路径为BFIR→transit BFR 1→transitBFR 2→BFER。
(9)BFER
BFER是组播数据流出BIER网络所经过的节点,用于对BIER报文进行解封装,将得到的组播数据报文转发给组播接收者。
(10)边缘BFR
边缘BFR是指BIER网络中位于边缘的BFR,边缘BFR是BFIR和BFER的统称。
(11)比特转发路由器标识符(bit forwarding router identifier,BFR-ID)
针对BFR-ID的作用,BFR-ID用于在一个BIER网络(如一个BIER子域或者一个BIER域)中标识位于该BIER网络边缘的BFR。
针对BFR-ID的形式,BFR-ID通常是一个整数,例如是一个处于1到65535范围内的正整数。
针对BFR-ID与比特串的关系,在一些实施例中,一个BFR-ID对应于比特串中一个比特位。例如,BFR-ID为1,对应于比特串中最右一位(或者说最低位);BFR-ID为2,对应于比特串中从右往左数的第2位(或者说次低位);依次类推,BFR-ID为i,对应于比特串中从右往左数的第i位,其中i为正整数。
针对BFR-ID的含义,如果一个报文携带的比特串中包含一个设备的BFR-ID,或者说该设备的BFR-ID对应的比特位置位,表示该设备是报文的目的BFER。
(12)BFR prefix(BFR前缀)
BFR prefix是指BFR的一个IP地址。可选地,BFR prefix是BFR上一个loopback接口的IP地址。例如,BFR prefix是一个BIER网络中路由可达的IP地址。例如,BFR prefix是一个32位的IPv4地址;又如,BFR prefix是一个128位的IPv6地址。可选地,在BIERv4场景下,使用设备的一个IPv4地址作为BFR prefix;在BIERv6场景下,使用设备的一个IPv6地址作为BFR prefix。
(13)集合标识(Set Identifier,SI)
SI是指BFR-ID所属的集合的标识。SI的形式通常是一个或一串数字。例如,一个BIER网络中包括集合0和集合1,集合0包括BFR ID为1至256的BFR,集合1包括BFR ID为257至512的BFR,则BFR ID为1至256的BFR中每个BFR的SI为0,BFR ID为257至512的BFR中每个BFR的SI为1。
(14)SI最大值(max SI,也称max-SI,MAX-SI或MAX SI)
max-SI是指集合标识(SI)的最大值。
(15)比特串(bit string)
比特串用于标识BIER报文的目的BFER集合。比特串从最低位(即右数第一位)开始,每一个比特位对应一个BFR ID。比特位置1,表示该比特位对应的BFR ID所标识的BFER,为组播数据报文转发的目的BFER。
(16)比特串长度(bit string length,BS length,BSL)
BSL是指比特串的长度。例如,如果BSL为64,表示比特串的长度是64个比特。
(17)比特索引路由表(bit index routing table,BIRT)
BIRT用于指示一个BIER网络中一个BFER的BFR prefix、该BFER的BFR-ID以及转发路径上到达该BFER的下一跳之间的对应关系。BIRT的详细定义可参考RFC 8279中第6.3节的介绍。
(18)位索引转发表(bit index forwarding table,BIFT)
BIFT是基于BIRT生的转发表。BIFT用来表示通过BFR邻居能到达的各BFER节点,包括Nbr(BFR Neighbor,BFR邻居)和转发比特掩码(forwarding bit mask,F-BM)。每一张BIFT通常由三元组(BSL,SD,SI)确定。例如,BIFT是BFR将BIRT表项中经过相同邻居不同表项进行合并生成。可选地,BIFT的每条表项包括一个BFR邻居和对应的F-BM。
(19)位索引转发表标识(BIFT-ID)
BIFT-ID用于标识一个BIFT。BIFT ID通常根据BSL、SD和SI这三个参数确定。例如,BIFT-ID由BSL、SD和SI这三个参数拼接得到。又如,BIFT-ID为对BSL、SD和SI这三个参数经过哈希计算得到的哈希值。
(20)BFR邻居(BFR Nbr)
BFR邻居表示下一跳BFR。可选地,BFR邻居通过下一跳BFR的BFR prefix表示。
(21)转发比特掩码(forwarding bit mask,F-BM)
F-BM用于表示BFR向BFR邻居复制发送组播数据报文时,通过该BFR邻居能到达的BIER网络的BFER的集合。F-BM例如是BFR通过将该BFR邻居所能到达的所有BFER的比特串进行或操作得到。FBM使用一个比特串来表示,并且FBM和报文转发所使用的比特串长度相同。例如,报文中携带的比特串的长度为256比特,F-BM的长度也为256比特。在报文转发的过程中,报文中携带的比特串会和F-BM进行与(AND)操作。
(22)End.BIER SID
End.BIER SID是BFR的IPv6地址,也是SRv6中的一种SID。End.BIER SID通常携带在IPv6基本头的目的地址字段中。End.BIER SID通常包括locator(定位)字段和function(功能)字段,可选地还包括参数(arguments)字段。locator字段占SID的高比特位,locator字段用于携带设备的位置信息,以便指导报文转发至该设备。locator字段通常包含block(块)字段以及node ID(节点标识)字段。block字段用于指示SID所属的IP地址块,该IP地址块一般由运营商分配给一个子网。node ID字段用于携带设备的标识,通常用于在一个子网内区分不同的设备。function字段用于携带功能标识,功能标识用于指示按照BIER的方式转发组播报文。该功能标识的形式例如是一个字符串,功能标识与设备上保存的BIER转发指令具有绑定关系,因此转发设备读取到目的地址字段中的End.BIER SID,根据End.BIERSID中的function会匹配到执行BIER转发的指令,则转发设备会按照BIER的方式转发组播数据报文,即根据报文头中的比特串以及BIFT复制转发报文。function字段位于locator字段之后。参数字段是SID中的可选字段。参数字段用于携带function相关的参数。
通过End.BIER SID,能够很好地利用IPv6单播路由的可达性,跨越不支持BIER的IPv6节点。例如,在BIERv6场景,End.BIER SID被携带在数据报文头中的目的地址字段,用于表示需要在本节点进行BIERv6转发处理,转发平面会继续处理BIERv6扩展头。转发设备通过比特串与F-BM比较确定BFR-邻居后,外层IPv6报文的目的地址需要被替换为下一跳节点的End.BIER SID,BIERv6报文被复制到该End.BIER SID所在的BFR。而当设备不支持BIER时,End.BIER SID可以被作为普通的IPv6地址,使用单播功能进行转发。
(23)BIER-MPLS label
BIER-MPLS label是一种MPLS标签,也是BFR上BIFT的索引。BIER-MPLS label通常携带在BIER报文头中的BIFT-ID字段中。BIER-MPLS label通常是根据<Sub-domain,SI,BSL>分配的标签。例如,当一个BFR接收到BIER报文时,先解析报文头中的BIER-MPLS Label,使用该Label索引到本地对应的BIFT表。因为一个BFR上可能存在多个<sub-domain,SI,BSL>,会生成不同的转发表。不同的<Sub-domain,SI,BSL>与BIER-MPLS Label的映射关系是一一对应的。通过当前报文头中的BIER-MPLS Label字段,可以索引到对应的BIER转发表,并与转发表中的F-BM逐条对比,计算出BFR-邻居,根据计算出的不同的BFR-邻居,将BIER报文头中的BIER-MPLS Label替换为不同的标签,再进行报文转发。
(24)组播组
组播组是指用组播地址进行标识的一个集合。当主机(或其他需要接收组播数据报文的设备),加入一个组播组,就成为了组播组的成员,可以识别并接收发往该组播组的组播数据。
(25)组播源
组播数据报文的发送者称为“组播源”,一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。组播源通常不需要加入组播组。
下面对本申请实施例的应用场景举例说明。
本申请实施例应用于配置了组播BIER的场景,例如应用于一个站点内存在多个设备,每个设备均配置了组播BIER的场景。根据本申请的一些实施例,通过在同一个站点内多个设备配置任播标签,使用任播标签来标识设备所属的站点,因此各个设备将任播标签、BFR-ID以及BFR prefix这三种参数一起通告后,接收到参数的设备在生成到达该站点的各个设备的对应关系时,根据任播标签,会将同一个站点内多个转发设备的BFR-ID均体现至该F-BM的同一条目中,那么当接收到包含站点内任意一个设备的BFR-ID对应的比特串的数据报文时,能够根据比特串匹配到F-BM,从而向F-BM对应的下一跳转发报文。如果站点内其中一台设备发生节点故障或者链路,也能匹配上到达另一个设备的对应关系的F-BM从而转发报文,从而避免流量中断,实现故障场景的快速切换以及流量保护。
本申请实施例适用的组网场景包括很多种,下面结合三种组网场景举例说明。
组网场景一、部署根节点以及叶子节点,未部署中间节点。
图1是本申请实施例提供的一种组网场景的示意图,图1所示的场景中BIER网络包括转发设备110、转发设备121以及转发设备122。转发设备110位于站点A内。转发设备121以及转发设备122位于站点B内。转发设备110与组播源通信。从组播的角度来看,转发设备110为根节点。从BIER的角度来看,转发设备110为BIER网络中的BFIR。转发设备121与组播接收者1通信。从组播的角度来看,转发设备121为叶子节点。从BIER的角度来看,转发设备121为BIER网络中的BFER。转发设备122与组播接收者2通信。从组播的角度来看,转发设备122为叶子节点。从BIER的角度来看,转发设备122为BIER网络中的BFER。转发设备110与转发设备121以及转发设备122其中的一个或多个通信。在一些实施例中,转发设备110与转发设备121通信,转发设备110与转发设备122通信,也即是,转发设备110能够与站点B内的两台转发设备通信。在另一些实施例中,转发设备110与转发设备121通信,转发设备110与转发设备122无法通信,或者转发设备110与转发设备122通信,转发设备110与转发设备121无法通信,也即是,转发设备110与站点B内的一台转发设备通信。
组网场景二、部署根节点、叶子节点以及一跳中间节点。
图2是本申请实施例提供的另一种组网场景的示意图,图2所示的场景在图1所示场景的基础上,进一步部署了转发设备131。转发设备131位于站点C内。转发设备131与转发设备110通信。转发设备131与转发设备121以及转发设备122通信。从组播的角度来看,转发设备131为中间节点。从BIER的角度来看,转发设备131为BIER网络中的transit BFR。
组网场景三、部署根节点、叶子节点以及多跳中间节点。
图3是本申请实施例提供的另一种组网场景的示意图,图3所示的场景在图2所示场景的基础上,进一步部署了转发设备141。转发设备141位于站点D内。转发设备141与转发设备110通信。转发设备141与转发设备131通过网络相连。从组播的角度来看,转发设备141与转发设备131是转发路径中相邻的两跳中间节点。转发设备141是转发设备131的上游节点,转发设备131是转发设备141的下游节点。从BIER的角度来看,转发设备141以及转发设备131为相邻的两跳transit BFR。
以上描述的各个设备之间的通信关系在图中以设备之间的连线表示。设备之间的通信关系包括而不限于物理直连、通过一个或多个二层交换机连接、通过IP overlay隧道连接以及通过标签交换路径(LSP)连接等。物理直连包括而不限于通过电缆、光纤或者其他传输介质连接。通过标签交换路径连接例如通过MPLS实现,例如,在图2中转发设备131与转发设备121可以通过标签交换路径连接,转发设备131与转发设备121为标签交换路径的2个端点,转发设备131与转发设备121之间经过一个或多个标签交换路由器(LSR)。
下面对本申请实施例的方法流程举例说明。
本申请的一些实施例涉及多个站点的场景。为了区分不同的站点,用“第一站点”、“第二站点”区分描述不同的站点。
本申请的一些实施例涉及多个转发设备之间的交互。为了区分不同的转发设备,用“第一转发设备”、“第二转发设备”以及“第三转发设备”区分描述多个不同的转发设备。第一转发设备和第三转发设备均为第一站点内的设备。第二转发设备为第二站点内的设备。第一转发设备、第二转发设备和第三转发设备的角色包括多种情况,下面通过情况一至情况三举例说明。
情况一、第一转发设备为BFER,第三转发设备为BFER,第二转发设备为transitBFR。也即是,第一转发设备和第三转发设备均为叶子节点,第二转发设备为中间节点。例如,结合图2所示场景来看,第一转发设备为图2中的转发设备121,第三转发设备为图2中的转发设备122,第二转发设备为图2中转发设备131。
情况二、第一转发设备为transit BFR,第二转发设备为BFIR,第三转发设备为transit BFR。也即是,第一转发设备和第三转发设备均为中间节点,第二转发设备为根节点。例如,结合图2所示场景来看,第一转发设备为图2中的转发设备131,第三转发设备为图2中的转发设备132,第二转发设备为图2中转发设备110。
情况三、第一转发设备以及第二转发设备为相邻的transit BFR。例如,第一转发设备为BIER转发路径上位于第二转发设备下游的transit BFR,第二转发设备为转发路径为BIER转发路径上位于第一转发设备上游的transit BFR。例如,结合图3所示场景来看,第一转发设备为图3中的转发设备131,第三转发设备为图3中的转发设备132,第二转发设备为图2中转发设备141。
本申请的一些实施例中,在转发设备上配置有任播标签,通过任播标签标识转发设备所属的站点。在一个站点中存在多个转发设备的场景下,站点内不同转发设备上配置的任播标签标识同一个站点。任播标签的表达形式包括多种可能形式,下面通过三种形式举例说明。
任播标签的形式一、IPv6目的地址
例如,任播标签为End.BIER SID、组播策略保留地址(multicast policyreserved address,MPRA)或者IPv6链路本地地址(link-local address)。例如,将第一站点内第一转发设备的End.BIER SID配置为第一任播标签,将第一站点内第三转发设备的End.BIER SID配置为第二任播标签。通过使用End.BIER SID作为任播标签,一方面,兼容基于IPv6网络运行BIER的场景,比如兼容BIERv6场景。另一方面,任播标签不仅能够标识站点,还能够指示设备照BIER的方式转发组播报文;再一方面,由于End.BIER SID的形式是IPv6地址,在站点之间的链路经过了一跳或者多跳不支持BIER的IPv6节点时,利用IPv6单播路由的可达性,数据报文能够跨越不支持BIER的IPv6节点,传输至另一个站点,从而兼容站点之间经过不支持BIER的IPv6节点的组网场景。通过使用MPRA作为任播标签,可以兼容G-BIER的封装方式。通过使用link-local address作为任播标签,可以兼容BIERin6的封装方式。
任播标签的形式二、标签
例如,任播标签为站点中的设备按BSL、SD和SI分配的标签。不同站点的任播标签的取值不同。如果同一站点中不同的BFR配置有不同的BSL、SD和SI,则同一站点内不同BFR对应的任播标签的取值不同。只有同一站点内每个BFR拥有相同BSL、SD和SI时,同一个站点上每个BFR会拥有相同的任播标签。任播标签可以是MPLS场景的MPLS标签,也可以是MPLS之外其他封装场景下分配的非MPLS标签。
任播标签的形式三、根据BIER网络中站点的数量分配的一个或一串数字。
例如,由网络管理员或者控制器根据BIER网络中站点的数量分配一个或一串数字,作为任播标签。例如,控制器按照从小到大的顺序为每个站点依次分配任播标签。比如,如果BIER网络中包含站点A和站点B这2个站点,则为站点A分配“1”作为站点A内设备的任播标签,为站点B分配“2”作为站点B内设备的任播标签;又如,为站点A分配“111”作为站点A内设备的任播标签,为站点B分配“222”作为站点B内设备的任播标签。
以上描述的三种形式仅是对任播标签的形式的举例说明,任播标签也可能具有其他的形式。例如,任播标签为非SID形式的IPv6地址,或者任播标签为IPv4地址,或者任播标签为非BIER-MPLS label形式的MPLS标签,本实施例对任播标签的形式不做限定。
在一些实施例中,将同一个站点内每个转发设备的任播标签配置为相同的形式和相同的值。例如,为第一站点内第一转发设备配置第一任播标签,为第一站点内第三转发设备配置第二任播标签。第二任播标签和第一任播标签具有相同的值。例如,第二任播标签和第一任播标签的形式都是End.BIER SID,第二任播标签的取值是1::1,第一任播标签的取值也是1::1。又如,第二任播标签和第一任播标签都是MPLS标签,第二任播标签的取值是10,第一任播标签的取值也是10。
由于同一个站点内每个转发设备的任播标签配置为相同的值,因此站点内的各个转发设备通告包含任播标签的参数集后,参数集的接收端根据接收到的多个参数集中携带了相同的任播标签,即可确定多个参数集来自的设备均属于同一个站点,进而确定要将多个参数集包括的BFR-ID合并到同一个F-BM中,实现复杂度较低。
以上描述的任播标签可以体现在转发设备获得的对应关系中。对应关系可以用于转发数据报文。可选地,转发设备以表项的形式保存获得的对应关系,通过查表的方式使用获得的对应关系。例如,一个对应关系是转发设备上一张表中的一行表项或者多行表项的集合。转发设备上的表通常分为路由信息库(Routing information Base,RIB)和转发信息库(forwarding information base,FIB)。对应关系具体形式可以是采用RIB表中的表项或者FIB表中表项。
以上描述的任播标签可以通过任意一种动态路由协议在BIER网络中泛洪,使得BIER网络中每个BFR接收到来自其他BFR的任播标签。在一些实施例中,通过IGP报文通告任播标签,例如IS-IS报文或者OSPF报文通告任播标签。在另一些实施例中,通过BGP报文通告任播标签。
在一些实施例中,以上描述的任播标签和BFR prefix携带在一个通告报文中,从而在BIER网络中一起泛洪。例如,转发设备发送一个通告报文,通告报文中包括一个前缀TLV,前缀TLV包括BFR prefix,前缀TLV的子TLV中包括任播标签。又如,转发设备发送一个通告报文,通告报文中包括一个网络可达性信息(NLRI)字段以及路径属性字段,NLRI字段包括BFR prefix,路径属性字段包括任播标签。
在一些实施例中,以上描述的任播标签不仅和BFR prefix一起泛洪,还和BIER的其他参数一起泛洪。与任播标签一起泛洪的BIER参数包括而不限于BFR-ID、比特串长度BSL、集合标识SI以及BIER子域的标识其中的一个或多个。在一些实施例中,通过同一个报文通告任播标签、BFR-ID以及BFR prefix这三种参数;例如,转发设备发送一个通告报文,通告报文包括任播标签、BFR-ID以及BFR prefix;在另一些实施例中,转发设备通过一个报文通告任播标签以及BFR prefix,通过另一个报文通告BFR prefix以及BFR-ID。
任播标签在通告报文中所处的具体字段包括多种情况。可选地,使用BIER信息子TLV通告任播标签。可选地,使用BIER信息子TLV中的子子TLV通告任播标签。例如,转发设备发送一个通告报文,通告报文中包括一个前缀TLV,前缀TLV包括BIER信息子TLV,BIER信息子TLV包括一个子子TLV,子子TLV包括任播标签。
图4是本申请实施例提供的一种配置组播方法的流程图。图4所示方法包括以下步骤S201至步骤S208。
步骤S201,第一站点内第一转发设备获得第一参数集。
第一参数集包括第一任播标签、第一转发设备的BFR-ID以及第一转发设备的BFRprefix。第一任播标签用于标识第一站点。在一些实施例中,第一任播标签为第一转发设备的IPv6地址,例如为第一转发设备的End.BIER SID。在一些实施例中,第一任播标签为标签,例如为第一转发设备的BIER-MPLS label。在一些实施例中,第一参数集还包括第一转发设备的比特串长度BSL、第一转发设备所属的集合标识SI以及第一转发设备所处的BIER子域的标识其中的一个或多个。
步骤S202,第一转发设备向第二站点内第二转发设备发送第一参数集。
在一些实施例中,第一转发设备通过泛洪的方式发送第一参数集。例如,第一转发设备和第二转发设备处于同一个BIER网络中。BIER网络中第一转发设备在该BIER网络中泛洪第一参数集,使得BIER网络内第二转发设备能够接收到第一参数集。
在一些实施例中,第一转发设备生成第一通告报文,第一转发设备向第二转发设备发送第一通告报文。第一通告报文包括第一任播标签。在一些实施例中,第一通告报文还包括第一参数集中第一任播标签之外的其他参数。例如,第一通告报文包括第一转发设备的BFR-ID、第一转发设备的比特串长度BSL、第一转发设备所属的集合标识SI以及第一转发设备所处的BIER子域的标识其中的一个或多个。
针对携带第一任播标签的字段,在一些实施例中,第一通告报文包括BIER信息子TLV,BIER信息子TLV包括第一任播标签。在一种可能的实现中,BIER信息子TLV包括第一转发设备的BFR-ID以及第一转发设备所处的BIER子域的标识以及一个sub-sub-TLV,BIER信息子TLV包括的sub-sub-TLV包括第一任播标签、第一转发设备的BSL以及第一转发设备所属的集合标识SI。
针对发送第一参数集使用的报文类型,在一些实施例中,第一通告报文为IGP报文。例如,第一通告报文为中间系统到中间系统(intermediate system to intermediatesystem,IS-IS)报文或者(open shortest path first,OSPF)报文。在另一些实施例中,第一通告报文为边界网关协议(border gateway protocol,BGP)报文。例如,第一通告报文为边界网关协议以太虚拟专用网络(border gateway protocol ethernet virtual privatenetwork,BGP EVPN)报文。
第一转发设备如何获得第一参数集包括多种实现方式。在一种可能的实现中,通过静态配置的方式获得第一参数集。例如,网络管理员通过命令行或者web界面等方式,对第一转发设备执行配置操作,输入上述第一参数集。第一转发设备响应于网络管理员的配置操作,获得网络管理员输入的第一参数集。在另一种可能的实现中,通过控制器下发的方式获得第一参数集。例如,由控制器为第一转发设备分配第一参数集。控制器向第一转发设备发送第一参数集。第一转发设备接收控制器发送的第一参数集。
步骤S203,第二站点内第二转发设备接收来自第一站点内第一转发设备的第一参数集。
例如,第二转发设备接收来自第一转发设备的第一通告报文,第一通告报文包括BIER信息子TLV,BIER信息子TLV包括第一参数集。第二转发设备从第一通告报文中的BIER信息子TLV获得第一参数集。
步骤S204,第一站点内第三转发设备获得第二参数集。
第二参数集包括第二任播标签、第三转发设备的BFR-ID以及第三转发设备的BFRprefix。第二任播标签用于标识第一站点。由于第二任播标签和第一任播标签均标识第一站点,因此参数集的接收端根据第二任播标签和第一任播标签能够确定第三转发设备和第一转发设备这2个设备属于同一个站点。
在一些实施例中,第二任播标签为End.BIER SID或MPLS标签。
在一些实施例中,第二参数集还包括第三转发设备的比特串长度BSL、第三转发设备所属的集合标识SI以及第三转发设备所处的BIER子域的标识其中的一个或多个。
步骤S205,第三转发设备向第二站点内第二转发设备发送第二参数集。
在一些实施例中,第三转发设备生成第二通告报文,第三转发设备向第二转发设备发送第二通告报文,第二通告报文包括第二参数集。
在一些实施例中,第二通告报文包括BIER信息子TLV,BIER信息子TLV包括第二任播标签。
在一些实施例中,第二通告报文为IGP报文。例如,第二通告报文为IS-IS报文或者OSPF报文。在另一些实施例中,第一通告报文为BGP报文。例如,第一通告报文为BGP EVPN报文。
针对携带第二任播标签的字段,在一些实施例中,第二通告报文包括BIER信息子TLV,BIER信息子TLV包括第二任播标签。在一种可能的实现中,BIER信息子TLV包括第二转发设备的BFR-ID以及第二转发设备所处的BIER子域的标识以及一个sub-sub-TLV,sub-sub-TLV包括第二任播标签、第二转发设备的BSL以及第二转发设备所属的集合标识SI。
步骤S206,第二转发设备接收来自第一站点内第三转发设备的第二参数集。
例如,第二转发设备接收来自第一站点内第三转发设备的第二通告报文。第二通告报文包括BIER信息子TLV,BIER信息子TLV包括第二参数集。第二转发设备从第二通告报文中的BIER信息子TLV获得第二参数集。
步骤S207,第二转发设备基于第一参数集以及第三转发设备的BFR-ID获得第一对应关系。
第一对应关系包括与第一转发设备的BFR-ID以及第三转发设备的BFR-ID匹配的F-BM、第一任播标签以及与第一转发设备的BFR prefix匹配的下一跳。第一对应关系可以通过一个表项实现,也可以通过多个相关联的表项实现,下面通过实现方式一和实现方式二举例说明。
实现方式一、第一对应关系为一个表项。
在采用实现方式一时,第二转发设备通过同一个表项保存F-BM、第一任播标签以及与第一转发设备的BFR prefix匹配的下一跳。例如,第一对应关系包括第一字段、第二字段以及第三字段,第一字段包括F-BM,第二字段包括第一任播标签,第三字段包括与第一转发设备的BFR prefix匹配的下一跳。第一字段例如是F-BM字段,第二字段例如是下一跳字段,第三字段例如是BFR-NBR字段。
基于实现方式一,支持在BIER相关标准定义的BIFT的格式中增加字段,通过新增字段携带任播标签,通过BIFT定义的F-BM字段以及BFR-NBR字段携带F-BM和下一跳,这样在数据面转发时,通过查找一个表项即可获得转发所需的参数。
实现方式二、第一对应关系包括多个相关联的表项。
在采用实现方式二时,第二转发设备可以通过一个表项保存F-BM以及与第一转发设备的BFR prefix匹配的下一跳,通过与该表项关联的另一个表项保存第一任播标签。例如,第一对应关系包括第一表项和第二表项,第一表项包括F-BM字段以及BFR-NBR字段,第二表项包括第一字段以及第二字段。第一表项中F-BM字段包括与第一转发设备的BFR-ID以及第三转发设备的BFR-ID匹配的F-BM,第一表项中BFR-NBR字段包括与第一转发设备的BFRprefix匹配的下一跳。第二表项中第一字段包括与第一转发设备的BFR prefix匹配的下一跳。第二表项中第二字段包括第一任播标签。
基于实现方式二,支持使用BIER相关标准定义的BIFT的格式,实现BIER转发表,比如BIER转发表中包括上述第一表项,在数据面转发时,先查找第一表项,如果比特串与第一表项中的F-BM匹配,则根据第一表项中的F-BM查找第二表项从而获得下一跳,这种方式与BIER相关标准更加兼容。
第一对应关系中与第一转发设备的BFR prefix匹配的下一跳包括多种情况,下面通过情况A和情况B举例说明。
情况A、第一对应关系中与第一转发设备的BFR prefix匹配的下一跳为第一转发设备的BFR prefix。由于第一转发设备的BFR prefix是第一转发设备的IP地址,能够起到标识第一转发设备的作用,通过在对应关系中的下一跳中保存第一转发设备的BFRprefix,使得第二转发设备在转发数据报文时,当发现比特串与对应关系中的F-BM匹配,能够确定要向第一转发设备转发报文,例如,情况A中,获得第一对应关系的过程包括如下步骤(a-1)至步骤(a-3)。
步骤(a-1)第二转发设备基于第一任播标签以及第二任播标签,确定第一转发设备以及第三转发设备属于第一站点。如何基于任播标签确定第一转发设备以及第三转发设备属于第一站点包括多种实现方式,下面通过实现方式I至实现方式II举例说明。
实现方式I、第二转发设备对第一任播标签与第二任播标签进行比较,第二转发设备基于第一任播标签与第二任播标签相同,确定第一转发设备以及第三转发设备属于第一站点。
实现方式II、第二转发设备分别读取第一任播标签以及第二任播标签中的特定字段,第二转发设备基于第一任播标签包括第一站点的标识,且第二任播标签包括第一站点的标识,确定第一转发设备以及第三转发设备属于第一站点。
例如,第一任播标签为第一转发设备的End.BIER SID,第一任播标签中功能字段或者参数字段包括第一站点的标识。第二任播标签为第三转发设备的End.BIER SID,第二任播标签中功能字段或者参数字段包括第一站点的标识。第二转发设备读取第一任播标签中功能字段或者参数字段,获得第一站点的标识。第二转发设备读取第二任播标签中功能字段或者参数字段,获得第一站点的标识。第二转发设备由于从第一任播标签和第二任播标签中都获得了第一站点的标识,因此确定第一转发设备以及第三转发设备属于第一站点。
步骤(a-2)第二转发设备基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM。例如,第二转发设备基于第一转发设备的BFR-ID,获得与第一转发设备的BFR-ID对应的比特串A;第二转发设备基于第三转发设备的BFR-ID,获得与第三转发设备的BFR-ID对应的比特串B;第二转发设备对比特串A与比特串B进行合并,获得F-BM。例如,第二转发设备对比特串A与比特串B进行或操作,使得比特串A与比特串B合并为F-BM。
作为一个具体示例,第一转发设备的BFR-ID为2,第三转发设备的BFR-ID为3。第二转发设备基于第一转发设备的BFR-ID(2),获得与第一转发设备的BFR-ID对应的比特串A是0010。第二转发设备基于第三转发设备的BFR-ID(3),获得与第三转发设备的BFR-ID对应的比特串B是0100。第二转发设备对比特串A(0010)与比特串B(0100)进行或操作,获得0110。0110即为F-BM,0110表示可以到达BFR-ID为2的设备和BFR-ID为3的设备。
步骤(a-3)第二转发设备基于F-BM、第一任播标签以及第一转发设备的BFRprefix,获得第一对应关系,第一对应关系包括F-BM、第一任播标签以及第一转发设备的BFR prefix。
情况B、与第一转发设备的BFR prefix匹配的下一跳为根据第一转发设备的BFRprefix确定出的第一转发设备的标识和第二转发设备上出接口的组合。上述第一转发设备的标识例如是第一转发设备的BFR prefix,或者是第一转发设备的BFR prefix之外的其他IP地址。例如,情况B中,获得第一对应关系的过程包括如下步骤(b-1)至步骤(b-4)。
步骤(b-1)第二转发设备基于第一任播标签以及第二任播标签,确定第一转发设备以及第三转发设备属于第一站点;
步骤(b-2)第二转发设备基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;
步骤(b-3)第二转发设备基于第一转发设备的BFR prefix,确定第二转发设备上到达第一转发设备的第一出接口。
在一种可能的实现中,第二转发设备与第一转发设备通信,第二转发设备将接收到第一参数集的接口作为第一出接口。在另一种可能的实现中,第二转发设备基于第一转发设备的BFR prefix,在路由表中查找本设备与第一转发设备的BFR prefix通信的接口,作为第一出接口。
步骤(b-4)第二转发设备基于F-BM、第一任播标签、第一转发设备的BFR prefix以及第一出接口,获得第一对应关系,第一对应关系包括F-BM、第一任播标签、第一转发设备的BFR prefix以及第一出接口。
步骤S208,第二转发设备基于第二参数集以及第一转发设备的BFR-ID获得第二对应关系。
第二对应关系包括与第一转发设备的BFR-ID以及第三转发设备的BFR-ID匹配的F-BM、第二任播标签以及与第三转发设备的BFR prefix匹配的下一跳。第二对应关系可以通过一个表项实现,也可以通过多个相关联的表项实现,实现的方式可参考上文对第一对应关系的描述。
第二对应关系中与第三转发设备的BFR prefix匹配的下一跳包括多种情况,下面通过情况A和情况B举例说明。
情况A、第二对应关系中与第三转发设备的BFR prefix匹配的下一跳为第三转发设备的BFR prefix。情况A中,获得第二对应关系的过程包括如下步骤(a-1)至步骤(a-3)。
步骤(a-1)第二转发设备基于第一任播标签以及第二任播标签确定第一转发设备以及第三转发设备均属于第一站点;
步骤(a-2)第二转发设备基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;
步骤(a-3)第二转发设备基于F-BM、第二任播标签以及第三转发设备的BFRprefix,获得第二对应关系,第二对应关系包括F-BM、第二任播标签以及第三转发设备的BFR prefix。
情况B、与第三转发设备的BFR prefix匹配的下一跳为根据第三转发设备的BFRprefix确定出的第三转发设备的标识和第二转发设备上出接口的组合。例如,情况B中,获得第二对应关系的过程包括如下步骤(b-1)至步骤(b-4)。
步骤(b-1)第二转发设备基于第一任播标签以及第二任播标签确定第一转发设备以及第三转发设备均属于第一站点。
步骤(b-2)第二转发设备基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM。
步骤(b-3)第二转发设备基于第三转发设备的BFR prefix,确定第二转发设备上到达第三转发设备的第二出接口。
在一种可能的实现中,第二转发设备与第三转发设备通信,第二转发设备将接收到第二参数集的接口作为第二出接口。在另一种可能的实现中,第二转发设备基于第三转发设备的BFR prefix,在路由表中查找本设备与第三转发设备的BFR prefix通信的接口,作为第二出接口。
步骤(b-4)第二转发设备基于F-BM、第二任播标签、第三转发设备的BFR prefix以及第二出接口,获得第二对应关系,第二对应关系包括F-BM、第二任播标签、第三转发设备的BFR prefix以及第二出接口。
从第一对应关系和第二对应关系包含的参数可见,由于第一对应关系中的F-BM体现了第一转发设备的BFR-ID以及第三转发设备的BFR-ID,而第二对应关系中的F-BM也体现了第一转发设备的BFR-ID以及第三转发设备的BFR-ID,因此如果数据报文中的比特串包含第一转发设备或者第三转发设备中任一个转发设备的BFR-ID时,可以选择向第一对应关系或者第二对应关系其中任一项中的下一跳转发报文,即使第一对应关系或者第二对应关系其中一个包含的下一跳出现故障,也能通过向另一个包含的下一跳转发报文,而无需收敛,从而避免流量中断,实现故障场景的快速切换以及流量保护。
本实施例提供的方法,第二转发设备从第一站点内的第一转发设备和第三转发设备接收到两份参数集,根据两个参数集包含的任播标签均标识第一站点,将第一转发设备和第三转发设备的BFR-ID体现在同一条对应关系中,相当于通过任播标签,将同一个站点内的多个设备绑定在一起,那么当接收到数据报文时,如果到达第一站点内其中一个设备的链路故障,能够根据数据报文中的比特串匹配到对应关系中的F-BM,直接向对应关系中的下一跳转发数据报文,而无需通过路由收敛重新计算下一跳,因此提高了收敛切换的速度,实现流量保护。
以上图4实施例侧重描述控制面配置过程以及对应关系的获得过程,图4实施例获得的对应关系可以用于在接收到数据报文时转发数据报文,下面通过图5实施例对使用图4实施例中的对应关系进行报文转发流程举例说明。
图5是本申请实施例提供的一种处理组播数据报文的方法流程图,图5所示实施例包括以下步骤S211至步骤S213。
步骤S211、第二转发设备获得第一BIER报文。
第一BIER报文包括第一比特串、第二转发设备的标签以及组播数据报文。例如,第一BIER报文包括第一报文头,第一报文头包括第一比特串以及第二转发设备的标签。第一BIER报文的载荷包括组播数据报文。
第一比特串与第一转发设备的BFR-ID和第三转发设备的BFR-ID中的一个或多个对应。第一比特串的取值包括多种情况,下面结合三种情况举例说明。
情况一、第一比特串与第一转发设备的BFR-ID对应,而不与第三转发设备的BFR-ID对应。例如,第一比特串中第一转发设备的BFR-ID对应的比特位置位,而第三转发设备的BFR-ID对应的比特位未置位。
情况二、第一比特串与第三转发设备的BFR-ID对应,而不与第一转发设备的BFR-ID对应。例如,第一比特串中第三转发设备的BFR-ID对应的比特位置位,而第一转发设备的BFR-ID对应的比特位未置位。
情况三、第一比特串与第三转发设备的BFR-ID以及第一转发设备的BFR-ID均对应。例如,第一比特串中第三转发设备的BFR-ID对应的比特位置位、第一转发设备的BFR-ID对应的比特位均置位。
以上描述的“比特串与BFR-ID对应”例如是比特串中BFR-ID对应的比特位置位。例如,第一转发设备的BFR-ID是k,第一比特串中从右往左数第k个比特位置位,即第一比特串与第一转发设备的BFR-ID对应。
第一比特串与第一转发设备的BFR-ID对应的含义是第一转发设备是组播数据报文的目的BFER。第一比特串与第三转发设备的BFR-ID对应的含义是第三转发设备是组播数据报文的目的BFER。第一比特串与第三转发设备的BFR-ID以及第一转发设备的BFR-ID均对应的含义是第一转发设备以及第三转发设备均是组播数据报文的目的BFER。
第二转发设备的标签用于标识第二转发设备。例如,第二转发设备的标签是第二转发设备的BIER MPLS标签,第二转发设备的BIER MPLS标签用于确定第二转发设备的BIFT。例如,第一BIER报文的报文头包括BIFT-ID字段,BIFT-ID字段包括第二转发设备的标签。
又如,第二转发设备的标签是第二转发设备的End.BIER SID。第二转发设备的End.BIER SID用于指示第二转发设备基于BIER转发组播数据报文。例如,第一BIER报文的报文头包括目的地址字段,目的地址字段包括第二转发设备的End.BIER SID。
第二转发设备如何获得第一BIER报文包括多种实现方式,下面结合两种场景举例说明。
场景A、第二转发设备是BFIR的场景。
例如,第二转发设备接收来自组播源的组播数据报文。第二转发设备向组播数据报文封装第一报文头,获得第一BIER报文。例如,第二转发设备根据组播数据报文中的组播源组信息,查找组播转发表。第二转发设备根据查表的结果,确定组播数据报文要通过BIER类型的路径转发,则向组播数据报文封装第一报文头。
场景B、第二转发设备是transit BFR的场景。
例如,第二转发设备接收来自上一跳BFR的第三BIER报文,第三BIER报文包括第三比特串以及组播数据报文。第二转发设备基于第三BIER报文获得第一BIER报文。第一比特串是基于第三比特串以及第二转发设备上BIFT中的F-BM获得的。第一BIER报文与第三BIER报文具有相同的载荷。
步骤S212、第二转发设备基于第一BIER报文以及第一对应关系获得第二BIER报文。
第二BIER报文包括第二比特串、第一任播标签以及组播数据报文。例如,第二BIER报文的报文头包括第二比特串以及第一任播标签,第二BIER报文的载荷包括组播数据报文。
第二比特串是基于第一比特串与第一对应关系中的F-BM获得的。例如,第二比特串是基于第一比特串与F-BM进行与操作获得的。例如,第一比特串是1100,F-BM是0110,第二比特串是110 0&0110=0100,&表示与操作。在一些实施例中,第二转发设备将第一BIER报文中的比特串从第一比特串更新为第二比特串,使得第二BIER报文包括第二比特串。
如上述实施例描述,第一任播标签用于标识第一站点。由于第二BIER报文包括第一任播标签,使得第二BIER报文能够被转发至第一站点内任意一台设备。
第一任播标签的携带位置包括多种情况。例如,第一任播标签为BIER MPLS标签,第二BIER报文的报文头包括BIFT-ID字段,BIFT-ID字段包括第一任播标签。又如,第一任播标签为End.BIER SID,第二BIER报文的报文头包括目的地址字段,目的地址字段包括第一任播标签。
第一任播标签例如通过查找第一对应关系获得。例如,第二转发设备从第一BIER报文获得第一比特串,第二转发设备根据第一比特串,查找第一对应关系,获得第一比特串对应的第一任播标签。
在一种可能的实现中,第一对应关系是第二转发设备的BIFT中的一条表项,第二转发设备在查找BIFT的过程中,获得第一任播标签。例如,第二转发设备使用第一比特串与第二转发设备的BIFT中的每条F-BM进行匹配。第二转发设备根据第一比特串与BIFT中第一对应关系中的F-BM匹配,确定要向第一对应关系中的下一跳转发报文,因此基于第一对应关系中的F-BM以及第一任播标签,执行获得以及发送第二BIER报文的步骤。如何判断第一比特串是否与F-BM匹配包括多种方式,举例来说,第二转发设备使用第一比特串与F-BM进行与操作,获得第二比特串。第二转发设备基于第二比特串非全0,确定第一比特串与BIFT中第一对应关系中的F-BM匹配。
在一些实施例中,第二转发设备通过更新第一BIER报文的报文头中的字段,使得第二BIER报文包括第一任播标签,下面结合两种场景举例说明。
场景一、在MPLS网络中配置BIER。
场景一例如是BIER-MPLS场景。在场景一下,上述第一任播标签例如为第一转发设备的BIER MPLS标签,上述第一BIER报文的报文头中BIFT-ID字段包括第二转发设备的BIERMPLS标签。第二转发设备使用第一任播标签更新第一BIER报文的报文头中BIFT-ID字段,使得第二BIER报文的报文头中BIFT-ID字段包括第一转发设备的BIER MPLS标签,即第一任播标签。
场景二、在IPv6网络中配置BIER。
场景二包括而不限于BIERv6、BIERin6或者G-BIER场景其中任一项,具体细节请参考后文标题“BIER封装格式”后的描述。
在场景二下,上述第一任播标签例如为第一转发设备的End.BIER SID,上述第一BIER报文的报文头中目的地址字段包括第二转发设备的End.BIER SID。第二转发设备使用第一任播标签更新第一BIER报文的报文头中目的地址字段,使得第二BIER报文的报文头中目的地址字段包括第一转发设备的End.BIER SID,即第一任播标签。
步骤S213、第二转发设备发送第二BIER报文。
第二转发设备发送第二BIER报文的目的方包括多种情况,下面通过两种情况举例说明。
情况一、第二转发设备向第一对应关系中的下一跳发送第二BIER报文。
例如,第一对应关系中的下一跳为第一转发设备的BFR prefix,第二转发设备将第一转发设备的BFR prefix作为下一跳的IP地址,向第一转发设备的BFR prefix发送第二BIER报文。又如,第一对应关系中的下一跳包括第二转发设备上到达第一转发设备的第一出接口,第二转发设备通过第一出接口发送第二BIER报文。又如,第一对应关系中的下一跳包括第一转发设备的BFR prefix以及第二转发设备上到达第一转发设备的第一出接口,第二转发设备通过第一出接口,向第一转发设备的BFR prefix发送第二BIER报文。
情况二、第二转发设备向第二对应关系中的下一跳发送第二BIER报文。例如,第二对应关系中的下一跳为第三转发设备的BFR prefix,第二转发设备将第三转发设备的BFRprefix作为下一跳的IP地址,向第三转发设备的BFR prefix发送第二BIER报文。又如,第二对应关系中的下一跳包括第二转发设备上到达第三转发设备的第二出接口,第二转发设备通过第二出接口发送第二BIER报文。又如,第二对应关系中的下一跳包括第三转发设备的BFR prefix以及第二转发设备上到达第三转发设备的第二出接口,第二转发设备通过第二出接口,向第三转发设备的BFR prefix发送第二BIER报文。
第二转发设备选择使用第一对应关系还是使用第二对应关系发送报文包括多种实现方式,下面结合两种场景举例说明。
场景一、发生故障的场景
本实施例适用的故障场景包括而不限于链路故障或者节点故障。链路故障例如是第二转发设备与对应关系中的下一跳之间的链路发生故障。节点故障例如是第二转发设备获得的对应关系中的下一跳发生设备故障。
当第二转发设备检测到第一对应关系以及第二对应关系其中任一个对应关系中的下一跳发生节点故障或者链路故障时,由于两个对应关系中的F-BM取值相同,或者说这两个对应关系都与数据报文中的比特串匹配,第二转发设备可以向另一条对应关系中的下一跳发送报文,从而避免由于故障导致流量中断。
例如,若第一对应关系中与第一转发设备的BFR prefix匹配的下一跳处于故障状态,第二转发设备向第二对应关系中的与第三转发设备的BFR prefix匹配的下一跳发送第二BIER报文。第一转发设备的BFR prefix匹配的下一跳处于故障状态包括而不限于第二转发设备与第一转发设备之间的链路故障或者第一转发设备发生故障。
又如,若第二对应关系中与第三转发设备的BFR prefix匹配的下一跳处于故障状态,第二转发设备向第一对应关系中的与第一转发设备的BFR prefix匹配的下一跳发送第二BIER报文。第三转发设备的BFR prefix匹配的下一跳处于故障状态包括而不限于第二转发设备与第三转发设备之间的链路故障或者第三转发设备发生故障。
场景二、未发生故障的场景
在未发生故障的场景下,第二转发设备选择下一跳的方式包括而不限于下述方式一至方式三。
方式一、任意选择
例如,若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFRprefix匹配的下一跳均未处于故障状态,第二转发设备向与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送第二BIER报文。例如,第二转发设备从第一转发设备的BFR prefix匹配的下一跳以及与第三转发设备的BFR prefix匹配的下一跳中,随机选择一个作为第二BIER报文的下一跳,向随机选择的下一跳发送第二BIER报文。
可选地,在第二转发设备与第一转发设备和第三转发设备通信的场景下,第二转发设备采用方式一转发BIER报文。通过上述方式一,支持负载分担场景,有助于组播数据流均匀地分担在第二转发设备与第一转发设备间的链路以及第二转发设备与第三转发设备间的链路上,避免单条链路负载过重。
方式二、根据链路开销选择
链路开销用于表示网络路径的距离,比如网络路径所经过的跳数,链路开销可以通过cost或者metric表示。若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,第二转发设备可以将与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳其中链路开销最小的一者作为更优的下一跳,向链路开销最小的下一跳发送第二BIER报文。
例如,如果第二转发设备与第一转发设备之间的链路开销小于第二转发设备与第三转发设备之间的链路开销,第二转发设备向第一转发设备发送第二BIER报文。又如,如果第二转发设备与第三转发设备之间的链路开销小于第二转发设备与第一转发设备之间的链路开销,第二转发设备向第三转发设备发送第二BIER报文。
方式三、根据链路质量选择
链路质量包括而不限于链路的时延、抖动、链路带宽或者丢包率等。链路时延越小,表示链路质量越高。链路带宽越大,表示链路质量越高。链路丢包率越小,表示链路质量越高。
在一些实施例中,若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,第二转发设备向与第一转发设备的BFRprefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送第二BIER报文。
例如,如果第二转发设备与第一转发设备之间的链路质量高于第二转发设备与第三转发设备之间的链路质量,第二转发设备向第一转发设备发送第二BIER报文。又如,如果第二转发设备与第三转发设备之间的链路质量高于第二转发设备与第一转发设备之间的链路质量,第二转发设备向第三转发设备发送第二BIER报文。
以上图4实施例和图5实施例侧重描述任播标签相关的控制面配置以及数据面转发流程,本申请的一些实施例还提供了bypass标签相关的控制面配置以及数据面转发流程,下面通过图6实施例和图7实施例举例说明。
图6是本申请实施例提供的一种对应关系的获取方法的流程图。图6所示方法包括以下步骤S221至步骤S229。
步骤S221,第一站点内第三转发设备获得第三参数集。
第三参数集包括第一bypass标签、第三转发设备的BFR-ID以及第三转发设备的BFR prefix。第一bypass标签用于标识第三转发设备。在一些实施例中,第一bypass标签为第三转发设备的End.BIER SID。在另一些实施例中,第一bypass标签为第三转发设备的MPLS标签。第一bypass标签与上述第二任播标签以及上述第一任播标签的取值不同。
步骤S222,第一站点内第一转发设备获得第四参数集。
第四参数集包括第二bypass标签、第一转发设备的BFR-ID以及第一转发设备的BFR prefix,第二bypass标签用于标识第一转发设备。在一些实施例中,第二bypass标签为第一转发设备的End.BIER SID。在另一些实施例中,第二bypass标签为第一转发设备的MPLS标签。
步骤S223,第三转发设备向第一站点内第一转发设备发送第三参数集。
步骤S224,第一转发设备向第一站点内第三转发设备发送第四参数集。
步骤S225,第一转发设备接收来自第一站点内第三转发设备的第三参数集。
步骤S226,第三转发设备接收来自第一转发设备的第四参数集。
步骤S227,第一转发设备基于第三参数集获得第三对应关系。
第三对应关系包括第一bypass标签、与第三转发设备的BFR-ID匹配的F-BM以及与第三转发设备的BFR prefix匹配的下一跳。
步骤S228、第三转发设备基于第四参数集获得第四对应关系。
第四对应关系包括第二bypass标签、与第一转发设备的BFR-ID匹配的F-BM以及与第一转发设备的BFR prefix匹配的下一跳。
本实施例提供的方法,转发设备通过建立同站点内对端设备的BFR-ID匹配的F-BM、同站点内对端设备的bypass标签与下一跳之间的对应关系,相当于打通了站点内部的路由,使得转发设备在接收到包含对端设备的BFR-ID匹配的比特串的数据报文时,能够基于比特串与F-BM匹配,将同站点内对端设备作为下一跳,使用同站点内对端设备的bypass标签作为下一跳的标签转发报文,而不会由于下一跳的标签是本设备的标签而终止报文转发。
在一个示例性场景中,当发生链路故障,数据报文到达一个站点内的一个转发设备时,转发设备根据数据报文中携带的比特串,发现数据报文的目的BFER不是本设备,则可以使用上述图6所示实施例获得的对应关系,将数据报文转发给同站点内另一个转发设备。
例如请参考图7,图7是本申请实施例提供的一种数据报文处理方法的流程图,图7所示方法是对第一转发设备向第三转发设备转发报文的示例,图7所示实施例包括以下步骤S231至步骤S233。
步骤S231,第一站点内第一转发设备接收第一BIER报文。
第一BIER报文包括第三转发设备的BFR-ID对应的第一比特串、第一任播标签以及组播数据报文。
步骤S232,第一站点内第一转发设备基于第一BIER报文以及第三对应关系获得第二BIER报文。
第二BIER报文包括第二比特串、第一bypass标签以及组播数据报文。
第二比特串是基于第一比特串与第三对应关系中的F-BM获得的比特串。例如,第一转发设备对第一比特串与F-BM进行与操作,与操作获得的结果即为第二比特串。
例如,第一转发设备根据第一比特串查找第三对应关系,使用第一比特串与第三对应关系中的F-BM进行与操作。第一转发设备根据第一比特串与第三转发设备的BFR-ID匹配的F-BM与操作的结果非全0,确定要向第三转发设备的BFR prefix匹配的下一跳转发报文,因此基于第一BIER报文以及第一bypass标签,获得第二BIER报文。
步骤S233,第一站点内第一转发设备向第一站点内第三转发设备发送第二BIER报文。
本实施例提供的方法,当转发设备接收到包含同站点内另一个设备的对应的比特串的数据报文时,通过将标识同站点内另一个设备的bypass标签封装至数据报文中,从而在复制数据报文时,不会由于数据报文中的标签是标识自己的标签而终止报文转发,实现站点内不同设备之间互相传递数据报文,避免流量中断。
例如请参考图8,图8是本申请实施例提供的一种数据报文处理方法的流程图,图8所示方法是对第三转发设备向第一转发设备转发报文的示例,图8所示实施例包括以下步骤S241至步骤S243。
步骤S241,第一站点内第三转发设备接收第一BIER报文。
第一BIER报文包括第一转发设备的BFR-ID对应的第一比特串、第一任播标签以及组播数据报文。
步骤S242,第三转发设备基于第一BIER报文以及第四对应关系获得第二BIER报文。
第二BIER报文包括第二比特串、第二bypass标签以及组播数据报文。
步骤S243,第三转发设备向第一站点内第一转发设备发送第二BIER报文。
本实施例提供的方法,当转发设备接收到包含同站点内另一个设备的对应的比特串的数据报文时,通过将标识同站点内另一个设备的bypass标签封装至数据报文中,从而在复制数据报文时,不会由于数据报文中的标签是标识自己的标签而终止报文转发,实现站点内不同设备之间互相传递数据报文,避免流量中断。
上述图4所示实施例至图8实施例中任意实施例可以独立实施也可以结合实施,下面对BIER-MPLS场景下图4所示实施例至图8实施例结合实施的流程举例说明。下述实施例中anycast BIER-MPLS label是图4所示实施例至图8实施例中任播标签的具体示例,下述实施例中bypass BIER-MPLS label是图4所示实施例至图8实施例中bypass标签的具体示例。下述实施例中站点A的BFR-A是对上述实施例中第二站点内第二转发设备的具体示例,下述实施例中站点B的BFR-B1和BFR-B2是对上述实施例中第一站点内第一转发设备和第三转发设备的具体示例,下述实施例包括以下步骤0至步骤5。
步骤0:规划站点。
分别部署组播源站点、中间站点以及组播接收者站点。使能各设备的BIER能力,并配置相应的BIER子域及BFR-ID。
步骤1:部署IGP或BGP
例如,在每台BFR上配置IGP、BGP或者其他路由协议,用于洪泛BFR prefix。洪泛BFR prefix的报文携带BIER相关的参数集,携带的参数集包括:BFR-ID、SI、BSL以及BIER-MPLS label。
步骤2:洪泛BIER-MPLS label
站点内部每台BFR配置不同的BFR-ID。
本实施例中,站点内部的设备上使用相同的anycast BIER-MPLS label,原有的BIER-MPLS label被称为bypass BIER-MPLS label。anycast BIER-MPLS label和BFRprefix通过同一个报文进行洪泛。使用任播标签生成站点间BIER转发表,使用bypass标签生成站点内BIER转发表。
在标签空间中划分一块全局标签块,用于为各个站点分配anycast label。anycast BIER-MPLS label与bypass BIER-MPLS label通过路由洪泛的BIER信息子TLV里的sub-sub-TLV携带。
图9示出了BIER信息子TLV。BIER-MPLS label被填充在BIER信息子TLV里的sub-sub-TLV字段。
图10示出了BIER-MPLS封装的sub-sub-TLV,其中携带了MAX-SI、BSL及BIER-MPLSlabel。
本实施例提供的anycast label与bypass label中,bypass label仍然封装在原先的sub-sub-TLV中。而anycast label按照图11新增的sub-sub-TLV所示进行封装。新增的anycast label sub-sub-TLV被封装在原先的bypass label sub-sub-TLV后面。
步骤3:建立BIER转发表
设备收到其它BFR的BIER信息子TLV后,会解析sub-sub-TLV的bypass label和anycast label。本地维护BIER子域中[BFR-ID,anycast label,bypass label]的对应关系。
步骤3-1:站点间转发表建立
如图12所示,当站点A的BFR-A接收到站点B的BFR-B1的BIER信息子TLV和BFR-B2的BIER信息子TLV时,BFR-A解析BFR-B1的BIER信息子TLV和BFR-B2的BIER信息子TLV,获得两个anycast label。BFR-A确定两个anycast label(label_B)与BFR-A本地的anycast label(label_A)不一致,但两个anycast label彼此一致,则BFR-A将BFR-B1与BFR-B2的BFR-ID合并到一个F-BM条目中。
如果BFR-A到BFR-B1的链路与BFR-A到BFR-B2的链路为等价链路,则BFR-A将到BFR-B1和到BFR-B2的出接口与下一跳都体现在该F-BM条目中。如果BFR-A到BFR-B1的链路与BFR-A到BFR-B2的链路为非等价链路,则将最优链路的出接口和下一跳体现在该F-BM条目中。其中,BFR-A将到BFR-B1的出接口以及到BFR-B2的出接口都体现在BIFT中仅为可选方式,在另一些实施例中,BFR-A不将到BFR-B1的出接口以及到BFR-B2的出接口体现在BIFT中。BFR-A确定出接口的方式例如为,BFR-A通过学习单播路由,获得到BFR-B1的出接口以及到BFR-B2的出接口,或者从单播的转发表中,获得到BFR-B1的出接口以及到BFR-B2的出接口。
例如,当边缘的BFR-B1与BFR-B2配置了BFR-ID,而BIER子域中除了BFR-B1以及BFR-B2之外的其他BFR没有配置BFR-ID,则各设备生成的F-BM只有两位,分别为01和10。
在没有提供anycast label的情况下,BFR-A原先生成的BIFT如下表1所示。
表1
F-BM | BFR-NBR | 出接口 |
01 | BFR-B1 | 与BFR-B1直连接口 |
10 | BFR-B2 | 与BFR-B2直连接口 |
通过引入anycast label,将原有的BIFT表的F-BM进行了合并,生成BIFT如下所示。
当BFR-A到BFR-B1的链路、BFR-A到BFR-B2的链路为等价链路时,BFR-A的BIFT如下表2-1或者表2-2所示。
表2-1
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-B1 | 与BFR-B1直连接口 | label_B |
11 | BFR-B2 | 与BFR-B2直连接口 | label_B |
表2-2
当BFR-A到BFR-B1的链路、BFR-A到BFR-B2的链路不为等价链路,BFR-A到BRF-B1的链路比BFR-A到BFR-B2的链路更优时,BFR-A生成的BIFT如下表3所示。
表3
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-B1 | 与BFR-B1直连接口 | label_B |
因此,anycast label被用于建立站点间BIER转发表。
步骤3-2:站点内转发表建立
而站点内部,如图13所示,当BFR-B1收到BFR-B2的BIER信息子TLV,BFR-B1解析出anycast label(label_B)与bypass label(label_B2)后,发现该anycast label与本地anycast label一致,则BFR-B1可以使用原有的bypass label,生成到对端设备的BIFT条目,用于站点内部的报文互转。则报文在复制到对端设备,即BFR-B2时,携带的是对端的bypass label。BFR-B1的bypass label为label_B1,BFR-B2的bypass label为label_B2。BFR-B1生成的BIFT如下表4所示。
表4
F-BM | BFR-NBR | 出接口 | 下一跳label |
10 | BFR-B2 | 与BFR-B2直连接口 | label_B2 |
BFR-B2生成的BIFT如下表5所示。
表5
F-BM | BFR-NBR | 出接口 | 下一跳label |
01 | BFR-B1 | 与BFR-B1直连接口 | label_B1 |
步骤4:接收到数据报文后,查找BIFT。
BIER-MPLS场景,接收到BIER数据报文后,会解析报文头中携带的比特串及BIER-MPLS label。
不同站点间转发报文时,上游设备封装报文时,使用anycast label封装报文头。站点内部互相转发报文时,使用bypass label封装报文头。
各设备上维护anycast label,bypass label与<BIER sub-domain,SI,BSL>的对应关系。
设备根据比特串与BIFT表中的F-BM进行与运算,获得BIER子域中可达的BFER集合以及对应的BFR邻居、出接口及下一跳。
步骤4-1:本设备同时与下游站点的两台设备形成了负载分担
如图14所示,站点A的设备均分别与站点B的两台设备有直连链路。
站点A的BFR-A1和BFR-A2的BIFT中,会同时有到达站点B的BFR-B1和BFR-B2这两台设备的出接口及下一跳。BFR-A1或者BFR-A2,可以使用到达BFR-B1的出接口转发报文,也可以使用到达BFR-B2的出接口转发报文。
例如,BFR-A1生成的BIFT如下表6所示。
表6
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-B1 | 与BFR-B1直连接口 | label_B |
11 | BFR-B2 | 与BFR-B2直连接口 | label_B |
BFR-A1接收到数据报文,数据报文中比特串为01,BFR-A1使用比特串01与表6中的F-BM11进行与操作,BitString&F-BM=01&11=01,则BFR-A1可以选择与BFR-B1直连接口以及与BFR-B2直连接口其中的任意一个出接口转发数据报文,使用label_B替换报文中携带的BIER-MPLS label。当与BFR-B1直连接口以及与BFR-B2直连接口其中的一个出接口无法正常工作,BFR-A1也能使用另一个出接口,无需收敛。因此,当BFR-A1到BFR-B1的链路以及BFR-A1到BFR-B2的链路其中一条链路故障时,BFR-A1可以直接通过另一条链路转发流量,实现故障场景的快速切换与流量保护。
步骤4-2:当本设备只与下游站点的一台设备有链路
如图15所示,站点A中的设备只与站点B的一台设备有链路,此时BFR-A1上的转发表项有一个出接口。例如,BFR-A1生成的BIFT如下表7所示。数据报文中携带的比特串为01,BFR-A1使用比特串01与表7中的F-BM进行与操作,比特串&F-BM=01&11=01,
表7
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-B1 | 与BFR-B1直连接口 | label_B |
则BFR-A1可以从与BFR-B1直连的出接口发送数据报文,使用label_B替换数据报文中携带label。
当BFR-A1的与BFR-B1直连的出接口由于链路或节点故障导致不可用后,BFR-A1需要收敛到到达BFR-B1的链路。BFR-A1将出接口由与BFR-B1直连的接口切换为与BFR-A2直连接口,获得如下表8所示的BIFT。
表8
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-A2 | 与BFR-A2直连接口 | label_A2 |
当数据报文到达BFR-A2后,BFR-A2上已经生成了到达BFR-B2的转发表项,该转发表项如下表9所示,该转发表项的含义是下一跳是BFR-B2,下一跳的label为label_B,出接口为与BFR-B2直连接口,BFR-A2可以直接使用这条表项转发数据报文,而不会再收敛回BFR-A1,因此不会再产生微环问题。此时相比于使用不同的label,打通流量转发更快。
表9
F-BM | BFR-NBR | 出接口 | 下一跳label |
11 | BFR-B2 | 与BFR-B2直连接口 | label_B |
步骤5:目的站点内接收到数据报文后查找BIFT
当站点内一台设备接收到数据报文,确定数据报文的目的BFR并不是本设备时,可以使用基于bypass label生成的转发表转发数据报文。
例如,BFR-B2生成的BIFT包含表10示出的条目。BFR-B2接收到数据报文,数据报文中携带的比特串为01,BFR-B2使用比特串01与表10中的F-BM 01进行与操作,比特串&F-BM=01&01=01,BFR-B2通过与BFR-B1直连的接口转发数据报文,使用label_B1替换数据报文中携带label。
表10
F-BM | BFR-NBR | 出接口 | 下一跳label |
01 | BFR-B1 | 与BFR-B1直连接口 | label_B1 |
下面对BIERv6场景下图4所示实施例至图8实施例结合实施的流程举例说明。下述实施例中anycast End.BIER SID是图4所示实施例至图8实施例所示实施例中任播标签的具体示例,下述实施例中bypass End.BIER SID是图4所示实施例至图8实施例所示实施例中bypass标签的具体示例。该实施例包括以下步骤0至步骤5。
步骤0:规划站点
分别部署组播源站点,中间站点以及组播接收者站点。使能各设备的BIER能力,并配置相应的BIER子域及BFR-ID。
步骤1:部署IGP或BGP
每台BFR配置IGP、BGP或者其他路由协议,用于洪泛BFR prefix,洪泛BFR prefix的报文携带BIER相关的参数集,携带的参数集包括:BFR-ID、SI、BSL以及End.BIER SID。
步骤2:洪泛End.BIER SID
BIERv6场景,站点内每台BFR配置不同的BFR-ID。
本实施例中,站点内部的设备上使用相同的anycast End.BIER SID以及不同的bypass End.BIER SID。使用anycast End.BIER SID生成站点间BIFT表,使用bypassEnd.BIER SID生成站点内BIFT表。
不同站点间配置不同的anycast End.BIER SID,从而达到区分站点的目的。
部署IGP BIERv6,通过IGP洪泛BIERv6信息,建立站点内BIERv6转发表。
如图16所示,BIER的参数集被封装在IGP报文的sub-TLV中,用于计算BIER路由表和BIER转发表。其中,End.BIER SID被封装在sub-sub-TLV中。如图17所示,End.BIER SID被封装在sub-sub-TLV中。
本实施例提出anycast End.BIER与bypass End.BIER后,bypass End.BIER被封装在图17中原先的End.BIER sub-sub-TLV中,anycast End.BIER按照图18所示进行封装。格式与已有的End.BIER sub-sub-TLV一致,封装时放在已有的End.BIER sub-sub-TLV后面。
步骤3:建立BIERv6转发表
步骤3-1:建立站点间转发表
如图19所示,不同站点之间,当两台下游设备BFR-B1和BFR-B2向一台BFR-A通告了sub-sub-TLV后,BFR-A解析两个sub-sub-TLV,获得anycast End.BIER,BFR-A发现获得的anycast End.BIER与本地的anycast End.BIER不一致,但BFR-B1的anycast End.BIER与BFR-B2的anycast End.BIER一致,则BFR-A将BFR-B1的BFR-ID和BFR-B2的BFR-ID在F-BM中合并。
如果BFR-A到BFR-B1的链路与BFR-A到BFR-B2的链路为等价链路,则BFR-A将到BFR-B1与BFR-B2的出接口都作为该F-BM的出接口。
而如果BFR-A到BFR-B1的链路与BFR-A到BFR-B2的链路为不等价链路,则BFR-A使用BFR-A到BFR-B1的链路与BFR-A到BFR-B2的链路其中较优链路的出接口作为该F-BM的出接口。
在没有anycast End.BIER的情况下,BFR-A原先生成的BIFT如下表11所示。
表11
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
01 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B1 |
10 | BFR-B2 | 与BFR-B2直连接口 | End.BIER_B2 |
通过引入anycast End.BIER,将原有的BIFT表的F-BM进行了合并,生成BIFT如下所示。
当BFR-A到BFR-B1的链路、BFR-A到BFR-B2的链路为等价链路时,BFR-A的BIFT如下表12所示。
表12
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
11 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B |
11 | BFR-B2 | 与BFR-B2直连接口 | End.BIER_B |
当BFR-A到BFR-B1的链路、BFR-A到BFR-B2的链路不为等价链路,BFR-A到BFR-B1的链路比BFR-A到BFR-B2的链路更优时,BFR-A生成的BIFT如下表13所示。
表13
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
11 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B |
步骤3-1:建立站点内转发表
如图20所示,在站点内部,BFR-B1解析BFR-B2的sub-sub-TLV,对比anycastEnd.BIER,发现与本地anycast End.BIER一致,则使用与本机不一致的bypass End.BIER,作为到对端的下一跳End.BIER,从而在接收到的数据报文含有到对端设备的BFR-ID的比特串后,复制数据报文时,不会因为下一跳End.BIER是自己而终止报文转发,实现站点内互相传输数据报文的目的。
例如,BFR-B1生成的BIFT如下表14所示,表14为BFR-B1上站点内BIER转发表的具体示例。
表14
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
10 | BFR-B2 | 与BFR-B2直连接口 | End.BIER_B2 |
例如,BFR-B2生成的BIFT如下表15所示,表15为BFR-B2上站点内BIER转发表的具体示例。
表15
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
01 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B1 |
步骤4:接收到数据报文后查找BIFT
接收到BIERv6封装格式的数据报文后,会解析报文头中携带的End.BIER SID。当End.BIER SID为本地的End.BIER SID时,则进行BIERv6转发处理,当End.BIER SID不是本地的End.BIER SID时,则进行普通的单播报文转发流程。
当进行BIERv6转发处理时,进行比特串与F-BM比较后,获得BFR邻居,以及下一跳的End.BIER SID,将报文复制转发。
步骤4-1:当本设备同时与下游站点的两台设备有链路
当设备BFR-A1与下游站点的两台设备有链路时,且这两条链路等价时,转发表中会同时有到达两台设备的出接口,则可以向两个出接口中的任意一个转发BIER报文。其中一条链路故障时,可以直接将通过另一条链路转发流量,实现故障场景的快速切换与流量保护。
例如,BFR-A1生成的BIFT如下表16所示。BFR-A1接收到数据报文,数据报文中携带的比特串为01,BFR-A1使用比特串01与表16中的F-BM 11进行与操作,比特串&F-BM=01&11=01,BFR-A1可以从与BFR-B1直连接口、与BFR-B2直连接口这两个出接口中的一个出接口发送报文,使用End.BIER_B替换报文头中携带的End.BIER SID。
表16
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
11 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B |
11 | BFR-B2 | 与BFR-B2直连接口 | End.BIER_B |
当与BFR-B1直连接口、与BFR-B2直连接口这两个出接口其中一个出接口无法正常工作,也能使用另一个出接口发送数据报文,而无需收敛。
步骤4-2:当本设备只与一台下游站点的设备有链路
如图22所示,当BFR-A1只与一台下游设备BFR-B1有连线,当BFR-A1到达BFR-B1的链路故障时,需要重新收敛转发表,以使BFR-B2接收报文。
例如,BFR-A1将下一跳由BFR-B1收敛为BFR-A2,BFR-A1收敛后的BIFT如下表17所示。
表17
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
11 | BFR-A2 | 与BFR-A2直连接口 | End.BIER_A2 |
而BFR-A2上原本就有到BFR-ID 1以BFR-B2为下一跳的转发表,如下表18所示。因此,BFR-A2可以直接收敛到BFR-B2,而不会再收敛回BFR-A1。
表18
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
11 | BFR-B2 | 与BFR-B2直连接口 | End.BIER_B2 |
相比于使用不同的End.BIER SID时的硬收敛,通过使用相同的End.BIER SID可以避免微环的产生,打通流量转发更快。
步骤5:目的站点内接收到数据报文后查找BIFT。
当报文到达站点内部,但是目的BFR并不是本设备时,可以使用通过bypassEnd.BIER生成的BIFT转发报文。
例如,BFR-B2生成的BIFT包含如表19示出的条目,BFR-B2接收到数据报文,数据报文的报文头携带比特串01,BFR-B2使用比特串01与F-BM 01进行与操作,比特串&F-BM=01&01=01,则BFR-B2从与BFR-B1直连的接口发送报文,使用End.BIER_B1替换报文头携带的End.BIER SID。
表19
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
01 | BFR-B1 | 与BFR-B1直连接口 | End.BIER_B1 |
则报文可以通过End.BIER_B1被转发到站点内部的另一个BFR,即BFR-B1。BFR-B1将报文进一步转发到目的BFR。
下面结合图23示出的BIER-MPLS组网场景对图4所示实施例至图8所示实施例举例说明。
如图23所示,组播根节点为组播源直连的站点1。组播叶子节点为组播接收者直接连的站点3。站点2代表中间节点。
根节点与叶子节点均使能BIER能力,作为BFR节点,分配BFR-ID。
本例中站点1和站点3分别作为BFIR和BFER。
PE3具有接口1、接口2和接口3,接口1为PE3到PE4的出接口,接口2为PE3到PE5的出接口,接口3为PE3到PE6的出接口。PE6具有接口4,接口4为PE6到PE5的出接口。
针对图23的场景,实施例包括如下步骤1至步骤6。
步骤1:部署BIER-MPLS:
根节点、中间节点和叶子节点统一配置BIER sub-domain id为1,BSL为64,SI为1。每台设备的BFR-ID各不相同;中间节点不配置BFR-ID,但支持BIER转发;
同站点的两台设备配置相同的anycast BIER-MPLS label以及不同的bypassBIER-MPLS label;不同站点配置不同的anycast BIER-MPLS label
同站点内两台设备部署BIER,站点内两台设备建立BIER转发表,报文可以在站点内通过BIER的方式转发。
例如,图23示出的各个设备的配置如表20所示。
表20
设备 | BFR-ID | anycast label | bypass label | BFR-prefix |
PE1 | 1 | 10 | 11 | 1.1.1.1 |
PE2 | 2 | 10 | 12 | 2.2.2.2 |
PE3 | -- | 20 | 21 | 3.3.3.3 |
PE4 | -- | 20 | 22 | 4.4.4.4 |
PE5 | 5 | 30 | 31 | 5.5.5.5 |
PE6 | 6 | 30 | 32 | 6.6.6.6 |
步骤2:通告BIER参数集
BIER子域中的各个设备之间通过部署的IGP或BGP通告BIER参数集,每台设备通过通告获取的BIER参数集,生成路由表及转发表。
例如,PE 5发送了图24示出的BIER信息sub-TLV。图24中的sub-sub-TLV中携带了bypass label,bypass label的值为31。
图25展示了新增的sub-sub-TLV,用于携带anycast label,anycast label的值为30。
图26展示了PE6的BIER信息子TLV。
PE3收到PE5和PE6的BIER信息子TLV后,PE3会解析出anycast label及bypasslabel。
PE3的anycast label的值为20,PE3的bypass label的值为21。当PE3解析得到PE5的anycast label 30时,PE3对PE5的anycast label与自己的anycast label比较,发现两者不一致,则将该label 30记录为到当前<sub-domain,SI,BSL>中到BFR-ID 5的下一跳的label,并记录出接口为与PE5直连的接口。同理,PE3到BFR-ID 6的下一跳label也为30。
步骤3:生成BIFT表
PE3在BIFT表中,将PE5的BFR-ID以及PE6的BFR-ID这两个BFR-ID合并至同一条F-BM。例如参考下表21,表21示出了PE 3的BIFT,PE 3的BIFT的索引为<SD:1,SI:1,BSL:64>。PE5的BFR-ID为5,PE6的BFR-ID为6,则生成一个长度为64的比特串,将比特串右数第5个比特位和从右数第6个比特位置位,获得F-BM 110000。为了简化示意,在此示出F-BM最后的6个比特,F-BM中前58个比特均为0,F-BM中前58个比特在此省略未示出。F-BM对应的下一跳label为30。PE3到PE5的链路、PE3到PE6的链路为等价链路,则BFR-NBR为PE5和PE6,出接口分别为PE3到PE5的接口以及PE3到PE6的接口。
表21
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE5 | 与PE5直连接口 | 30 |
110000 | PE6 | 与PE6直连接口 | 30 |
同理,PE1生成BIFT,如下表22所示。PE 1的BIFT的索引为<SD:1,SI:1,BSL:64>。
表22
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE3 | 与PE3直连接口 | 20 |
110000 | PE4 | 与PE4直连接口 | 20 |
PE6收到PE5的BIER信息子TLV,解析BIER信息子TLV中的sub-sub-TLV,解析出的label为30,与本机的anycast label 30一致。PE6解析出bypass label为31,将label 31记录为到当前<sub-domain,SI,BSL>BIFT表中的BFR-ID 5的下一跳label,如表23所示。
表23
F-BM | BFR-NBR | 出接口 | 下一跳label |
010000 | PE5 | 与PE5直连接口 | 31 |
同理PE5生成表24示出的BIFT表项。
表24
F-BM | BFR-NBR | 出接口 | 下一跳label |
100000 | PE6 | 与PE6直连接口 | 32 |
步骤4:转发组播数据报文。
组播源发送组播数据报文1,组播数据报文1的目的接收者为接入PE5的接收者2。
PE1接收组播数据报文1后,向组播数据报文1添加包含比特串的报文头,获得组播数据报文2。比特串包含了该报文需要到达的目的BFER,即PE5的BFR-ID,比特串为010000。PE1根据比特串与PE1上BIFT中F-BM对比的结果,得出下一跳label为label 20,出接口为指向PE3或PE4的接口。当PE1上到达PE1的邻居有两个出接口时,PE1选取其中一个出接口转发组播数据报文2。
当PE1通过指向PE3的接口发送组播数据报文2后,PE3收到组播数据报文2。PE3比对组播数据报文2中的比特串与BIFT,得出下一跳label为30,PE3从指向PE5的出接口转发组播数据报文3,组播数据报文3是基于组播数据报文2获得的,组播数据报文3中的比特串是基于组播数据报文2中的比特串与PE3的BIFT中F-BM进行与操作获得的。
组播数据报文3到达PE5后,PE5对组播数据报文3中的比特串与PE5上F-BM比对后,发现本机为目的BFER,则PE5解封装组播数据报文3包含比特串的报文头,获得组播数据报文4,PE5向接收者2发送组播数据报文4,完成BIER流量转发。
步骤5-1:中间链路故障
例如,图27示出了PE3与PE5之间的链路发生故障的场景,当发生链路故障后,PE3接收组播数据报文2,查找BIFT,仍然可以得出到达BFR-ID 5的label为30,BFR邻居为PE6,出接口为接口3,则PE3通过接口3,将基于组播数据报文2获得的组播数据报文3转发到PE6。例如,表25示出了PE3的BIFT表中的条目,PE3中BIFT的索引为<SD:1,SI:1,BSL:64>。
表25
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE5 | 与PE5直连接口 | 30 |
110000 | PE6 | 与PE6直连接口 | 30 |
步骤5-2:中间节点故障
图28示出了节点故障的场景,例如,PE3发生故障。PE1接收到组播数据报文1,将组播数据报文1添加包含比特串的报文头,获得组播数据报文2。比特串包含了该报文需要到达的目的BFER,即PE5的BFR-ID,比特串为010000。PE1上的BIFT如下表26所示。PE1在发送得组播数据报文2时,根据表26示出的BIFT,从与PE4直连的出接口发送组播数据报文2。
表26
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE4 | 与PE4直连接口 | 20 |
当PE4接收到组播数据报文2后,PE4根据组播数据报文2以及下表27示出的BIFT获得组播数据报文3,从与PE5直连的接口发送组播数据报文3。组播数据报文3中的比特串是组播数据报文2中的比特串以及F-BM 110000获得的。
表27
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE5 | 与PE5直连接口 | 30 |
110000 | PE6 | 与PE6直连接口 | 30 |
步骤6:站点内部报文转发。
当组播数据报文3到达PE6后,PE6查找表28示出的BIFT,比对后得出下一跳label为31,PE6基于组播数据报文3以及表28获得组播数据报文4,通过出接口4发送组播数据报文4,使得组播数据报文4转发至PE5。
此时,即使中间链路发生了故障,端到端的报文转发流程仍然能够持续进行,且故障后无需进行路由收敛,到达PE3上的报文也不会因为路由未完成收敛而被丢弃。
表28
F-BM | BFR-NBR | 出接口 | 下一跳label |
010000 | PE5 | 与PE5直连接口 | 31 |
下面结合图29示出的BIER-MPLS场景描述实施例,图29示出的场景中,PE3与PE6无直连链路。
如图29所示,组播的根节点为组播源直连的站点1。组播的叶子节点为组播接收者直接连的站点3。站点2代表中间设备。根节点和叶子节点均使能BIER能力,作为BFR节点,分配BFR ID,本例中站点1和站点3分别作为BFIR和BFER。接口1为PE3上到PE4的出接口,接口2为PE3上到PE5的出接口。接口3为PE4上到PE6的出接口,接口4为PE6到PE5的出接口。
与上一场景相比的区别为,PE3与PE6之间无直连链路。针对图41示出的场景,实施例包括如下步骤1至步骤5。
步骤1、部署BIER-MPLS
根节点、叶子节点和中间节点统一配置BIER sub-domain ID为1,BSL为64,SI为1。根节点以及各个叶子节点中每台设备的BFR-ID各不相同;中间节点不配置BFR-ID,但支持BIER转发。
同站点的两台设备配置相同的anycast BIER-MPLS label以及不同的bypassBIER-MPLS label;不同站点配置不同的anycast BIER-MPLS label。
同站点内两台设备部署IGP BIER,站点内两台设备建立BIER转发表,报文可以在站点内通过BIER转发。不同站点间使能BGP,打通全局的路由转发功能。例如,请参考下表29,表29示出了每个设备上配置的参数。
表29
步骤2:通告BIER的参数集以及生成BIFT。
各个设备通过部署的IGP,在BIER子域中泛洪BIER的参数集。每台设备基于接收到的参数集,生成BIER路由表及BIER转发表。由于PE3到PE5的链路比PE3到PE6的链路更优,因此PE3将PE5作为BFR-NBR。BIFT表中只有一个出接口。
PE3上生成的BIFT表如下表30所示。
表30
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE5 | 与PE5直连接口 | 30 |
PE4上生成的BIFT表如下表31所示。
表31
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE6 | 与PE6直连接口 | 30 |
PE5根据bypass BIER-MPLS label,生成如下表32示出的BIFT,PE6根据bypassBIER-MPLS label,生成了如下表33示出的BIFT表。
表32
F-BM | BFR-NBR | 出接口 | 下一跳label |
100000 | PE6 | 与PE6直连接口 | 32 |
表33
F-BM | BFR-NBR | 出接口 | 下一跳label |
010000 | PE5 | 与PE5直连接口 | 31 |
步骤3:转发组播数据报文。
根节点发送组播数据报文1,组播数据报文1的目的接收者为BFR-ID 5对应的PE5连接的接收者2。
PE1收到组播数据报文1后,向组播数据报文1添加包含比特串的报文头,获得组播数据报文2。比特串包含了该报文需要到达的目的BFER的BFR-ID,比特串为010000。PE1根据比特串与PE1上BIFT中F-BM对比的结果,得出下一跳label为20,出接口为指向PE3或PE4的接口。当PE1上到达当前邻居有两个出接口时,PE1选取其中一个转发组播数据报文2。
当PE1由指向PE3的接口发送组播数据报文2时,PE3收到组播数据报文2后,PE3比对组播数据报文2中的比特串与BIFT,得出下一跳label为30,基于组播数据报文2以及BIFT获得组播数据报文3,从指向PE5的出接口发送组播数据报文3。
组播数据报文3到达PE5后,PE 5比对组播数据报文3中的比特串与PE 5上的BIFT后,发现本机为目的设备,则解封装组播数据报文3中包含比特串的报文头,得到组播数据报文4,完成BIER流量转发。
步骤4-1:中间链路故障
图30示出了链路故障的场景,如图30所示,当PE3与PE5之间的链路发生故障。PE3收敛BFR-NBR到PE4,PE3将与PE4直连的本地接口作为出接口,得到表34示出的BIFT。
表34
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE4 | 与PE4直连接口 | 22 |
在PE4上,原先就有到达PE6的转发表项,因此从PE3到PE6的转发路径可以打通。而PE3与BFR-ID5的转发路径由站点内PE6上到PE5的路由打通。
在PE3将出接口由接口2更新为接口1的过程中,比非anycast场景要快,收敛到PE4后,直接使用到PE6的路由,不会发生微环。
非anycast场景,当各台设备未使用anycast label时,同样的故障发生时,PE3更新出接口为接口1后,PE4上由于仍按以PE5为目的地来学习邻居,到达PE5的路由不像anycast场景,可以直接朝PE6方向选路。PE4可能还未感知到[PE3-PE5]已经不通,仍然认为[PE4-PE3-PE5]与[PE4-PE6-PE5]都是可选的路径。当PE4又将PE3选定为到PE5的下一跳时,就发生了微环。而上述的微环行为可能不止发生一次,则会造成链路故障后的持续丢包,直到微环行为停止。
因此,使用anycast label,可以避免链路故障后的微环问题,加快链路收敛及选路切换,达到快速流量保护的目的。
步骤4-2:中间节点故障
以PE3发生故障为例,如图31所示,在PE3发生故障前,PE1上的BIFT如下表35所示。在PE3发生故障后,PE1上的BIFT如下表36所示。PE1接收来自组播源的组播数据报文1,向组播数据报文1添加包含比特串的报文头,获得组播数据报文2。报文头中比特串为010000,PE1在转发报文时,PE1根据表36示出的BIFT,从与PE2直连的出接口发送组播数据报文2。
表35
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE3 | 与PE3直连接口 | 20 |
表36
当组播数据报文2到达PE4上后,PE4根据表37示出的BIFT以及组播数据报文2,获得组播数据报文3,PE4从与PE6直连的接口转发组播数据报文3。
表37
F-BM | BFR-NBR | 出接口 | 下一跳label |
110000 | PE6 | 与PE6直连接口 | 30 |
步骤5:站点内部报文转发。
当组播数据报文3到达PE6后,PE6根据组播数据报文3的报文头中的比特串,查找表38示出的BIFT,比对后得出下一跳label为31。PE6根据组播数据报文3获得组播数据报文4。PE6通过与PE5直连接口发送组播数据报文4,使得组播数据报文4转发至PE5。
表38
F-BM | BFR-NBR | 出接口 | 下一跳label |
010000 | PE5 | 与PE5直连接口 | 31 |
下面结合图32示出的场景为例描述实施例。
图32示出了BIERv6 PE3与PE6有直连链路组网场景。
如图32所示的场景,组播根节点为组播源直连的总部站点1。组播叶子节点为组播接收者直接连的站点3。站点2代表中间节点。组播源与接收者均使能BIERv6能力,作为BFR节点,分配BFRID,本例中站点1和站点3分别作为BFIR和BFER。接口1为PE3上到PE4的出接口,接口2为PE3上到PE5的出接口,接口3为PE3上到PE6的出接口。
本实施例包括如下步骤1至步骤6。
步骤1:部署BIERv6
PE1至PE6统一配置BIER sub-domain ID为1,BSL为64,SI为1。根节点和叶子节点的BFR-ID各不相同;中间节点不配置BFR-ID,但支持BIERv6转发;
同站点的两台设备配置相同的anycast End.BIER以及不同的bypass End.BIER;不同站点配置不同的anycast End.BIER。
同站点内两台设备部署IGP BIER,站点内两台设备建立BIERv6转发表,报文可以在站点内通过BIERv6的方式转发。表39示出了各个设备上配置的参数。
表39
步骤2:泛洪BIER的参数集。
BIER子域中的每个设备通过部署的IGP,泛洪BIER的参数集。每台设备基于接收到的BFR-ID,生成F-BM。
PE3收到PE5和PE6的BIERv6信息sub-TLV,BIERv6信息sub-TLV中包含了携带End.BIER的sub-sub-TLV。PE5发送的BIERv6信息sub-TLV如图33所示。PE6发送的BIERv6信息sub-TLV如图34所示。PE3解析sub-sub-TLVs中的bypass End.BIER及anycastEnd.BIER。PE3的anycast End.BIER为2::1,bypass End.BIER为2::2。当PE3解析出PE5的anycastEnd.BIER为3::1时,与PE3自己的anycast End.BIER不一致,则PE3将3::1记录为当前<sub-domain,SI,BSL>中到BFR-ID 5的下一跳End.BIER。同理,PE3到BFR-ID6的下一跳End.BIER也为3::1。
PE6收到PE5的BIERv6信息sub-TLV,解析BIERv6信息sub-TLV中的sub-sub-TLV,解析出的anycast End.BIER为3::1时,与本机的anycast End.BIER一致,而解析的bypassEnd.BIER为3::2,则将bypass End.BIER3::2记录为到当前<sub-domain,SI,BSL>中BFR-ID5的下一跳End.BIER。
步骤3:生成BIFT表。
由于从PE3到PE5的链路、从PE3到PE6的链路为等价链路,因此PE3将PE5和PE6都作为BFR-NBR,并在BIFT表中体现它们的出接口和下一跳。PE3上生成的BIFT表如表40所示。
表40
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE5 | 与PE5直连接口 | 3::1 |
110000 | PE6 | 与PE6直连接口 | 3::1 |
PE5根据解析到的bypass BIER-MPLS label,生成了如表41示出的BIFT表,PE6根据解析到的bypass BIER-MPLS label,生成了如表42示出的BIFT表。
表41
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
100000 | PE6 | 与PE6直连接口 | 3::3 |
表42
步骤4:转发组播数据报文。
根节点发送组播数据报文1,组播数据报文1的目的接收者为BFR-ID为5的PE5连接的组播接收者2。
当PE1收到组播数据报文1后,PE1向组播数据报文1添加包含比特串以及End.BIERSID的报文头,获得组播数据报文2。报文头中比特串包含了该报文需要到达的目的BFER的BFR-ID,比特串为010000。
PE1根据比特串与PE1上如表43示出的BIFT中F-BM对比的结果,得到出接口为指向PE3或PE4的接口。当到达当前邻居有两个出接口时,PE1选取其中一个出接口发送组播数据报文2,两个接口都有可能用于转发组播数据报文2。
表43
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE3 | 与PE3直连接口 | 2::1 |
110000 | PE4 | 与PE4直连接口 | 2::1 |
当组播数据报文2由PE1上指向PE3的接口转出后,PE3收到组播数据报文2。PE3比对组播数据报文2的报文头中比特串与BIFT中的F-BM,得出邻居为PE5,则PE2从指向PE5的出接口转发基于组播数据报文2获得的组播数据报文3。
表44
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE5 | 与PE5直连接口 | 3::1 |
110000 | PE6 | 与PE6直连接口 | 3::1 |
组播数据报文3到达PE5后,PE5比对组播数据报文3的报文头中的比特串与PE5的BIFT后,PE5发现本机为目的设备,则剥离组播数据报文3包含比特串的报文头,将获得的组播数据报文4转发至组播接收者2,完成BIER流量转发。
步骤5-1:中间链路故障。
图35示出了一种链路故障场景,如图35所示,PE3与PE5之间的链路发生故障。此时PE3接收到组播数据报文2时,PE3查找表45示出的BIFT,得出下一跳为PE5或者PE6,此时由于PE3到达PE6的出接口2由于链路故障已经不可用,则PE3使用到达PE5的接口3,将基于组播数据报文2获得的组播数据报文3转发到PE6。
表45
步骤5-2:中间节点故障。
以PE3发生故障为例,PE1基于来自组播源的组播数据报文1,获得组播数据报文2,组播数据报文2的报文头中的比特串为010000。PE1根据表47示出的BIFT转发组播数据报文2时,从与PE4直连的出接口转发组播数据报文2。
表46
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE3 | 与PE3直连接口 | 2::1 |
110000 | PE4 | 与PE4直连接口 | 2::1 |
当组播数据报文2到PE4上后,PE4根据组播数据报文2以及表47示出的BIFT表项,获得组播数据报文3,从与PE5直连的接口以及与PE6直连的接口其中的一个接口发送组播数据报文3,使得组播数据报文3到达目的站点。
表47
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE5 | 与PE5直连接口 | 3::1 |
110000 | PE6 | 与PE6直连接口 | 3::1 |
步骤6:站点内部报文转发。
当组播数据报文3到达PE6后,PE6基于组播数据报文3的报文头中的比特串,查找表48示出的BIFT,比对比特串与BIFT中的F-BM后,得出下一跳End.BIER为3::2,PE6从出接口4将基于组播数据报文3获得的组播数据报文转到PE5。
此时,即使中间链路发生了故障,端到端的报文转发流程仍然能够持续进行。且故障后无需进行路由收敛,到达PE3上的报文也不会因为路由未完成收敛而被丢弃。
表48
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
010000 | PE5 | 与PE5直连接口 | 3::2 |
下面对图37示出的组网场景举例说明,图37是BIERv6 PE3与PE6无直连链路的具体示例。如图37所示,组播根节点为组播源直连的站点1。组播叶子节点为组播接收者直接连的站点3。站点2代表中间设备。
组播源与接收者均使能BIERv6能力,作为BFR节点,分配BFR-ID,本例中站点1和站点3分别作为BFIR和BFER。接口1为PE3到PE4的出接口,接口2为PE3到PE5的出接口。接口3为PE4到PE6的出接口。接口4为PE6到PE5的出接口。
如图37的场景下,实施例包括如下步骤1至步骤6。
步骤1:部署BIERv6。
PE1至PE6统一配置BIER sub-domain ID为1,BSL为64,SI为1。根节点和叶子节点每台设备的BFR-ID各不相同;中间节点不配置BFR-ID,但支持BIERv6转发。
同站点的两台设备配置相同的anycast End.BIER SID以及不同的bypassEnd.BIER SID。不同站点配置不同的anycast End.BIER SID。表49示出了各个设备上配置的参数。
同站点内两台设备部署IGP BIER,站点内两台设备建立BIERv6转发表,报文可以在站点内BIERv6转发。
表49
设备 | BFR-ID | anycast End.BIER | bypass End.BIER | BFR-prefix |
PE1 | 1 | 1::1 | 1::2 | 11::1 |
PE2 | 2 | 1::1 | 1::3 | 11::2 |
PE3 | -- | 2::1 | 2::2 | 12::1 |
PE4 | -- | 2::1 | 2::3 | 12::2 |
PE5 | 5 | 3::1 | 3::2 | 13::1 |
PE6 | 6 | 3::1 | 3::3 | 13::2 |
步骤2:通告BIERv6信息以及生成BIFT。
各个设备通过部署的IGP,在BIER子域内泛洪BIER的参数集。每台设备基于接收到的BIER的参数集,生成BIER路由表及BIER转发表。
PE3收到PE5和PE6的BIERv6信息子TLV,该sub-TLV中包含了携带End.BIER的sub-sub-TLV。PE 5发送的BIERv6信息子TLV如图38所示,PE6发送的BIERv6 Info sub-TLV如图39所示。
PE3解析sub-sub-TLV中的bypass End.BIER及anycast End.BIER。PE3的anycastEnd.BIER为2::1,bypass End.BIER为2::2。当解析出PE5的anycast End.BIER为3::1时,与自己的anycast End.BIER不一致,则将3::1记录为当前<sub-domain,SI,BSL>中到BFR-ID5的下一跳End.BIER。同理,PE3到BFR-ID 6的下一跳End.BIER也为3::1。
PE6收到PE5的BIERv6 Info,解析sub-sub-TLV,解析出的anycast End.BIER为3::1时,与本机的anycast End.BIER一致,而解析的bypass End.BIER为3::2,则将3::2记录为到当前<sub-domain,SI,BSL>中BFR-ID 5的下一跳End.BIER。
步骤3:BIFT表及路由生成。
由于PE3到PE5与PE3到PE6不为等价路由,且到PE5的路由更优,因此将PE3到PE5直连的接口作为出接口。PE3上生成的BIFT表如下表50所示。
表50
PE5根据解析到的bypass BIER-MPLS label,生成了BIFT表如下表51所示。
PE6根据解析到的bypass BIER-MPLS label,生成了BIFT表如下表52所示。
表51
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
100000 | PE6 | 与PE6直连接口 | 3::3 |
表52
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
010000 | PE5 | 与PE5直连接口 | 3::2 |
步骤4:转发组播数据报文。
组播源发送组播数据报文1,组播数据报文1的目的接收者为BFR-ID 5对应的PE5连接的接收者2。
PE1收到组播数据报文1后,向组播数据报文1封装包含比特串以及End.BIER SID的报文头,获得组播数据报文2。报文头中比特串包含了该报文需要到达的目的地BFR-ID,比特串为010000。PE 1根据比特串与PE1上BIFT中F-BM对比的结果,得出BFR-邻居为2::1,PE1查找转发表,得到出接口为指向PE3或PE4的接口。当到达当前邻居有两个出接口时,选取其中一个发送组播数据报文2。两个接口都有可能用于转发组播数据报文2。
当组播数据报文2由指向PE3的接口转出时,PE3收到组播数据报文2后,PE3比对组播数据报文2中的比特串与BIFT,得出邻居的End.BIER SID为3::1,通过指向PE5的出接口发送基于组播数据报文2获得的组播数据报文3。
组播数据报文3到达PE5后,PE5比对组播数据报文3中的比特串与PE5的BIFT后,PE5发现本机为目的设备,则解封装组播数据报文3中包含比特串以及End.BIER SID的报文头,获得组播数据报文4,向接收者2发送组播数据报文4,完成BIER流量转发。
步骤5-1:中间链路故障。
图40示出了一种链路故障的场景,PE3与PE5之间的链路发生故障,此时PE3根据已经到达PE3的组播数据报文2中的比特串,查找BIFT,得出下一跳End.BIER为3::1,但BIER转发表中到PE5的表项已不可用,则需要重新收敛到PE4。PE3上到达BFR邻居PE4的出接口为3,则PE3使用接口3,将基于组播数据报文2获得的组播数据报文3转发到PE6。
步骤5-2:中间节点故障。
图41示出了一种节点故障场景,以PE3发生故障为例,在PE3故障前,PE1上BIFT如表53所示,在PE3故障后,PE1上BIFT如表54所示。则PE1基于来自组播源的组播数据报文1,获得组播数据报文2,组播数据报文2中的比特串为010000。PE1在转发组播数据报文2时,根据表53示出的从与PE2直连的出接口发送组播数据报文2。PE2接收到组播数据报文2后,PE2基于组播数据报文2的比特串,查找PE2的BIFT,并获得组播数据报文3,PE2向PE4发送组播数据报文3。
表53
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE3 | 与PE3直连接口 | 2::1 |
表54
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE2 | 与PE2直连接口 | 1::3 |
在PE3故障后,PE4上BIFT如表55所示。当组播数据报文3到达PE4上后,PE4从与PE6直连的接口转发基于组播数据报文3获得的组播数据报文4。
表55
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
110000 | PE6 | 与PE6直连接口 | 3::1 |
步骤6:站点内部报文转发。
组播数据报文4到达PE6后,PE6根据组播数据报文4的报文头中的比特串查找如下表56示出的BIFT,比对比特串以及F-BM后,得出下一跳End.BIER为3::2,PE6从出接口4将基于组播数据报文4获得的组播数据报文5发送到PE5。
表56
F-BM | BFR-NBR | 出接口 | 下一跳End.BIER |
010000 | PE5 | 与PE5直连接口 | 3::2 |
此时,即使中间链路发生了故障,端到端的报文转发流程仍然能够持续进行。且故障后无需进行路由收敛,到达PE3上的组播数据报文也不会因为路由未完成收敛而被丢弃。
附图42是本申请实施例提供的一种对应关系的获取装置700的结构示意图。对应关系的获取装置700设于第二站点内第二转发设备,包括接收单元701和处理单元702。
接收单元701,用于接收来自第一站点内第一转发设备的第一参数集,第一参数集包括第一任播标签、第一转发设备的BFR-ID以及第一转发设备的BFR prefix,第一任播标签用于标识第一站点;接收单元701,还用于接收来自第一站点内第三转发设备的第二参数集,第二参数集包括第二任播标签、第三转发设备的BFR-ID以及第三转发设备的BFRprefix,第二任播标签用于标识第一站点;
处理单元702,用于基于第一参数集以及第三转发设备的BFR-ID获得第一对应关系,第一对应关系包括与第一转发设备的BFR-ID以及第三转发设备的BFR-ID匹配的转发比特掩码F-BM、第一任播标签以及与第一转发设备的BFR prefix匹配的下一跳;处理单元702,还用于基于第二参数集以及第一转发设备的BFR-ID获得第二对应关系,第二对应关系包括与第一转发设备的BFR-ID以及第三转发设备的BFR-ID匹配的F-BM、第二任播标签以及与第三转发设备的BFR prefix匹配的下一跳。
在一些实施方式中,处理单元702,用于基于第一任播标签以及第二任播标签,确定第一转发设备以及第三转发设备属于第一站点;基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;基于F-BM、第一任播标签以及第一转发设备的BFR prefix,获得第一对应关系,第一对应关系包括F-BM、第一任播标签以及第一转发设备的BFR prefix。
在一些实施方式中,处理单元702,用于基于第一任播标签以及第二任播标签,确定第一转发设备以及第三转发设备属于第一站点;基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;基于第一转发设备的BFR prefix,确定第二转发设备上到达第一转发设备的第一出接口;基于F-BM、第一任播标签、第一转发设备的BFR prefix以及第一出接口,获得第一对应关系,第一对应关系包括F-BM、第一任播标签、第一转发设备的BFRprefix以及第一出接口。
在一些实施方式中,处理单元702,用于基于第一任播标签以及第二任播标签确定第一转发设备以及第三转发设备均属于第一站点;基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;基于F-BM、第二任播标签以及第三转发设备的BFR prefix,获得第二对应关系,第二对应关系包括F-BM、第二任播标签以及第三转发设备的BFR prefix。
在一些实施方式中,处理单元702,用于基于第一任播标签以及第二任播标签确定第一转发设备以及第三转发设备均属于第一站点;基于第一转发设备的BFR-ID以及第三转发设备的BFR-ID,获得F-BM;基于第三转发设备的BFR prefix,确定第二转发设备上到达第三转发设备的第二出接口;基于F-BM、第二任播标签、第三转发设备的BFR prefix以及第二出接口,获得第二对应关系,第二对应关系包括F-BM、第二任播标签、第三转发设备的BFRprefix以及第二出接口。
在一些实施方式中,第一任播标签和第二任播标签均为标签;或,第一任播标签和第二任播标签均为IPv6目的地址。
在一些实施方式中,第一参数集还包括第一转发设备的比特串长度BSL、第一转发设备所属的集合标识SI以及第一转发设备所处的BIER子域的标识其中的一个或多个;
第二参数集还包括第三转发设备的比特串长度BSL、第三转发设备所属的集合标识SI以及第三转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,接收单元701,用于接收来自第一转发设备的第一通告报文,第一通告报文包括BIER信息子TLV,BIER信息子TLV包括第一任播标签;接收来自第一站点内第一转发设备的第二通告报文,第二通告报文包括BIER信息子TLV,BIER信息子TLV包括第二任播标签。
在一些实施方式中,第一通告报文以及第二通告报文为IGP报文;或者,第一通告报文以及第二通告报文为BGP报文。
在一些实施方式中,第一转发设备为BFER,第二转发设备为transit BFR;或者,第一转发设备为transit BFR,第二转发设备为BFIR;或者,第一转发设备以及第二转发设备为相邻的transit BFR。
在一些实施方式中,处理单元702,还用于:获得第一BIER报文,第一BIER报文包括第一比特串、第二转发设备的标签以及组播数据报文,第一比特串与第一转发设备的BFR-ID和第三转发设备的BFR-ID中的一个或多个对应;基于第一BIER报文以及第一对应关系获得第二BIER报文,第二BIER报文包括第二比特串、第一任播标签以及组播数据报文,第二比特串是基于第一比特串与第一对应关系中的F-BM获得的;装置还包括:发送单元,用于发送第二BIER报文。
在一些实施方式中,发送单元,用于若与第一转发设备的BFR prefix匹配的下一跳处于故障状态,向第二对应关系中的与第三转发设备的BFR prefix匹配的下一跳发送第二BIER报文;或者,若与第三转发设备的BFR prefix匹配的下一跳处于故障状态,向第一对应关系中的与第一转发设备的BFR prefix匹配的下一跳发送第二BIER报文;或者,若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFRprefix匹配的下一跳其中链路开销最小的一者发送第二BIER报文;或者,若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送第二BIER报文;或者,若与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向与第一转发设备的BFR prefix匹配的下一跳和与第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送第二BIER报文。
附图42所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
对应关系的获取装置700中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。
下面结合后文描述的硬件装置900,描述使用硬件或软件来实现对应关系的获取装置700中的各个功能单元的一些可能实现方式。
在采用软件实现的情况下,例如,上述处理单元702是由附图44中的至少一个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。
在采用硬件实现的情况下,例如,附图42中上述各个单元由转发设备中的不同硬件分别实现,例如处理单元702由附图44中的至少一个处理器901中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。接收单元701由附图44中的网络接口903实现。
附图43是本申请实施例提供的一种参数通告装置800的结构示意图,装置800设于第一站点内第一转发设备,包括:处理单元801,用于获得第一参数集,第一参数集包括第一任播标签、第一转发设备的BFR-ID以及第一转发设备的BFR prefix,第一任播标签用于标识第一站点;发送单元802,用于向第二站点内第二转发设备发送第一参数集。
在一些实施方式中,第一任播标签为标签或IPv6目的地址。
在一些实施方式中,第一参数集还包括第一转发设备的比特串长度BSL、第一转发设备所属的集合标识SI以及第一转发设备所处的BIER子域的标识其中的一个或多个。
在一些实施方式中,发送单元802,用于向第二转发设备发送第一通告报文,第一通告报文包括BIER信息子TLV,BIER信息子TLV包括第一任播标签。
在一些实施方式中,第一通告报文为IGP报文或者BGP报文。
在一些实施方式中,第一转发设备为BFER,第二转发设备为transit BFR;或者,第一转发设备为transit BFR,第二转发设备为BFIR;或者,第一转发设备以及第二转发设备为相邻的transit BFR。
在一些实施方式中,装置还包括:接收单元,用于接收来自第一站点内第三转发设备的第三参数集,第三参数集包括第一bypass标签、第三转发设备的BFR-ID以及第三转发设备的BFR prefix,第一bypass标签用于标识第三转发设备;
处理单元801,还用于基于第三参数集获得第三对应关系,第三对应关系包括第一bypass标签、与第三转发设备的BFR-ID匹配的F-BM以及与第三转发设备的BFR prefix匹配的下一跳。
在一些实施方式中,接收单元,还用于接收第一BIER报文,第一BIER报文包括第三转发设备的BFR-ID对应的第一比特串、第一任播标签以及组播数据报文;处理单元801,还用于基于第一BIER报文以及第三对应关系获得第二BIER报文,第二BIER报文包括第二比特串、第一bypass标签以及组播数据报文,第二比特串是基于第一比特串与第三对应关系中的F-BM获得的比特串;发送单元802,还用于向第三转发设备发送第二BIER报文。
在一些实施方式中,处理单元801,还用于获得第四参数集,第四参数集包括第二bypass标签、第一转发设备的BFR-ID以及第一转发设备的BFR prefix,第二bypass标签用于标识第一转发设备;发送单元802,还用于向第三转发设备发送第四参数集。
附图43所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元801中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
参数通告装置800中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。
下面结合后文描述的硬件装置900,描述使用硬件或软件来实现参数通告装置800中的各个功能单元的一些可能实现方式。
在采用软件实现的情况下,例如,上述处理单元801是由附图44中的至少一个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。
在采用硬件实现的情况下,例如,附图43中上述各个单元由转发设备中的不同硬件分别实现,例如处理单元801由附图44中的至少一个处理器901中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。发送单元802由附图44中的网络接口903实现。
附图44是本申请实施例提供的一种转发设备900的结构示意图。
转发设备900包括至少一个处理器901、存储器902以及至少一个网络接口903。
处理器901例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器902例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器902独立存在,并通过内部连接904与处理器901相连接。或者,可选地存储器902和处理器901集成在一起。
网络接口903使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口903例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。
在一些实施例中,处理器901包括一个或多个CPU,如附图44中所示的CPU0和CPU1。
在一些实施例中,转发设备900可选地包括多个处理器,如附图44中所示的处理器901和处理器905。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施例中,转发设备900还包括内部连接904。处理器901、存储器902以及至少一个网络接口903通过内部连接904连接。内部连接904包括通路,在上述组件之间传送信息。可选地,内部连接904是单板或总线。可选地,内部连接904分为地址总线、数据总线、控制总线等。
在一些实施例中,转发设备900还包括输入输出接口906。输入输出接口906连接到内部连接904上。
可选地,处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法,或者,处理器901通过内部存储的程序代码实现上述实施例中的方法。在处理器901通过读取存储器902中保存的程序代码实现上述实施例中的方法的情况下,存储器902中保存实现本申请实施例提供的方法的程序代码910。
处理器901实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可互相参考,每个实施例重点说明的都是与其他实施例的不同之处。
A参考B,指的是A与B相同或者A为B的简单变形。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,也不能理解为指示或暗示相对重要性。例如,第一对应关系和第二对应关系用于区别不同的对应关系,而不是用于描述对应关系的特定顺序,也不能理解为第一对应关系比第二对应关系更重要。
本申请实施例,除非另有说明,“至少一个”的含义是指一个或多个,“多个”的含义是指两个或两个以上。例如,多个对应关系是指两个或两个以上的对应关系。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例描述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (45)
1.一种对应关系的获取方法,其特征在于,包括:
第二站点内第二转发设备接收来自第一站点内第一转发设备的第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFRprefix,所述第一任播标签用于标识所述第一站点;
所述第二转发设备接收来自所述第一站点内第三转发设备的第二参数集,所述第二参数集包括第二任播标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFRprefix,所述第二任播标签用于标识所述第一站点;
所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,所述第一对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的转发比特掩码F-BM、所述第一任播标签以及与所述第一转发设备的BFRprefix匹配的下一跳;
所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,所述第二对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的F-BM、所述第二任播标签以及与所述第三转发设备的BFR prefix匹配的下一跳。
2.根据权利要求1所述的方法,其特征在于,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,包括:
所述第二转发设备基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;
所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;
所述第二转发设备基于所述F-BM、所述第一任播标签以及所述第一转发设备的BFRprefix,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签以及所述第一转发设备的BFR prefix。
3.根据权利要求1所述的方法,其特征在于,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,包括:
所述第二转发设备基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;
所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;
所述第二转发设备基于所述第一转发设备的BFR prefix,确定所述第二转发设备上到达所述第一转发设备的第一出接口;
所述第二转发设备基于所述F-BM、所述第一任播标签、所述第一转发设备的BFRprefix以及所述第一出接口,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口。
4.根据权利要求1至3任一所述的方法,其特征在于,所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,包括:
所述第二转发设备基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;
所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;
所述第二转发设备基于所述F-BM、所述第二任播标签以及所述第三转发设备的BFRprefix,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签以及所述第三转发设备的BFR prefix。
5.根据权利要求1至3任一所述的方法,其特征在于,所述第二转发设备基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,包括:
所述第二转发设备基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;
所述第二转发设备基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;
所述第二转发设备基于所述第三转发设备的BFR prefix,确定所述第二转发设备上到达所述第三转发设备的第二出接口;
所述第二转发设备基于所述F-BM、所述第二任播标签、所述第三转发设备的BFRprefix以及所述第二出接口,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一任播标签和所述第二任播标签均为标签;或
所述第一任播标签和所述第二任播标签均为IPv6目的地址。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个;
所述第二参数集还包括所述第三转发设备的比特串长度BSL、所述第三转发设备所属的集合标识SI以及所述第三转发设备所处的BIER子域的标识其中的一个或多个。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第二站点内第二转发设备接收来自第一站点内第一转发设备的第一参数集,包括:所述第二转发设备接收来自所述第一转发设备的第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签;
所述第二转发设备接收来自所述第一站点内第三转发设备的第二参数集,包括:所述第二转发设备接收来自所述第一站点内第一转发设备的第二通告报文,所述第二通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第二任播标签。
9.根据权利要求8所述的方法,其特征在于,所述第一通告报文以及所述第二通告报文为IGP报文;或者
所述第一通告报文以及所述第二通告报文为BGP报文。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述第一转发设备为BFER,所述第二转发设备为transit BFR;或者,
所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,
所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述第二转发设备基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系之后,所述方法还包括:
所述第二转发设备获得第一BIER报文,所述第一BIER报文包括第一比特串、所述第二转发设备的标签以及组播数据报文,所述第一比特串与所述第一转发设备的BFR-ID和所述第三转发设备的BFR-ID中的一个或多个对应;
所述第二转发设备基于所述第一BIER报文以及所述第一对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一任播标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第一对应关系中的F-BM获得的;
所述第二转发设备发送所述第二BIER报文。
12.根据权利要求11所述的方法,其特征在于,所述第二转发设备发送所述第二BIER报文,包括:
若所述与所述第一转发设备的BFR prefix匹配的下一跳处于故障状态,所述第二转发设备向所述第二对应关系中的所述与所述第三转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,
若所述与所述第三转发设备的BFR prefix匹配的下一跳处于故障状态,所述第二转发设备向所述第一对应关系中的所述与所述第一转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者,
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路开销最小的一者发送所述第二BIER报文;或者,
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送所述第二BIER报文;或者,
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,所述第二转发设备向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送所述第二BIER报文。
13.一种参数通告方法,其特征在于,包括:
第一站点内第一转发设备获得第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;
所述第一转发设备向第二站点内第二转发设备发送所述第一参数集。
14.根据权利要求13所述的方法,其特征在于,所述第一任播标签为标签或IPv6目的地址。
15.根据权利要求13或14所述的方法,其特征在于,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个。
16.根据权利要求13至15中任一项所述的方法,其特征在于,所述第一转发设备向第二站点内第二转发设备发送所述第一参数集,包括:
所述第一转发设备向所述第二转发设备发送第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签。
17.根据权利要求16所述的方法,其特征在于,所述第一通告报文为IGP报文或者BGP报文。
18.根据权利要求13至17中任一项所述的方法,其特征在于,所述第一转发设备为BFER,所述第二转发设备为transit BFR;或者,
所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,
所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
19.根据权利要求13至18中任一项所述的方法,其特征在于,所述方法还包括:
所述第一转发设备接收来自所述第一站点内第三转发设备的第三参数集,所述第三参数集包括第一bypass标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFRprefix,所述第一bypass标签用于标识所述第三转发设备;
所述第一转发设备基于所述第三参数集获得第三对应关系,所述第三对应关系包括所述第一bypass标签、所述与第三转发设备的BFR-ID匹配的F-BM以及与所述第三转发设备的BFR prefix匹配的下一跳。
20.根据权利要求19所述的方法,其特征在于,所述第一转发设备向第二站点内第二转发设备发送所述第一参数集之后,所述方法还包括:
所述第一转发设备接收第一BIER报文,所述第一BIER报文包括所述第三转发设备的BFR-ID对应的第一比特串、所述第一任播标签以及组播数据报文;
所述第一转发设备基于所述第一BIER报文以及所述第三对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一bypass标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第三对应关系中的F-BM获得的比特串;
所述第一转发设备向所述第三转发设备发送所述第二BIER报文。
21.根据权利要求13至20中任一项所述的方法,其特征在于,所述方法还包括:
所述第一转发设备获得第四参数集,所述第四参数集包括第二bypass标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第二bypass标签用于标识所述第一转发设备;
所述第一转发设备向所述第三转发设备发送所述第四参数集。
22.一种对应关系的获取装置,其特征在于,设于第二站点内第二转发设备,包括:
接收单元,用于接收来自第一站点内第一转发设备的第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;
所述接收单元,还用于接收来自所述第一站点内第三转发设备的第二参数集,所述第二参数集包括第二任播标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFRprefix,所述第二任播标签用于标识所述第一站点;
处理单元,用于基于所述第一参数集以及所述第三转发设备的BFR-ID获得第一对应关系,所述第一对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的转发比特掩码F-BM、所述第一任播标签以及与所述第一转发设备的BFR prefix匹配的下一跳;
所述处理单元,还用于基于所述第二参数集以及所述第一转发设备的BFR-ID获得第二对应关系,所述第二对应关系包括与所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID匹配的F-BM、所述第二任播标签以及与所述第三转发设备的BFR prefix匹配的下一跳。
23.根据权利要求22所述的装置,其特征在于,所述处理单元用于:
基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述F-BM、所述第一任播标签以及所述第一转发设备的BFRprefix,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签以及所述第一转发设备的BFR prefix。
24.根据权利要求22所述的装置,其特征在于,所述处理单元用于:
基于所述第一任播标签以及所述第二任播标签,确定所述第一转发设备以及所述第三转发设备属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述第一转发设备的BFR prefix,确定所述第二转发设备上到达所述第一转发设备的第一出接口;基于所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口,获得所述第一对应关系,所述第一对应关系包括所述F-BM、所述第一任播标签、所述第一转发设备的BFR prefix以及所述第一出接口。
25.根据权利要求22至24任一所述的装置,其特征在于,所述处理单元用于:
基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述F-BM、所述第二任播标签以及所述第三转发设备的BFRprefix,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签以及所述第三转发设备的BFR prefix。
26.根据权利要求22至24任一所述的装置,其特征在于,所述处理单元用于:
基于所述第一任播标签以及所述第二任播标签确定所述第一转发设备以及所述第三转发设备均属于所述第一站点;基于所述第一转发设备的BFR-ID以及所述第三转发设备的BFR-ID,获得所述F-BM;基于所述第三转发设备的BFR prefix,确定所述第二转发设备上到达所述第三转发设备的第二出接口;基于所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口,获得所述第二对应关系,所述第二对应关系包括所述F-BM、所述第二任播标签、所述第三转发设备的BFR prefix以及所述第二出接口。
27.根据权利要求22至25中任一项所述的装置,其特征在于,所述第一任播标签和所述第二任播标签均为标签;或
所述第一任播标签和所述第二任播标签均为IPv6目的地址。
28.根据权利要求22至27中任一项所述的装置,其特征在于,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个;
所述第二参数集还包括所述第三转发设备的比特串长度BSL、所述第三转发设备所属的集合标识SI以及所述第三转发设备所处的BIER子域的标识其中的一个或多个。
29.根据权利要求22至28中任一项所述的装置,其特征在于,所述接收单元用于:
接收来自所述第一转发设备的第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签;接收来自所述第一站点内第一转发设备的第二通告报文,所述第二通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第二任播标签。
30.根据权利要求29所述的装置,其特征在于,所述第一通告报文以及所述第二通告报文为IGP报文;或者
所述第一通告报文以及所述第二通告报文为BGP报文。
31.根据权利要求22至30中任一项所述的装置,其特征在于,所述第一转发设备为BFER,所述第二转发设备为transit BFR;或者,
所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,
所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
32.根据权利要求22至31中任一项所述的装置,其特征在于,所述处理单元还用于:
获得第一BIER报文,所述第一BIER报文包括第一比特串、所述第二转发设备的标签以及组播数据报文,所述第一比特串与所述第一转发设备的BFR-ID和所述第三转发设备的BFR-ID中的一个或多个对应;基于所述第一BIER报文以及所述第一对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一任播标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第一对应关系中的F-BM获得的;
所述装置还包括:发送单元,用于发送所述第二BIER报文。
33.根据权利要求32所述的装置,其特征在于,所述发送单元用于:
若所述与所述第一转发设备的BFR prefix匹配的下一跳处于故障状态,向所述第二对应关系中的所述与所述第三转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者
若所述与所述第三转发设备的BFR prefix匹配的下一跳处于故障状态,向所述第一对应关系中的所述与所述第一转发设备的BFR prefix匹配的下一跳发送所述第二BIER报文;或者
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路开销最小的一者发送所述第二BIER报文;或者
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中链路网络质量最高的一者发送所述第二BIER报文;或者
若所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳均未处于故障状态,向所述与所述第一转发设备的BFR prefix匹配的下一跳和所述与所述第三转发设备的BFR prefix匹配的下一跳其中的任意一者发送所述第二BIER报文。
34.一种参数通告装置,其特征在于,设于第一站点内第一转发设备,包括:
处理单元,用于获得第一参数集,所述第一参数集包括第一任播标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第一任播标签用于标识所述第一站点;
发送单元,用于向第二站点内第二转发设备发送所述第一参数集。
35.根据权利要求34所述的装置,其特征在于,所述第一任播标签为标签或IPv6目的地址。
36.根据权利要求34或35所述的装置,其特征在于,所述第一参数集还包括所述第一转发设备的比特串长度BSL、所述第一转发设备所属的集合标识SI以及所述第一转发设备所处的BIER子域的标识其中的一个或多个。
37.根据权利要求34至36中任一项所述的装置,其特征在于,所述发送单元用于向所述第二转发设备发送第一通告报文,所述第一通告报文包括BIER信息子TLV,所述BIER信息子TLV包括所述第一任播标签。
38.根据权利要求37所述的装置,其特征在于,所述第一通告报文为IGP报文或者BGP报文。
39.根据权利要求34至38中任一项所述的装置,其特征在于,所述第一转发设备为BFER,所述第二转发设备为transit BFR;或者,
所述第一转发设备为transit BFR,所述第二转发设备为BFIR;或者,
所述第一转发设备以及所述第二转发设备为相邻的transit BFR。
40.根据权利要求34至39中任一项所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收来自所述第一站点内第三转发设备的第三参数集,所述第三参数集包括第一bypass标签、所述第三转发设备的BFR-ID以及所述第三转发设备的BFRprefix,所述第一bypass标签用于标识所述第三转发设备;
所述处理单元还用于基于所述第三参数集获得第三对应关系,所述第三对应关系包括所述第一bypass标签、所述与第三转发设备的BFR-ID匹配的F-BM以及与所述第三转发设备的BFR prefix匹配的下一跳。
41.根据权利要求40所述的装置,其特征在于,
所述接收单元还用于接收第一BIER报文,所述第一BIER报文包括所述第三转发设备的BFR-ID对应的第一比特串、所述第一任播标签以及组播数据报文;
所述处理单元还用于基于所述第一BIER报文以及所述第三对应关系获得第二BIER报文,所述第二BIER报文包括第二比特串、所述第一bypass标签以及所述组播数据报文,所述第二比特串是基于所述第一比特串与所述第三对应关系中的F-BM获得的比特串;
所述发送单元还用于向所述第三转发设备发送所述第二BIER报文。
42.根据权利要求34至41中任一项所述的装置,其特征在于,
所述处理单元还用于获得第四参数集,所述第四参数集包括第二bypass标签、所述第一转发设备的BFR-ID以及所述第一转发设备的BFR prefix,所述第二bypass标签用于标识所述第一转发设备;
所述发送单元还用于向所述第三转发设备发送所述第四参数集。
43.一种转发设备,其特征在于,所述转发设备包括处理器和网络接口,所述转发设备通过所述处理器和所述网络接口,执行如权利要求1至权利要求12中任一项由第二转发设备执行的方法或者如权利要求13至权利要求21中任一项由第一转发设备执行的方法。
44.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行如权利要求1-21中任一项所述的方法。
45.一种计算机程序产品,其特征在于,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行权利要求1-21中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/119562 WO2024061184A1 (zh) | 2022-09-22 | 2023-09-19 | 对应关系的获取方法、参数通告方法、装置、设备及介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211160684 | 2022-09-22 | ||
CN2022111606842 | 2022-09-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117749700A true CN117749700A (zh) | 2024-03-22 |
Family
ID=90253253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211550567.7A Pending CN117749700A (zh) | 2022-09-22 | 2022-12-05 | 对应关系的获取方法、参数通告方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117749700A (zh) |
WO (1) | WO2024061184A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989209B (zh) * | 2017-05-31 | 2022-04-19 | 中兴通讯股份有限公司 | Bier mpls网络设备、及其报文转发方法和介质 |
US11483237B2 (en) * | 2019-04-25 | 2022-10-25 | Nokia Solutions And Networks Oy | BIER traffic engineering (BIER-TE) using unicast MPLS-TE tunnels |
CN114095305A (zh) * | 2020-07-21 | 2022-02-25 | 华为技术有限公司 | Bier报文转发的方法、设备以及系统 |
CN114465946B (zh) * | 2020-11-09 | 2023-08-04 | 华为技术有限公司 | 获取转发表项的方法、装置以及系统 |
CN114945000B (zh) * | 2021-02-07 | 2023-08-15 | 中国移动通信有限公司研究院 | 一种组播报文传输方法、位转发路由器及存储介质 |
-
2022
- 2022-12-05 CN CN202211550567.7A patent/CN117749700A/zh active Pending
-
2023
- 2023-09-19 WO PCT/CN2023/119562 patent/WO2024061184A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024061184A1 (zh) | 2024-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11700198B2 (en) | Transmission control method, node, network system and storage medium | |
WO2021063232A1 (zh) | 建立bier转发表项的方法、装置和系统 | |
US11303515B2 (en) | IP MPLS PoP virtualization and fault tolerant virtual router | |
CN109873760B (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US11689452B2 (en) | Method for forwarding service data, network device, and network system | |
US9832031B2 (en) | Bit index explicit replication forwarding using replication cache | |
EP3103230B1 (en) | Software defined networking (sdn) specific topology information discovery | |
US20200396162A1 (en) | Service function chain sfc-based communication method, and apparatus | |
CN110912796B (zh) | 一种通信方法、设备和系统 | |
KR20140119775A (ko) | 링크 상태 프로토콜 제어형 이더넷 네트워크를 통한 ip 포워딩 | |
KR20100106560A (ko) | 링크 상태 프로토콜 제어형 이더넷 네트워크를 통한 vpn의 구현 | |
CN106572021B (zh) | 一种实现网络虚拟化叠加的方法与网络虚拟化边缘节点 | |
CN112118182A (zh) | 发送流量工程的ip路径隧道 | |
US20160226753A1 (en) | Scheme for performing one-pass tunnel forwarding function on two-layer network structure | |
US11362954B2 (en) | Tunneling inter-domain stateless internet protocol multicast packets | |
US11323371B1 (en) | Micro SID packet processing with operations, administration, and management | |
CN112491706B (zh) | 数据报文的处理方法及装置、存储介质、电子装置 | |
US12058027B2 (en) | Packet transmission method, correspondence obtaining method, apparatus, and system | |
CN114598635A (zh) | 报文传输的方法和装置 | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
US11784919B2 (en) | Method for sending BIERv6 packet and first network device | |
WO2024061184A1 (zh) | 对应关系的获取方法、参数通告方法、装置、设备及介质 | |
US10924395B2 (en) | Seamless multipoint label distribution protocol (mLDP) transport over a bit index explicit replication (BIER) core | |
WO2024007762A1 (zh) | 一种路由发布方法、通信方法及装置 | |
CN116489078A (zh) | 报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |