CN114726783A - 通告路由的方法、装置及系统 - Google Patents
通告路由的方法、装置及系统 Download PDFInfo
- Publication number
- CN114726783A CN114726783A CN202110368478.XA CN202110368478A CN114726783A CN 114726783 A CN114726783 A CN 114726783A CN 202110368478 A CN202110368478 A CN 202110368478A CN 114726783 A CN114726783 A CN 114726783A
- Authority
- CN
- China
- Prior art keywords
- multicast
- information
- route
- attribute
- bgp
- 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 167
- 230000008676 import Effects 0.000 claims description 95
- 238000013138 pruning Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 11
- 230000010076 replication Effects 0.000 claims description 7
- 230000003362 replicative effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 description 46
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000011664 signaling Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 12
- 244000141353 Prunus domestica Species 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/02—Topology update or discovery
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供的一种通告路由的方法、装置及系统。所述方法应用于基于位索引显式复制BIER域。所述方法包括:根节点向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;接收到所述第一路由信息的叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;所述叶子节点向所述根节点发送所述第二路由信息。
Description
本申请要求于2020年12月21日提交国家知识产权局、申请号为202011521979.9、发明名称为“一种组播路由方法及装置”的中国专利申请、于2021年1月29日提交国家知识产权局、申请号为202110129468.0、发明名称为“一种组播路由方法及装置”的中国专利申请、以及于2021年2月4日提交国家知识产权局、申请号为202110153714.6、发明名称为“一种组播路由方法及装置”的中国专利申请的优先权。上述三件中国专利申请的全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,特别涉及一种通告路由的方法、装置及系统。
背景技术
在位索引显式复制(Bit Index Explicit Replication,BIER)域内,作为根节点的位转发入口路由器(bit forwarding ingress router,BFIR)和作为叶子节点的位转发出口路由器 (bit forwarding egress router,BFER)采用下一代组播虚拟专用网(next-generation multicast virtual private network,NG-MVPN)信令来进行路由发布,实现根节点与叶子节点间的相互发现,比如:通过NG-MVPN信令包括的7种路由,通过隧道来实现组播加入或组播剪枝操作,导致根节点与叶子节点之间的信令交互较为复杂。
发明内容
本申请实施例提供了一种通告路由的方法及装置,能够简化BIER域内边缘节点间的相互发现所需的信令交互。
第一方面,提供一种通告路由的方法,所述方法应用于BIER域,包括:根节点向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;所述根节点接收来自所述叶子节点的基于所述第一路由信息获取的第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入。上述方法中,BIER域内的根节点可直接向一个或多个叶子节点发送第一路由信息,使得接收到第一路由信息的叶子节点发送与隧道无关的第二路由信息,不再依赖NG-MVPN信令包括的7种路由(或称为不再关联隧道)来实现组播加入和/或组播剪枝,简化了BIER域内边缘节点间的相互发现所需的信令交互。
在一种可能的设计中,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。上述方法中,根节点通过发送显式的指示信息,比如第一指示信息,使得接收到第一指示信息的叶子节点不再使用NG-MVPN信令包括的7 种路由来实现组播加入。
在一种可能的设计中,所述第一路由信息所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网(virtual private network,VPN)实例或用于标识公网协议无关组播(Protocol Independent Multicast,PIM)实例,所述第二标识为所述根节点在所述BIER域内的标识。上述方法中,通过对传统的路由进行扩展以携带第一标识和第二标识中的至少一个,比如共享树(rendezvous point tree,RPT)路由扩展携带第一标识和第二标识中的至少一个,实现上述第一指示信息所具有的指示功能,即接收到 RPT路由的叶子节点通过识别RPT路由所携带的第一标识和第二标识中的至少一个,确定不再使用NG-MVPN信令包括的7种路由来实现组播加入。其中,当第一路由信息还包括第一标识时,叶子节点可根据接收到的第一路由信息建立VPN实例。当第一路由信息还包括第二标识,叶子节点可进一步明确其要加入的根节点的信息。
在一种可能的设计中,所述方法还包括:所述根节点接收所述叶子节点发送的第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述 BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝对应的组播源。这样,接收到第三路由信息的根节点不再发送与所述第二组播源信息对应的组播报文至所述叶子节点,以实现组播剪枝。其中,叶子节点在所述BIER域内的标识可以包括叶子节点所属的BIER子域的标识和叶子节点的位转发路由器标识(bitforwarding router identifier,BFR-id)。
在一种可能的设计中,所述第一组播源信息包括与组播源的信息或者集合点(rendezvous point,RP)的信息。上述方法中,根节点可以直接向叶子节点通告组播源的信息或者RP的信息,这样,叶子节点能够根据第一组播源信息来确定向哪一个根节点发送组播加入。所述根节点的信息包括所述根节点的地址,比如互联网协议(Internet Protoco,IP)地址。
在一种可能的设计中,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统(autonomous system,AS)。上述方法中,当第一路由信息还包括第三标识,叶子节点可进一步利用第三标识来确定其要加入的根节点。
在一种可能的设计中,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送边界网关协议(Border Gateway Protocol,BGP)单播路由,所述BGP单播路由包括组播输入路由目标(import route target,import RT)属性和路由前缀(prefix),所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
对于上述第一路由信息还包括第一指示信息的可能的设计,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
对于上述第一路由信息还包括第一指示信息的可能的设计,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
对于上述第一路由信息还包括第一标识和第二标识中的至少一个的可能的设计,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述BGP单播路由还包括组播业务标识(multicast service identifier,MS-id)属性和底层基于位索引显式复制信息 (underlay BIER information,underlay BIER)属性中的至少一个,所述组播importRT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id 属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
对于上述第一路由信息还包括第一标识和第二标识中的至少一个的可能的设计,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlay BIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
对于上述第一路由信息还包括第三标识的可能的设计,所述根节点向叶子节点发送第一路由信息包括:所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括源自治系统(source autonomous system,source AS)扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
在一种可能的设计中,所述根节点在所述BIER域内的标识包括所述根节点所属的BIER子域的标识和所述根节点的BFR-id。
在一种可能的设计中,所述根节点接收所述叶子节点发送的第二路由信息包括:所述根节点接收所述叶子节点发送的第一BGP组播路由,所述第一BGP组播路由包括所述第二指示信息和所述叶子节点在所述BIER域内的标识。其中,所述叶子节点在所述BIER 域内的标识包括所述叶子节点所属的BIER子域的标识和所述叶子节点的BFR-id。所述第一BGP组播路由包括路径属性(path attributes)。所述第一BGP组播路由中的路径属性包括第二指示信息和网络层可达信息(network layer reachability information,NLRI),所述第一BGP组播路由中的路径属性所包括的NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识。或者,所述第一BGP组播路由包括扩展的路由属性,比如定义一种新的路由属性,该路由属性用于携带所述第二指示信息、第一组播源信息和所述叶子节点在所述BIER域内的标识。
在一种可能的设计中,所述根节点接收所述叶子节点发送的第三路由信息包括:所述根节点接收所述叶子节点发送的第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。其中,所述第二BGP组播路由包括路径属性。所述第二BGP组播路由中的路径属性包括第三指示信息和NLRI,所述第二BGP组播路由中的路径属性包括的NLRI用于携带所述所述第二组播源信息和所述叶子节点在所述BIER域内的标识。或者所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。第二BGP第三路由信息的发送可以晚于第二路由信息的发送,当然也可与第二路由信息的发送无关,比如采用传统的组播加入技术完成组播树的建立后,叶子节点可上述发送第二BGP组播路由的方法,实现组播剪枝,在此不再赘述。
第二方面,提供一种通告路由的方法,所述方法应用于BIER域,包括:叶子节点接收根节点发送的第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;所述叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;所述叶子节点向所述根节点发送所述第二路由信息。
在一种可能的设计中,所述叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息包括:所述叶子节点基于所述组播加入请求获取第三组播源信息,所述第三组播源信息用于标识所述组播接收者请求加入的组播源;所述叶子节点基于所述第一组播源信息、所述第三组播源信息和所述根节点的信息,确定所述叶子节点与所述根节点处于同一BIER子域;所述叶子节点基于所述叶子节点在所述BIER域内的标识和所述第二指示信息,获取所述第二路由信息。。
在一种可能的设计中,所述叶子节点向所述根节点发送所述第二路由信息包括:所述叶子节点向所述根节点发送第一BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。其中,所述叶子节点在所述BIER域内的标识包括所述叶子节点所属的BIER子域的标识和所述叶子节点的BFR-id。其中,所述第一BGP组播路由携带所述第二路由信息所包括的参数的具体方式可参见上述第一方面的可能的设计中的相应内容,在此不再赘述。
在一种可能的设计中,所述方法还包括:所述叶子节点在接收到所述组播接收者发送的组播剪枝请求后,向所述根节点发送第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝对应的组播源,所述叶子节点在所述 BIER域内的标识包括所述叶子节点所属的BIER子域的标识和所述叶子节点的BFR-id。
在一种可能的设计中,所述方法还包括:所述叶子节点基于所述组播剪枝请求获取所述第二组播源信息,所述组播剪枝请求包括所述第二组播源信息;所述叶子节点基于所述第二组播源信息所对应的根节点,确定所述叶子节点与所述根节点处于同一 BIER子域;所述叶子节点基于所述第二组播源信息、所述第三指示信息和所述叶子节点在所述BIER域内的标识,获取所述第三路由信息。
在一种可能的设计中,所述叶子节点在接收到所述组播接收者发送的组播剪枝请求后,向所述根节点发送第三路由信息包括:所述叶子节点向所述根节点发送第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。其中,所述叶子节点在所述BIER域内的标识包括所述叶子节点所属的BIER子域的标识和所述叶子节点的BFR-id。所述第二BGP组播路由携带所述第三路由信息包括的参数可参见上述第一方面的可能的设计中的相应内容个,在此不再赘述。
第二方面中,叶子节接收根节点发送的第一路由信息的方式可参见第一方面的可能设计中的相应内容,在此不再赘述。第二方面中,第一路由信息携带的具体参数以及参数的携带方式,可参见第一方面的可能的设计中的相应内容,在此不再赘述。
第三方面,提供一种通告路由的装置,所述装置设置于上述第一方面或第一方面任一种可能的设计中的根节点。所述装置包括用于实现上述第一方面或第一方面任一种可能设计的方法对应功能的单元。
第四方面,提供了一种通告路由的装置,所述装置设置于上述第二方面或第二方面任一种可能的设计中的叶子节点。所述装置包括用于实现上述第二方面或第二方面任一种可能设计的方法对应功能的单元。
第五方面,提供了一种通告路由的装置,所述通告路由的装置包括处理器和存储供所述处理器执行的程序指令的非瞬时性计算机可读存储介质,所述程序指令指示所述处理器执行第一方面或第一方面任一种可能的设计所述的通告路由的方法。
第六方面,提供了一种通告路由的装置,所述通告路由的装置包括处理器和存储供所述处理器执行的程序指令的非瞬时性计算机可读存储介质,所述程序指令指示所述处理器执行第二方面或第二方面任一种可能的设计所述的通告路由的方法。
第七方面,提供了一种系统,所述系统包括如第三方面或第三方面任一种可能的设计提供的通告路由的装置和如第四方面或第四方面任一种可能的设计提供的通告路由的装置,或者所述系统包括如第五方面或第五方面任一种可能的设计提供的通告路由的装置和如第六方面或第六方面任一种可能的设计提供的通告路由的装置。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并执行时,使得所述计算机执行第一方面或第一方面任一种可能的设计所述的通告路由的方法。
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并执行时,使得所述计算机执行第二方面或第二方面任一种可能的设计所述的通告路由的方法。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储指令,所述指令用于执行第一方面或第一方面任一种可能的设计所述的通告路由的方法。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储指令,所述指令用于执行第二方面或第二方面任一种可能的设计所述的通告路由的方法。
第十二方面,提供了一种通告路由的方法,所述方法应用于BIER域,包括:根节点向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;接收到所述第一路由信息的叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;所述叶子节点向所述根节点发送所述第二路由信息。
在一种可能的设计中,所述第一路由信息包括的参数以及参数的具体携带方式可参见第一方面的可能的设计中的相应内容。
在一种可能的设计中,根节点发送第一路由信息的方法可参见第一方面的可能的设计中的相应内容。
在一种可能的设计中,叶子节点获取第二路由信息以及发送第二路由信息的方法可参见第二方面的可能的设计中的相应内容。
附图说明
图1为一种网络场景示意图。
图2为本申请实施例提供的一种网络场景示意图。
图3为本申请实施例一提供的通告路由的方法的流程示意图。
图4为本申请实施例提供的获取比特串(bitstring)的示意图。
图5为本申请实施例二提供的通告路由的方法的流程示意图。
图6为本申请实施例三提供的通告路由的方法的流程示意图。
图7(a)为本申请实施例提供的第一路由信息的格式示意图。
图7(b)为本申请实施例提供的第二路由信息的格式示意图。
图7(c)为本申请实施例提供的获取bitstring的示意图。
图8为本申请实施例四提供的通告路由的方法的流程示意图。
图9为本申请实施例提供的一种设置于作为根的PE设备的通告路由的装置的结构示意图。
图10为本申请实施例提供的一种设置于作为叶子的PE设备的通告路由的装置的结构示意图。
图11为本申请实施例提供的另一种设置于作为根的PE设备的通告路由的装置的结构示意图。
图12为本申请实施例提供的另一种设置于作为叶子的PE设备的通告路由的装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为一种网络场景示意图。图1所示的网络场景中的运营商边缘(provideredge, PE)设备间建立的是BIER隧道。BIER隧道作为一种新的组播虚拟专用网(multicastvirtual private network,MVPN)隧道,与其它传统隧道相比,比如与标签分发协议的组播扩展 (multicast extension of Label Distribute Protocol,mLDP)隧道、针对流量工程扩展的资源预留协议(Resource Reservation Protocol-Traffic Engineering,RSVP-TE)点到多点 (point-to-multipoint,P2MP)隧道、协议无关组播(Protocol IndependentMulticats,PIM) 隧道等隧道相比,BIER隧道的优势在于采用比特串(bit string)的查表方式来实现组播流的按需复制,而无需在运营商(provider,P)设备上建立组播流的转发表项。在图1所示的场景中,PE1、PE2、PE3属于BIER域内的边缘设备。能够与组播接收者1通信的PE1、能够与组播接收者2通信的PE2和能够与组播接收者3和组播接收者4通信的PE3可作为BFER。能够与组播源1和组播源2通信的PE1还可作为BFIR。P为中间位转发路由器 (bitforwarding router,BFR)。P可基于接收到的BIER报文包括的比特串实现BIER报文的转发。PE1与组播接收者1之间的网络设备、PE2与组播接收者2之间的网络设备和 PE3与组播接收者3之间的网络设备可以是网关设备。任一组播接收者与其对应的网关设备之间采用因特网组管理协议(Internet Group Management Protocol,IGMP)。其中,任一组播接收者可以是组播接收者1、组播接收者2、组播接收者3或组播接收者4。任一网关设备与其对应的PE之间采用PIM协议。任一组播接收者可通过IGMP向其对应的网关设备组播加入或者组播剪枝。接收到组播接收者的请求的网关设备可进一步通过PIM协议向其对应的PE组播加入(通过发送组播加入请求实现组播加入)或者组播剪枝(通过发送组播剪枝请求实现组播剪枝)。接收到组播加入请求或组播剪枝请求的PE可利用传统的NG-MVPN的7种类型的路由来实现组播树的根和/或组播树的叶子的通告和发现,如表1所示。
表1
在上述7种类型的MVPN路由中,作为根的PE设备和作为叶子的PE设备需要利用上述7种类型的路由来实现自身角色的通告和其它设备的角色的发现,设备间的信令交互较为复杂,无法利用BIER技术的优势实现组播业务的简单部署。
为了解决上述组播业务部署过程中的问题,本申请实施例提供了一种通告路由的方法。在该方法中,作为根的PE设备与作为叶子的PE设备之间可对传统的协议进行扩展,以实现角色的发现和角色的通告,比如作为根的PE设备与作为叶子的PE设备之间可建立边界网关协议(Border Gateway Protocol,BGP)邻居,作为根的PE设备与作为叶子的PE 设备可利用BGP协议实现角色的发现和角色的通告,使得作为叶子的PE设备可不再依赖与作为根节点的PE设备间的隧道实现组播加入或组播剪枝,进而简化组播业务的部署过程和降低信令交互的复杂性。
图2为本申请实施例提供的一种网络场景示意图。与图1所示的网络场景的相同之处包括:任一组播接收者与其对应的网关设备(作为叶子的PE设备和组播接收者之间的网络设备)之间可采用传统的IGMP,实现组播加入请求或组播剪枝请求的发送。任一网关设备与其对应的PE设备(作为叶子的PE设备)之间可采用传统的PIM协议,实现组播加入请求或组播剪枝请求的发送。与图1所示的网络场景的不同之处在于,图2所示的网络场景中,作为根的PE设备与作为叶子的PE设备间可采用基于扩展的消息来实现路由通告。图2所示的网络场景中的作为根的PE1设备与作为叶子的PE设备之间是组播与 BIER相结合的网络。在图2所示的场景中,组播流的转发可基于BIER实现,路由的通告可基于扩展的消息来实现。其中,作为叶子的PE设备包括PE2设备和PE3设备中的至少一台。
实施例一
图3为本申请实施例一提供的通告路由的方法的流程示意图。图3对应的实施例提供的方法用于实现对于(S,G)或(S,G,RPT)的组播加入和BIER报文的转发。图3对应的实施例提供的方法可应用于图2所示的网络场景中。图3对应的实施例中作为根的PE设备发布的第一组播源信息用于标识组播源。第一组播源信息可以是组播源的地址或者组播源的其它能够被唯一识别的属性或参数。图3对应的实施例提供的方法中,作为叶子的 PE设备向作为根的PE设备发布的组播加入请求是基于上述第一组播源信息的组播加入请求。下面结合图2和图3,对本申请实施例一提供的通告路由的方法进行说明。
S301,作为根的PE设备向作为叶子的PE设备发送第一路由信息。
举例说明,作为叶子的PE设备可以是BIER域内的作为BFER的PE设备,本申请实施例对此不进行限定。所述第一路由信息包括第一组播源信息和所述作为根的PE设备的信息。所述第一路由信息用于指示所述作为叶子的PE设备发送组播加入。所述第一组播源信息用于标识所述作为根的PE设备所连接的组播源。所述作为根的PE设备所连接的组播源指代能够与所述作为根的PE设备直接或间接通信的组播源。所述第一组播源信息可以是所述组播源的地址或其它能够唯一寻址所述组播源的属性或参数,本申请实施例对此不进行限定。所述第一组播源信息可携带于路由prefix字段。所述作为根的PE设备的信息可以是作为根的PE设备的地址或其它能够唯一寻址所述作为根的PE设备的属性或参数,比如作为根的PE设备的IP地址,本申请实施例对此不进行限定。在图2所示的网络场景中,PE1分别连接组播源1、组播源2、组播接收者1和P。PE1向PE2和PE3发送组播源1的信息、组播源2的信息和PE1的信息。在一种具体实现方式中,PE1与PE2 为BGP邻居,PE1与PE3为BGP邻居,PE1可向其自身的BGP邻居发送组播源1的信息、组播源2的信息和PE1的信息。在另一种实现方式中,PE1获知PE2连接的组播接收者2和PE3连接的组播接收者3需要获取组播源1的组播流,PE1向PE2和PE3发送组播源1的信息和PE1的信息。PE1获知PE3连接的组播接收者4需要获取组播源2的组播流,PE1可向PE3发送组播源2的信息和PE1的信息。本申请实施例中提及的连接可以是直接连接或者间接连接,还可以是物理连接或者逻辑连接,本申请实施例对此不进行限定。
在一种可能的实现方式中,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示发送组播加入。获取到第一路由信息的作为叶子的PE设备可根据所述第一指示信息发送其自身的组播加入,无需如传统方法需要基于隧道实现组播加入。在一种具体实现方式中,第一指示信息可包括基于每叶子的主动组播加入(unsolicated per-leafjoin) 指示信息或每流的每叶子的显式跟踪(per-flow per-leaf explicit-tracking)指示信息,本申请实施例对于指示信息的具体表达方式不进行限定。
在一种可能的实现方式中,所述第一路由信息还包括第一标识,所述第一标识用于标识VPN实例或用于标识公网PIM实例。所述第一标识用于确定组播源和组播接收者是否处于处于同一组播域。比如在MVPN中,所述第一标识可以是虚拟专用网(virtual privatenetwork,VPN)实例的标识或VPN的标识。在图2所示的网络场景中,组播源1、组播接收者1、组播接收者2和组播接收者3处于VNP1中,PE1向PE2和PE3发送的第一标识可以是VPN1实例的标识。组播源2和组播接收者4处于VPN2中,PE1向PE3发送的第一标识可以是VPN2实例的标识。在公网组播(Global Table Multicast,GTM)中,所述第一标识可以是公网PIM实例的标识。比如:当BIER域中的设备采用第六版因特网协议(Internet Protocol version 6,IPv6)技术时,所述第一标识还包括至少一个IPv6地址,该至少一个IPv6地址中的任一IPv6地址用于在作为根的PE设备上标识VPN实例内的组播流。当BIER域中使用BIER多协议标签交换(Multiprotocol Label Switching,MPLS) 或BIER以太技术时,所述第一标识还包括至少一个标签,该至少一个标签中的任一标签用于在作为根的PE设备上标识VPN实例内的组播流。上述IPv6地址或者标签用于标识某个VPN实例内的组播流。
在一种可能的实现方式中,所述第一路由信息还包括第二标识,所述第二标识用于标识BIER域内的作为根的PE设备。所述第二标识包括BIER子域(sub-domain)的标识和作为根的PE设备的位转发路由器标识(bit forwarding router identifier,BFR-id)。BIER子域的标识用于标识作为根的PE设备所属的BIER子域。当BIER域内的设备采用Ipv6 技术(也可称为基于位索引显示复制的第六版互联网封装(Bit Index Explicit ReplicationIPv6 Encapsulation,BIERv6)技术)时,作为根的PE设备的BFR-id可以是0。可选地,所述第二标识还可包括作为根的PE设备的BFR前缀(BFR-prefix)。
举例说明,包括第一标识和第二标识中至少一个的第一路由信息还可通过非显示的方式来指示接收到第一路由信息的作为叶子的PE设备发送组播加入,比如:第一路由信息包括的参数可通过RPT路由进行发送,比如:对RPT路由进行扩展,使得RPT路由包括第一标识和第二标识中的至少一个。接收到RPT路由的作为叶子的PE设备在发现RPT 路由包括第一标识和第二标识中的至少一个后,确定发送组播加入。上述包括第一标识和第二标识中至少一个的第一路由信息的发送属于非显示的指示,即指示采用本申请实施例提供的简化的组播加入方法。
在一种可能的实现方式中,所述第一路由信息还包括第三标识,所述第三标识用于标识作为根的PE设备所在的自治系统(autonomous system,AS)。
举例说明,所述第一路由信息可通过BGP消息发送。如图7(a)所示,第一路由信息通过图7(a)所示的BGP消息进行发送时,第一组播源信息可携带在组播源(multicastsource) 字段和组播组(multicast group)字段。作为根的PE设备的信息,比如作为根的PE设备的IP地址可携带在图7(a)所示的BGP消息的发起者路由器的IP地址(originatingrouter’s IP addr)字段。在第一种可能的实现方式中,所述BGP消息包括BGP单播路由,通过BGP 单播路由实现第一路由信息的发送。所述BGP单播路由包括组播输入路由目标(import route target,import RT)属性和路由prefix。在第二种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix、组播业务标识(Multicast serviceid,MS-id) 属性、底层BIER信息(Underlay BIER information,underlay BIER)属性和源自治系统 (source AS)扩展团体属性。在第三种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix、MS-id属性和underlay BIER属性。在第四种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix和underlay BIER属性。在第五种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由 prefix和MS-id属性。在第六种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix、underlay BIER属性和source AS扩展团体属性。在第七种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix和source AS扩展团体属性。在第八种可能的实现方式中,所述BGP单播路由包括:组播import RT属性、路由prefix、MS-id属性和source AS扩展团体属性。下面对上述BGP单播路由所包括的属性的含义进行说明:组播import RT属性用于携带作为根的PE设备的信息。所述路由 prefix用于携带所述第一组播源信息。所述MS-id属性用于携带所述第一标识。所述 underlay BIER属性用于携带所述第二标识。所述source AS扩展团体属性用于携带所述第三标识。当所述第一路由信息包括第一指示信息时,所述MS-id属性还可用于携带所述第一指示信息。其中,所述underlay BIER属性还可以作为BGP透传(Transitive)属性,或者可以携带于RFC8556定义的BIER PTA属性。在另一种可能的实现方式中,所述第一路由信息可通过BGP单播路由和组播隧道路由进行发送。所述BGP单播路由包括所述 source AS扩展团体属性和improt RT属性中的至少一个。所述组播隧道路由包括所述 MS-id属性和所述underlay BIER属性中的一个或多个。其中,所述组播隧道路由可以是具有通配符(wildcard)的组播隧道路由。当所述第一路由信息包括第一指示信息时,该组播隧道路由还可包括所述第一指示信息。具有wildcard的组播隧道路由可以是 NG-MVPN中的I-PMSI AD路由或者(*,*)wildcard S-PMSI AD路由。在又一种可能的实现方式中,所述improt RT属性、所述MS-id属性、所述underlay BIER属性、所述source AS扩展团体属性和所述第一指示信息可携带于BGP子地址族(子地址组标识(subsequent address family identifier,SAFI)为1、2、128或129)的单播路由中或扩展的BGP子地址族的单播路由中。当所述第一路由信息包括第一指示信息时,所述MS-id属性还可用于携带所述第一指示信息。
S302,作为叶子的PE设备接收来自作为根的PE设备的第一路由信息。
举例说明,作为叶子的PE设备为组播接收者所在的组播域内能够与组播接收者通信的BFER。在图2所示的场景中,与组播接收者2通信的PE2直接接收来自PE1的第一路由信息,比如PE1的信息和组播源1的信息。与组播接收者3通信的PE3直接接收来自 PE1的第一路由信息,比如PE1的信息和组播源1的信息。与组播接收者4通信的PE3 直接接收来自PE1的第一路由信息,比如PE1的信息和组播源2的信息。在其他一种或多种可能的实现方式中,PE2和PE3中的一台或多台设备还可直接接收来自PE1的VPN1 实例的标识、PE1所在的BIER子域的标识、PE1的BFR-id、PE1所在的AS的标识和第一指示信息中的至少一个。PE3还可直接接收来自PE1的VPN2实例的标识、PE1所在的 BIER子域的标识、PE1的BFR-id、PE1所在的AS和第一指示信息中的至少一个。PE2 和PE3所接收到的BGP单播路由包括的参数的类型可参见S301中作为根的PE1所发布 (或者称为通告)的BGP单播路由所包括的参数的类型,在此不再赘述。PE2或PE3可从接收到的BGP单播路由或者组播隧道路由中获取上述参数或指示信息,在此不再赘述。
在一种可能的实现方式中,第一路由信息可通过BGP单播路由发送,或者第一路由信息通过BGP单播路由和组播隧道路由发送。作为叶子的PE设备可将接收到的路由,比如BGP单播路由和组播隧道路由中的一个或多个,导入到作为叶子的PE设备所属的VPN 实例或公网PIM实例。作为叶子的PE设备将接收到的路由中的MS-id属性携带的参数与作为叶子的PE设备所属的VPN实例建立对应关系,或者作为叶子的PE设备将接收到的路由中的MS-id属性携带的参数与作为叶子的PE设备所属的公网PIM实例建立对应关系。
S303,作为叶子的PE设备获取第二路由信息。
举例说明,第二路由信息包括第二指示信息、第一组播源信息和作为叶子的PE设备在BIER域内的标识。第二指示信息用于表示组播加入,例如所述第二指示信息可用于指示对于(S,G)的组播加入。作为叶子的PE设备在BIER域内的标识包括作为叶子的PE 设备所属的BIER子域的标识和作为叶子的PE设备被分配的BFR-id。作为叶子的PE设备可缓存来自作为根的PE设备的第一路由信息。作为叶子的PE设备在接收到组播接收者发送的组播加入请求后,获取组播加入请求中的第三组播源信息。组播接收者发送的组播加入请求可以是基于IGMP、组播监听者发现协议(multicast listener discovery,MLD) 或PIM协议的组播加入消息。所述第三组播源信息用于标识组播接收者请求加入的组播源。作为叶子的PE设备可根据第三组播源信息查找与第三组播源信息匹配的路由信息,比如第一路由信息中的第一组播源信息与第三组播源信息相同,则作为叶子节点的PE设备确定需要向第一路由信息中的根节点请求组播加入。上述匹配可以指代组播源信息相同后者存在对应关系,本申请对此不进行限定。作为叶子的PE设备根据第一组播源信息、第二指示信息和其自身在BIER域内的标识,获取所述第二路由信息。第二路由信息还可包括作为根的PE设备的信息。在图2所述的场景中,PE2在接收到来自组播接收者2的第一组播加入请求后,获取到所述第一组播加入请求中的(S1,G1)。其中,S1用于标识组播源1。S1可以是组播源1的地址。PE2被分配的BFR-id为2。PE2所属的BIER子域的标识为0。PE2获取的第二路由信息包括:第二指示信息、数值为2的BFR-id、数值为 0的子域标识和(S1,G1)。PE3在接收到来自组播接收者3的第二组播加入请求后,获取到所述第二组播加入请求中的(S1,G1)。PE3被分配的BFR-id为3。PE3所属的BIER 子域的标识为0。PE3获取的第二路由信息包括:第二指示信息、数值为3的BFR-id、数值为0的子域标识和(S1,G1)。PE4在接收到来自组播接收者4的第三组播加入请求后,获取到所述第三组播加入请求中的(S2,G2)。PE3被分配的BFR-id为3。PE3所属的BIER 子域的标识为0。PE3获取的第二路由信息包括:第二指示信息、数值为3的BFR-id、数值为0的子域标识和(S2,G1)。
在一种可能的实现方式中,作为叶子的PE设备确定包括与第三组播源信息相同的组播源信息的第一路由信息后,作为叶子的PE设备进一步获取第一路由信息中包括的第二标识。作为叶子的PE设备基于所述第二标识和作为叶子的PE设备所属的BIER子域的标识,确定作为叶子的PE设备和作为根的PE设备属于相同的BIER子域。比如作为叶子的 PE设备基于所述第二标识包括的作为根的PE设备所属的BIER子域的标识和作为叶子的 PE设备所属的BIER子域的标识相同,确定作为叶子的PE设备和作为根的PE设备属于相同的BIER子域。作为叶子的PE设备则基于所述第一路由信息包括的第一指示信息,获取第二路由信息。在图2所示的场景中,PE2收到了组播接收者2发送的包括(S1,G1) 的第一组播加入请求,确定(S1,G1)与第一路由信息包括的S1相同,则从第一路由信息中获取数值为0的BIER子域的标识。PE2确定数值为0的BIER子域的标识与PE2所属的BIER子域标识相同,则在第一路由信息包括unsolicated per-leaf join指示信息或per-flow per-leaf explicit-tracking指示信息时,基于数值为2的BFR-id、数值为0的子域标识和 (S1,G1)获取第二路由信息。PE3收到了组播接收者4发送的包括(S2,G2)的第三组播加入请求,确定(S2,G2)与第一路由信息包括的S2相同,则从第一路由信息中获取数值为0的BIER子域的标识。PE3确定数值为0的BIER子域的标识与PE3所属的BIER子域标识相同,则在第一路由信息包括unsolicatedper-leaf join指示信息或per-flow per-leaf explicit-tracking指示信息时,基于数值为3的BFR-id、数值为0的子域标识和(S2,G2) 获取第二路由信息。其中,PE2和PE3所获取的第二路由信息可携带所述第二指示信息。
在一种可能的实现方式中,作为叶子的PE设备获取BGP组播路由。所述BGP组播路由包括路径属性。路径属性包括了用于携带所述第二指示信息的字段和网络层可达信息(network layer reachability information,NLRI)。用于携带第二指示信息的字段可以是BGP 消息中类型为14的路径属性对应的字段。路径属性中的NLRI用于携带第一组播源信息和作为叶子的PE设备在所述BIER域内的标识。如图7(b)所示,当通过BGP消息来发送BGP组播路由时,BGP消息包括的源地址(source address)字段和组地址(group address) 字段可用来携带第二路由信息中的第一组播源信息。BGP消息包括的子域标识(sub domainid)字段可用于携带作为叶子的PE设备所属的BIER子域。BGP消息包括的bfr-id可用于携带作为叶子的PE设备的BFR-id。BGP消息包括的标志位(flag)可用于携带标识组播源组类型的标识,比如通过flag确定是(S,G)还是(*,G)。BGP消息包括的发起者 IP(originator IP)字段用于携带作为叶子的PE设备的IP地址。或者BGP消息包括扩展的路由属性,该扩展的路由属性用于携带第二指示信息、第一组播源信息和作为叶子的 PE设备在所述BIER域内的标识。
在一种可能的实现方式中,第二路由信息还可包括第一路由信息中的第三标识和作为根的PE的信息。具体地,所述第三标识可携带在BGP组播路由中的source AS属性中。作为根的PE的信息可携带在BGP组播路由中的组播import RT属性中。
上述BGP组播路由与传统组播的比较可参见表2。根据下表2可以看出,本申请实施例提供的BGP组播路由中的1种类型可以替代多种传统组播行为,有助于简化部署和操作的复杂性。
表2
S304,作为叶子的PE设备向作为根的PE设备发送所述第二路由信息。
举例说明,作为叶子的PE设备可基于作为根的PE设备的信息,向作为根的PE设备的地址发送所述第二路由信息。其中,作为根的PE设备的信息可来自于第一路由信息,作为根的PE设备的信息可以是作为根的PE设备的地址。作为叶子的PE设备可基于BGP 协议向作为根的PE设备发送第二路由信息,本申请实施例对此不进行限定。作为叶子的 PE设备也可采用其他可用的协议来进行第二路由信息的发送。
在一种可能的实现方式中,为了减少BGP组播路由在网络中通告的规模,BGP的路由反射器(route reflector,RR)或自治系统边界路由器(autonomous system boundaryrouter, ASBR)设备收到BGP组播路由之后,可根据BGP组播路由中的第一组播源信息,获取与第一组播源信息对应的BGP单播路由。RR或ASBR比较BGP单播路由和BGP组播路由中携带的Source AS属性和组播Import RT属性,并基于比较结果控制该BGP组播路由是否允许向其它BGP邻居发送,例如:比较结果相等则允许发送,不等则不允许发送。如果允许向其它BGP邻居发送,RR或ASBR还可以进一步地控制该BGP组播路由仅在接收上述BGP单播路由的BGP邻居上发送。
S305,作为根的PE设备根据所述第二路由信息获取转发信息,所述转发信息用于转发BIER报文。
举例说明,作为根的PE设备接收到第二路由信息后,可根据第二路由信息包括的作为叶子的PE设备在BIER域内的标识,获取用于指示对组播流进行转发的bit string。可选地,作为根的PE设备可获取作为叶子的PE设备对应的组播源组(S,G)信息。作为根的PE设备根据组播源组信息及其对应的bit string,获取转发信息,以便在收到来自于组播源组的组播流后基于bit string进行BIER封装和转发。BIER报文可通过传统的BIER技术,经由作为根的PE设备、P设备到达作为叶子的PE设备。作为叶子的PE设备可剥离 BIER报文中的BIER头,获取组播接收者所需的组播报文。在图2所示的场景中,对于 (S1,G1)来说,PE1可根据来自PE2的第二路由信息、来自PE3的第二路由信息以及来自组播接收者1的组播加入请求,获取对于(S1,G1)的bit string和BIER子域的标识。其中,对于(S1,G1)的bit string为0111。BIER子域的标识为0。PE1可对于来自组播源1的携带(S1,G1)的组播报文进行BIER封装,即封装数值为0111的bit string和数值为0的BIER子域的标识,获取第一BIER报文。PE1基于第一BIER报文中的bit string,向PE2和PE3发送第一BIER报文。对于(S2,G2)来说,PE1可根据来自PE3的第二路由信息,获取对于(S2,G2)的bit string和BIER子域的标识。其中,对于(S2,G2) 的bit string为1000。BIER子域的标识为0。PE1可对于来自组播源2的携带(S2,G2) 的组播报文进行BIER封装,即封装数值为1000的bit string和数值为0的BIER子域的标识,获取第二BIER报文。PE1基于第二BIER报文中的bit string,向PE3发送第二BIER 报文。
在一种可能的实现方式中,作为根的PE设备收到BGP组播路由之后,根据BGP组播路由中携带的组播import RT属性将BGP路由导入对应的本地实例,具体包括以下两种可能的实现方式:
方式一:作为根的PE设备将整个BIER域作为一个虚拟的PIM接口,把BGP组播路由转换为该虚拟口上的传统组播行为,继续向上游设备传递PIM加入。上述转换规则遵循下表3。
表3
方式二:作为根的PE设备基于作为叶子的PE设备发送的BGP组播路由,获取组播源组(S,G)与bit string的映射关系。作为根的PE设备基于作为叶子的PE设备的标识,将每个作为叶子的PE设备作为一个虚拟出接口(virtual out interface),获取组播源组(S, G)与虚拟出接口的对应关系。作为根的PE设备基于组播源组(S,G)与虚拟出接口的对应关系获取bit string。结合图2所示的场景,以源特定组播协议(Protocol-IndependentMulticast source-specific multicast,PIM SSM)为例对bit string的获取方法进行说明。如图 4所示,以PIM SSM模型为例,PE1分别从PE1、PE2和PE3获取对应于(S1,G1)的 BGP组播路由(也可称为BGP组播update路由)。PE1的标识为发起方(originator)IP1。 PE2的标识为originator IP2。PE3的标识为originator IP3。对于(S1,G1)来说,PE1既是作为根的PE设备,又是作为叶子的PE设备。PE1收到的BGP组播路由中携带的子域(sub domain,SD)标识和BFR-id信息分别为(SD-id=0,BFR-id=1)、(SD-id=0,BFR-id =2)和(SD-id=0,BFR-id=3)。其中,SD-id用于标识BIER子域。PE1获取的(S1,G1) 与bit string对应关系为0111。图4中的V用于标识公网PIM实例或VPN实例。
下面根据BIER域中使用的封装类型,按照BIER MPLS和BIER Ipv6两个可能的实现方式进行介绍。两个可能的实现方式均基于BGP后续地址族标识符(Subsequent AddressFamily Identifier,SAFI)=2(组播BGP(multicast BGP,MBGP)地址族)的扩展进行描述,下面的配置以组播源地址和组播组地址为Ipv4为例进行说明。组播源地址和组播组地址还可以是Ipv6的形式,在此不再赘述。本申请实施例中的SAFI表示地址族的类型。
在第一种可能的实现方式中,图2所示场景中的组播over BIER是基于Ipv6实现的。 PE1通过BGP单播路由(SAFI-1)向PE2和PE3发布第一路由信息。PE2和PE3通过BGP MVPN路由(SAFI-5)向PE1发送第二路由信息。PE1根据接收到的第二路由信息,获取bit string并向作为叶子的PE设备发送组播流量。该第一种可能的实现方式可以包括以下配置和交互流程:
1、在PE1上做如下配置
其中,PE1向PE2和PE3发送的第一路由信息包括:路由前缀、MS-id属性、PTA属性、组播import RT属性和Source AS属性。其中,路由前缀为组播源的IP地址或者包括组播源的IP地址的前缀。MS-id属性用于标识组播源所在的VPN实例或者公网PIM实例的IPv6地址11::1。PTA属性包括BIER的sub-domain<0>的信息。组播import RT属性包括PE1的IP地址信息1::1。Source AS属性包括PE1所在的AS域的标识。
2、在PE2上做如下配置
其中,Leaf1表示PE2。P4用于标识组播接收者2与PE2之间的网络设备,比如网关设备。PE2收到PE1发布的组播源的路由前缀后保存。PE2向PE1发布的第二路由信息包括:路由前缀、MS-id属性、PTA属性、组播import RT属性和Source AS属性。其中,路由前缀为组播源的IP地址或者包括组播源的IP地址的前缀。MS-id属性用于标识组播源所在的VPN实例或者公网PIM实例的IPv6地址11::1。PTA属性包括BIER的 sub-domain<0>的信息。组播importRT属性包括PE1的IP地址信息1::1。Source AS属性包括PE1所在的AS域的标识。
3、在PE3上做如下配置
其中,Leaf2表示PE3。P5为组播接收者3与PE3之间的网络设备,比如网关设备。PE3收到PE1发布的组播源的路由前缀后保存。PE3向PE1发送的第二路由信息包括::路由前缀、MS-id属性、PTA属性、组播import RT属性和Source AS属性。其中,路由前缀为组播源的IP地址或者包括组播源的IP地址的前缀。MS-id属性用于标识组播源所在的VPN实例或者公网PIM实例的IPv6地址11::1。PTA属性包括BIER的sub-domain<0> 的信息。组播import RT属性包括PE1的IP地址信息1::1。Source AS属性包括PE1所在的AS域的标识。
4、PE2从P4收到对于组播流(S1,G1)的组播加入请求。PE2根据所保存的组播源的路由信息确定PE1为根,获取组播加入消息并发送给PE1。PE2所获取的组播加入消息可以是BGP MVPN的Leaf A-D路由(Type 4路由),但本实施例中该路由是在没有收到PE1 所发送的S-PMSI A-D路由的情况下发送的,这种Leaf A-D路由也称之为unsolicated per-leafjoin消息或者per-flow per-leaf explicit-tracking消息。或者PE2所获取的组播加入消息也可以是BGP MVPN的一种新的路由类型,例如可以用一个新的Type值表示的unsolicated per-leaf join消息或者per-flow per-leaf explicit-tracking消息。上述任一种 unsolicated per-leaf join消息或者per-flow per-leaf explicit-tracking消息均会包括PE2的标识、组播源组(比如(S1,G1))和PE1的IP地址。当采用BIER隧道时,PE2的标识包括 PE2所属的BIER子域的标识和PE2的BFR-id。
5、PE1收到PE2发送的unsolicated per-leaf join消息或者per-flow per-leafexplicit-tracking消息,建立起组播流(S1,G1)和PE2的对应关系,即显式跟踪(Explicit-Tracking)信息,比如:PE1建立起(S1,G1,Leaf=PE2)的对应关系。对应关系中PE2的信息包括PE2所属的BIER子域的标识和BFR-id,具体可表示为Sub-domain<0>和 BFR-id<2>。PE1将收到的携带有(S1,G1)的组播报文通过Sub-domain<0>和BFR-id<2>对应的bitstring向PE2发送。
6、PE3从P5收到组播流(S1,G1)的加入请求,向PE1发送unsolicated per-leafjoin消息或者per-flow per-leaf explicit-tracking消息。PE1建立起(S1,G1,Leaf=PE3)的对应关系。对应关系中的PE3信息包括PE3所属的BIER子域的标识和BFR-id,可表示为 Sub-domain<0>和BFR-id<3>。PE1将收到的携带有(S1,G1)的组播报文通过Sub-domain<0> 和BFR-id<3>对应的bit string向PE3发送。
7、PE3从P6收到组播流(S2,G2)的加入请求,则PE3还向PE1发送unsolicated per-leaf join消息或者per-flow per-leaf explicit-tracking消息。其中,P6是组播接收者4与PE3之间的网络设备,比如网关设备。PE1建立起(S2,G2,Leaf=<PE3>)的对应关系。对应关系中的PE3信息包括PE3所属的BIER子域的标识和BFR-id,可表示为Sub-domain<0>和BFR-id<2>。PE1将收到的携带有(S2,G2)的组播报文通过Sub-domain<0>和BFR-id<3>对应的bit string向PE3发送。
在第二种可能的实现方式中,图2所示场景中的组播over BIER是基于多协议标记交换(Multiprotocol Label Switching,MPLS)实现。PE1通过BGP单播路由(SAFI-2)向PE2和PE3发布第一路由信息。PE2和PE3通过(SAFI-2)的路由或者扩展的地址族的路由消息向PE1发送第二路由信息。PE1根据接收到的第二路由信息,获取bit string并向作为叶子的PE设备发送组播流量。该第二种可能的实现方式的交互过程可参考上述第一种可能的方式的交互过程,该第二种可能的实现方式与上述第一种可能的实现方式的不同之处在于第一种可能的实现方式的每个PE设备上被配置的Encap ipv6 bsl 256max-si 255被替换为Encap mpls bsl 256max-si 255,本申请实施例在此对第二种可能的实现方式不再赘述。
本申请实施例提供的通告路由的方法中,作为根的PE设备与作为叶子的PE设备之间采用了直接发布路由信息的方式,简化了传统的基于NG-MVPN多种路由发现角色和实现组播加入的流程,有助于降低组播业务部署的难度和信令交互的复杂性。此外,传统的 NG-MVPN技术框架下需要使用8种路由类型交互(1中RPT路由和NG-MVPN包括的7 种路由),以便和隧道建立关联关系并通过隧道来实现组播加入和组播剪枝,而本申请实施例提供了2种路由类型完成组播加入或组播剪枝所需的信令交互,且2种路由类型可以放在同一个BGP子地址族。传统的NG-MVPN场景下需要在实例内(公网PIM实例或 VPN实例)配置I-PMSI隧道或S-PMSI隧道,并基于隧道类型选择BIER子域(sub-domain),同时需要针对不同的PIM协议模型指定所使用的穿越模式(最短路径树(shortest path tree, SPT)-Only或共享树(rendezvous point tree,RPT)-SPT);相比于传统的NG-MVPN场景,本申请实施例提供的方法简单配置BIER sub-domain即可实现,无需感知PIM协议的模型差异。传统的NG-MVPN场景下实现I-PMSI隧道到S-PMSI隧道的切换过程会存在切换时机不准确和误切换;本申请实施例提供的方法不再采用I-PMSI隧道和S-PMSI隧道,无需进行隧道切换,因此无需基于组播流进行流量统计和上报。
实施例二
图5为本申请实施例二提供通告路由的方法的流程示意图。图5对应的实施例提供的方法可应用于图2所示的网络场景。图5对应的实施例是在图3对应的实施例提供的方法基础上,进一步实现组播剪枝和BIER报文的转发。图5对应的实施例包括的步骤S501 是在图3对应的实施例包括的S304之后执行,即作为叶子的PE设备向作为根的PE设备发布的组播剪枝请求是基于图3对应的实施例中提及的组播源的组播剪枝请求。图5对应的实施例中与图3对应的实施例中相同的参数,可参见图3对应的实施例中的相应内容,在下述实施例中不再赘述。图5对应的实施例还可包括图3对应的实施例中的S301至S304 的内容,在实施例二提供的方法不再赘述。下面结合图2和图5,对本申请实施例二提供的通告路由的方法进行说明。
S501,作为叶子的PE设备获取第三路由信息。
举例说明,作为叶子的PE设备接收到组播接收者发送的组播剪枝请求后,从组播剪枝请求中获取组播源组(S,G)信息。作为叶子的PE设备基于组播源组(S,G)信息,获取包括组播源S的第一路由信息。作为叶子的PE设备基于第一路由信息,确定作为叶子的PE设备与作为根的PE设备属于同一BIER子域,则作为叶子的PE设备获取第三路由信息。所述第三路由信息包括第三指示信息、第二组播源信息和作为叶子的PE设备在 BIER域内的标识。第三指示信息用于表示组播剪枝。第二组播源信息用于标识被剪枝的组播源(或称为与组播剪枝对应的组播源)。可选地,第二组播源信息还可包括被剪枝的组播源对应的组播组的信息。作为叶子的PE设备在BIER域内的标识与实施例一相应参数的内容相同,在此不再赘述。在图2所示的场景中,PE2在接收到组播接收者2的第一组播剪枝请求后,从第一组播剪枝请求中获取组播源组(S1,G1)信息。PE2基于第一组播剪枝请求,获取第三路由信息。PE2获取第三路由信息包括第三指示信息、S1和PE2 在BIER域内的标识。可选地,PE2获取的第三路由信息还包括G1。PE3在接收到组播接收者4的第二组播剪枝请求后,从第二组播剪枝请求中获取组播源组(S2,G2)信息。PE3 基于第二组播剪枝请求,获取第三路由信息。PE3获取第四路由信息包括第三指示信息、 S2和PE3在BIER域内的标识。可选,PE3获取的第三路由信息还包括G2。
在一种可能的实现方式中,所述第三路由信息可通过BGP组播路由发送。BGP组播路由用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。比如,BGP组播路由包括路径属性。路径属性包括用于携带所述第三指示信息的字段和NLRI,如图7(b)所示。用于携带所述第三指示信息的字段可以是BGP消息中与类型15的路径属性对应的字段。所述NLRI或所述路由信息用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
在一种可能的实现方式中,第三路由信息还包括第一路由信息中的第一标识、第二标识、第三标识和作为根的PE设备的信息中的一个或多个。第一标识、第二标识、第三标识和作为根的PE设备的信息的具体内容可参见实施例一的相应内容。第三路由信息携带第一标识、第二标识、第三标识和作为根的PE设备的信息的具体方式也可参考实施例一中第一路由信息携带上述参数的具体方式,在此不再赘述。
S502,作为叶子的PE设备向作为根的PE设备发送第三路由信息。
该实施例中作为叶子的PE设备向作为根的PE设备发送第三路由信息可参考实施例一的S304中发送第二路由信息的具体内容,在此不再限定。上述作为叶子的PE设备向作为根的PE设备发送BGP组播路由与传统组播行为的比对可参见表4。
表4
S503,作为根的PE设备基于第三路由信息进行组播剪枝操作。
举例说明,作为根的PE设备接收到第三路由信息后,可根据第三路由信息包括的第三指示信息,不再向第三路由信息中的作为叶子的PE设备发送第二组播源信息对应的组播报文。在图2所示的场景中,对于(S1,G1)来说,PE1可根据来自PE2的第三路由信息,获取对于(S1,G1)的第三指示信息,不再向BFR-id为2的PE2发送携带(S1, G1)的组播报文。对于(S2,G2)来说,PE1可根据来自PE3的第三路由信息,获取对于(S2,G3)的第三指示信息,不再向BFR-id为3的PE3发送携带(S2,G2)的组播报文。
在一种可能的实现方式中,作为根的PE设备收到BGP组播路由之后,根据BGP组播路由中携带的组播import RT属性将BGP路由导入对应的本地实例,具体包括以下可能的实现方式:作为根的PE设备将整个BIER域作为一个虚拟的PIM接口,把BGP组播路由转换为该虚拟口上的传统组播行为,触发继续向上游设备传递PIM剪枝,转换规则遵循下表5。
表5
本实施例提供的通告路由的方法简化了作为叶子的PE设备与作为根的PE设备间的信令交互,有助于简化组播业务的部署。
实施例三
图6为本申请实施例三提供的通告路由的方法的流程示意图。图6对应的实施例提供的方法可应用于图2所示的应用场景中。图6对应的实施例提供的方法用于实现对于(*,G) 的组播加入。图6对应的实施例中的作为根的PE设备基于获取的bit string实现BIER报文的转发可参考实施例一的S305的相应内容,在此不再赘述。图6对应的实施例中作为根的PE设备发布的用于标识组播源的第一组播源信息可以是与一个或多个组播源通信的 RP的地址或者RP的其它能够被唯一识别的属性或参数。图6对应的实施例提供的方法中,作为叶子的PE设备向作为根的PE设备发布的组播加入请求是基于上述(*,G)的组播加入请求。下面结合图2和图6,对本申请实施例三提供的通告路由的方法进行说明。
S601,作为根的PE设备向作为叶子的PE设备发送第一路由信息。
实施例三的第一路由信息包括的第一组播源信息为RP的信息,而并非实施例一中特定组播源的信息。RP能够与一个或多个组播源通信,即RP对应的组播源组可以表示为(*,G)。实施例三的第一路由信息包括的其它参数和携带方式可参考实施例一的相应内容,在此不再赘述。第一路由信息可通过图7(a)所示的格式进行发送。当multicast sourcelength字段和multicast group length字段中的至少一个字段为0,图7(a)中发布的路由即为具有wildcard的组播隧道路由。
S602,作为叶子的PE设备接收来自作为根的PE设备发送的第一路由信息。
实施例三的S602的具体内容可参见实施例一的S302的相应内容,在此不再赘述。
S603,作为叶子的PE设备获取第二路由信息。
实施例三中作为叶子的PE设备获取第二路由信息的方法不同于实施例一中获取第二路由信息的方法,不同之处包括:作为叶子的PE设备在接收到组播接收者发送的(*,G)的组播加入请求后,根据(*,G)匹配到对应的RP的信息,进而获取第一路由信息。实施例三中作为叶子的PE设备获取第二路由信息的方法与包括的参数的方法可参见实施例一的相应内容,在此不再赘述。其中,第二路由信息包括的BGP组播路由与传统的组播的比较可参见表6。
表6
其中,第二路由信息包括的BGP组播路由可采用图7(b)的格式。
S604,作为叶子的PE设备向作为根的PE设备发送所述第二路由信息。
本申请实施例中作为叶子的PE设备向作为根的PE设备发送第二路由信息的方法可参见实施例一中S304的相应内容,在此不再赘述。
S605,作为根的PE设备根据所述第二路由信息获取转发信息,所述转发信息用于转发BIER报文。
本申请实施例中作为根的PE设备获取转发信息的方法可参见实施例一的S305的相应内容,在此不再赘述。
在一种可能的实现方式中,作为根的PE设备收到BGP组播路由之后,根据BGP组播路由中携带的组播import RT属性将BGP路由导入对应的本地实例,具体包括以下两种可能的实现方式:
方式一:作为根的PE设备将整个BIER域作为一个虚拟的PIM接口,把BGP组播路由转换为该虚拟口上的传统组播行为,触发PIM协议继续向上游设备传递PIM加入,转换规则遵循下表7。
表7
方式二:作为根的PE设备基于作为叶子的PE设备发送的BGP组播路由,获取组播源组(S,G)与bit string的映射关系。作为根的PE设备基于作为叶子的PE设备的标识,将每个作为叶子的PE设备作为一个虚拟出接口(virtual out interface),获取组播源组(S, G)与虚拟出接口的对应关系。作为根的PE设备基于组播源组(S,G)与虚拟出接口的对应关系获取bit string。结合图2所示的场景,以PIM SM为例对bit string的获取方法进行说明。如图7(c)所示,以PIM SM模型为例,PE1分别从PE1、PE2和PE4(图2中未示出)获取对应于(*,G1)的BGP组播路由(看也可称为BGP组播update路由)。 BGP组播路由携带的第三组播源信息为RP1的地址。PE4可与组播接收者5(图2中未示出)进行通信。PE4所属的BIER子域的标识是0。PE4的BFR-id是4。PE1的标识为originator IP1。PE2的标识为originator IP2。PE4的标识为originator IP4。对于(*,G1)来说,PE1 既是作为根的PE设备,又是作为叶子的PE设备。PE1收到的BGP组播路由中携带的sub domain和BFR-id信息分别为(SD-id=0,BFR-id=1)、(SD-id=0,BFR-id=2)和(SD-id =0,BFR-id=4)。其中,SD-id用于标识BIER子域。PE1获取的(*,G1)与bit string 对应关系为1011。图7(c)中的V用于标识PE的公网PIM实例或VPN实例。PE1还分别从PE2和PE3设备上收到对于(S1,G1)的BGP组播路由,该BGP组播路由中携带的 sub domain和BFR-id信息分别为(SD-id=0,BFR-id=1)和(SD-id=0,BFR-id=3)。 PE1获取的(S1,G1)与bit string对应关系为0101。此外,PE1还从PE2上收到了包括BGP(S1,G1,RPT)剪枝的第三路由信息,且第三路由信息携带的第二组播源信息为RP1 的地址。第三路由信息所携带的sub domain和BFR-id信息为(SD-id=0,BFR-id=2),则Root设备最终获取的(S1,G1)与bit string对应关系为1101。
实施例四
图8为本申请实施例四提供通告路由的方法的流程示意图。图8对应的实施例可应用于图2所示的场景中。图8对应的实施例提供的方法是在图6对应的实施例提供的方法基础上,进一步实现组播剪枝和BIER报文的转发。图8对应的实施例包括的步骤S801是在图6对应的实施例包括的S604之后执行,即作为叶子的PE设备向作为根的PE设备发布的组播剪枝请求是基于图6对应的实施例中提及的组播源的组播剪枝请求。图8对应的实施例中与图6对应的实施例中相同的参数,可参见图6对应的实施例中的相应内容,在下述实施例中不再赘述。图8对应的实施例还可包括图6对应的实施例中的S601至S604 的内容,本申请实施例四提供的方法不再赘述。下面结合图2和图8,对本申请实施例四提供的通告路由的方法进行说明。
S801,作为叶子的PE设备获取第三路由信息。
举例说明,作为叶子的PE设备在接收到组播接收者的针对(S,G)或(*,G)的剪枝请求后,根据(S,G)或(*,G)确定相应的RP的信息。作为叶子的PE设备根据PR的信息,确定包括RP的信息的第一路由信息。作为叶子的PE设备基于第一路由信息中的参数获取第三路由信息的方法可参见实施例二的S501的相应内容,在此不再赘述。
S802,作为叶子的PE设备向作为根的PE设备发送第三路由信息。
该实施例中作为叶子的PE设备向作为根的PE设备发送第三路由信息可参考实施例二的S502中发送第三路由信息的具体内容,在此不再限定。
本申请实施例中作为叶子的PE设备发送BGP(S,G,RPT)剪枝可采用以下两种方式:
方式一,通过独立路由发送。该方式中,NLRI中或路由属性中至少需要包括第四版互联网协议(Internet Protocol version 4,Ipv4)地址或第六版互联网协议(InternetProtocol version 6,Ipv6)地址。IPv4地址或IPv6地址用于标识该(S,G,RPT)剪枝操作所对应的 (*,G)路由的RP信息。IPv4地址或IPv6地址可用于通过查找到RP的BGP单播路由,确定是否发送该(S,G,RPT)剪枝到达与RP连接的作为根的PE设备。
方式二:通过BGP(*,G)组播路由的新增属性携带剪枝参数,即在(*,G)update 路由中增加一个剪枝源列表(Pruned Source List,PSL)属性。该PSL属性将对应(*,G)update路由中组播组G的所有处于剪枝(pruned)状态的组播源(source)放入列表中发送。
上述第三路由信息包括的BGP组播路由与传统组播行为的比对可参见表8。
表8
S803,作为根的PE设备基于第三路由信息进行组播剪枝操作。
举例说明,作为根的PE设备收到BGP组播路由之后,根据BGP组播路由中携带的组播import RT属性将BGP路由导入对应的本地实例,具体包括以下可能的实现方式:作为根的PE设备将整个BIER域作为一个虚拟的PIM接口,把BGP组播路由转换为该虚拟口上的传统组播行为,触发继续向上游设备传递PIM剪枝,转换规则遵循下表9。
表9
对于上述实施例三、实施例四或者在实施例三的基础上结合实施例四的实施例而言,在一种实现方式中,组播接收者发送的组播加入请求中携带的组播源组信息可以是RP对应的组播源组信息的子集或全集,或者组播接收者发送的组播剪枝请求中携带的组播源组的信息可以是RP对应的组播源组信息的子集或全集。在另一种实现方式中,组播接收者发送的组播加入请求中携带的组播源的信息是RP对应的组播源的信息,或者组播接收者发送的组播剪枝请求中携带的组播源的信息是RP对应的组播源的信息。
图9为本申请实施例提供的一种设置于作为根的PE设备的通告路由的装置的结构示意图。图9所示的装置可以设置于上述实施例一至实施例四任一可能的实施例提供的方法中的作为根的PE设备。本申请实施例提及的作为根的PE设备是相对作为叶子的PE设备而言的,在图2所示场景中,作为根的PE设备是PE1。在PE1连接组播接收者时,还可作为叶子的PE设备。在PE2或PE3连接组播源时,PE2或PE3也可以是本申请实施例提及的作为根的PE设备。图9对应的实施例是从逻辑结构的角度对通告路由的装置进行说明。图9对应的实施例所提供的通告路由的装置所包括的任一单元可以由一个或多个子单元实现,本申请实施例对此不进行限定。
图9对应的实施例提供的通告路由的装置900设置于BIER域内的作为根的PE设备。所述装置900包括发送单元901和接收单元902。发送单元901用于向作为叶子的PE设备发送第一路由信息。所述第一路由信息包括第一组播源信息和所述作为根的PE设备的信息。所述第一路由信息用于指示所述作为叶子的PE设备发送组播加入。接收单元902 用于接收所述作为叶子的PE设备发送的第二路由信息。所述第二路由信息包括第二指示信息、第一组播源信息和所述作为叶子的PE设备在所述BIER域内的标识。所述第二指示信息用于表示组播加入。其中,接收单元902可基于第二路由信息获取转发信息,所述转发信息用于转发BIER组播报文,具体可参见实施例一至实施例四中任一实施例提供的转发信息的相应内容。其中,所述第一路由信息可通过显式方式或者非显式方式来实现指示功能。比如,显式方式可以是第一路由信息包括第一指示信息,所述第一指示信息用于指示作为叶子的PE设备发送组播加入。非显式方式可以是第一路由信息包括第一标识和第二标识中的至少一个,从第一路由信息中获取第一标识和第二标识中的至少一个的作为叶子的PE设备可发送组播加入。其中,第一标识和第二标识的具体含义可参见上述实施例一至实施例四中任一实施例的相应内容,在此不再赘述。
在一种可能的实现方式中,所述接收单元902还用于接收所述作为叶子的PE设备发送的第三路由信息。所述第三路由信息包括第三指示信息、第二组播源信息和所述作为叶子的PE设备在所述BIER域内的标识。所述第三指示信息用于表示组播剪枝。所述第二组播源信息用于标识被剪枝的组播源。所述作为根的PE设备接收到所述第三路由信息之后,不再发送所述第二组播源信息对应的组播数据报文至作为叶子的PE设备。
在一种可能的实现方式中,所述发送单元901还用于根据所述第三路由信息,不发送与所述第二组播源信息对应的组播报文至所述作为叶子的PE设备。所述装置900的接收单元902在接收到第三指示信息之后,进行剪枝操作,即不再向作为叶子的PE设备发送组播报文。
在一种可能的实现方式中,所述装置900向作为叶子的PE设备发送第一路由信息、接收第二路由信息或接收第三路由信息的方式方法可参见上述实施例一至实施例四中任一实施例提供的方法。第一路由信息、第二路由信息和第三路由信息的携带方式可参见上述实施例一至实施例四中任一实施例提供的方法。在此不再赘述。
举例说明,装置900包括的发送单元901用于支持装置900执行实施例一中作为根的 PE设备所执行的S301,接收单元902用于支持装置900执行实施例一中作为根的PE设备所执行的S305。装置900包括的接收单元902用于支持装置900执行实施例二中作为根的PE设备所执行的S503。装置900包括的发送单元901用于支持装置900执行实施例三中作为根的PE设备所执行的S601,接收单元902用于支持装置900执行实施例三中作为根的PE设备所执行的S605。装置900包括的接收单元902用于支持装置900执行实施例四中作为根的PE设备所执行的S803。
图10为本申请实施例提供的一种设置于作为叶子的PE设备的通告路由的装置的结构示意图。图10所示的装置可以设置于上述实施例一至实施例四任一可能的实施例提供的方法中的作为叶子的PE设备。本申请实施例提及的作为叶子的PE设备是相对作为根的PE设备而言的,在图2所示场景中,作为叶子的PE设备是PE2或PE3。在PE1连接组播接收者时,还可作为叶子的PE设备。图10对应的实施例是从逻辑结构的角度对通告路由的装置进行说明。图10对应的实施例所提供的通告路由的装置所包括的任一单元可以由一个或多个子单元实现,本申请实施例对此不进行限定。图10对应的实施例中提及的作为根的PE设备可以是图9对应实施例中设置有通告路由的装置的作为根的PE设备。
图10对应的实施例提供的通告路由的装置1000设置于BIER域内的作为叶子的PE设备。所述装置1000包括接收单元1001、发送单元1002和获取单元1003。接收单元1001 用于接收作为根的PE设备发送的第一路由信息。所述第一路由信息包括第一组播源信息和所述作为根的PE设备的信息。所述第一路由信息用于指示作为叶子的PE设备发送组播加入。所述第一路由信息的指示功能的实现方式可参见实施例一至实施例四中任一实施例中相应的实现方式,在此不再赘述。获取单元1003用于基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入。发送单元1002用于根据所述第一指示信息,在接收到组播接收者发送的组播加入请求后,向所述作为根的PE设备发送第二路由信息。
在一种可能的设计中,获取单元1003具体用于:基于所述组播加入请求获取第三组播源信息,所述第三组播源信息用于标识所述组播接收者请求加入的组播源;基于所述第一组播源信息、所述第三组播源信息和所述根节点的信息,确定所述叶子节点与所述根节点处于同一BIER子域;基于所述叶子节点在所述BIER域内的标识和所述第二指示信息,获取所述第二路由信息。
在一种可能的设计中,获取单元1003还用于:基于所述组播剪枝请求获取所述第二组播源信息,所述组播剪枝请求包括所述第二组播源信息;基于所述第二组播源信息所对应的根节点,确定所述叶子节点与所述根节点处于同一BIER子域;基于所述第三指示信息和所述叶子节点在所述BIER域内的标识,获取所述第三路由信息。
在一种可能的设计中,所述发送单元1002还用于在接收到所述组播接收者发送的组播剪枝请求后,向所述作为根的PE设备发送第三路由信息。所述第三路由信息包括第三指示信息、第二组播源信息和所述作为叶子的PE设备在所述BIER域内的标识。所述第三指示信息用于表示组播剪枝。所述第二组播源信息用于标识被剪枝的组播源。
在一种可能的实现方式中,所述装置1000包括的发送单元1002向作为根的PE设备发送第二路由信息和第三路由信息中的至少一个的方法,以及所述装置1000包括的接收单元1001接收第一路由信息的方法可参见上述实施例一至实施例四中任一实施例提供的作为叶子的PE设备执行的方法。第一路由信息、第二路由信息和第三路由信息的携带方式可参见上述实施例一至实施例四中任一实施例提供的方法。在此不再赘述。
举例说明,装置1000包括的接收单元1001用于支持装置1000执行实施例一中作为叶子的PE设备所执行的S302,发送单元1002用于支持装置1000执行实施例一中作为叶子的PE设备所执行的S303和S304。装置1000包括的发送单元1002用于支持装置1000 执行实施例二中作为叶子的PE设备所执行的S501和S502。装置1000包括的接收单元 1001用于支持装置1000执行实施例三中作为叶子的PE设备所执行的S602,发送单元1002 用于支持装置1000执行实施例三中作为叶子的PE设备所执行的S603和S604。装置1000 包括的发送单元1002用于支持装置1000执行实施例四中作为叶子的PE设备所执行的 S801和S802。
图11为本申请实施例提供的另一种设置于作为根的PE设备的通告路由的装置的结构示意图。图11对应的实施例提供的装置1100可以设置于实施例一至实施例四中任一实施例提供的作为根的PE设备。装置1100和装置900可以是同一装置,装置1100是从硬件结构角度显示的装置结构,装置900是从逻辑结构角度显示的装置结构。装置1100包括处理器1101、存储器1102、通信总线1104和通信接口1103。所述处理器1101、所述存储器1102和所述通信接口1103通过通信总线1104连接。所述存储器1102用于存储程序。当装置1100设置于实施例一至实施例四中任一实施例提及的作为根的PE设备时,所述处理器1101根据从所述存储器1102中读取的程序所包括的可执行指令,执行上述实施例一至实施例四中任一实施例的作为根的PE设备执行的方法。
举例说明,装置1100包括的处理器1101用于支持装置1100执行实施例一中作为根的PE设备所执行的S301和S305。装置1100包括的处理器1101用于支持装置1100执行实施例二中作为根的PE设备所执行的S503。装置1100包括的处理器1101用于支持装置 1100执行实施例三中作为根的PE设备所执行的S601和S605。装置1100包括的处理器 1101用于支持装置1100执行实施例四中作为根的PE设备所执行的S803。装置1100包括的处理器1101和通信接口1103用于支持装置900包括的发送单元901和接收单元902的功能。
图12为本申请实施例提供的另一种设置于作为叶子的PE设备的通告路由的装置的结构示意图。图12对应的实施例提供的装置1200可以设置于实施例一至实施例四中任一实施例提供的作为叶子的PE设备。装置1200和装置1000可以是同一装置,装置1200是从硬件结构角度显示的装置结构,装置1000是从逻辑结构角度显示的装置结构。装置1200 包括处理器1201、存储器1202、通信总线1204和通信接口1203。所述处理器1201、所述存储器1202和所述通信接口1203通过通信总线1204连接。所述存储器1202用于存储程序。当装置1200设置于实施例一至实施例四中任一实施例提及的作为叶子的PE设备时,所述处理器1201根据从所述存储器1202中读取的程序所包括的可执行指令,执行上述实施例一至实施例四中任一实施例的作为叶子的PE设备执行的方法。
举例说明,装置1200包括的处理器1201用于支持装置1200执行实施例一中作为叶子的PE设备所执行的S302、S303和S304。装置1200包括的处理器1201用于支持装置 1200执行实施例二中作为叶子的PE设备所执行的S501和S502。装置1200包括的处理器1201用于支持装置1200执行实施例三中作为叶子的PE设备所执行的S602、S603和S604。装置1200包括的处理器1201用于支持装置1200执行实施例四中作为叶子的PE 设备所执行的S801和S802。装置1200包括的处理器1201用于实现装置1000中获取单元1003的功能,装置1200包括的通信接口1203用于实现装置1000中接收单元1002和发送单元1001的功能。
本申请实施例还提供一种系统,所述系统包括图9对应的实施例提供的装置900和图 10对应的实施例提供的装置1000;或者所述系统包括图11对应的实施例提供的装置1100 和图12对应的实施例提供的装置1200。装置900或装置1100可用于执行实施例一至实施例四中任一实施例提及的作为根的PE设备所执行的方法。装置1000或装置1200可用于执行实施例一至实施例四中任一实施例提及的作为叶子的PE设备所执行的方法。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并执行时,使得所述计算机执行实施例一至实施例四任一实施例中作为根的PE设备所执行的方法,或者使得所述计算机执行实施例一至实施例四任一实施例中作为叶子的PE设备所执行的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储指令,所述指令用于执行实施例一至实施例四任一实施例中作为根的PE设备所执行的方法,或所述指令用于执行实施例一至实施例四任一实施例中作为叶子的PE设备所执行的方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包括,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请中“至少一项(个)”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中认为“A和/或B”包括单独A,单独B,和A+B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (73)
1.一种通告路由的方法,其特征在于,所述方法应用于基于位索引显式复制BIER域,包括:
根节点向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;
接收到所述第一路由信息的叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;
所述叶子节点向所述根节点发送所述第二路由信息。
2.根据权利要求1所述的方法,其特征在于,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。
3.根据权利要求1所述的方法,其特征在于,所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网VPN实例或用于标识公网协议无关组播PIM实例,所述第二标识为所述根节点在所述BIER域内的标识。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送边界网关协议BGP单播路由,所述BGP单播路由包括组播输入路由目标import RT属性和路由prefix,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
5.根据权利要求2所示的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息;或者
所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
6.根据权利要求3所述的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述BGP单播路由还包括组播业务标识MS-id属性和底层基于位索引显式复制信息underlay BIER属性中的至少一个,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识;或者
所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlay BIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
7.根据权利要求1至3、5和6任一所述的方法,其特征在于,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统AS,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括源自治系统source AS扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
8.根据权利要求1至7任一所述的方法,其特征在于,所述第一组播源信息包括组播源的信息或者集合点RP的信息,所述根节点的信息包括所述根节点的地址。
9.根据权利要求1至8任一所述的方法,其特征在于,所述叶子节点向所述根节点发送所述第二路由信息包括:
所述叶子节点向所述根节点发送第一边界网关协议BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
10.根据权利要求9所述的方法,其特征在于,所述第一BGP组播路由包括路径属性pathattributes,所述路径属性用于携带所述第二指示信息和网络层可达信息NLRI,所述NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第一BGP组播路由包括扩展的路由属性,所述扩展的路由属性用于携带所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
11.根据权利要求1至10任一所述的方法,其特征在于,所述方法还包括:
所述叶子节点向所述根节点发送第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝所对应的组播源。
12.根据权利要求11所述的方法,其特征在于,所述叶子节点向所述根节点发送第三路由信息包括:
所述叶子节点向所述根子节点发送第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
13.根据权利要求12所述的方法,其特征在于,所述第二BGP组播路由包括路径属性,所述第二BGP组播路由中的路径属性用于携带所述第三指示信息和NLRI,所述第二BGP组播路由中的所述NLRI用于携带所述第二组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
14.一种通告路由的方法,其特征在于,所述方法应用于基于位索引显式复制BIER域,包括:
根节点向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;
所述根节点接收来自所述叶子节点的基于所述第一路由信息获取的第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入。
15.根据权利要求14所述的方法,其特征在于,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。
16.根据权利要求14所述的方法,其特征在于,所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网VPN实例或用于标识公网协议无关组播PIM实例,所述第二标识为所述根节点在所述BIER域内的标识。
17.根据权利要求14至16任一所述的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送边界网关协议BGP单播路由,所述BGP单播路由包括组播输入路由目标import RT属性和路由prefix,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
18.根据权利要求15所示的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息;或者
所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
19.根据权利要求16所述的方法,其特征在于,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述BGP单播路由还包括组播业务标识MS-id属性和底层基于位索引显式复制信息underlay BIER属性中的至少一个,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识;或者
所述根节点向所述叶子节点发送BGP单播路由和组播隧道路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlay BIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
20.根据权利要求14至16、18和19任一所述的方法,其特征在于,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统AS,所述根节点向叶子节点发送第一路由信息包括:
所述根节点向所述叶子节点发送BGP单播路由,所述BGP单播路由包括源自治系统source AS扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
21.根据权利要求14至20任一所述的方法,其特征在于,所述第一组播源信息包括组播源的信息或者集合点RP的信息,所述根节点的信息包括所述根节点的地址。
22.根据权利要求14至21任一所述的方法,其特征在于,所述根节点接收来自所述叶子节点的基于所述第一路由信息获取的第二路由信息包括:
所述根节点接收所述叶子节点发送的第一BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
23.根据权利要求22所述的方法,其特征在于,所述第一BGP组播路由包括路径属性path attributes,所述路径属性用于携带所述第二指示信息和网络层可达信息NLRI,所述NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第一BGP组播路由包括扩展的路由属性,所述扩展的路由属性用于携带所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
24.根据权利要求14至23任一所述的方法,其特征在于,所述方法还包括:
所述根节点接收所述叶子节点发送的第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝所对应的组播源。
25.根据权利要求24所述的方法,其特征在于,所述根节点接收所述叶子节点发送的第三路由信息包括:
所述根节点接收所述叶子节点发送的第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
26.根据权利要求25所述的方法,其特征在于,所述第二BGP组播路由包括路径属性,所述第二BGP组播路由中的路径属性用于携带所述第三指示信息和NLRI,所述第二BGP组播路由中的所述NLRI用于携带所述第二组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
27.一种通告路由的方法,其特征在于,所述方法应用于基于位索引显式复制BIER域,包括:
叶子节点接收根节点发送的第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;
所述叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;
所述叶子节点向所述根节点发送所述第二路由信息。
28.根据权利要求27所述的方法,其特征在于,所述叶子节点基于所述第一组播源信息和所述根节点的信息,获取第二路由信息包括:
所述叶子节点基于所述组播加入请求获取第三组播源信息,所述第三组播源信息用于标识所述组播接收者请求加入的组播源;
所述叶子节点基于所述第一组播源信息、所述第三组播源信息和所述根节点的信息,确定所述叶子节点与所述根节点处于同一BIER子域;
所述叶子节点基于所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,获取所述第二路由信息。
29.根据权利要求27或28所述的方法,其特征在于,所述叶子节点向所述根节点发送所述第二路由信息包括:
所述叶子节点向所述根节点发送第一边界网关协议BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
30.根据权利要求29所述的方法,其特征在于,所述第一BGP组播路由包括路径属性path attributes,所述路径属性用于携带所述第二指示信息和网络层可达信息NLRI,所述NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第一BGP组播路由包括扩展的路由属性,所述扩展的路由属性用于携带所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
31.根据权利要求27至30任一所述的方法,其特征在于,所述方法还包括:
所述叶子节点在接收到所述组播接收者发送的组播剪枝请求后,向所述根节点发送第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝对应的组播源。
32.根据权利要求31所述的方法,其特征在于,所述方法还包括:
所述叶子节点基于所述组播剪枝请求获取所述第二组播源信息,所述组播剪枝请求包括所述第二组播源信息;
所述叶子节点基于所述第二组播源信息所对应的根节点,确定所述叶子节点与所述根节点处于同一BIER子域;
所述叶子节点基于所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识,获取所述第三路由信息。
33.根据权利要求31或32所述的方法,其特征在于,所述叶子节点在接收到所述组播接收者发送的组播剪枝请求后,向所述根节点发送第三路由信息包括:
所述叶子节点向所述根节点发送第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
34.根据权利要求33所述的方法,其特征在于,所述第二BGP组播路由包括路径属性,所述第二BGP组播路由中的路径属性用于携带所述第三指示信息和NLRI,所述第二BGP组播路由中的所述NLRI用于携带所述第二组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
35.根据权利要求27至34任一所述的方法,其特征在于,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。
36.根据权利要求27至34任一所述的方法,其特征在于,所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网VPN实例或用于标识公网协议无关组播PIM实例,所述第二标识为所述根节点在所述BIER域内的标识。
37.根据权利要求27至36任一所述的方法,其特征在于,所述叶子节点接收根节点发送的第一路由信息包括:
所述叶子节点接收所述根节点发送的BGP单播路由,所述BGP单播路由包括组播输入路由目标import RT属性和路由prefix,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
38.根据权利要求35所示的方法,其特征在于,所述叶子节点接收根节点发送的第一路由信息包括:
所述叶子节点接收所述根节点发送的BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息;或者
所述叶子节点接收所述根节点发送的BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
39.根据权利要求36所述的方法,其特征在于,所述叶子节点接收根节点发送的第一路由信息包括:
所述叶子节点接收所述根节点发送的BGP单播路由,所述BGP单播路由包括组播importRT属性和路由prefix,所述BGP单播路由还包括组播业务标识MS-id属性和底层基于位索引显式复制信息underlay BIER属性中的至少一个,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识;或者
所述叶子节点接收所述根节点发送的BGP单播路由和组播隧道路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlay BIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
40.根据权利要求27至36、38和39任一所述的方法,其特征在于,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统AS,所述叶子节点接收根节点发送的第一路由信息包括:
所述叶子节点接收所述根节点发送的BGP单播路由,所述BGP单播路由包括源自治系统source AS扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
41.根据权利要求27至40任一所述的方法,其特征在于,所述第一组播源信息包括组播源的信息或者集合点RP的信息,所述根节点的信息包括所述根节点的地址。
42.一种通告路由的装置,其特征在于,所述装置设置于基于位索引显式复制BIER域的根节点,包括:
发送单元,用于向叶子节点发送第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;
接收单元,用于接收来自所述叶子节点的基于所述第一路由信息获取的第二路由信息,所述第二路由信息包括第二指示信息、第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入。
43.根据权利要求42所述的装置,其特征在于,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。
44.根据权利要求42所述的装置,其特征在于,所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网VPN实例或用于标识公网协议无关组播PIM实例,所述第二标识为所述根节点在所述BIER域内的标识。
45.根据权利要求42至44任一所述的装置,其特征在于,所述发送单元具体用于:
向所述叶子节点发送边界网关协议BGP单播路由,所述BGP单播路由包括组播输入路由目标import RT属性和路由prefix,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
46.根据权利要求43任一所述的装置,其特征在于,所述发送单元具体用于:
向所述叶子节点发送BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息;或者
向所述叶子节点发送BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
47.根据权利要求44任一所述的装置,其特征在于,所述发送单元具体用于:
向所述叶子节点发送BGP单播路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述BGP单播路由还包括组播业务标识MS-id属性和底层基于位索引显式复制信息underlay BIER属性中的至少一个,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识;或者
向所述叶子节点发送BGP单播路由和组播隧道路由,所述BGP单播路由包括组播importRT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlayBIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识。
48.根据权利要求42至44、46和47任一所述的装置,其特征在于,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统AS,所述发送单元具体用于:
向所述叶子节点发送BGP单播路由,所述BGP单播路由包括源自治系统source AS扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
49.根据权利要求42至48任一所述的装置,其特征在于,所述第一组播源信息包括组播源的信息或者集合点RP的信息,所述根节点的信息包括所述根节点的地址。
50.根据权利要求42至49任一所述的装置,其特征在于,所述接收单元具体用于:
接收所述叶子节点发送的第一BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
51.根据权利要求50所述的装置,其特征在于,所述第一BGP组播路由包括路径属性path attributes,所述路径属性用于携带所述第二指示信息和网络层可达信息NLRI,所述NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第一BGP组播路由包括扩展的路由属性,所述扩展的路由属性用于携带所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
52.根据权利要求42至51任一所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述叶子节点发送的第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝所对应的组播源。
53.根据权利要求52所述的装置,其特征在于,所述接收单元具体用于:
接收所述叶子节点发送的第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
54.根据权利要求53所述的装置,其特征在于,所述第二BGP组播路由包括路径属性,所述第二BGP组播路由中的路径属性用于携带所述第三指示信息和NLRI,所述第二BGP组播路由中的所述NLRI用于携带所述第二组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
55.一种通告路由的装置,其特征在于,所述装置设于基于位索引显式复制BIER域内的叶子节点,包括:
接收单元,用于接收根节点发送的第一路由信息,所述第一路由信息包括第一组播源信息和所述根节点的信息,所述第一路由信息用于指示所述叶子节点发送组播加入;
获取单元,用于基于所述第一组播源信息和所述根节点的信息,获取第二路由信息,所述第二路由信息包括第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,所述第二指示信息用于表示组播加入;
发送单元,用于向所述根节点发送所述第二路由信息。
56.根据权利要求55所述的装置,其特征在于,所述获取单元具体用于:
基于所述组播加入请求获取第三组播源信息,所述第三组播源信息用于标识所述组播接收者请求加入的组播源;
基于所述第一组播源信息、所述第三组播源信息和所述根节点的信息,确定所述叶子节点与所述根节点处于同一BIER子域;
基于所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识,获取所述第二路由信息。
57.根据权利要求55或56所述的装置,其特征在于,所述发送单元具体用于:
向所述根节点发送第一边界网关协议BGP组播路由,所述第一BGP组播路由包括所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
58.根据权利要求57所述的装置,其特征在于,所述第一BGP组播路由包括路径属性path attributes,所述路径属性用于携带所述第二指示信息和网络层可达信息NLRI,所述NLRI用于携带所述第一组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第一BGP组播路由包括扩展的路由属性,所述扩展的路由属性用于携带所述第二指示信息、所述第一组播源信息和所述叶子节点在所述BIER域内的标识。
59.根据权利要求55至58任一所述的装置,其特征在于,所述发送单元还用于;
在接收到所述组播接收者发送的组播剪枝请求后,向所述根节点发送第三路由信息,所述第三路由信息包括第三指示信息、第二组播源信息和所述叶子节点在所述BIER域内的标识,所述第三指示信息用于表示组播剪枝,所述第二组播源信息用于标识组播剪枝对应的组播源。
60.根据权利要求55至59任一所述的装置,其特征在于,所述获取单元还用于:
基于所述组播剪枝请求获取所述第二组播源信息,所述组播剪枝请求包括所述第二组播源信息;
基于所述第二组播源信息所对应的根节点,确定所述叶子节点与所述根节点处于同一BIER子域;
基于所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识,获取所述第三路由信息。
61.根据权利要求55至60任一所述的装置,其特征在于,所述发送单元具体用于:
向所述根节点发送第二BGP组播路由,所述第二BGP组播路由包括所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识,所述叶子节点在所述BIER域内的标识包括所述叶子节点所属的BIER子域的标识和所述叶子节点的BFR-id。
62.根据权利要求61所述的装置,其特征在于,所述第二BGP组播路由包括路径属性,所述第二BGP组播路由中的路径属性用于携带所述第三指示信息和NLRI,所述第二BGP组播路由中的所述NLRI用于携带所述第二组播源信息和所述叶子节点在所述BIER域内的标识;或者
所述第二BGP组播路由包括扩展的路由属性,第二BGP组播路由中的所述扩展的路由属性用于携带所述第三指示信息、所述第二组播源信息和所述叶子节点在所述BIER域内的标识。
63.根据权利要求55至62任一所述的装置,其特征在于,所述第一路由信息还包括第一指示信息,所述第一指示信息用于指示所述叶子节点发送组播加入。
64.根据权利要求55至62任一所述的装置,其特征在于,所述第一路由信息还包括第一标识和第二标识中的至少一个,所述第一标识和所述第二标识中的至少一个用于指示所述叶子节点发送组播加入,所述第一标识用于标识虚拟专用网VPN实例或用于标识公网协议无关组播PIM实例,所述第二标识为所述根节点在所述BIER域内的标识。
65.根据权利要求55至64任一所述的装置,其特征在于,所述接收单元具体用于:
接收所述根节点发送的BGP单播路由,所述BGP单播路由包括组播输入路由目标importRT属性和路由prefix,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息。
66.根据权利要求63任一所述的装置,其特征在于,所述接收单元具体用于:
接收所述根节点发送的BGP单播路由,所述BGP单播路由包括所述第一指示信息、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息;或者
接收所述根节点发送的BGP单播路由和组播隧道路由,所述组播隧道路由包括所述第一指示信息,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息。
67.根据权利要求64所述的装置,其特征在于,所述接收单元具体用于:
接收所述根节点发送的BGP单播路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述BGP单播路由还包括组播业务标识MS-id属性和底层基于位索引显式复制信息underlay BIER属性中的至少一个,所述组播import RT属性用于携带所述根节点的信息,所述路由prefix用于携带所述第一组播源信息,所述MS-id属性用于携带所述第一标识,所述underlay BIER属性用于携带所述第二标识;或者
接收所述根节点发送的BGP单播路由和组播隧道路由,所述BGP单播路由包括组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述组播隧道路由包括所述MS-id属性和所述underlay BIER属性中的至少一个,所述MS-id属性用于携带所述第一标识,所述underlayBIER属性用于携带所述第二标识。
68.根据权利要求55至64、66和67任一所述的装置,其特征在于,所述第一路由信息还包括第三标识,所述第三标识用于标识所述根节点所在的自治系统AS,所述接收单元具体用于:
接收所述根节点发送的BGP单播路由,所述BGP单播路由包括源自治系统source AS扩展团体属性、组播import RT属性和路由prefix,所述路由prefix用于携带所述第一组播源信息,所述组播import RT属性用于携带所述根节点的信息,所述source AS扩展团体属性用于携带所述第三标识。
69.根据权利要求55至68任一所述的装置,其特征在于,所述第一组播源信息包括组播源的信息或者集合点RP的信息,所述根节点的信息包括所述根节点的地址。
70.一种系统,其特征在于,所述系统包括如权利要求42至54任一所述的通告路由的装置和如权利要求55至69任一所述的通告路由的装置。
71.一种计算机程序产品,其特征在于,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并执行时,使得所述计算机执行权利要求14至26任一所述的通告路由的方法或权利要求27至41任一所述的通告路由的方法。
72.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储指令,所述指令用于执行权利要求14至26任一所述的通告路由的方法或权利要求27至41任一所述的通告路由的方法。
73.一种通告路由的装置,其特征在于,所述通告路由的装置包括处理器和存储供所述处理器执行的程序指令的非瞬时性计算机可读存储介质,所述程序指令指示所述处理器执行权利要求14至26任一所述的通告路由的方法或权利要求27至41任一所述的通告路由的方法。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011521979 | 2020-12-21 | ||
CN2020115219799 | 2020-12-21 | ||
CN202110129468 | 2021-01-29 | ||
CN2021101294680 | 2021-01-29 | ||
CN202110153714 | 2021-02-04 | ||
CN2021101537146 | 2021-02-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114726783A true CN114726783A (zh) | 2022-07-08 |
Family
ID=82233875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110368478.XA Pending CN114726783A (zh) | 2020-12-21 | 2021-04-06 | 通告路由的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726783A (zh) |
-
2021
- 2021-04-06 CN CN202110368478.XA patent/CN114726783A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8111633B1 (en) | Multicast trees for virtual private local area network (LAN) service multicast | |
US8339973B1 (en) | Multicast traceroute over MPLS/BGP IP multicast VPN | |
US9509609B2 (en) | Forwarding packets and PE devices in VPLS | |
KR101460872B1 (ko) | Bgp mac-vpn에 대한 다중 프로토콜 레이블 스위칭(mpls) 레이블 할당을 위한 방법 및 장치 | |
WO2018006671A1 (zh) | 报文发送方法和装置、网络架构、计算机存储介质 | |
CN102035729B (zh) | 一种组播数据转发方法 | |
WO2018228490A1 (zh) | 组播跨域方法、装置、系统及计算机可读存储介质 | |
CN107968750B (zh) | 报文传输方法、装置及节点 | |
WO2016115987A1 (zh) | 用于组播转发的方法及装置 | |
US8730979B2 (en) | Method and system for increasing forwarding efficiency of virtual private LAN service network | |
EP2466807A1 (en) | IP Forwarding across a Link State Protocol Controlled Ethernet Network | |
US9288067B2 (en) | Adjacency server for virtual private networks | |
CN100481817C (zh) | 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 | |
US9112711B2 (en) | Optimizing OTV multicast traffic flow for site local receivers | |
CN103326940A (zh) | 在网络中转发报文的方法和运营商边缘设备 | |
EP4131872A1 (en) | Multicast traffic transmission method and apparatus, communication node, and storage medium | |
EP3195532B1 (en) | Network device configured to track multicast receivers | |
CN102739501A (zh) | 二三层虚拟私有网络中的报文转发方法和系统 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
CN113497766B (zh) | 使用源激活路由的evpn组播入口转发器选择 | |
CN106230730B (zh) | 一种组播传输方法和装置 | |
US20220094626A1 (en) | Method and Apparatus for Implementing Multicast | |
WO2018010568A1 (zh) | 信息的通告方法、转发条目的生成方法及装置 | |
CN114157597B (zh) | 经加权的多播加入负载平衡 | |
EP3907940B1 (en) | Ingress replication procedures to facilitate migration to segment routing technology in a computer network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |