组播数据传输方法、相关装置及系统Multicast data transmission method, related device and system
技术领域Technical field
本申请涉及组播技术领域,尤其涉及组播数据传输方法、相关装置及系统。The present application relates to the field of multicast technologies, and in particular, to a multicast data transmission method, related apparatus, and system.
背景技术Background technique
随着互联网视频业务、虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)等大视频业务开展,数据中心(data center,DC)内部及DC间的流量复制、备份,以及分布式存储的应用,组播业务需求呈现爆炸式增长。传统组播技术带来了中间网络组播表、组播状态等的爆炸式增长,成为组播网络中最复杂、不可控的部分。With the development of large video services such as Internet video services, virtual reality (VR), and augmented reality (AR), traffic replication, backup, and distribution within and between data centers (DCs) For storage applications, the demand for multicast services has exploded. Traditional multicast technology has brought about an explosive growth of intermediate network multicast tables and multicast states, and has become the most complex and uncontrollable part of multicast networks.
位索引显式复制(bit indexed explicit replication,BIER)技术提供了一个非常简化的方式来解决中间网络的组播转发问题,可以高效的进行组播的分发,解决了组播技术中的重大难题。BIER技术可参考IETF草案draft-ietf-bier-architecture-07。位索引显式复制(BIER)是无状态组播协议的典型代表,具有如下特点:1.不需要使用用于显式创建组播分布树的协议;2.不需要中间节点维护任何每流状态(per-flow state)。The bit indexed explicit replication (BIER) technology provides a very simplified way to solve the multicast forwarding problem of the intermediate network, which can efficiently distribute multicast and solve the major problems in the multicast technology. The BIER technique can be found in the IETF draft draft-ietf-bier-architecture-07. Bit Index Explicit Copy (BIER) is a typical representative of stateless multicast protocols. It has the following characteristics: 1. It does not need to use the protocol for explicitly creating a multicast distribution tree; 2. It does not require intermediate nodes to maintain any per-flow state. (per-flow state).
BIER技术可以与各种虚拟私有网(virtual private network,VPN),如组播虚拟私有网(multicast virtual private network,MVPN),层三虚拟私有网(layer 3virtual private network,L3VPN)和以太网虚拟私有网(ethernet virtual private network,EVPN)等结合,可以实现完善的VPN组播。其中,MVPN超越了传统虚拟私有网(VPN)的概念和束缚,充分利用随处可及的互联网,提供了两个优越的明显不同的选择:虚拟私有内网和虚拟私有广域网,可实现无缝地、安全地、简单地连接地区和用户。MVPN已经成为企业异地互联互通的重要桥梁。因此,BIER势必需要对MVPN给予全面的支持。BIER technology can be used with a variety of virtual private networks (VPNs) such as multicast virtual private network (MVPN), layer 3 virtual private network (L3VPN) and Ethernet virtual private A combination of ethernet virtual private network (EVPN) can achieve complete VPN multicast. Among them, MVPN surpasses the concept and shackles of traditional virtual private network (VPN), making full use of the ubiquitous Internet, providing two superior and distinct choices: virtual private intranet and virtual private WAN, which can be seamlessly implemented. Securely and simply connect regions and users. MVPN has become an important bridge for enterprises to connect and exchange in different places. Therefore, BIER is bound to need full support for MVPN.
但是,在BIER技术和MVPN结合的现有方案中,组播传输存在收敛时间长、时效性差的问题。However, in the existing scheme combining BIER technology and MVPN, multicast transmission has a problem of long convergence time and poor timeliness.
发明内容Summary of the invention
本申请提供了组播数据传输方法、相关装置及系统,可显著缩短组播传输的收敛时间,改善了组播传输的时效性。The present application provides a multicast data transmission method, related device and system, which can significantly shorten the convergence time of multicast transmission and improve the timeliness of multicast transmission.
第一方面,本申请提供了一种组播数据传输方法,应用于组播源侧的位转发入口路由器(Bit-Forwarding Ingress Router,BFIR),该方法可包括:第一BIER域中的第一BFIR确定出组播数据在第二BIER域中对应的位索引转发表(Bit Index Forwarding Table,BIFT)的标识(简称为BIFT-id)和位串(BitString),其中,该BIFT-id至少由第一位转发出口路由器(Bit-Forwarding Egress Router,BFER)的BFR-id所属的子集标识(Set Identifier,SI)以及第一BFER支持的位串长度(BitStringLength,BSL)确定,该BitString至少由第一BFER的位转发路由器(Bit-Forwarding Router,BFR)标识(简称BFR-id)确定,第一BFER为第二BIER域中用于接收该组播数据的BFER。然后,第一BFIR将该组播数据封装成BIER数据包,该BIER数据包的BIER头包括该组播数据在第二BIER域中对应的BIFT-id和 位串。最后,第一BFIR为该BIER数据包打上标签,向第二BFIR发送打上该标签后的该BIER数据包,其中该标签为第二BIER域中的第二BFIR的前缀对应的标签。In a first aspect, the present application provides a multicast data transmission method, which is applied to a Bit-Forwarding Ingress Router (BFIR) on a multicast source side, and the method may include: first in a first BIER domain. The BFIR determines an identifier (BIFT-id) and a bit string (BitString) of the corresponding Bit Index Forwarding Table (BIFT) of the multicast data in the second BIER domain, wherein the BIFT-id is at least The Set Identifier (SI) to which the BFR-id of the first bit-forwarding egress router (BFER) belongs and the bit string length (BitStringLength, BSL) supported by the first BFER determine that the BitString is at least The first BFER bit-forwarding router (BFR) identifier (abbreviated as BFR-id) determines that the first BFER is a BFER for receiving the multicast data in the second BIER domain. Then, the first BFIR encapsulates the multicast data into a BIER packet, and the BIER header of the BIER packet includes a BIFT-id and a bit string corresponding to the multicast data in the second BIER domain. Finally, the first BFIR tags the BIER data packet, and sends the BIER data packet after the label is sent to the second BFIR, where the label is a label corresponding to the prefix of the second BFIR in the second BIER domain.
在第一方面中,第一BIER域即发送方所处的BIER域,第二BIER域即非发送方所处的BIER域,可以称为其他BIER域。第一BFIR即发送方,为组播源侧的BFIR。第二BFIR为其他BIER域中的BFIR。第一BFER为其他BIER域中用于接收该组播数据的BFER,即其他BIER域中对该组播数据所对应的组播组感兴趣的BFER。上述标签可以为多协议标签转发(Multi-Protocol Label Switching,MPLS)标签或通用路由封装(Generic Routing Encapsulation,GRE)标签。In the first aspect, the first BIER domain is the BIER domain in which the sender is located, and the second BIER domain, that is, the BIER domain in which the non-transmitter is located, may be referred to as another BIER domain. The first BFIR is the sender and is the BFIR on the multicast source side. The second BFIR is the BFIR in the other BIER domains. The first BFER is a BFER for receiving the multicast data in other BIER domains, that is, a BFER that is interested in the multicast group corresponding to the multicast data in other BIER domains. The label may be a Multi-Protocol Label Switching (MPLS) label or a Generic Routing Encapsulation (GRE) label.
可以看出,针对发往其他BIER域的组播数据,发送方对该组播数据进行BIER封装得到BIER数据包,然后将BIER数据包打上标签(如MPLS标签或GRE标签)后单播发送到其他BIER域的BFIR。It can be seen that, for multicast data sent to other BIER domains, the sender performs BIER encapsulation on the multicast data to obtain a BIER packet, and then tags the BIER packet (such as an MPLS label or a GRE label) and then unicasts it to the multicast data. BFIR of other BIER domains.
然后,BIER域内的组播数据转发遵循现有的BIER机制转发机制,可参考IETF草案draft-ietf-bier-mvpn-08中描述的现有的BIER-MVPN方案。可以理解的,与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,BIER头仅在发送方侧被构造,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。Then, the multicast data forwarding in the BIER domain follows the existing BIER mechanism forwarding mechanism. Refer to the existing BIER-MVPN scheme described in the IETF draft draft-ietf-bier-mvpn-08. It can be understood that, unlike the existing BIER-MVPN solution, the multicast data forwarding in this application is not segmented, and the BIER header is constructed only on the sender side, and no intermediate device is needed (such as each BIER domain along the way). BFIR, BFER) participate in the generation of BIER headers, enabling more efficient multicast forwarding.
在第一方面中,在一些可选的实施例中,发送方可具体从第一映射表中确定出该组播数据在第二BIER域中对应的位串和BIFT-id。这里,第一映射表可包括该组播数据在至少一个BIER域中分别对应的BIFT-id、位串。这至少一个BIER域包括第二BIER域。In a first aspect, in some optional embodiments, the sender may specifically determine the corresponding bit string and BIFT-id of the multicast data in the second BIER domain from the first mapping table. Here, the first mapping table may include a BIFT-id, a bit string respectively corresponding to the multicast data in at least one BIER domain. The at least one BIER domain includes a second BIER domain.
结合第一方面,在一些可选的实施例中,发送方在为BIER数据包打上标签之前,还可以确定出发送方在第二BIER域中的逻辑下一跳的前缀。其中,发送方在第二BIER域中的逻辑下一跳为第二BFIR。这样,对于其他BIER域,发送方能够自主确定下一跳(即将其他BIER域的BFIR作为下一跳),而不是将直接相邻的BFR(即BFR-NBR)作为下一跳,可避免发往其他BIER域的组播数据再经过发送方所在的BIER域内的BFR的转发,可实现将组播数据通过MPLS或GRE封装后直接发送到其他BIER域的BFIR,转发效率更高。In conjunction with the first aspect, in some alternative embodiments, the sender may also determine the prefix of the logical next hop of the sender in the second BIER domain before tagging the BIER packet. The logical next hop of the sender in the second BIER domain is the second BFIR. In this way, for other BIER domains, the sender can determine the next hop (ie, the BFIR of other BIER domains as the next hop), instead of using the directly adjacent BFR (ie, BFR-NBR) as the next hop, which can be avoided. The multicast data in the BIER domain is forwarded by the BFR in the BIER domain where the sender is located. The BFIR can be directly sent to other BIER domains after being encapsulated by MPLS or GRE. The forwarding efficiency is higher.
在第一方面中,在一些可选的实施例中,发送方可具体根据组播数据在第二BIER域中对应的BIFT-id,从第二映射表中确定出发送方在第二BIER域中的逻辑下一跳的前缀。发送方在第二BIER域中的逻辑下一跳的前缀为组播数据在第二BIER域中对应的BIFT-id所对应的前缀。这里,第二映射表可包括:组播数据在至少一个BIER域中分别对应的BIFT-id、第一BFIR在至少一个BIER域中的逻辑下一跳的前缀。In a first aspect, in some optional embodiments, the sender may determine, according to the corresponding BIFT-id of the multicast data in the second BIER domain, that the sender is in the second BIER domain from the second mapping table. The prefix of the logical next hop in . The prefix of the logical next hop of the sender in the second BIER domain is the prefix corresponding to the corresponding BIFT-id of the multicast data in the second BIER domain. Here, the second mapping table may include: a BIFT-id corresponding to the multicast data in the at least one BIER domain, and a logical next hop prefix of the first BFIR in the at least one BIER domain.
下面说明上述BIFT-id、上述BitString、第一映射表、第二映射表是如何确定的。Next, how the above BIFT-id, the above-mentioned BitString, the first mapping table, and the second mapping table are determined will be described.
(1)首先,发送方可以通过组播信息发布和反馈来了解哪些BIER域中的BFER对组播组感兴趣。本申请中,发送方与其他BIER域中的BFIR、BFER之间构成边界网关协议(Border Gateway Protocol,BGP)对等体。组播信息发布和反馈可包括:(1) First, the sender can know which BFERs in the BIER domain are interested in the multicast group through multicast information release and feedback. In this application, the sender and the BFIR and BFER in the other BIER domain form a Border Gateway Protocol (BGP) peer. Multicast information release and feedback can include:
1.组播信息发布1. Multicast information release
发送方可以通过BGP连接直接向其他BIER域中的BFIR、BFER发送BGP消息,该BGP消息中携带P组播服务接口自动发现路由(P-Multicast Service Interface Auto-Discovery route,PMSI A-D route),用于发布组播信息(如组播组地址)。该Intra PMSI A-D route可携带BIER标识、组播数据对应的组播组的标识(如组播组地址(multicast group)232.1.1.1)。这里,该BIER标识用于指示携带该Intra PMSI A-D route的BGP消息是一个 BIER组播消息。The sender can directly send BGP messages to the BFIR and BFER in the BIER domain through the BGP connection. The BGP message carries the P-Multicast Service Interface Auto-Discovery route (PMSI AD route). Publish multicast information (such as multicast group address). The Intra PMSI A-D route can carry the BIER identifier and the identifier of the multicast group corresponding to the multicast data (such as the multicast group address 232.1.1.1). Here, the BIER identifier is used to indicate that the BGP message carrying the Intra PMSI A-D route is a BIER multicast message.
2.组播信息反馈2. Multicast information feedback
相应的,如果对组播组感兴趣,则其他BIER域中的BFIR、BFER可以分别通过BGP连接直接向发送方发送携带叶子节点自动发现路由(Leaf Auto-Discovery route,Leaf A-D route)的BGP消息。相应的,发送方通过BGP连接分别接收来自其他BIER域中的BFIR、BFER的BPG消息,该BGP消息携带Leaf A-D route。Correspondingly, if the multicast group is interested, the BFIR and the BFER in the other BIER domain can directly send the BGP message carrying the leaf auto-discovery route (Leaf AD route) to the sender through the BGP connection. . Correspondingly, the sender receives the BPG message from the BFIR and BFER in the other BIER domain through the BGP connection, and the BGP message carries the Leaf A-D route.
为了让发送方了解哪些BIER域中的BFER对组播组感兴趣,以及知道如何转发组播数据到这些BFER,Leaf A-D route可以携带下述信息:In order for the sender to know which BFERs in the BIER domain are interested in the multicast group and know how to forward the multicast data to these BFERs, the Leaf A-D route can carry the following information:
其一,其他BIER域中的BFER(即第一BFER)反馈的Leaf A-D route中可以携带第一BFER的BFR-id、第一BFER所属的sub-domain、第一BFER的BFR-id所属的SI、第一BFER支持的BSL和第一BFER所属BIER域的标识。具体可以在Leaf A-D route新增用于携带sub-domain、SI、BSL和BFR-id的字段,以及开启扩展团体属性(“Source-AS extended community”)以指示BIER域的标识。这样,发送方就可以根据sub-domain、SI和BSL这三项参数确定出BIFT-id,并可以根据BFR-id生成BitString。也即是说,其他BIER域中的BFER的BFR-id、BFR-id所属的SI、该其他BIER域的标识可用于发送方确定组播数据在该其他BIER域中对应的BIFT-id、位串。然后,发送方可以利用BIER域的标识、BIFT-id和BitString生成第一映射表,具体见后续内容。First, the Leaf AD route fed back by the BFER (ie, the first BFER) in the other BIER domain may carry the BFR-id of the first BFER, the sub-domain to which the first BFER belongs, and the SI to which the BFR-id of the first BFER belongs. The BSL supported by the first BFER and the identifier of the BIER domain to which the first BFER belongs. Specifically, a field for carrying sub-domain, SI, BSL, and BFR-id may be added to the Leaf A-D route, and an extended community attribute ("Source-AS extended community") is opened to indicate the identifier of the BIER domain. In this way, the sender can determine the BIFT-id according to the three parameters of sub-domain, SI, and BSL, and can generate a BitString according to the BFR-id. That is to say, the BFR-id of the BFER in the other BIER domain, the SI to which the BFR-id belongs, and the identifier of the other BIER domain can be used by the sender to determine the corresponding BIFT-id, bit of the multicast data in the other BIER domain. string. Then, the sender can generate the first mapping table by using the BIER domain identifier, BIFT-id, and BitString, as shown in the following.
在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,第一BFER反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。In one possible case, a BIER domain is configured with only one sub-domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route of the first BFER feedback.
在一种可能的情况下,整个组播域支持的BSL可以是一致的,即无需额外通知,发送方也知道BSL。因此,第一BFER反馈的Leaf A-D route中不必须携带BSL。In one possible case, the BSL supported by the entire multicast domain can be consistent, that is, the sender knows the BSL without additional notification. Therefore, it is not necessary to carry the BSL in the Leaf A-D route of the first BFER feedback.
其二,其他BIER域中的BFIR(即第二BFIR)反馈的Leaf A-D route中可以携带第二BFIR的BFR-Prefix、第二BFIR的所属BIER域的标识。其他BIER域中的BFIR的前缀和该其他BIER域的标识用于发送方确定组播数据在该其他BIER域中的逻辑下一跳的前缀。这样,发送方便可以根据这信息生成发送方的第二映射表,具体见后续内容。Second, the leaf A-D route fed back by the BFIR (ie, the second BFIR) in the other BIER domain may carry the BFR-Prefix of the second BFIR and the identifier of the BIER domain of the second BFIR. The prefix of the BFIR in the other BIER domain and the identity of the other BIER domain are used by the sender to determine the prefix of the logical next hop of the multicast data in the other BIER domain. In this way, the sending convenience can generate a second mapping table of the sender according to the information, as shown in the following.
可以看出,不同BIER域之间的边缘BFR之间构建成BGP对等体,可通过BGP连接直接交互BGP消息,进行组播信息的快速发布和快速反馈。也即是说,组播信息发布和反馈不再是分段进行BGP交互,而是直接跨域交互BGP消息,组播发布和反馈的收敛时间明显缩短,实效性高。It can be seen that the edge BFRs of different BIER domains are configured as BGP peers. BGP messages can be directly exchanged through BGP connections to quickly release multicast information and provide fast feedback. That is to say, multicast information distribution and feedback are no longer segmented for BGP interaction, but BGP messages are directly exchanged across domains. The convergence time of multicast release and feedback is significantly shortened, and the effectiveness is high.
(2)发送方确定BIFT-id。(2) The sender determines the BIFT-id.
具体的,发送方可以根据来自各个BIER域的Leaf A-D route中携带的sub-domain、SI和BSL确定特定组播组在各个BIER域中各自对应的BIFT-id。BIFT-id用于各个BIER域中的BFR(包括BFIR、中转BFR)根据BIFT-id所标识的BIFT转发组播数据。BIFT-id是一个固定长度(如20个比特)的索引,由sub-domain、SI和BSL这三项参数确定。其中,在一个BIER域仅配置有一个sub-domain的特殊情况下,sub-domain不是必选项。Specifically, the sender can determine the corresponding BIFT-id of the specific multicast group in each BIER domain according to the sub-domain, SI, and BSL carried in the Leaf A-D route from each BIER domain. BIFT-id is used for BFR (including BFIR, transit BFR) in each BIER domain to forward multicast data according to BIFT identified by BIFT-id. BIFT-id is a fixed-length (such as 20 bits) index determined by three parameters: sub-domain, SI, and BSL. In a special case where only one sub-domain is configured in a BIER domain, the sub-domain is not mandatory.
可以看出,与其他BIER域中确定BIFT-id所依据的参数一样,发送方也依据sub-domain、SI、BSL确定该特定组播组在其他BIER域中对应的BIFT-id。这意味着发送方能构建可在其他BIER域内用于BIER路由转发的BIFT-id,整个组播域(多个BIER域)统一视角来确定BIFT-id,可实现发送方能够生成在其他BIER域中成功进行BIER路由转发的BIER数据包。It can be seen that, like other parameters in the BIER domain to determine the BIFT-id, the sender also determines the corresponding BIFT-id of the specific multicast group in other BIER domains according to the sub-domain, SI, and BSL. This means that the sender can construct a BIFT-id that can be used for BIER route forwarding in other BIER domains. The entire multicast domain (multiple BIER domains) can be used to determine the BIFT-id, which enables the sender to generate other BIER domains. A BIER packet that successfully performs BIER routing forwarding.
需要说明的,该特定组播组在各个BIER域中各自对应的BIFT-id即该特定组播组对应的组播数据在各个BIER域中各自对应的BIFT-id。It should be noted that the BIFT-id corresponding to each specific multicast group in each BIER domain is the BIFT-id corresponding to the multicast data corresponding to the specific multicast group in each BIER domain.
(3)发送方确定BitString。(3) The sender determines the BitString.
具体的,发送方可以根据来自各个BIER域的Leaf A-D route中携带的BFR-id确定特定组播组在各个BIER域中各自对应的BitString。BitString用于各个BIER域中的BFR(包括BFIR、中转BFR)转发组播数据到BitString所标识的BFER(即接收者)。Specifically, the sender can determine the BitString corresponding to each multicast group in each BIER domain according to the BFR-id carried in the Leaf A-D route from each BIER domain. BitString is used for BFR (including BFIR, transit BFR) in each BIER domain to forward multicast data to the BFER (ie, the receiver) identified by BitString.
(4)发送方生成第一映射表。(4) The sender generates a first mapping table.
具体的,发送方根据各个BIER域的BIER域标识、BIFT-id、BitString生成第一映射表。第一映射表可包括特定组播数据在至少一个BIER域中分别对应的BIFT-id、BitString。这至少一个BIER域可包括发送方所在的BIER域和非发送方所在的BIER域(即其他BIER域)。第一映射表可以是组播组标识(如组播组地址)和BIER域标识、BIFT-id、BitString的对应关系。一个组播组标识对应的BIER域标识、BIFT-id、BitString即表示该组播组标识对应的组播数据在该BIER域标识表示的BIER域中对应的BIFT-id、BitString。Specifically, the sender generates a first mapping table according to the BIER domain identifier, BIFT-id, and BitString of each BIER domain. The first mapping table may include a BIFT-id, a BitString corresponding to the specific multicast data in the at least one BIER domain. The at least one BIER domain may include a BIER domain in which the sender is located and a BIER domain in which the non-sender is located (ie, other BIER domains). The first mapping table may be a correspondence between a multicast group identifier (such as a multicast group address) and a BIER domain identifier, a BIFT-id, and a BitString. The BIER domain identifier, BIFT-id, and BitString corresponding to a multicast group identifier indicate that the multicast data corresponding to the multicast group identifier corresponds to the BIFT-id and BitString in the BIER domain indicated by the BIER domain identifier.
本申请中,第一映射表可用于构造BIER头。针对某个组播组的组播数据,其BIER头仅在发送方侧被构造,无需中间设备参与BIER头的重新构造。In the present application, the first mapping table can be used to construct a BIER header. For the multicast data of a multicast group, the BIER header is constructed only on the sender side, and no intermediate device is involved in the reconstruction of the BIER header.
(5)发送方生成第二映射表。(5) The sender generates a second mapping table.
对于其他BIER域,发送方自主确定下一跳(即将其他BIER域的BFIR作为下一跳),而不是将直接相邻的BFR(即BFR-NBR)作为下一跳。For other BIER domains, the sender autonomously determines the next hop (ie, the BFIR of the other BIER domain as the next hop) instead of using the directly adjacent BFR (ie, BFR-NBR) as the next hop.
对于一个特定的第二BIER域,发送方在该BIER域中的下一跳可以是该BIER域中的多个BFIR,即存在多个下一跳。这多个BFIR中的部分BFIR可负责转发组播数据到该BIER域中的一些sub-domain,这多个BFIR中的另一部分BFIR可负责转发组播数据到该BIER域中的另一些sub-domain。这样,针对发往该BIER域中的组播数据,发送方可根据该组播数据在该BIER域中对应的BIFT-id(BIFT-id与sub-domain一一对应)确定将该组播数据转发到哪一个BFIR。因为BIFT-id能够指示该组播数据将会被发往的sub-domain。关于这多个BFIR分别负责转发组播数据到哪一个(些)sub-domain,本申请不作限制,可参考实际需求而定。例如,可从负载均衡的角度来设置多个下一跳各自承载的数据转发量。For a particular second BIER domain, the next hop of the sender in the BIER domain may be multiple BFIRs in the BIER domain, ie there are multiple next hops. A portion of the plurality of BFIRs may be responsible for forwarding multicast data to some sub-domains in the BIER domain, and another portion of the plurality of BFIRs may be responsible for forwarding multicast data to other sub-s in the BIER domain. Domain. In this way, for the multicast data sent to the BIER domain, the sender can determine the multicast data according to the corresponding BIFT-id (the BIFT-id and the sub-domain one-to-one correspondence) in the BIER domain according to the multicast data. Which BFIR is forwarded to. Because BIFT-id can indicate the sub-domain to which the multicast data will be sent. Regarding which sub-domain(s) each of the BFIRs is responsible for forwarding the multicast data, the present application is not limited, and may be referred to actual requirements. For example, the amount of data forwarding carried by each of the multiple next hops can be set from the perspective of load balancing.
对于一个特定的其他BIER域,发送方在该BIER域中的下一跳可以是该BIER域中的某一个BFIR,即仅存在一个下一跳。这一个BFIR可负责转发组播数据到该BIER域中的全部目标sub-domain。这里,目标sub-domain是指组播数据的接收者所处的sub-domain。For a particular other BIER domain, the next hop of the sender in the BIER domain may be a BFIR in the BIER domain, ie there is only one next hop. This BFIR can be responsible for forwarding multicast data to all target sub-domains in the BIER domain. Here, the target sub-domain refers to the sub-domain in which the receiver of the multicast data is located.
发送方可以根据自主确定的下一跳生成第二映射表。第二映射表可包括:组播组在至少一个BIER域中分别对应的BIFT-id、发送方在该至少一个BIER域中的下一跳的BFR-Prefix。这至少一个BIER域可包括发送方所在的BIER域和非发送方所在的BIER域(即其他BIER域)。在发送方所在的BIER域内,参考现有的BIER-MVPN方案,发送方的下一跳可以是BFR-NBR。而在其他BIER域内,发送方的下一跳可以是其他BIER域的BFIR。The sender may generate a second mapping table according to the autonomously determined next hop. The second mapping table may include: a BIFT-id corresponding to the multicast group in the at least one BIER domain, and a BFR-Prefix of the next hop of the sender in the at least one BIER domain. The at least one BIER domain may include a BIER domain in which the sender is located and a BIER domain in which the non-sender is located (ie, other BIER domains). In the BIER domain where the sender is located, referring to the existing BIER-MVPN scheme, the sender's next hop may be BFR-NBR. In other BIER domains, the sender's next hop may be the BFIR of other BIER domains.
可选的,第二映射表可以是组播组标识(如组播组地址)和BIER域标识、BIFT-id、BFR-Prefix的对应关系。一个组播组标识对应的BIER域标识、BIFT-id、BFR-Prefix即表示该组播组标识对应的组播数据在该BIER域标识表示的BIER域中对应的BIFT-id、逻辑下一跳的BFR-Prefix。Optionally, the second mapping table may be a correspondence between a multicast group identifier (such as a multicast group address) and a BIER domain identifier, a BIFT-id, and a BFR-Prefix. The BIER domain identifier, BIFT-id, and BFR-Prefix corresponding to a multicast group identifier indicate that the multicast data corresponding to the multicast group identifier corresponds to the BIFT-id and logical next hop in the BIER domain indicated by the BIER domain identifier. BFR-Prefix.
可选的,第二映射表也可以是BIFT-id、BFR-Prefix的对应关系。这样,发送方可以使用从第一映射表查到的BIFT-id来在第二映射表中查到该BIFT-id对应BFR-Prefix。Optionally, the second mapping table may also be a correspondence between BIFT-id and BFR-Prefix. In this way, the sender can use the BIFT-id found from the first mapping table to find the BIFT-id corresponding BFR-Prefix in the second mapping table.
对于一个特定的其他BIER域,在发送方在该BIER域中存在多个下一跳的情况下,第二映射表中该BIER域的域标识所对应的(一个或多个)BIFT-id对应多个BFR-Prefix;在发送方在该BIER域中仅存在一个下一跳的情况下,第二映射表中该BIER域的域标识所对应的(一个或多个)BIFT-id对应一个BFR-Prefix。For a specific other BIER domain, in the case that the sender has multiple next hops in the BIER domain, the BIFT-id corresponding to the domain identifier of the BIER domain in the second mapping table corresponds to Multiple BFR-Prefix; in case the sender has only one next hop in the BIER domain, the BIFT-id corresponding to the domain identifier of the BIER domain in the second mapping table corresponds to a BFR -Prefix.
本申请中,第二映射表可用于为由组播数据封装得到的BIER数据包打上MPLS标签或GRE标签,实现跨域(域间)转发。In the present application, the second mapping table may be used to apply an MPLS label or a GRE label to the BIER data packet encapsulated by the multicast data to implement cross-domain (inter-domain) forwarding.
可选的,发送方可配置有用于将组播数据发往至少一个BIER域的出端口。第二映射表还可包括:该出端口的标识。这样,发送方可以根据组播数据在其他BIER域中对应的BIFT-id,从第二映射表中确定出用于将该组播数据发往其他BIER域的出端口的标识。这里,用于将该组播数据发往其他BIER域的出端口可以称为第一端口。Optionally, the sender may be configured with an egress port for sending multicast data to at least one BIER domain. The second mapping table may further include: an identifier of the egress port. In this way, the sender can determine the identifier of the egress port for sending the multicast data to other BIER domains from the second mapping table according to the corresponding BIFT-id of the multicast data in other BIER domains. Here, the egress port for sending the multicast data to other BIER domains may be referred to as a first port.
第二方面,本申请提供了一种组播数据传输方法,应用于其他BIER域中的BFIR,该方法可包括:第一BIER域中的第一BFIR接收第二BIER域中的第二BFIR发送的打上标签后的BIER数据包,该标签为第一BFIR的前缀对应的标签,该BIER数据包由第二BFIR封装组播数据得到,该BIER数据包的BIER头包括所述组播数据在第一BIER域中对应的BIFT-id和位串。其中,该BIFT-id至少由第一BFER的BFR-id所属的SI以及第一BFER支持的位串长度确定,该位串至少由第一BFER的BFR-id确定。其中,第一BFER为第一BIER域中用于接收该组播数据的BFER。然后,第一BFIR可以去掉该标签得到该BIER数据包,并从该BIER数据包的BIER头中获得BIFT-id和位串。最后,第一BFIR可以根据该BIFT-id指示的BIFT以及该位串转发该BIER数据包到第一BFER。In a second aspect, the present application provides a multicast data transmission method, which is applied to BFIR in other BIER domains. The method may include: receiving, by a first BFIR in a first BIER domain, a second BFIR transmission in a second BIER domain. The tagged BIER packet, which is a tag corresponding to the prefix of the first BFIR, the BIER packet is obtained by encapsulating the multicast data by the second BFIR, and the BIER header of the BIER packet includes the multicast data in the A corresponding BIFT-id and bit string in a BIER domain. The BIFT-id is determined by at least the SI to which the BFR-id of the first BFER belongs and the bit string length supported by the first BFER, and the bit string is determined by at least the BFR-id of the first BFER. The first BFER is a BFER for receiving the multicast data in the first BIER domain. The first BFIR can then remove the tag to obtain the BIER packet and obtain the BIFT-id and bit string from the BIER header of the BIER packet. Finally, the first BFIR may forward the BIER packet to the first BFER according to the BIFT indicated by the BIFT-id and the bit string.
在第二方面中,第一BIER域即非发送方所处的BIER域,第二BIER域即发送方所处的BIER域。第一BFIR为第一BIER域中的BFIR。第二BFIR即发送方,为组播源侧的BFIR。第一BFER为第一BIER域中用于接收该组播数据的BFER。上述标签可以为MPLS标签或GRE标签。In the second aspect, the first BIER domain is the BIER domain in which the non-transmitter is located, and the second BIER domain is the BIER domain in which the sender is located. The first BFIR is the BFIR in the first BIER domain. The second BFIR is the sender and is the BFIR on the multicast source side. The first BFER is a BFER for receiving the multicast data in the first BIER domain. The above label may be an MPLS label or a GRE label.
可以看出,针对发往其他BIER域的组播数据,发送方对该组播数据进行BIER封装得到BIER数据包,然后将BIER数据包打上MPLS标签或GRE标签后单播发送到其他BIER域的BFIR。It can be seen that, for multicast data sent to other BIER domains, the sender performs BIER encapsulation on the multicast data to obtain a BIER packet, and then unicasts the BIER packet to another BIER domain by applying an MPLS label or a GRE label. BFIR.
然后,BIER域内的组播数据转发遵循现有的BIER机制转发机制。与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,BIER头仅在发送方侧被构造,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。Then, the multicast data forwarding in the BIER domain follows the existing BIER mechanism forwarding mechanism. Different from the existing BIER-MVPN scheme, the multicast data forwarding in this application is not segmented. The BIER header is constructed only on the sender side, and no intermediate equipment is needed (such as BFIR and BFER in each BIER domain along the way). Participate in the generation of BIER headers for more efficient multicast forwarding.
结合第二方面,在一些可选的实施例中,该组播数据在第一BIER域中对应的BIFT-id还由第一BFER所属的sub-domain确定。可选的,在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,第一BFER反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。With reference to the second aspect, in some optional embodiments, the corresponding BIFT-id of the multicast data in the first BIER domain is also determined by the sub-domain to which the first BFER belongs. Optionally, in one possible case, only one sub-domain is configured for one BIER domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route of the first BFER feedback.
结合第二方面,在一些可选的实施例中,第二BFIR与第一BFIR之间构成BGP对等体。该方法还可包括:第一BFIR通过BGP连接接收第二BFIR发送的第一BGP消息,第一BGP消息中携带的Intra PMSI A-D route包括BIER标识、该组播数据对应的组播组的标识。相应的,第一BFIR通过BGP连接向第二BFIR发送第二BGP消息,第二BGP消息携带的Leaf A-D route包括第一BFIR的前缀和第一BIER域的标识。这样,发送方便可以根据这信息生成发送方的第二映射表,具体可参考第一方面中描述的相关内容。In conjunction with the second aspect, in some optional embodiments, a BGP peer is formed between the second BFIR and the first BFIR. The method may further include: the first BFIR receives the first BGP message sent by the second BFIR through the BGP connection, and the Intra PMSI A-D route carried in the first BGP message includes a BIER identifier and an identifier of the multicast group corresponding to the multicast data. Correspondingly, the first BFIR sends a second BGP message to the second BFIR through the BGP connection, and the Leaf A-D route carried by the second BGP message includes the prefix of the first BFIR and the identifier of the first BIER domain. In this way, the sending convenience can generate a second mapping table of the sender according to the information, and specifically refer to the related content described in the first aspect.
也即是说,不同BIER域之间的BFIR之间构建成BGP对等体,可通过BGP连接直接交互 BGP消息,进行组播信息的快速发布和快速反馈。也即是说,组播信息发布和反馈不再是分段进行BGP交互,而是直接跨域交互BGP消息,组播发布和反馈的收敛时间明显缩短,实效性高。That is to say, BFIRs between different BIER domains are configured as BGP peers, and BGP messages can be directly exchanged through BGP connections for rapid release and fast feedback of multicast information. That is to say, multicast information distribution and feedback are no longer segmented for BGP interaction, but BGP messages are directly exchanged across domains. The convergence time of multicast release and feedback is significantly shortened, and the effectiveness is high.
第三方面,本申请提供了一种组播数据传输方法,应用于用户设备侧的BFER,该方法可包括:第一BIER域中的第一BFER接收第一BIER域中的第一BFIR发送的BIER数据包,该BIER数据包由第二BIER域中的第二BFIR封装组播数据得到,该BIER数据包的BIER头包括该组播数据在第一BIER域中对应的BIFT-id和位串。其中,该BIFT-id至少由第一BFER的BFR-id所属的SI以及第一BFER支持的位串长度确定,该位串至少由第一BFER的BFR-id确定。其中,第一BFER为第一BIER域中用于接收所述组播数据的BFER。然后,第一BFER解封装该BIER数据包得到该组播数据,并发送该组播数据到用户侧设备。In a third aspect, the present application provides a multicast data transmission method, which is applied to a BFER on a user equipment side. The method may include: receiving, by a first BFER in a first BIER domain, a first BFIR in a first BIER domain. a BIER packet obtained by encapsulating multicast data by a second BFIR in a second BIER field, the BIER header of the BIER packet including a BIFT-id and a bit string corresponding to the multicast data in the first BIER domain . The BIFT-id is determined by at least the SI to which the BFR-id of the first BFER belongs and the bit string length supported by the first BFER, and the bit string is determined by at least the BFR-id of the first BFER. The first BFER is a BFER for receiving the multicast data in the first BIER domain. Then, the first BFER decapsulates the BIER data packet to obtain the multicast data, and sends the multicast data to the user side device.
在第三方面中,第一BIER域即非发送方所处的BIER域,第二BIER域即发送方所处的BIER域。第一BFIR为第一BIER域中的BFIR。第二BFIR即发送方,为组播源侧的BFIR。第一BFER为第一BIER域中用于接收该组播数据的BFER。上述标签可以为MPLS标签或GRE标签。In the third aspect, the first BIER domain is the BIER domain in which the non-transmitter is located, and the second BIER domain is the BIER domain in which the sender is located. The first BFIR is the BFIR in the first BIER domain. The second BFIR is the sender and is the BFIR on the multicast source side. The first BFER is a BFER for receiving the multicast data in the first BIER domain. The above label may be an MPLS label or a GRE label.
可以看出,针对发往其他BIER域的组播数据,发送方对该组播数据进行BIER封装得到BIER数据包,然后将BIER数据包打上MPLS标签或GRE标签后单播发送到其他BIER域的BFIR。It can be seen that, for multicast data sent to other BIER domains, the sender performs BIER encapsulation on the multicast data to obtain a BIER packet, and then unicasts the BIER packet to another BIER domain by applying an MPLS label or a GRE label. BFIR.
然后,BIER域内的组播数据转发遵循现有的BIER机制转发机制。与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,BIER头仅在发送方侧被构造,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。Then, the multicast data forwarding in the BIER domain follows the existing BIER mechanism forwarding mechanism. Different from the existing BIER-MVPN scheme, the multicast data forwarding in this application is not segmented. The BIER header is constructed only on the sender side, and no intermediate equipment is needed (such as BFIR and BFER in each BIER domain along the way). Participate in the generation of BIER headers for more efficient multicast forwarding.
结合第三方面,在一些可选的实施例中,第二BFIR与第一BFER之间构成BGP对等体。该方法还可包括:第一BFER通过BGP连接接收第二BFIR发送的第一BGP消息,第一BGP消息中携带的Intra PMSI A-D route包括BIER标识、该组播数据对应的组播组的标识。相应的,第一BFER通过BGP连接向第二BFIR发送第二BGP消息,第二BGP消息携带的Leaf A-D route包括第一BFER的BFR-id、第一BFER的BFR-id所属的SI、第一BIER域的标识。这样,发送方便可以根据这信息生成第一映射表,具体可参考第一方面中描述的相关内容。In conjunction with the third aspect, in some optional embodiments, a BGP peer is formed between the second BFIR and the first BFER. The method may further include: the first BFER receives the first BGP message sent by the second BFIR through the BGP connection, and the Intra PMSI A-D route carried in the first BGP message includes the BIER identifier and the identifier of the multicast group corresponding to the multicast data. Correspondingly, the first BFER sends a second BGP message to the second BFIR through the BGP connection, and the Leaf AD route carried in the second BGP message includes the BFR-id of the first BFER, the SI of the first BFER BFR-id, and the first The identity of the BIER domain. In this way, the first mapping table can be generated according to the information, and the related content described in the first aspect can be specifically referred to.
也即是说,发送方和其他BIER域中的BFER之间构建成BGP对等体,可通过BGP连接直接交互BGP消息,进行组播信息的快速发布和快速反馈。也即是说,组播信息发布和反馈不再是分段进行BGP交互,而是直接跨域交互BGP消息,组播发布和反馈的收敛时间明显缩短,实效性高。That is to say, the BGP peer is configured between the sender and the BFER in the other BIER domain. The BGP message can be directly exchanged through the BGP connection, and the multicast information can be quickly advertised and quickly fed back. That is to say, multicast information distribution and feedback are no longer segmented for BGP interaction, but BGP messages are directly exchanged across domains. The convergence time of multicast release and feedback is significantly shortened, and the effectiveness is high.
结合第三方面,在一些可选的实施例中,该组播数据在第一BIER域中对应的BIFT-id还由第一BFER所属的sub-domain确定。可选的,第一BFER反馈的Leaf A-D route中还可以携带第一BFER所属的sub-domain。即,第二BGP消息携带的Leaf A-D route还可包括第一BFER所属的sub-domain。可选的,在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,第一BFER反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。In conjunction with the third aspect, in some optional embodiments, the corresponding BIFT-id of the multicast data in the first BIER domain is also determined by the sub-domain to which the first BFER belongs. Optionally, the leaf A-D route of the first BFER feedback may also carry the sub-domain to which the first BFER belongs. That is, the Leaf A-D route carried by the second BGP message may further include a sub-domain to which the first BFER belongs. Optionally, in one possible case, only one sub-domain is configured for one BIER domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route of the first BFER feedback.
结合第三方面,在一些可选的实施例中,第二BGP消息携带的Leaf A-D route还可包括第一BFER支持的BSL。可选的,整个组播域支持的BSL可以是一致的,即无需额外通知,发送方也知道BSL。因此,第一BFER反馈的Leaf A-D route中不必须携带BSL。With reference to the third aspect, in some optional embodiments, the Leaf A-D route carried by the second BGP message may further include a BSL supported by the first BFER. Optionally, the BSL supported by the entire multicast domain may be consistent, that is, the sender also knows the BSL without additional notification. Therefore, it is not necessary to carry the BSL in the Leaf A-D route of the first BFER feedback.
第四方面,本申请提供了一种路由器,该路由器可包括多个功能模块或单元,用于相应 的执行第一方面所提供的组播数据传输方法,或者第一方面可能的实施方式中的任意一种所提供的组播数据传输方法。In a fourth aspect, the application provides a router, where the router may include multiple function modules or units for performing the multicast data transmission method provided by the first aspect, or in a possible implementation manner of the first aspect. Any of the provided multicast data transmission methods.
第五方面,本申请提供了一种路由器,该路由器可包括多个功能模块或单元,用于相应的执行第二方面所提供的组播数据传输方法,或者第二方面可能的实施方式中的任意一种所提供的组播数据传输方法。In a fifth aspect, the application provides a router, where the router may include multiple function modules or units for performing the multicast data transmission method provided by the second aspect, or in a possible implementation manner of the second aspect. Any of the provided multicast data transmission methods.
第六方面,本申请提供了一种路由器,该路由器可包括多个功能模块或单元,用于相应的执行第三方面所提供的组播数据传输方法,或者第三方面可能的实施方式中的任意一种所提供的组播数据传输方法。In a sixth aspect, the application provides a router, where the router may include multiple function modules or units for performing the multicast data transmission method provided by the third aspect, or in a possible implementation manner of the third aspect. Any of the provided multicast data transmission methods.
第七方面,本申请提供了一种路由器,用于执行第一方面描述的组播数据传输方法。该路由器可包括:存储器以及与存储器耦合的处理器、收发器,其中:收发器用于与其他通信设备通信。存储器用于存储第一方面描述的组播数据传输方法的实现代码,处理器用于执行存储器中存储的程序代码,即执行第一方面所提供的组播数据传输方法,或者第一方面可能的实施方式中的任意一种所提供的组播数据传输方法。In a seventh aspect, the application provides a router for performing the multicast data transmission method described in the first aspect. The router can include a memory and a processor, transceiver coupled to the memory, wherein the transceiver is for communicating with other communication devices. The memory is used to store the implementation code of the multicast data transmission method described in the first aspect, the processor is configured to execute the program code stored in the memory, that is, to perform the multicast data transmission method provided by the first aspect, or the first aspect may be implemented A multicast data transmission method provided by any of the modes.
第八方面,本申请提供了一种路由器,用于执行第二方面描述的组播数据传输方法。该路由器可包括:存储器以及与存储器耦合的处理器、收发器,其中:收发器用于与其他通信设备通信。存储器用于存储第二方面描述的组播数据传输方法的实现代码,处理器用于执行存储器中存储的程序代码,即执行第二方面所提供的组播数据传输方法,或者第二方面可能的实施方式中的任意一种所提供的组播数据传输方法。In an eighth aspect, the application provides a router for performing the multicast data transmission method described in the second aspect. The router can include a memory and a processor, transceiver coupled to the memory, wherein the transceiver is for communicating with other communication devices. The memory is used to store the implementation code of the multicast data transmission method described in the second aspect, the processor is configured to execute the program code stored in the memory, that is, to perform the multicast data transmission method provided by the second aspect, or the second aspect possible implementation A multicast data transmission method provided by any of the modes.
第九方面,本申请提供了一种路由器,用于执行第三方面描述的组播数据传输方法。该路由器可包括:存储器以及与存储器耦合的处理器、收发器,其中:收发器用于与其他通信设备通信。存储器用于存储第三方面描述的组播数据传输方法的实现代码,处理器用于执行存储器中存储的程序代码,即执行第三方面所提供的组播数据传输方法,或者第三方面可能的实施方式中的任意一种所提供的组播数据传输方法。In a ninth aspect, the present application provides a router for performing the multicast data transmission method described in the third aspect. The router can include a memory and a processor, transceiver coupled to the memory, wherein the transceiver is for communicating with other communication devices. The memory is used to store the implementation code of the multicast data transmission method described in the third aspect, the processor is configured to execute the program code stored in the memory, that is, to perform the multicast data transmission method provided by the third aspect, or the third aspect possible implementation A multicast data transmission method provided by any of the modes.
第十方面,提供了一种通信系统,通信系统可包括:第一路由器和第二路由器。其中:第一路由器可以是上述第五方面描述的路由器,第二路由器可以是上述第六方面描述的路由器。通信系统还可包括:第三路由器,第三路由器可以是上述第四方面描述的路由器。In a tenth aspect, a communication system is provided, the communication system comprising: a first router and a second router. The first router may be the router described in the foregoing fifth aspect, and the second router may be the router described in the sixth aspect above. The communication system may further include: a third router, which may be the router described in the fourth aspect above.
可选的,第一路由器可以是上述第八方面描述的路由器,第二路由器可以是上述第九方面描述的路由器,第三路由器可以是上述第七方面描述的路由器。Optionally, the first router may be the router described in the foregoing eighth aspect, the second router may be the router described in the foregoing ninth aspect, and the third router may be the router described in the foregoing seventh aspect.
第十一方面,提供了一种计算机可读存储介质,可读存储介质上存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或上述第二方面或上述第三方面描述的组播数据传输方法。In an eleventh aspect, a computer readable storage medium is provided, the instructions being stored on a readable storage medium, when executed on a computer, causing the computer to perform the first aspect or the second aspect or the third aspect described above Multicast data transmission method.
第十二方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或上述第三方面描述的组播数据传输方法。According to a twelfth aspect, there is provided a computer program product comprising instructions which, when run on a computer, cause the computer to perform the multicast data transmission method described in the second aspect or the third aspect above.
附图说明DRAWINGS
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background art, the drawings to be used in the embodiments of the present application or the background art will be described below.
图1为本申请涉及的BIER架构的示意图;1 is a schematic diagram of a BIER architecture involved in the present application;
图2为本申请涉及的BIER头的数据结构示意图;2 is a schematic diagram of a data structure of a BIER header according to the present application;
图3为BIER域内的拓扑结构的示例性示意图;3 is an exemplary schematic diagram of a topology within a BIER domain;
图4为BIER域内的组播信息发布和反馈的示意图;4 is a schematic diagram of multicast information release and feedback in a BIER domain;
图5为BIER域内的BFER反馈加入组播组的示意图;FIG. 5 is a schematic diagram of BFER feedback in a BIER domain added to a multicast group;
图6为本申请设计的BIER-MVPN的应用场景的示意图;6 is a schematic diagram of an application scenario of a BIER-MVPN designed according to the present application;
图7为现有的BIER-MVPN方案的流程示意图;7 is a schematic flowchart of a conventional BIER-MVPN solution;
图8为现有的组播信息发布和反馈过程的示意图;8 is a schematic diagram of an existing multicast information release and feedback process;
图9为本申请中扩展的Intra PMSI A-D route的数据结构示意图;9 is a schematic diagram of a data structure of an extended Intra PMSI A-D route in the present application;
图10为现有的MVPN框架下的组播数据传输方式的示意图;10 is a schematic diagram of a multicast data transmission mode in an existing MVPN framework;
图11为本申请中的通过底层标签映射构建TCP连接的示意图;FIG. 11 is a schematic diagram of constructing a TCP connection by using an underlying label mapping in the present application; FIG.
图12为本申请中的构建BGP对等体的示意图;12 is a schematic diagram of constructing a BGP peer in the present application;
图13为本申请中的跨域进行组播信息发布和反馈的示意图;FIG. 13 is a schematic diagram of cross-domain multicast information release and feedback in the present application;
图14为本申请中提供的一种组播数据传输方法的示意图;FIG. 14 is a schematic diagram of a multicast data transmission method provided in the present application; FIG.
图15为本申请中扩展的Intra PMSI A-D route携带组播信息的示意图;15 is a schematic diagram of carrying extended multicast information in an extended Intra PMSI A-D route according to the present application;
图16为其他BIER域内的接收者BFER反馈的扩展的Leaf A-D route的数据结构示意图;16 is a schematic diagram showing the data structure of an extended Leaf A-D route of receiver BFER feedback in other BIER domains;
图17为其他BIER域内的BFIR反馈的扩展的Leaf A-D route的数据结构示意图;17 is a schematic diagram showing the data structure of an extended Leaf A-D route of BFIR feedback in other BIER domains;
图18为本申请中的BIFT-id的数据结构示意图;18 is a schematic diagram of a data structure of a BIFT-id in the present application;
图19为本申请中发送方接收来自各个BIER域的BIER信息的示意图;19 is a schematic diagram of a sender receiving BIER information from each BIER domain in the present application;
图20为本申请中的第一映射表的示意图;20 is a schematic diagram of a first mapping table in the present application;
图21为本申请中的发送方的第二映射表的示意图;21 is a schematic diagram of a second mapping table of a sender in the present application;
图22为本申请中的发送方的组播数据转发的工作原理的示意图;22 is a schematic diagram of a working principle of multicast data forwarding of a sender in the present application;
图23为本申请中的在组播域中转发组播数据的示意图;FIG. 23 is a schematic diagram of forwarding multicast data in a multicast domain in the present application; FIG.
图24为本申请提供的另一种组播数据传输方法的流程示意图;FIG. 24 is a schematic flowchart diagram of another multicast data transmission method provided by the present application;
图25为本申请提供的一种路由器的结构示意图;25 is a schematic structural diagram of a router provided by the present application;
图26为本申请提供的提供的通信系统,及相关装置的结构示意图。FIG. 26 is a schematic structural diagram of a communication system and related apparatus provided by the present application.
具体实施方式detailed description
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。The terms used in the embodiments of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
图1示出了本申请涉及的BIER架构。在该BIER架构中,支持BIER的路由器被称为位转发路由器(Bit-Forwarding Router,BFR)。BIER控制面协议运行在BIER域内,允许该BIER域内的BFR交换它们之间使用BIER转发机制转发BIER数据包的信息。Figure 1 illustrates the BIER architecture involved in this application. In the BIER architecture, a router that supports BIER is called a Bit-Forwarding Router (BFR). The BIER Control Plane protocol runs in the BIER domain, allowing BFRs in the BIER domain to exchange information between BIER packets using the BIER forwarding mechanism between them.
如图1所示,一个BIER域可包括以下路由器:位转发入口路由器(Bit-Forwarding Ingress Router,BFIR)101、位转发出口路由器(Bit-Forwarding Egress Router,BFER)105、中转BFR(transit BFR)103。具体的,组播数据包在位转发入口路由器(BFIR)101处进入BIER域,在位转发出口路由器(BFER)105处离开BIER域。中转BFR用于从相同BIER域内的另一个BFR接收组播数据包,并将该组播数据包转发至相同BIER域内的另一个BFR。对于一些组播数据流(multicast traffic)来说,单个BFR可以是BFIR;而对于另一些组播数据流来说,该单个BFR也可以是BFER;对于再一些组播数据流来说,该单个BFR又可以是中转BFR。事实上,对于给定数据包,一个BFR可以是一个BFIR和/或中转BFR和/或该BFR对应的BFER中的一个。As shown in FIG. 1 , a BIER domain may include the following routers: a Bit-Forwarding Ingress Router (BFIR) 101, a Bit-Forwarding Egress Router (BFER) 105, and a Transit BFR (transit BFR). 103. Specifically, the multicast packet enters the BIER domain at the Bit Forwarding Ingress Router (BFIR) 101 and leaves the BIER domain at the Bit Forwarding Exit Router (BFER) 105. The transit BFR is used to receive a multicast packet from another BFR in the same BIER domain and forward the multicast packet to another BFR in the same BIER domain. For some multicast traffic, a single BFR can be BFIR; for other multicast streams, the single BFR can also be BFER; for some multicast streams, the single The BFR can in turn be a transit BFR. In fact, for a given data packet, a BFR can be one of a BFIR and/or a transit BFR and/or a BFER corresponding to the BFR.
一个BIER域可以包含一个或多个子域(sub-domain)。每一个sub-domain被配置一个 sub-domain标识(表示为sub-domain-id),sub-domain-id的范围为[0,255]。针对特定BFR所属的子域,如果该BFR能够作为BFIR/BFER,那么该BFR分配一个BFR-id,该BFR-id在该子域中是唯一的。例如,如果一个BIER子域包含1,374个BFR,那么每一个BFR均可以被分配一个BFR-id(取值范围为1-1374)。如果一个特定BFR属于多个子域,那么该BFR在这多个子域中可以拥有不同的BFR-id(尽管不必须是这样)。另外,每一个BFR在其所属的sub-domain中被分配一个“BFR前缀(BFR-Prefix)”。一个BFR的BFR前缀是该BFR的IP地址(IPv4或IPv6)。一个给定BFR的BFR前缀在其所属的sub-domain中是可路由的。A BIER domain can contain one or more sub-domains. Each sub-domain is configured with a sub-domain identifier (denoted as sub-domain-id), and the sub-domain-id ranges from [0, 255]. For a sub-domain to which a particular BFR belongs, if the BFR can act as a BFIR/BFER, then the BFR is assigned a BFR-id, which is unique in the sub-domain. For example, if a BIER subfield contains 1,374 BFRs, each BFR can be assigned a BFR-id (ranging from 1-1374). If a particular BFR belongs to multiple subdomains, then the BFR may have a different BFR-id in these multiple subdomains (although this need not be the case). In addition, each BFR is assigned a "BFR-Prefix" in its sub-domain. The BFR prefix of a BFR is the IP address (IPv4 or IPv6) of the BFR. A BFR prefix for a given BFR is routable in the sub-domain to which it belongs.
当一个组播数据包在BFIR处从外部到达BIER域时,BFIR确定该组播数据包会被发送到哪些BFER集合,以及该数据包要传输在哪些sub-domain中。一旦BFIR为该组播数据包确定出BFER集合和sub-domain,BFIR利用BIER头对该组播数据包进行BIER封装。即,组播数据包需要被封装成BIER数据包才能在BIER域内进行转发。BIER封装采用的BIER头的格式可以如图2所示包括:BIFT-id和BitString。其中,BIFT-id为位索引转发表(Bit Index Forwarding Table,BIFT)的标识,用于指示BFR查找哪一个BIFT来转发BIER数据包;BitString(称为位串)表示组播数据在BIER域内的接收者,BitString中的每一个比特表示一个BFR-id。为了指示会加入组播组的特定BFER,BFIR可以设置该特定BFER的BFR-id在BitString中对应的比特,例如,BitString“0110”表示组播组的接收者为:BFR-id为2的BFER、BFR-id为3的BFER。When a multicast packet arrives outside the BIER domain at the BFIR, the BFIR determines which BFER sets the multicast packet will be sent to and which sub-domains the packet is to be transmitted. Once the BFIR determines the BFER set and the sub-domain for the multicast packet, the BFIR uses the BIER header to BIER encapsulate the multicast packet. That is, the multicast packet needs to be encapsulated into a BIER packet to be forwarded in the BIER domain. The format of the BIER header used in the BIER package can be as shown in Figure 2: BIFT-id and BitString. The BIFT-id is an identifier of a Bit Index Forwarding Table (BIFT), which is used to indicate which BIFT the BFR finds to forward the BIER packet; and the BitString (called a bit string) indicates that the multicast data is in the BIER domain. The receiver, each bit in the BitString represents a BFR-id. To indicate the specific BFER that will be added to the multicast group, the BFIR can set the BFR-id of the specific BFER to the corresponding bit in the BitString. For example, BitString "0110" indicates that the receiver of the multicast group is: BFER with BFR-id of 2 BFER with a BFR-id of 3.
下面分别说明BIER域内的组播转发机制涉及的关键技术点:BIFT和BitString。The following are the key technical points involved in the multicast forwarding mechanism in the BIER domain: BIFT and BitString.
(1)BIFT(1) BIFT
1.BFR-id和BFR-Prefix的发布1. Release of BFR-id and BFR-Prefix
在一个BIER域中,每一个BFER将其BFR-id发布到其他所有BFR。例如,可以通过不透明链路状态发布(opaque link state advertisement,opaque LSA)消息发布BFR-id,该消息中添加了用于携带BIER信息(如sub-domain、BFR-id等)的扩展字段。opaque LSA为运行IBGP协议的一种选择。类似的,每一个BFR将其BFR-Prefix发布到其他所有BFR。In a BIER domain, each BFER publishes its BFR-id to all other BFRs. For example, the BFR-id may be advertised by an opaque link state advertisement (opaque LSA) message, and an extension field for carrying BIER information (such as sub-domain, BFR-id, etc.) is added to the message. The opaque LSA is an option to run the IBGP protocol. Similarly, each BFR publishes its BFR-Prefix to all other BFRs.
2.BFR先生成位索引路由表(Bit Index Routing Table,BIRT)2.BFR Mr. Bit Index Routing Table (BIRT)
位索引路由表(BIRT)是从BFER的BFR-id映射到该BFER的BFR-Prefix,并映射到到达该BFER的路径上的BFR邻居(BFR neighbour,BFR-NBR)的表。The Bit Index Routing Table (BIRT) is a table that maps from the BFR-id of the BFER to the BFR-Prefix of the BFER and maps to the BFR neighbor (BFR-NBR) on the path to the BFER.
以图3所示的BIER拓扑结构为例。在图3中,可以通过SI:BitString的格式来表示每一个BFR的BFR-id。SI表示BFR-id所属的子集标识(Set Identifier)。SI和Bitstring都由BFR-id转换得到,该转换由参数“位串长度(BitStringLength,BSL)”决定。例如,假设位串长度(BSL)为4。如果BFR-id为1,那么,SI等于0,Bitstring为“0001”。如果BFR-id为2,那么,SI等于0,Bitstring为“0010”。这里,如果SI不大于BSL,则SI就等于0。示例仅仅用于解释本申请,不应构成限定。Take the BIER topology shown in Figure 3 as an example. In FIG. 3, the BFR-id of each BFR can be expressed in the format of SI:BitString. SI indicates the Set Identifier to which the BFR-id belongs. Both SI and Bitstring are converted by BFR-id, which is determined by the parameter "BitStringLength (BSL)". For example, assume a bit string length (BSL) of 4. If BFR-id is 1, then SI is equal to 0 and Bitstring is "0001". If BFR-id is 2, then SI is equal to 0 and Bitstring is "0010". Here, if the SI is not larger than the BSL, the SI is equal to 0. The examples are merely illustrative of the application and should not be construed as limiting.
图3所示的拓扑结构会在BFR-B处产生表1所示的BIRT。其中,第一列表示BFR-B可以到达的各个BFER(BFER-A、BFER-E、BFER-F、BFER-D)的BFR-id,第二列表示BFR-B可以到达的各个BFER的BFER-Prefix,第三列表示BFR-B到达各个BFER的路径上的BFR-NBR(即下一跳)。The topology shown in Figure 3 produces the BIRT shown in Table 1 at BFR-B. The first column indicates the BFR-id of each BFER (BFER-A, BFER-E, BFER-F, BFER-D) that BFR-B can reach, and the second column indicates the BFER of each BFER that BFR-B can reach. -Prefix, the third column indicates BFR-NBR (ie, next hop) on the path where BFR-B arrives at each BFER.
表1Table 1
3.BFR根据BIRT生成位索引转发表(BIFT)3. BFR generates a bit index forwarding table (BIFT) according to BIRT
假设BIRT中存在几行具有相同的SI和BFR-NBR,通过对这几行中的BFR-id对应的BitString做逻辑或操作,便可得到BIFT中的位掩码(bit mask),即F-BM。Assuming that there are several rows in the BIRT with the same SI and BFR-NBR, by performing a logical OR operation on the BitString corresponding to the BFR-id in these rows, the bit mask in the BIFT can be obtained, that is, F- BM.
例如,表2示出了由表1产生的BFR-B的BIFT,BIFT用于从BFER的BFR-id映射到相应的F-BM和BFR-NBR。其中,F-BM表示从BFR-B的各个BFR-NBR出去可达的BFER有哪些。可以看出,通过对表1所示的BIRT中具有相同的SI(0)和相同的BFR-NBR(BFR-C)的两行中的BitString做逻辑或操作可以得到位掩码(F-BM)“0011”。For example, Table 2 shows the BIFT of BFR-B generated by Table 1, which is used to map from BFR-id of BFER to the corresponding F-BM and BFR-NBR. Among them, F-BM indicates which BFERs are available from each BFR-NBR of BFR-B. It can be seen that the bit mask (F-BM) can be obtained by logically ORing the BitString in two rows having the same SI(0) and the same BFR-NBR (BFR-C) in the BIRT shown in Table 1. ) "0011".
表2Table 2
一旦BIER域内所有BFIR、中转BFR都生成了各自的BIFT,该BIER域内的BFIR、中转BFR便能够根据接收到的BIER数据包中的BIER头进行组播转发了。Once all the BFIRs and transit BFRs in the BIER domain generate their respective BIFTs, the BFIR and transit BFRs in the BIER domain can be multicast forwarded according to the BIER header in the received BIER packet.
(2)BitString(2) BitString
BFIR需要知道哪些BFER对特定组播组感兴趣,这样才能确定向哪些BFER发送该组播组对应的组播数据。对该特定组播组感兴趣的BFER会被BFIR确定为该特定组播组的接收者,该特定组播组的接收者即该特定组播组对应的组播数据的接收者。BFIR needs to know which BFERs are interested in a particular multicast group, in order to determine which BFERs to send the multicast data for the multicast group. The BFER that is interested in the specific multicast group is determined by the BFIR as the receiver of the specific multicast group, and the receiver of the specific multicast group is the receiver of the multicast data corresponding to the specific multicast group.
在MVPN中,BFIR和BFER都是网络侧边缘设备(Provider Edge,PE),它们之间通过边界网关协议(Border Gateway Protocol,BGP)消息来交互组播信息(如组播组地址)。图4示出了BIER域内的组播信息发布和反馈过程。如图4所示,在一个BIER域中,BFIR发送携带P组播服务接口自动发现路由(P-Multicast Service Interface Auto-Discovery route,PMSI A-D route)的BGP消息,以向BFER通告某个组播信息。相应的,对该组播信息表示的组播组感兴趣的BFER会通过携带叶子节点自动发现路由(Leaf A-D route)的BGP消息来反馈。In MVPN, both BFIR and BFER are network edge devices (Provider Edges, PEs), which exchange multicast information (such as multicast group addresses) through Border Gateway Protocol (BGP) messages. Figure 4 shows the multicast information release and feedback process in the BIER domain. As shown in Figure 4, in a BIER domain, the BFIR sends a BGP message carrying the P-Multicast Service Interface Auto-Discovery Route (PMSI AD route) to advertise a multicast to the BFER. information. Correspondingly, the BFER that is interested in the multicast group represented by the multicast information is fed back by the BGP message carrying the leaf node auto-discovery route (Leaf A-D route).
举例说明,如图5所示,当BFIR知道某个组播组的接收者(BFER)是哪些后,BFIR可以生成表3所示的组播接收者表。在表3所示的组播组接收者表中,Receiver表示组播组G1的接收者的Prefix,Group ID为组播组标识,Joined表示BFER是否加入一个组播组G1。For example, as shown in FIG. 5, when the BFIR knows which receivers (BFERs) of a multicast group are, the BFIR can generate the multicast receiver table shown in Table 3. In the multicast group receiver table shown in Table 3, Receiver indicates the Prefix of the receiver of the multicast group G1, the Group ID is the multicast group identifier, and Joined indicates whether the BFER is added to a multicast group G1.
ReceiverReceiver
|
Group IDGroup ID
|
JoinedJoined
|
BB
|
G1G1
|
是Yes
|
CC
|
G1G1
|
是Yes
|
DD
|
G1G1
|
否no
|
表3table 3
然后,BFIR可以根据组播组的接收者的BFR-id确定BitString。例如,如表2所示,组 播组G1的接收者为:BFER-B(BFR-id为2)、BFER-C(BFR-id为3)。BFIR可以将BFER-B的BFR-id转换成“0010”,将BFER-C的BFR-id转换成“0100”,然后对“0010”和“0100”进行逻辑或操作得到BitString“0110”。The BFIR can then determine the BitString based on the BFR-id of the recipient of the multicast group. For example, as shown in Table 2, the recipient of the multicast group G1 is BFER-B (BFR-id is 2) and BFER-C (BFR-id is 3). BFIR can convert the BFR-id of BFER-B to "0010", convert the BFR-id of BFER-C to "0100", and then logically OR operate "0010" and "0100" to obtain BitString "0110".
关于BIER技术,上述内容中没有提及的部分可参考IETF BIER_ARCH,这里不赘述。For the BIER technology, the parts not mentioned in the above can refer to IETF BIER_ARCH, which will not be described here.
为了成为下一代被广泛应用的组播协议,BIER技术需要对MVPN给予全面的支持。图6示例性示出了的BIER-MVPN应用场景。其中,组播域可包括多个BIER域(如BIER域100、BIER域200、BIER域300),组播数据需要从发送方(组播源侧的BFIR)出发,经历多次BIER域内转发以及BIER域间转发,最终到达各个接收者(用户侧BFER)。从整个组播域来看,一个BIER域相当于一个自治系统(autonomous system,AS)。BIER域间的BFIR、BFER也可以称为自治系统边界路由器(autonomous system border router,ASBR)。In order to become the next generation of widely used multicast protocols, BIER technology needs to provide comprehensive support for MVPN. FIG. 6 exemplarily shows a BIER-MVPN application scenario. The multicast domain may include multiple BIER domains (such as the BIER domain 100, the BIER domain 200, and the BIER domain 300). The multicast data needs to be forwarded from the sender (the BFIR on the multicast source side) and undergoes multiple BIER intra-domain forwarding. BIER inter-domain forwarding, and finally to each recipient (user side BFER). From the perspective of the entire multicast domain, a BIER domain is equivalent to an autonomous system (AS). The BFIR and BFER between the BIER domains may also be referred to as an autonomous system border router (ASBR).
以图6所示的BIER-MVPN应用场景为例,图7示出了现有的使用BIER技术的MVPN草案(后续简称现有的BIER-MVPN方案)(可参考draft-ietf-bier-mvpn)。该草案提供了在整个组播域中进行组播数据转发的方法。下面展开如下:Taking the BIER-MVPN application scenario shown in Figure 6 as an example, Figure 7 shows the existing MVPN draft using BIER technology (hereinafter referred to as the existing BIER-MVPN solution) (refer to draft-ietf-bier-mvpn) . This draft provides a method for multicast data forwarding throughout the multicast domain. The following expands as follows:
(1)阶段1(S101):BIER域内BFIR、BFR都生成各自的BIFT(1) Phase 1 (S101): BFIR and BFR in the BIER domain generate their respective BIFT
由上述内容中介绍的关键技术点“BIFT”可知,在一个BIER域内,BFIR和BFR都可以生成到达各个BFER的BIFT。该BIER域内的BFER还会发布BIFT的BIFT-id,用以隐式指示该BFER所属的subdomain、该BFER的BFR-id所属的SI以及该BFER支持的BSL。也即是说,向一个BFER转发组播数据所依据的BIFT-id由该BFER所属的subdomain、该BFER的BFR-id所属的SI以及该BFER支持的BSL这三个参数确定。According to the key technology point "BIFT" introduced in the above content, in a BIER domain, both BFIR and BFR can generate a BIFT reaching each BFER. The BFER in the BIER domain also issues the BIFT-id of the BIFT to implicitly indicate the subdomain to which the BFER belongs, the SI to which the BFR-id of the BFER belongs, and the BSL supported by the BFER. That is to say, the BIFT-id on which the multicast data is forwarded to a BFER is determined by the three parameters of the subdomain to which the BFER belongs, the SI to which the BFR-id of the BFER belongs, and the BSL supported by the BFER.
另外,BFIR还可以为其所在BIER域内的BFER生成BFR-Prefix和BFR-id的对应表。In addition, BFIR can also generate a correspondence table of BFR-Prefix and BFR-id for the BFER in its BIER domain.
由于BIER域内BFIR、BFR都生成各自的BIFT,因此,BFIR、BFR在接收到BIER数据包后,就可以根据BIER头中的BIFT-id、Bitstring进行组播转发。其中,BIFT-id为用于告知BIER路由器查找哪张BIFT来转发组播数据。BitString表示了一个组播数据的所有接收者(BFER)的BFR-id。Since BFIR and BFR in the BIER domain generate their respective BIFTs, after receiving the BIER packet, BFIR and BFR can perform multicast forwarding according to BIFT-id and Bitstring in the BIER header. Among them, BIFT-id is used to tell the BIER router which BIFT to find to forward multicast data. BitString represents the BFR-id of all recipients (BFER) of a multicast data.
(2)阶段2(S102-S107):组播信息发布和反馈(2) Phase 2 (S102-S107): Multicast information release and feedback
组播信息发布用于一个BIER域内的BFIR了解该BIER域内的哪些BFER对组播组感兴趣,包括:BIER域内的组播信息发布和反馈、BIER域间的组播信息发布和反馈。图8示出了组播信息发布和反馈的过程。图8中的资源预留协议(Resource Reservation Protocol,RSVP)、组播标签分发协议(multicast label distribution protocol,MLDP)都可用来实现标签分发;入口复制(又称头端复制)(Ingress Replication,IR)协议可用来实现点到多点的数据转发,如泛洪转发。具体的:The BFIR in a BIER domain is used to learn which BFERs in the BIER domain are interested in the multicast group, including: multicast information distribution and feedback in the BIER domain, and multicast information release and feedback between the BIER domains. Figure 8 shows the process of multicast information distribution and feedback. The Resource Reservation Protocol (RSVP) and the multicast label distribution protocol (MLDP) in Figure 8 can be used to implement label distribution. Ingress replication (also known as head-end replication) (Ingress Replication, IR) Protocols can be used to implement point-to-multipoint data forwarding, such as flood forwarding. specific:
S102,BIER域100内的组播信息发布。S102. The multicast information in the BIER domain 100 is released.
如图8所示,发送方通过域内BGP消息向BIER域100内的BFER发送Intra PMSI A-D route来发布组播信息。如果BIER域100内的BFER对该组播信息表示的组播组(multicast group)感兴趣,则需要反馈Leaf A-D route来通知发送方,以加入发送方的组播隧道。As shown in FIG. 8, the sender sends the Intra PMSI A-D route to the BFER in the BIER domain 100 through the intra-domain BGP message to advertise the multicast information. If the BFER in the BIER domain 100 is interested in the multicast group indicated by the multicast information, the Leaf A-D route needs to be fed back to notify the sender to join the sender's multicast tunnel.
在现有的BIER-MVPN方案中,如图9所示,发送方需要在Intra PMSI A-D route的PMSI隧道属性(PMSI Tunnel Attribute)中增加BIER标识,用以指示携带该Intra PMSI A-D route的BGP消息是一个BIER组播消息。In the existing BIER-MVPN solution, as shown in FIG. 9, the sender needs to add a BIER identifier to the PMSI Tunnel Attribute of the Intra PMSI AD route to indicate the BGP message carrying the Intra PMSI AD route. Is a BIER multicast message.
S103,BIER域100内的组播反馈。S103, multicast feedback in the BIER domain 100.
如图8所示,在接收到发送方发送的携带Intra PMSI A-D route的域内BGP消息后,如果BIER域100内的BFER对该组播信息表示的组播组感兴趣,则会通过域内BGP消息向发送方反馈Leaf A-D route,该Leaf A-D route中携带该BFER的BFR-Prefix。特别的,当BIER域100内的ASBR1收到发送方发出的Intra PMSI A-D route后,为了向其他BIER域扩散这个组播信息,ASBR1需要通过BGP消息向发送方反馈Leaf A-D route。这里,对组播组感兴趣的BFER即该组播组的接收者。As shown in Figure 8, after receiving the intra-domain BGP message carrying the Intra PMSI AD route sent by the sender, if the BFER in the BIER domain 100 is interested in the multicast group indicated by the multicast information, the intra-domain BGP message will be passed. The Leaf AD route is fed back to the sender, and the BFR-Prefix of the BFER is carried in the Leaf AD route. In particular, after the ASBR1 in the BIER domain 100 receives the Intra PMSI A-D route from the sender, the ASBR1 needs to feed the leaf A-D route to the sender through the BGP message in order to spread the multicast information to other BIER domains. Here, the BFER that is interested in the multicast group is the receiver of the multicast group.
这样,发送方就可以根据接收者的BFR-Prefix找到接收者的BFR-id,便可根据这些接收者的BFR-id确定组播组在BIER域100中对应的BitString。另外,通过S101,发送方可以知道向不同BFR-id的BFER发送组播数据所需的BIFT-id。BitString和BFIT-id是BIER头中最重要的两个元素,用来指示在BIER域100内接收到BIER数据包的BFR如何转发组播组数据。In this way, the sender can find the BFR-id of the receiver according to the BFR-Prefix of the receiver, and can determine the BitString corresponding to the multicast group in the BIER domain 100 according to the BFR-id of the receiver. Further, by S101, the sender can know the BIFT-id required to transmit the multicast data to the BFER of the different BFR-id. BitString and BFIT-id are the two most important elements in the BIER header to indicate how BFRs that receive BIER packets in BIER domain 100 forward multicast group data.
S104,BIER域间的组播信息发布。S104. The multicast information is released between the BIER domains.
如图8所示,当BIER域100内的ASBR1收到发送方发送的Intra PMSI A-D route后,ASBR1会解析该Intra PMSI A-D route,记录组播组和MVPN信息,并生成以该BFER为源的域间BGP消息。然后,ASBR1会通过域间BGP消息发送Inter PMSI A-D route,以泛洪的方式发送给其所有外部边界网关协议(External Border Gateway Protocol,eBGP)邻居,比如ASBR2。As shown in Figure 8, after ASBR1 in BIER domain 100 receives the Intra PMSI AD route sent by the sender, ASBR1 parses the Intra PMSI AD route, records the multicast group and MVPN information, and generates the BFER as the source. Inter-domain BGP message. Then, the ASBR1 sends the Inter PMSI A-D route through the inter-domain BGP message and sends it to all its external border gateway protocol (eBGP) neighbors, such as ASBR2.
S105,BIER域间的组播信息反馈。S105. Multicast information feedback between BIER domains.
如图8所示,当ASBR2收到ASBR1发出的Inter PMSI A-D route后,为了向其他BIER域内的BFR扩散组播信息,ASBR2需要向ASBR1反馈Leaf A-D route,该Leaf A-D route中携带ASBR2的BFR-Prefix。这样,ASBR1就可以生成组播组与接收者的BFR-Prefix的对应表,便可在组播数据到来时知道将该组播数据发送给哪些ASBR。注意,和BIER域内转发不同,组播数据的域间转发不再是进行BIER封装,而是打标签,后续内容中会进行说明,这里先不赘述。As shown in Figure 8, after the ASBR2 receives the Inter PMSI AD route from the ASBR1, the ASBR2 needs to feed the leaf AD route to the ASBR1. The Leaf AD route carries the BFR of the ASBR2. Prefix. In this way, ASBR1 can generate a correspondence table between the multicast group and the receiver's BFR-Prefix, and can know which ASBRs to send the multicast data to when the multicast data arrives. Note that, unlike the BIER domain forwarding, the inter-domain forwarding of multicast data is not performed in the BIER encapsulation, but is labeled. The subsequent content will be described in the following.
S106,BIER域200内的组播发布。S106, multicast distribution in the BIER domain 200.
如图8所示,ASBR2通过域内BGP消息向BIER域200内的BFER发送Intra PMSI A-D route,用以发布来自发送方的组播信息。BIER域200内的组播信息发布机制与BIER域100内的组播信息发布机制相同,具体可参考S102。As shown in FIG. 8, the ASBR2 sends an Intra PMSI A-D route to the BFER in the BIER domain 200 through the intra-domain BGP message to advertise the multicast information from the sender. The multicast information distribution mechanism in the BIER domain 200 is the same as the multicast information distribution mechanism in the BIER domain 100. For details, refer to S102.
S107,BIER域200内的组播反馈。S107, multicast feedback in the BIER domain 200.
如图8所示,在接收到ASBR2发送的携带Intra PMSI A-D route的域内BGP消息后,如果BIER域200内的BFER对该组播信息表示的组播组感兴趣,则会通过域内BGP消息向发送方反馈Leaf A-D route,该Leaf A-D route中携带该BFER的BFR-Prefix。这里,对组播组感兴趣的BFER即该组播组的接收者。As shown in Figure 8, after receiving the intra-domain BGP message carrying the Intra PMSI AD route sent by the ASBR2, if the BFER in the BIER domain 200 is interested in the multicast group indicated by the multicast information, it will pass the intra-domain BGP message. The sender feeds the Leaf AD route, and the Leaf AD route carries the BFR-Prefix of the BFER. Here, the BFER that is interested in the multicast group is the receiver of the multicast group.
这样,ASBR2就可以根据接收者的BFR-Prefix找到接收者的BFR-id,便可根据这些接收者的BFR-id确定组播组在BIER域200中对应的BitString。另外,通过S101,ASBR2可以知道向不同BFR-id的BFER发送组播数据所需的BIFT-id。BitString和BFIT-id是BIER头中最重要的两个元素,用来指示在BIER域200内接收到BIER数据包的BFR如何转发组播数据。In this way, ASBR2 can find the BFR-id of the receiver according to the BFR-Prefix of the receiver, and can determine the corresponding BitString of the multicast group in the BIER domain 200 according to the BFR-id of the receiver. In addition, by S101, ASBR2 can know the BIFT-id required to transmit multicast data to BFERs of different BFR-ids. BitString and BFIT-id are the two most important elements in the BIER header to indicate how BFRs that receive BIER packets in BIER domain 200 forward multicast data.
综合S102-S107,组播信息发布和反馈总结如下:Comprehensive S102-S107, multicast information release and feedback are summarized as follows:
1.BIER域内的组播信息发布和反馈(S102-S103、S106-S107)1. Multicast information release and feedback in the BIER domain (S102-S103, S106-S107)
a.通过域内BGP消息,BFIR向BFER发送Intra PMSI A-D route(增添BIER标识)来发布组播信息;a. Through the intra-domain BGP message, the BFIR sends an Intra PMSI A-D route (adding a BIER identifier) to the BFER to issue multicast information;
b.通过域内BGP消息,对组播组感兴趣的BFER向BFIR反馈Leaf A-D route(携带BFER的prefix)。这样,BFIR就可以根据BFER的BFR-Prefix找到该BFER的BFR-id,便可知道该域内有哪些BFER对组播组感兴趣(即接收者),可以确定组播组在该域内对应的BitString。另外,通过步骤1,BFIR还可以找到向这些接收者发送组播组所需的BIFT-id。BIFT-id和Bitstring是BIER头中的最重要的两个元素,用来指示接收到BIER数据包的BFR在域内如何转发组播组。可以看出,BitString的作用效力局限在BIER域内,只能够指示在某个BIER域内组播组的接收者是哪些。b. Through the intra-domain BGP message, the BFER that is interested in the multicast group feeds the Leaf A-D route (the prefix carrying the BFER) to the BFIR. In this way, the BFIR can find the BFR-id of the BFER according to the BFR-Prefix of the BFER, and can know which BFERs in the domain are interested in the multicast group (ie, the receiver), and can determine the corresponding BitString of the multicast group in the domain. . In addition, through step 1, BFIR can also find the BIFT-id required to send multicast groups to these recipients. BIFT-id and Bitstring are the two most important elements in the BIER header. They are used to indicate how the BFR receiving the BIER packet forwards the multicast group in the domain. It can be seen that the effect of BitString is limited to the BIER domain, and can only indicate which receivers of the multicast group are in a BIER domain.
2.BIER域间的组播信息发布和反馈(S104-S105)2. Multicast information release and feedback between BIER domains (S104-S105)
a.通过域间BGP消息,一个BIER域的BFER(如BIER域100中的ASBR1)向相邻另一个BIER域的BFIR(如BIER域200中的ASBR2)发送Inter PMSI A-D route(增添BIER标识)来发布组播;a. Through the inter-domain BGP message, the BFER of a BIER domain (such as ASBR1 in BIER domain 100) sends Inter PMSI AD route (adding BIER flag) to the BFIR of another BIER domain (such as ASBR2 in BIER domain 200). To publish multicast;
b.通过域间BGP消息,该另一个BIER域的BFIR向该一个BIER域的BFER反馈Leaf A-D route(携带该BFIR的BFR-Prefix)。这样,该BFER就可以生成组播组和BFIR的BFR-Prefix的对应表,便可在特定组播组对应的组播数据到来时知道发给哪些BFIR。b. The BFIR of the other BIER domain feeds the Leaf A-D route (BFR-Prefix carrying the BFIR) to the BFER of the BIER domain through the inter-domain BGP message. In this way, the BFER can generate a correspondence table between the multicast group and the BFR-Prefix of the BFIR, and can know which BFIRs are sent when the multicast data corresponding to the specific multicast group arrives.
可以看出,在现有的BIER-MVPN方案中,组播信息发布和反馈是分段式的。对同一个组播信息,不同BIER域需要分别生成BGP消息来将组播信息最终发布到各个域的BFER,,组播发布&反馈的收敛时间很长,实效性差。It can be seen that in the existing BIER-MVPN scheme, multicast information distribution and feedback are segmented. For the same multicast information, different BIER domains need to generate BGP messages to advertise the multicast information to the BFER of each domain. The convergence time of the multicast advertisement & feedback is long and the effectiveness is poor.
(3)组播数据转发(步骤8-10):域内转发和域间转发(3) Multicast data forwarding (step 8-10): intra-domain forwarding and inter-domain forwarding
在介绍现有的BIER-MVPN方案中的组播数据转发方式之前,先介绍一下MVPN框架下的分段跨域组播传输方式。例如,如图10所示,当发送方有组播数据需要发送时,可以为该组播数据封装上域内隧道对应的多协议标签转发(Multi-Protocol Label Switching,MPLS)头,并在AS100内对封装了MPLS头的组播数据进行MPLS标签转发,将数据发送到AS100内的PE和ASBR1。然后,ASBR1可以解析接收到的封装了MPLS头的组播数据,重新为该组播数据封装相应域间隧道对应的通用路由封装(Generic Routing Encapsulation,GRE)头,并在域间对封装了GRE头的组播数据进行GRE标签转发,将数据发送到AS200内的ASBR2。然后,ASBR2可以解析接收到的封装了GRE头的组播数据,重新为该组播数据封装相应域内隧道对应的MPLS头,并在AS200内对封装了MPLS头的组播数据进行MPLS标签转发,将数据发送到接收者PE。最后,接收者PE去掉MPLS头将组播数据转发到用户侧设备。Before introducing the multicast data forwarding mode in the existing BIER-MVPN solution, first introduce the segmentation cross-domain multicast transmission mode under the MVPN framework. For example, as shown in FIG. 10, when the sender has multicast data to be sent, the multicast data may be encapsulated with a Multi-Protocol Label Switching (MPLS) header corresponding to the tunnel in the domain, and is in the AS100. The MPLS label is forwarded to the multicast data encapsulated with the MPLS header, and the data is sent to the PE and ASBR1 in AS100. Then, the ASBR1 can parse the received multicast data encapsulated with the MPLS header, re-encapsulate the Generic Routing Encapsulation (GRE) header corresponding to the corresponding inter-domain tunnel, and encapsulate the GRE between the inter-domain pairs. The header multicast data is forwarded by GRE tags, and the data is sent to ASBR2 in AS200. Then, the ASBR2 can parse the received multicast data encapsulated with the GRE header, re-encapsulate the MPLS header corresponding to the tunnel in the corresponding domain, and perform MPLS label forwarding on the multicast data encapsulated with the MPLS header in the AS200. Send the data to the recipient PE. Finally, the receiver PE removes the MPLS header and forwards the multicast data to the user side device.
与MVPN框架下的分段跨域组播传输方式不同的是,现有的BIER-MVPN方案在BIER域内采用BIER转发机制来转发组播数据。下面展开:Different from the segmentation cross-domain multicast transmission mode in the MVPN framework, the existing BIER-MVPN scheme uses the BIER forwarding mechanism to forward multicast data in the BIER domain. Expand below:
S108,BIER域100内的组播数据转发。S108, multicast data forwarding in the BIER domain 100.
具体的,当某个组播数据到来时,发送方查找该组播数据在BIER域100内对应的BitString,该BitString已经在S103中确定。另外,发送方还需要确定向BIER域100内的接收者转发组播数据所需依据的BIFT-id,该BIFT-id已经在S101中确定。然后,发送方利用该BitString以及BIFT-id生成BIER头,对该组播数据进行BIER封装得到BIER数据包。这样,发送方以及BIER域100内的中转BFR便可以基于BIER头,按照BIER转发机制将该组播数据转发到BIER域100内的接收者(如ASBR1)。Specifically, when a certain multicast data arrives, the sender searches for a corresponding BitString in the BIER domain 100 of the multicast data, and the BitString has been determined in S103. In addition, the sender also needs to determine the BIFT-id on which the multicast data is to be forwarded to the recipients in the BIER domain 100, which BIFT-id has been determined in S101. Then, the sender generates the BIER header by using the BitString and the BIFT-id, and performs BIER encapsulation on the multicast data to obtain a BIER packet. Thus, the sender and the transit BFR in the BIER domain 100 can forward the multicast data to the recipient (eg, ASBR1) within the BIER domain 100 in accordance with the BIER forwarding mechanism based on the BIER header.
S109,BIER域间的组播数据转发。S109. Forwarding multicast data between BIER domains.
具体的,当接收到BIER数据包时,ASBR1先查找该BIER数据包中的组播数据对应的BFR-Prefix(即ASBR2的BFR-Prefix),该BFR-Prefix已经在步骤S105中确定,用于指示将该组播数据发送给ASBR2。然后,ASBR1便将该组播数据封装上GRE或MPLS头,发送到ASBR2。Specifically, when receiving the BIER data packet, the ASBR1 first searches for the BFR-Prefix corresponding to the multicast data in the BIER data packet, that is, the BFR-Prefix of the ASBR2, and the BFR-Prefix has been determined in step S105, and is used for Indicates to send the multicast data to ASBR2. Then, ASBR1 encapsulates the multicast data on the GRE or MPLS header and sends it to ASBR2.
S110,BIER域200内的组播数据转发。S110. Forwarding multicast data in the BIER domain 200.
具体的,ASBR2解析接收到的封装了GRE或MPLS头的组播数据。然后,ASBR2查找该组播数据在BIER域200内对应的BitString,该BitString已经在S103中确定。另外,ASBR2还需要确定向BIER域200内的接收者转发组播数据所需依据的BIFT-id,该BIFT-id已经在S101中确定。然后,ASBR2利用该BitString以及BIFT-id生成BIER头,对该组播数据进行BIER封装得到BIER数据包。这样,ASBR2以及BIER域200内的中转BFR便可以基于BIER头,按照BIER转发机制将该组播数据转发到BIER域200内的接收者。Specifically, the ASBR2 parses the received multicast data encapsulated by the GRE or the MPLS header. Then, ASBR2 looks up the corresponding BitString of the multicast data in the BIER field 200, which has been determined in S103. In addition, ASBR2 also needs to determine the BIFT-id that is required to forward multicast data to recipients within BIER domain 200, which BIFT-id has been determined in S101. Then, ASBR2 generates a BIER header by using the BitString and BIFT-id, and performs BIER encapsulation on the multicast data to obtain a BIER packet. Thus, the ASBR2 and the transit BFR in the BIER domain 200 can forward the multicast data to the recipients in the BIER domain 200 in accordance with the BIER forwarding mechanism based on the BIER header.
最终,BIER域200内的接收者去掉BIER数据包的BIER头,读取组播数据,将组播数据转发给用户侧设备。Finally, the receiver in the BIER domain 200 removes the BIER header of the BIER packet, reads the multicast data, and forwards the multicast data to the user side device.
综合S108-S110,组播数据的转发总结如下:Based on S108-S110, the forwarding of multicast data is summarized as follows:
1.BIER域内的组播数据转发(S108、S110)1. Multicast data forwarding in the BIER domain (S108, S110)
a.当组播数据到来时,一个BIER域的BFIR先查找出该组播数据在该BIER域内对应的BitString以及向该BIER域内的接收者转发组播数据所需依据的BIFT-id,为该组播数据生成BIER头,并利用该BIER头对组播数据进行BIER封装,得到BIER数据包。a. When the multicast data arrives, the BFIR of a BIER domain first finds the corresponding BitString of the multicast data in the BIER domain and the BIFT-id according to which the multicast data is forwarded to the receiver in the BIER domain. The multicast data generates a BIER header, and the BIER header is used to perform BIER encapsulation on the multicast data to obtain a BIER packet.
b.该BFIR以及该BIER域内的中转BFR基于BIER头,按照BIER转发机制(BitString和BIFT中F-BM进行逻辑与等操作,具体可参考IETF BIER_ARCH)将该组播数据转发到该BIER域的接收者。b. The BFIR and the transit BFR in the BIER domain are based on the BIER header, and the multicast data is forwarded to the BIER domain according to the BIER forwarding mechanism (BitString and F-BM in BIFT perform logical AND operations, specifically IETF BIER_ARCH) Receiver.
2.BIER域间的组播数据转发(S109)2. Multicast data forwarding between BIER domains (S109)
a.当接收到BIER数据包时,一个域的BFER(如BIER域AS100中的ASBR1)先解封装BIER数据包,读取组播数据,然后查找该组播数据对应的BFR-Prefix(如BIER域200中的ASBR2的BFR-Prefix),最后利用该BFR-Prefix为该组播数据打上MPLS标签或GRE标签。a. When receiving a BIER packet, the BFER of a domain (such as ASBR1 in the BIER domain AS100) first decapsulates the BIER packet, reads the multicast data, and then looks up the BFR-Prefix corresponding to the multicast data (such as BIER). The BFR-Prefix of the ASBR2 in the domain 200, and finally the MPLS label or the GRE label is applied to the multicast data by using the BFR-Prefix.
b.该BFER向该BFR-Prefix表示的其他域的BFIR发送打上标签后的组播数据。这样,接收到打上标签后的组播数据后,其他域的BFIR也会查找出该组播数据在其他域对应的BitString以及向其他BIER域内的接收者转发组播数据所需依据的BIFT-id,为该组播数据生成BIER头。最终其他域内的BFR按照BIER转发机制进行组播转发。b. The BFER sends the tagged multicast data to the BFIR of the other domain indicated by the BFR-Prefix. In this way, after receiving the tagged multicast data, the BFIR of other domains also finds the BIByte corresponding to the BitString corresponding to the multicast data in other domains and the multicast data to be forwarded to the receivers in other BIER domains. , generating a BIER header for the multicast data. Finally, the BFR in other domains performs multicast forwarding according to the BIER forwarding mechanism.
可以看出,在现有的BIER-MVPN方案中,组播数据转发是分段式的。组播数据从发送方到其它BIER域中的接收者PE,需要多个设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,效率低,时效性差。It can be seen that in the existing BIER-MVPN scheme, multicast data forwarding is segmented. The multicast data from the sender to the receiver PE in other BIER domains requires multiple devices (such as BFIR and BFER in each BIER domain along the way) to participate in the generation of the BIER header, which is inefficient and time-sensitive.
针对现有的BIER-MVPN方案存在的问题,本申请提供了一种组播数据传输方法。For the problems existing in the existing BIER-MVPN solution, the present application provides a multicast data transmission method.
本申请的主要发明原理可体现在以下两个阶段:1.组播信息发布和反馈;2.组播数据转发。The main inventive principles of the present application can be embodied in the following two stages: 1. multicast information release and feedback; 2. multicast data forwarding.
(A)阶段1的主要发明原理可包括:不同BIER域中的边缘BFR(BFIR、BFER)之间构建成BGP对等体,可通过BGP连接直接交互BGP消息,实现组播信息的快速发布和快速反馈。(A) The main inventive principle of phase 1 may include: constructing a BGP peer between edge BFRs (BFIRs, BFERs) in different BIER domains, and directly interacting with BGP messages through BGP connections to implement fast release of multicast information. Quick feedback.
(B)阶段2的主要发明原理可包括:整个组播域(多个BIER域)统一视角来确定BIFT-id。即,与其他BIER域中确定BIFT-id所依据的sub-domain、SI和BSL相同,发送方也依据这 些参数确定组播数据在该其他BIER域中对应的BIFT-id。BIER头仅在发送方被构造,无需中间设备参与BIER头的构造。对于跨域发送的BIER数据包,发送方采用其他BIER域中的BFIR的BFIR-Prefix进行标签封装,然后单播发送到其他域的BFIR。与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。(B) The main inventive principle of Phase 2 may include a unified perspective of the entire multicast domain (multiple BIER domains) to determine the BIFT-id. That is, it is the same as the sub-domain, SI, and BSL on which the BIFT-id is determined in other BIER domains, and the sender also determines the corresponding BIFT-id of the multicast data in the other BIER domain according to these parameters. The BIER header is constructed only on the sender, without the need for intermediate devices to participate in the construction of the BIER header. For BIER packets sent across domains, the sender uses the BFIR BFIR-Prefix in other BIER domains for label encapsulation, and then unicasts the BFIR to other domains. Different from the existing BIER-MVPN solution, the multicast data forwarding in this application is not segmented. It is no longer necessary for intermediate devices (such as BFIR and BFER of each BIER domain along the way) to participate in the generation of BIER headers, which can achieve higher Efficient multicast forwarding.
在阶段1中,为了实现不同BIER域中的边缘BFR能够跨域交互BPG消息,需要提供以下条件:1.底层标签映射构建TCP连接;2.人工配置BGP对等体(BGP peer)。3.通过BGP open消息建立BGP连接。可以理解的,不同BIER域的边缘BFR之间一旦建立了BGP连接,便能够直接交互BGP消息,跨域进行组播信息发布和反馈,而无需采用现有的BIER-MVPN方案中的分段式的组播信息发布和反馈。In phase 1, in order to implement edge BFR in different BIER domains, BPG messages can be exchanged across domains. The following conditions are required: 1. The underlying label mapping constructs a TCP connection; 2. Manually configures a BGP peer. 3. Establish a BGP connection through BGP open messages. It can be understood that once a BGP connection is established between edge BFRs of different BIER domains, BGP messages can be directly exchanged, and multicast information can be distributed and fed back across domains without using the segmentation in the existing BIER-MVPN scheme. Multicast information release and feedback.
这里,关于人工配置BGP peer的方式,采用相关运营商提供的配置命令即可,本申请不作限制。关于通过BGP open消息建立BGP连接的具体实现,可参考RFC1105,这里不赘述。Here, the configuration of the BGP peer is based on the configuration command provided by the related carrier. This application is not limited. For details on how to establish a BGP connection through BGP open messages, refer to RFC 1105, which is not mentioned here.
关于底层标签映射构建TCP连接,下面进行示例性说明。例如,如图11所示,可以通过下述过程构建不同BIER域中的边缘BFR之间的TCP连接:The TCP connection is constructed with respect to the underlying tag mapping, which is exemplified below. For example, as shown in FIG. 11, a TCP connection between edge BFRs in different BIER domains can be constructed by the following procedure:
1.BIER域200中的BFER通过标签分发协议(label distribute protocol,LDP)将该BFER的BFR-Prefix“2.2.2.2”映射到BIER域200中的ASBR2上。BFR-Prefix“2.2.2.2”对应的标签能够用来封装发往该BFER的数据。这样,ASBR2便可知道数据转发到2.2.2.2需要用什么标签封装。1. The BFER in the BIER domain 200 maps the BFR-Prefix "2.2.2.2" of the BFER to the ASBR 2 in the BIER domain 200 by a label distribution protocol (LDP). The label corresponding to BFR-Prefix "2.2.2.2" can be used to encapsulate the data sent to the BFER. In this way, ASBR2 can know what label encapsulation is required for data forwarding to 2.2.2.2.
2.BIER域100中的ASBR1和BIER域200中的ASBR2基于外部边界网关协议(External Border Gateway Protocol,EBGP)相互传递各自的BFR-Prefix,并通知对方设置相应的标签。例如,ASBR1发往2.2.2.2(即BIER域200中的该BFER)数据需要先打上标签“222”,并发给ASBR2。2. The ASBR1 in the BIER domain 100 and the ASBR2 in the BIER domain 200 exchange their respective BFR-Prefix based on the External Border Gateway Protocol (EBGP), and notify the other party to set the corresponding label. For example, the data sent by ASBR1 to 2.2.2.2 (that is, the BFER in BIER domain 200) needs to be labeled "222" and sent to ASBR2.
3.ASBR1直接通过内部网关协议(Internal Border Gateway Protocol,IBGP)将BFR-Prefix“2.2.2.2”通知给BIER域100中的各个边界BFR(包括发送方),这样,发送便可以知道如果要将数据发送给2.2.2.2,只需将数据转发ASBR1到即可。由于ASBR1和发送方属于同一个BIER域(即同一个AS),二者之间已经建立了标签转发映射关系,因此,发送方只需要把目标是2.2.2.2的数据打上可达ASBR1的标签“22”即可。相应的,ASBR1收到目标是2.2.2.2且被打上标签“22”的数据后,将标签“22”换成标签“222”,并将打上标签“222”的数据发给ASBR2。ASBR2再将标签“222”换成标签“2222”,最后将打上标签“2222”的数据发给2.2.2.2的BIER域200中的该BFER。3. ASBR1 directly informs the BFR-Prefix "2.2.2.2" to each boundary BFR (including the sender) in the BIER domain 100 through the Internal Border Gateway Protocol (IBGP), so that the transmission can know if it is to be The data is sent to 2.2.2.2, just forward the data to ASBR1. Since the ASBR1 and the sender belong to the same BIER domain (that is, the same AS), the label forwarding mapping relationship has been established between the two. Therefore, the sender only needs to put the data with the target 2.2.2.2 on the label of the reachable ASBR1. 22". Correspondingly, after ASBR1 receives the data with the target of 2.2.2.2 and is tagged with "22", it replaces the tag "22" with the tag "222" and sends the data of the tag "222" to ASBR2. ASBR2 then replaces the label "222" with the label "2222" and finally sends the data labeled "2222" to the BFER in the BIER field 200 of 2.2.2.2.
通过上述底层标签映射,BIER域200中的边缘BFR的BFR-Prefix对应的标签映射到BIER域100中的边缘BFR(如发送方)上,BIER域100中的发送方和BIER域200中的边缘BFR可以建立TCP连接。这样,如图12所示,BIER域100中的发送方和BIER域200中的边缘BFR进而可以相互构成EBGP邻居(即EBGP peer),可实现通过BGP连接交互BGP消息。Through the above-mentioned underlying label mapping, the label corresponding to the BFR-Prefix of the edge BFR in the BIER domain 200 is mapped to the edge BFR (such as the sender) in the BIER domain 100, the sender in the BIER domain 100 and the edge in the BIER domain 200. BFR can establish a TCP connection. In this way, as shown in FIG. 12, the sender in the BIER domain 100 and the edge BFR in the BIER domain 200 can form an EBGP peer (ie, an EBGP peer), and the BGP message can be exchanged through the BGP connection.
基于图12所示的架构,如图13所示,不同BIER域中的边缘BFR之间可以直接基于BGP协议交互组播信息。具体的,BIER域100中的发送方通过BGP消息直接向BIER域200中的边缘BFR(ASBR2和BFER)发送Intra PMSI A-D route来发布组播信息。BIER域200中的边缘BFR(ASBR2和BFER)通过BGP消息直接向该发送方Leaf A-D route来进行组播信息反馈。Based on the architecture shown in FIG. 12, as shown in FIG. 13, the edge BFRs in different BIER domains can directly exchange multicast information based on the BGP protocol. Specifically, the sender in the BIER domain 100 directly transmits the Intra PMSI A-D route to the edge BFRs (ASBR2 and BFER) in the BIER domain 200 through BGP messages to issue multicast information. The edge BFRs (ASBR2 and BFER) in the BIER domain 200 directly perform multicast information feedback to the sender Leaf A-D route through BGP messages.
图11仅仅示例性的说明了底层标签映射构建TCP连接的方法,不应构成限定。FIG. 11 merely exemplarily illustrates a method for constructing a TCP connection by the underlying tag mapping, and should not be construed as limiting.
基于上述主要发明原理以及图6示出的应用场景,下面详细说明本申请提供的组播数据传输方法。如图14所示,本申请提供的组播数据传输方法可包括:Based on the above-mentioned main inventive principle and the application scenario shown in FIG. 6, the multicast data transmission method provided by the present application is described in detail below. As shown in FIG. 14, the multicast data transmission method provided by the present application may include:
(1)阶段1(S201):BIER域内BFIR、BFR都生成各自的BIFT(1) Phase 1 (S201): BFIR and BFR in the BIER domain generate their respective BIFT
由前述内容中介绍的关键技术点“BIFT”可知,在一个BIER域内,BFIR和BFR都可以生成到达各个BFER的BIFT。另外,BFIR还可以为其所在BIER域内的BFER生成BFR-Prefix和BFR-id的对应表。It can be seen from the key technology point "BIFT" introduced in the foregoing that in a BIER domain, both BFIR and BFR can generate a BIFT reaching each BFER. In addition, BFIR can also generate a correspondence table of BFR-Prefix and BFR-id for the BFER in its BIER domain.
由于BIER域内BFIR、BFR都生成各自的BIFT,因此,BFIR、BFR在接收到BIER数据包后,就可以根据BIER头中的BIFT-id、Bitstring进行组播转发。其中,BIFT-id为用于告知BIER路由器查找哪张BIFT来转发组播数据。BitString表示了一个组播数据的所有接收者(BFER)的BFR-id。Since BFIR and BFR in the BIER domain generate their respective BIFTs, after receiving the BIER packet, BFIR and BFR can perform multicast forwarding according to BIFT-id and Bitstring in the BIER header. Among them, BIFT-id is used to tell the BIER router which BIFT to find to forward multicast data. BitString represents the BFR-id of all recipients (BFER) of a multicast data.
(2)阶段2(S202-S203):组播信息发布和反馈(2) Phase 2 (S202-S203): Multicast information release and feedback
S202,组播信息发布。S202. The multicast information is released.
具体的,如图14所示,BIER域100中的发送方可以通过BGP消息将Intra PMSI A-D route发送到BIER域100中的BFER-D,并且可以直接通过BGP消息将Intra PMSI A-D route发送到BIER域200中的BGP对等体(如BFIR-E、BFER-G)、BIER域300中的BGP对等体(如BFIR-E、BFER-G)。Specifically, as shown in FIG. 14, the sender in the BIER domain 100 can send the Intra PMSI AD route to the BFER-D in the BIER domain 100 through the BGP message, and can directly send the Intra PMSI AD route to the BIER through the BGP message. BGP peers in domain 200 (such as BFIR-E, BFER-G) and BGP peers in BIER domain 300 (such as BFIR-E, BFER-G).
也即是说,发送方与其他BIER域中的BFIR、BFER之间构成BGP对等体。这里,其他BIER域是指非发送方所在的BIER域。发送方可以通过BGP连接直接向其他BIER域中的BFIR、BFER发送BGP消息,该BGP消息中携带的Intra PMSI A-D route,用于发布组播组的组播信息(如组播组地址)。相应的,其他BIER域中的BFIR、BFER接收到携带Intra PMSI A-D route的BGP消息,如果对该BGP消息发布的组播组感兴趣,则通过Leaf A-D route进行反馈。That is to say, the sender forms a BGP peer with BFIR and BFER in other BIER domains. Here, other BIER domains refer to the BIER domain where the non-sender is located. The sender can directly send BGP messages to the BFIR and BFER in the BIER domain through the BGP connection. The Intra PMSI A-D route carried in the BGP message is used to advertise the multicast information of the multicast group (such as the multicast group address). Correspondingly, the BFIR and the BFER in the other BIER domain receive the BGP message carrying the Intra PMSI A-D route. If the multicast group advertised by the BGP message is interested, the leaf A-D route is used for feedback.
如图15所示,该Intra PMSI A-D route可携带BIER标识、组播组的标识(如组播组地址(multicast group)232.1.1.1)。这里,该BIER标识用于指示携带该Intra PMSI A-D route的BGP消息是一个BIER组播消息。As shown in Figure 15, the Intra PMSI A-D route can carry the BIER identifier and the identifier of the multicast group (such as multicast group address 232.1.1.1). Here, the BIER identifier is used to indicate that the BGP message carrying the Intra PMSI A-D route is a BIER multicast message.
S203,组播信息反馈。S203. Multicast information feedback.
具体的,如图14所示,BIER域100中的BFER-D通过BGP消息将Leaf A-D route发送到发送方,以进行组播信息反馈,具体可参考现有的BIER-MVPN方案中的S103。BIER域200中的BGP对等体(如BFIR-E、BFER-G)、BIER域300中的BGP对等体(如BFIR-E、BFER-G)也分别通过BGP消息将Leaf A-D route发送到发送方,以进行组播信息反馈。Specifically, as shown in FIG. 14, the BFER-D in the BIER domain 100 sends the Leaf A-D route to the sender through the BGP message to perform multicast information feedback. For details, refer to S103 in the existing BIER-MVPN solution. The BGP peers in the BIER domain 200 (such as BFIR-E, BFER-G) and the BGP peers in the BIER domain 300 (such as BFIR-E and BFER-G) also send Leaf AD routes to the BGP messages through BGP messages. The sender performs multicast information feedback.
也即是说,其他BIER域中的BFIR、BFER可以分别通过BGP连接直接向发送方发送携带Leaf A-D route的BGP消息。相应的,发送方通过BGP连接分别接收来自其他BIER域中的BFIR、BFER的BPG消息,该BGP消息携带Leaf A-D route。That is to say, BFIR and BFER in other BIER domains can directly send BGP messages carrying Leaf A-D routes to the sender through BGP connections. Correspondingly, the sender receives the BPG message from the BFIR and BFER in the other BIER domain through the BGP connection, and the BGP message carries the Leaf A-D route.
为了让发送方了解哪些BIER域中的BFER对组播组感兴趣,以及知道如何转发该组播组对应的组播数据到这些BFER,Leaf A-D route可以携带下述信息:In order to let the sender know which BFERs in the BIER domain are interested in the multicast group, and know how to forward the multicast data corresponding to the multicast group to these BFERs, the Leaf A-D route can carry the following information:
其一,如图16所示,其他BIER域中的BFER反馈的Leaf A-D route中可以携带该BFER的BFR-id、该BFER所属的sub-domain、该BFER的BFR-id所属的SI、该BFER支持的BSL和该BFER所属BIER域的标识。具体可以在Leaf A-D route新增用于携带sub-domain、SI、BSL和BFR-id的字段,以及开启扩展团体属性(“Source-AS extended community”)以指示BIER域的标识。这样,发送方就可以根据sub-domain、SI和BSL这三项参数确定出BIFT-id,并可以根据BFR-id确定BitString。然后,发送方可以利用BIER域的标识、BIFT-id和 BitString生成第一映射表,具体见后续内容。For example, as shown in FIG. 16, the BFR-id of the BFER can be carried in the Leaf AD route of the BFER feedback in the other BIER domain, the sub-domain to which the BFER belongs, the SI to which the BFR-id of the BFER belongs, and the BFER. The supported BSL and the identity of the BIER domain to which the BFER belongs. Specifically, a field for carrying sub-domain, SI, BSL, and BFR-id may be added to the Leaf A-D route, and an extended community attribute ("Source-AS extended community") is opened to indicate the identifier of the BIER domain. In this way, the sender can determine the BIFT-id according to the three parameters of sub-domain, SI, and BSL, and can determine the BitString according to the BFR-id. Then, the sender can generate the first mapping table by using the BIER domain identifier, BIFT-id and BitString, as shown in the following.
在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,其他BIER域中的BFER反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。In one possible case, a BIER domain is configured with only one sub-domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route of the BFER feedback in other BIER domains.
在一种可能的情况下,整个组播域支持的BSL可以是一致的,即无需额外通知,发送方也知道BSL。因此,其他BIER域中的BFER反馈的Leaf A-D route中不必须携带BSL。In one possible case, the BSL supported by the entire multicast domain can be consistent, that is, the sender knows the BSL without additional notification. Therefore, it is not necessary to carry the BSL in the Leaf A-D route of the BFER feedback in other BIER domains.
其二,如图17所示,其他BIER域中的BFIR(如ASBR2)反馈的Leaf A-D route中可以携带该BFIR的BFR-Prefix、该BFIR的所属BIER域的标识。这样,Sender便可以根据这信息生成sender的第二映射表,具体见后续内容。Second, as shown in FIG. 17, the leaf A-D route fed back by the BFIR (such as ASBR2) in the other BIER domain may carry the BFR-Prefix of the BFIR and the identifier of the BIER domain to which the BFIR belongs. In this way, Sender can generate a second mapping table of sender according to this information, as shown in the following.
综合S202-S203可以看出,本申请中,不同BIER域之间的边缘BFR之间构建成BGP对等体,可通过BGP连接直接交互BGP消息,进行组播信息的快速发布和快速反馈。也即是说,组播信息发布和反馈不再是分段进行BGP交互,而是直接跨域交互BGP消息,组播发布和反馈的收敛时间明显缩短,实效性高。As shown in Figure S202-S203, in this application, the edge BFRs of different BIER domains are configured as BGP peers. BGP messages can be directly exchanged through BGP connections to quickly release multicast information and provide fast feedback. That is to say, multicast information distribution and feedback are no longer segmented for BGP interaction, but BGP messages are directly exchanged across domains. The convergence time of multicast release and feedback is significantly shortened, and the effectiveness is high.
(3)阶段3(S204-S206):生成用于组播转发的相关映射表(3) Phase 3 (S204-S206): Generating a correlation mapping table for multicast forwarding
S204,确定BIFT-id。S204, determining a BIFT-id.
具体的,如图18所示,BIFT-id是一个固定长度(如20个比特)的索引,由sub-domain、SI和BSL这三项参数确定。其中,在一个BIER域仅配置有一个sub-domain的特殊情况下,sub-domain不是必选项。Specifically, as shown in FIG. 18, the BIFT-id is an index of a fixed length (for example, 20 bits), which is determined by three parameters of sub-domain, SI, and BSL. In a special case where only one sub-domain is configured in a BIER domain, the sub-domain is not mandatory.
如图19所示,发送方可以根据来自各个BIER域的Leaf A-D route中携带的sub-domain、SI和BSL确定相应组播组在各个BIER域中各自对应的BIFT-id。例如,发送方根据来自BIER域200的Leaf A-D route中携带的sub-domain、SI和BSL确定相应组播组在BIER域200中对应的BIFT-id。这里,相应组播组是指该Leaf A-D route所反馈的组播信息指示的组播组。As shown in FIG. 19, the sender can determine the corresponding BIFT-id of each multicast group in each BIER domain according to the sub-domain, SI, and BSL carried in the Leaf A-D route from each BIER domain. For example, the sender determines the corresponding BIFT-id of the corresponding multicast group in the BIER domain 200 according to the sub-domain, SI, and BSL carried in the Leaf A-D route from the BIER domain 200. Here, the corresponding multicast group refers to the multicast group indicated by the multicast information fed back by the Leaf A-D route.
具体的,可以将sub-domain、BSL、SI各自的比特序列按序拼接起来形成BIFT-id。假设,subdomain的比特序列为“011”,BSL的比特序列为“0000100”,SI的比特序列为“0001100100”,那么,这三个比特序列按序拼接起来形成长度为20个比特的比特序列“01100001000001100100”,该比特序列即BIFT-id。Specifically, the bit sequences of the sub-domain, the BSL, and the SI may be sequentially spliced together to form a BIFT-id. Assume that the bit sequence of the subdomain is "011", the bit sequence of the BSL is "0000100", and the bit sequence of the SI is "0001100100". Then, the three bit sequences are sequentially spliced together to form a bit sequence of 20 bits in length. 01100001000001100100", the bit sequence is BIFT-id.
可以看出,发送方确定该相应组播组在其他BIER域中对应的BIFT-id所依据的sub-domain、SI、BSL与该其他BIER域中确定BIFT-id所依据的sub-domain、SI、BSL一样。这意味着发送方能构建可在其他BIER域内用于BIER路由转发的BIFT-id,整个组播域(多个BIER域)统一视角来确定BIFT-id,可实现发送方能够生成在其他BIER域中成功进行BIER路由转发的BIER数据包。It can be seen that the sender determines the sub-domain, SI, BSL according to the corresponding BIFT-id of the corresponding multicast group in the other BIER domain, and the sub-domain and SI on which the BIFT-id is determined in the other BIER domain. Same as BSL. This means that the sender can construct a BIFT-id that can be used for BIER route forwarding in other BIER domains. The entire multicast domain (multiple BIER domains) can be used to determine the BIFT-id, which enables the sender to generate other BIER domains. A BIER packet that successfully performs BIER routing forwarding.
一个BIER域可包括至少一个sub-domain。对此,一个组播组在一个BIER域中对应的BIFT-id是指该组播组在这至少一个sub-domain中分别对应的BIFT-id,一个组播组在一个BIER域中对应的BitString是指该组播组在这至少一个sub-domain中分别对应的BitString。这意味着,对于发往该BIER域的组播数据,发送方需要为这至少一个sub-domain分别构造BIER头,然后向这至少一个sub-domain分别封装BIER数据包,不同的sub-domain对应不同的BIER头。A BIER domain can include at least one sub-domain. In this regard, the corresponding BIFT-id of a multicast group in a BIER domain refers to the BIFT-id corresponding to the multicast group in the at least one sub-domain, and the BitString corresponding to a multicast group in a BIER domain. It refers to the BitString corresponding to the multicast group in the at least one sub-domain. This means that for multicast data addressed to the BIER domain, the sender needs to construct a BIER header for each of the at least one sub-domain, and then encapsulate the BIER packet with the at least one sub-domain, respectively, and the different sub-domains correspond to Different BIER heads.
本申请中,一个组播组在各个BIER域中各自对应的BIFT-id即该组播组对应的组播数据在各个BIER域中各自对应的BIFT-id。一个组播组在各个BIER域中各自对应的BitString即该组播组对应的组播数据在各个BIER域中各自对应的BitString。In this application, the BIFT-id corresponding to each multicast group in each BIER domain is the BIFT-id corresponding to the multicast data corresponding to the multicast group in each BIER domain. The BitString corresponding to each multicast group in each BIER domain is the BitString corresponding to the multicast data corresponding to the multicast group in each BIER domain.
S205,生成第一映射表。S205. Generate a first mapping table.
具体的,发送方根据各个BIER域的BIER域标识、BIFT-id、BitString生成图20示例性所示的第一映射表。第一映射表可包括组播组在至少一个BIER域中分别对应的BIFT-id、BitString。如图20所示,这至少一个BIER域可包括发送方所在的BIER域和非发送方所在的BIER域(即其他BIER域)。Specifically, the sender generates the first mapping table exemplarily shown in FIG. 20 according to the BIER domain identifier, BIFT-id, and BitString of each BIER domain. The first mapping table may include a BIFT-id, a BitString corresponding to the multicast group in the at least one BIER domain. As shown in FIG. 20, the at least one BIER domain may include a BIER domain in which the sender is located and a BIER domain in which the non-sender is located (ie, other BIER domains).
第一映射表可以是组播组标识(如组播组地址)和BIER域标识、BIFT-id、BitString的对应关系。一个组播组标识对应的BIER域标识、BIFT-id、BitString即表示该组播组标识表示的组播组在该BIER域标识表示的BIER域中对应的BIFT-id、BitString。The first mapping table may be a correspondence between a multicast group identifier (such as a multicast group address) and a BIER domain identifier, a BIFT-id, and a BitString. The BIER domain identifier, BIFT-id, and BitString corresponding to a multicast group identifier indicate that the multicast group indicated by the multicast group identifier corresponds to the BIFT-id and BitString in the BIER domain indicated by the BIER domain identifier.
在第一映射表中,组播组在其他BIER域中对应的BIFT-id由其他BIER域的接收者所属的sub-domain、该接收者的BFR-id所属的SI、该接收者支持的BSL确定;组播组在其他BIER域中对应的BitString由该接收者的BFR-id确定。这里,该接收者是指其他BIER域中对该组播组感兴趣的BFER。In the first mapping table, the corresponding BIFT-id of the multicast group in other BIER domains is the sub-domain to which the receiver of the other BIER domain belongs, the SI to which the BFR-id of the receiver belongs, and the BSL supported by the receiver. It is determined; the corresponding BitString of the multicast group in other BIER domains is determined by the BFR-id of the receiver. Here, the recipient refers to a BFER that is of interest to the multicast group in other BIER domains.
本申请中,第一映射表可用于构造BIER头。针对某个组播组,其BIER头仅在发送方侧被构造,无需中间设备参与BIER头的重新构造。In the present application, the first mapping table can be used to construct a BIER header. For a multicast group, its BIER header is constructed only on the sender side, without the need for intermediate devices to participate in the reconstruction of the BIER header.
S206,生成发送方的第二映射表。S206. Generate a second mapping table of the sender.
本申请中,对于其他BIER域,发送方自主确定下一跳(即将其他BIER域的BFIR作为下一跳),而不是将直接相邻的BFR(即BFR-NBR)作为下一跳。这样可避免发往其他BIER域的组播数据再经过发送方所在的BIER域内的BFR的转发,可实现将组播数据通过MPLS或GRE封装后直接发送到其他BIER域的BFIR,转发效率更高。In the present application, for other BIER domains, the sender autonomously determines the next hop (ie, the BFIR of other BIER domains as the next hop), instead of using the directly adjacent BFR (ie, BFR-NBR) as the next hop. In this way, the multicast data sent to other BIER domains can be forwarded through the BFR in the BIER domain where the sender is located. The BFIR can be directly sent to other BIER domains after being encapsulated by MPLS or GRE. .
对于一个特定的其他BIER域,发送方在该BIER域中的下一跳可以是该BIER域中的多个BFIR,即存在多个下一跳。这多个BFIR中的部分BFIR可负责转发组播数据到该BIER域中的一些sub-domain,这多个BFIR中的另一部分BFIR可负责转发组播数据到该BIER域中的另一些sub-domain。这样,针对发往该BIER域中的组播数据,发送方可根据该组播数据在该BIER域中对应的BIFT-id(BIFT-id与sub-domain一一对应)确定将该组播数据转发到哪一个BFIR。因为BIFT-id能够指示该组播数据将会被发往的sub-domain。关于这多个BFIR分别负责转发组播数据到哪一个(些)sub-domain,本申请不作限制,可参考实际需求而定。例如,可从负载均衡的角度来设置多个下一跳各自承载的数据转发量。For a particular other BIER domain, the next hop of the sender in the BIER domain may be multiple BFIRs in the BIER domain, ie there are multiple next hops. A portion of the plurality of BFIRs may be responsible for forwarding multicast data to some sub-domains in the BIER domain, and another portion of the plurality of BFIRs may be responsible for forwarding multicast data to other sub-s in the BIER domain. Domain. In this way, for the multicast data sent to the BIER domain, the sender can determine the multicast data according to the corresponding BIFT-id (the BIFT-id and the sub-domain one-to-one correspondence) in the BIER domain according to the multicast data. Which BFIR is forwarded to. Because BIFT-id can indicate the sub-domain to which the multicast data will be sent. Regarding which sub-domain(s) each of the BFIRs is responsible for forwarding the multicast data, the present application is not limited, and may be referred to actual requirements. For example, the amount of data forwarding carried by each of the multiple next hops can be set from the perspective of load balancing.
对于一个特定的其他BIER域,发送方在该BIER域中的下一跳可以是该BIER域中的某一个BFIR,即仅存在一个下一跳。这一个BFIR可负责转发组播数据到该BIER域中的全部目标sub-domain。这里,目标sub-domain是指组播数据的接收者所处的sub-domain。For a particular other BIER domain, the next hop of the sender in the BIER domain may be a BFIR in the BIER domain, ie there is only one next hop. This BFIR can be responsible for forwarding multicast data to all target sub-domains in the BIER domain. Here, the target sub-domain refers to the sub-domain in which the receiver of the multicast data is located.
本申请中,发送方可以根据自主确定的下一跳生成图21示例性所示的第二映射表。该第二映射表可包括:组播组在至少一个BIER域中分别对应的BIFT-id、发送方在该至少一个BIER域中的下一跳的BFR-Prefix。如图21所示,这至少一个BIER域可包括发送方所在的BIER域和非发送方所在的BIER域(即其他BIER域)。在发送方所在的BIER域内,参考现有的BIER-MVPN方案,发送方的下一跳可以是BFR-NBR。而在其他BIER域内,发送方的下一跳可以是其他BIER域的BFIR。In the present application, the sender may generate the second mapping table exemplarily shown in FIG. 21 according to the autonomously determined next hop. The second mapping table may include: a BIFT-id corresponding to the multicast group in the at least one BIER domain, and a BFR-Prefix of the next hop of the sender in the at least one BIER domain. As shown in FIG. 21, the at least one BIER domain may include a BIER domain in which the sender is located and a BIER domain in which the non-sender is located (ie, other BIER domains). In the BIER domain where the sender is located, referring to the existing BIER-MVPN scheme, the sender's next hop may be BFR-NBR. In other BIER domains, the sender's next hop may be the BFIR of other BIER domains.
第二映射表可以是组播组标识(如组播组地址)和BIER域标识、BIFT-id、BFR-Prefix的对应关系。一个组播组标识对应的BIER域标识、BIFT-id、BFR-Prefix即表示该组播组表示的组播组在该BIER域标识表示的BIER域中对应的BIFT-id、逻辑下一跳的BFR-Prefix。The second mapping table may be a correspondence between a multicast group identifier (such as a multicast group address) and a BIER domain identifier, a BIFT-id, and a BFR-Prefix. The BIER domain identifier, BIFT-id, and BFR-Prefix corresponding to a multicast group identifier indicate that the multicast group represented by the multicast group corresponds to the BIFT-id and logical next hop in the BIER domain indicated by the BIER domain identifier. BFR-Prefix.
对于一个特定的其他BIER域,在发送方在该BIER域中存在多个下一跳的情况下,第二 映射表中该BIER域的域标识所对应的(一个或多个)BIFT-id对应多个BFR-Prefix;在发送方在该BIER域中仅存在一个下一跳的情况下,第二映射表中该BIER域的域标识所对应的(一个或多个)BIFT-id对应一个BFR-Prefix。For a specific other BIER domain, in the case that the sender has multiple next hops in the BIER domain, the BIFT-id corresponding to the domain identifier of the BIER domain in the second mapping table corresponds to Multiple BFR-Prefix; in case the sender has only one next hop in the BIER domain, the BIFT-id corresponding to the domain identifier of the BIER domain in the second mapping table corresponds to a BFR -Prefix.
本申请中,该第二映射表可用于为由组播数据封装得到的BIER数据包打上MPLS标签或GRE标签,实现跨域(域间)转发。例如,发送方可以根据BIER数据包的BIER头中携带BIFT-id确定出该BIER数据包需要发往的目标BIER域,然后可以将发送方在目标BIER域中的下一跳,为该BIER数据包打上MPLS标签或GRE标签后发送到该下一跳。示例仅仅用于解释本申请,具体可参考后续内容,这里先不赘述。In this application, the second mapping table may be used to apply an MPLS label or a GRE label to the BIER data packet encapsulated by the multicast data to implement cross-domain (inter-domain) forwarding. For example, the sender can determine the target BIER field to which the BIER packet needs to be sent according to the BIIER-id carried in the BIER header of the BIER packet, and then the next hop of the sender in the target BIER domain can be the BIER data. The packet is sent to the next hop after the MPLS label or GRE label is applied. The examples are only used to explain the present application, and may be specifically referred to in the following, and will not be described here.
可选的,发送方可配置有用于将组播数据发往至少一个BIER域的出端口。该第二映射表还可包括:该出端口的标识。这样,发送方便可以知道采用哪一个出端口向特定BIER域转发组播数据。Optionally, the sender may be configured with an egress port for sending multicast data to at least one BIER domain. The second mapping table may further include: an identifier of the egress port. In this way, it is convenient to know which outgoing port to use to forward multicast data to a specific BIER domain.
可选的,第一映射表和第二映射表可以为两个独立的映射关系,即两个表。第一映射表和第二映射表也可以存在于一个映射关系中,即一个表的两个部分。本申请对于第一映射表和第二映射表的数据表现形式不作限制,不必须是表格形式。Optionally, the first mapping table and the second mapping table may be two independent mapping relationships, that is, two tables. The first mapping table and the second mapping table may also exist in one mapping relationship, that is, two parts of one table. The present application does not limit the data representation of the first mapping table and the second mapping table, and does not have to be in the form of a table.
(4)阶段4:组播数据转发(S207-S211):域内转发和域间转发(4) Phase 4: Multicast data forwarding (S207-S211): intra-domain forwarding and inter-domain forwarding
S207,BIER域100内的组播数据转发。S207. Forwarding multicast data in the BIER domain 100.
具体的,当某个组播数据到来时,发送方可从第一映射表中确定出该组播数据在BIER域100中对应的BIFT-id和BitString。该组播数据在BIER域100中对应的BIFT-id和BitString分别为该组播数据对应的组播组在BIER域100中对应的BIFT-id和BitString。该第一映射表已经在S205中生成。Specifically, when a certain multicast data arrives, the sender may determine the corresponding BIFT-id and BitString of the multicast data in the BIER domain 100 from the first mapping table. The corresponding BIFT-id and BitString of the multicast data in the BIER domain 100 are the BIFT-id and BitString corresponding to the multicast group corresponding to the multicast data in the BIER domain 100, respectively. This first mapping table has been generated in S205.
然后,发送方可以利用该BitString以及BIFT-id生成BIER头,对该组播数据进行BIER封装得到BIER数据包。这样,发送方以及BIER域100内的中转BFR便可以基于BIER头,按照BIER转发机制将该组播数据转发到BIER域100内的接收者。Then, the sender can generate a BIER header by using the BitString and the BIFT-id, and perform BIER encapsulation on the multicast data to obtain a BIER packet. Thus, the sender and the transit BFR in the BIER domain 100 can forward the multicast data to the recipients in the BIER domain 100 in accordance with the BIER forwarding mechanism based on the BIER header.
相应的,BIER域100内的接收者接收到BIER数据包,然后可以解封装该BIER数据包得到组播数据,并发送组播数据到用户侧设备。Correspondingly, the receiver in the BIER domain 100 receives the BIER packet, and then decapsulates the BIER packet to obtain multicast data, and sends the multicast data to the user side device.
S208,发送方(处于BIER域100内)向BIER域200中的BFIR单播发送组播数据。S208. The sender (in the BIER domain 100) unicasts the multicast data to the BFIR in the BIER domain 200.
具体的,当某个组播数据到来时,发送方可从第一映射表中确定出该组播数据在BIER域200中对应的BIFT-id和BitString,并利用该BitString以及BIFT-id生成BIER头,对该组播数据进行BIER封装得到BIER数据包。该第一映射表已经在S205中生成。Specifically, when a certain multicast data arrives, the sender may determine the corresponding BIFT-id and BitString of the multicast data in the BIER domain 200 from the first mapping table, and generate the BIER by using the BitString and the BIFT-id. Header, BIER encapsulation of the multicast data to obtain a BIER packet. This first mapping table has been generated in S205.
然后,发送方可以根据该BIER头中的BIFT-id从S206中生成的第二映射表中确定出发送方在BIER域200中的下一跳的BFR-Prefix,并可以利用该BFR-Prefix为该BIER数据包打上MPLS标签或GRE标签,并向BIER域200中的BFIR发送打上标签后的BIER数据包。Then, the sender can determine the BFR-Prefix of the next hop of the sender in the BIER domain 200 from the second mapping table generated in S206 according to the BIFT-id in the BIER header, and can use the BFR-Prefix as the BFR-Prefix. The BIER packet is tagged with an MPLS label or a GRE tag, and the tagged BIER packet is sent to the BFIR in the BIER domain 200.
相应的,BIER域200内的BFIR可以接收到打上标签后的BIER数据包,并可以去掉该标签得到BIER数据包。Correspondingly, the BFIR in the BIER domain 200 can receive the tagged BIER packet, and can remove the tag to obtain the BIER packet.
S209,BIER域200内基于BIER转发机制转发组播数据。S209. The BIER domain 200 forwards the multicast data based on the BIER forwarding mechanism.
BIER域200内的BFIR、中转BFR可以从该BIER数据包的BIER头中获得BIFT-id和BitString,最终根据该BIFT-id指示的BIFT以及该位串转发该BIER数据包到BIER域200内的接收者。具体可参考现有的BIER-MVPN方案中的S108、S110,这里不再赘述。The BFIR and the transit BFR in the BIER domain 200 can obtain the BIFT-id and the BitString from the BIER header of the BIER packet, and finally forward the BIER packet to the BIER domain 200 according to the BIFT indicated by the BIFT-id and the bit string. Receiver. For details, refer to S108 and S110 in the existing BIER-MVPN solution, and details are not described herein again.
相应的,BIER域200内的接收者接收到BIER数据包,然后可以解封装该BIER数据包得到组播数据,并发送组播数据到用户侧设备。Correspondingly, the receiver in the BIER domain 200 receives the BIER packet, and then decapsulates the BIER packet to obtain multicast data, and sends the multicast data to the user side device.
S210-S211描述了向BIER域300中的接收者转发组播数据的过程,该过程同于向BIER域200中的接收者转发组播数据的过程,这里不再赘述。S210-S211 describes a process of forwarding multicast data to a receiver in the BIER domain 300, which is the same as the process of forwarding multicast data to a receiver in the BIER domain 200, and details are not described herein.
综合S207-S211,组播数据的转发总结如下:Based on S207-S211, the forwarding of multicast data is summarized as follows:
1.BIER域间的组播数据转发(S208、S210):针对发往其他BIER域的组播数据,发送方对该组播数据进行BIER封装得到BIER数据包,然后将BIER数据包打上MPLS标签或GRE标签后单播发送到其他BIER域的BFIR。1. Multicast data forwarding between BIER domains (S208, S210): For multicast data sent to other BIER domains, the sender performs BIER encapsulation on the multicast data to obtain a BIER packet, and then puts the BIER packet on the MPLS label. Or the BFIR sent to other BIER domains unicast after the GRE tag.
2.BIER域内的组播数据转发(S207、S209、S211):按照BIER机制转发组播数据,可参考现有的BIER-MVPN方案。2. Multicast data forwarding in the BIER domain (S207, S209, S211): To forward multicast data according to the BIER mechanism, refer to the existing BIER-MVPN scheme.
可以看出,与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,BIER头仅在Sender侧被构造,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。It can be seen that, unlike the existing BIER-MVPN solution, the multicast data forwarding in this application is not segmented, and the BIER header is constructed only on the Sender side, and intermediate devices are no longer needed (such as BFIR of each BIER domain along the way). , BFER) participate in the generation of BIER headers, enabling more efficient multicast forwarding.
本申请中,组播数据转发的关键工作发生在发送方。发送方的工作原理可如图22示例性所示:对于发往多个BIER域的组播数据,发送方先复制该组播数据,然后根据S205中生成的第一映射表为发往不同BIER域的组播数据构建BIER头得到BIER数据包。然后,发送方可以根据S206中生成的第二映射表为发往其他BIER域的BIER数据包打上标签,并单播发送到发送方其他BIER域中的下一跳。对于发往域内(即发送方所在的BIER域)的BIER数据包,发送方基于BIER转发机制转发组播数据,可参考现有的BIER-MVPN方案。In this application, the key work of multicast data forwarding occurs on the sender. The working principle of the sender can be exemplarily shown in FIG. 22: for multicast data sent to multiple BIER domains, the sender first copies the multicast data, and then sends the first mapping table generated in S205 to different BIERs. The domain's multicast data constructs the BIER header to get the BIER packet. Then, the sender can label the BIER data packet sent to other BIER domains according to the second mapping table generated in S206, and unicast to the next hop in the other BIER domain of the sender. For BIER packets sent to the domain (that is, the BIER domain where the sender is located), the sender forwards the multicast data based on the BIER forwarding mechanism. Refer to the existing BIER-MVPN scheme.
下面通过举例来说明本申请提供组播数据转发方法的具体实施。The specific implementation of the multicast data forwarding method provided by the present application is illustrated by way of example below.
在图23所示的示例中,假设对组播组(S,G)感兴趣的接收者为:BIER域100内的BFER-D(BFR-id为100)、BIER域200内的BFER-G(BFR-id为100)、BIER域300内的BFER-J(BFR-id为200)。其中,BFER-G的BFR-Prefix对应的标签为“200”,BFER-J的BFR-Prefix对应的标签为“300”。如图23所示,当组播组(S,G)对应的组播数据到来时,其转发过程如下:In the example shown in FIG. 23, it is assumed that the receivers interested in the multicast group (S, G) are: BFER-D (BFR-id is 100) in the BIER domain 100, and BFER-G in the BIER domain 200. (BFR-id is 100) and BFER-J in BIER domain 300 (BFR-id is 200). The label corresponding to the BFR-Prefix of the BFER-G is "200", and the label corresponding to the BFR-Prefix of the BFER-J is "300". As shown in Figure 23, when the multicast data corresponding to the multicast group (S, G) arrives, the forwarding process is as follows:
1.发送方将组播数据复制成3份。1. The sender copies the multicast data into 3 copies.
2.发送方基于第一映射表分别为这3份组播数据封装BIER头。其中,发往BFER-D的组播数据被封装的BIER头包括:组播数据在BIER域100中对应的BIFT-id(即BIFT-100)和组播数据在BIER域100中对应的BitString(第100个比特为1)。发往BFER-G的组播数据被封装的BIER头包括:组播数据在BIER域200中对应的BIFT-id(即BIFT-200)和组播数据在BIER域200中对应的BitString(第100个比特为1)。发往BFER-J的组播数据被封装的BIER头包括:组播数据在BIER域300中对应的BIFT-id(即BIFT-300)和组播数据在BIER域300中对应的BitString(第200个比特为1)。2. The sender encapsulates the BIER headers for the three pieces of multicast data based on the first mapping table. The BIER header encapsulated by the multicast data sent to the BFER-D includes: a corresponding BIFT-id (ie, BIFT-100) of the multicast data in the BIER domain 100 and a BitString corresponding to the multicast data in the BIER domain 100 ( The 100th bit is 1). The BIER header of the multicast data sent to the BFER-G includes: the corresponding BIFT-id (ie BIFT-200) of the multicast data in the BIER domain 200 and the BitString corresponding to the multicast data in the BIER domain 200 (100th) The bits are 1). The BIER header of the multicast data sent to BFER-J includes: the corresponding BIFT-id (ie BIFT-300) of the multicast data in the BIER domain 300 and the BitString corresponding to the multicast data in the BIER domain 300 (200th) The bits are 1).
3.BIER域100内基于BIER转发机制转发组播数据,具体可参考现有的BIER-MVPN方案。当BIER域100内的接收者收到BIER数据包后,可以解封装BIER数据包,读取组播数据,并转发该组播数据到用户侧设备。3. The BIER domain 100 forwards multicast data based on the BIER forwarding mechanism. For details, refer to the existing BIER-MVPN scheme. After the receiver in the BIER domain 100 receives the BIER packet, the BIER packet can be decapsulated, the multicast data is read, and the multicast data is forwarded to the user side device.
4.发送方将BIER数据包打上标签“200”,并将打上标签“200”的BIER数据包单播发送到BIER域200内的BFIR-E(即ASBR2)。当BIER域200内的BFIR-E收到BIER域200内的BFIR-E后,可以去掉标签“200”得到BIER数据包。BIER域200内基于BIER转发机制转发组播数据,具体可参考现有的BIER-MVPN方案。当BIER域200内的接收者收到BIER数据包后,可以解封装BIER数据包,读取组播数据,并转发该组播数据到用户侧设备。4. The sender signs the BIER packet "200" and unicasts the BIER packet tagged with "200" to the BFIR-E (ie ASBR2) in the BIER domain 200. When the BFIR-E in the BIER domain 200 receives the BFIR-E in the BIER domain 200, the label "200" can be removed to obtain the BIER packet. The BIER domain 200 forwards multicast data based on the BIER forwarding mechanism. For details, refer to the existing BIER-MVPN solution. After the receiver in the BIER domain 200 receives the BIER packet, the BIER packet can be decapsulated, the multicast data is read, and the multicast data is forwarded to the user side device.
5.发送方将BIER数据包打上标签“300”,并将打上标签“300”的BIER数据包单播发 送到BIER域300内的BFIR-H(即ASBR3)。当BIER域300内的BFIR-H收到BIER域300内的BFIR-H后,可以去掉标签“300”得到BIER数据包。BIER域300内基于BIER转发机制转发组播数据,具体可参考现有的BIER-MVPN方案。当BIER域200内的接收者收到BIER数据包后,可以解封装BIER数据包,读取组播数据,并转发该组播数据到用户侧设备。5. The sender signs the BIER packet "300" and unicasts the BIER packet tagged with "300" to BFIR-H (i.e., ASBR3) in the BIER domain 300. After the BFIR-H in the BIER domain 300 receives the BFIR-H in the BIER domain 300, the label "300" can be removed to obtain the BIER packet. The BIER domain 300 forwards multicast data based on the BIER forwarding mechanism. For details, refer to the existing BIER-MVPN solution. After the receiver in the BIER domain 200 receives the BIER packet, the BIER packet can be decapsulated, the multicast data is read, and the multicast data is forwarded to the user side device.
从图23所示的示例可以看出,与现有的BIER-MVPN方案不同,发往其他BIER域(如BIER域200)内的接收者的组播数据不再需要经过BIER域100、BIER域200中的BFR的层层转发,中间设备(如BIER域200中的BFIR)不再参与BIER头的生成,可实现更高效率的组播转发。As can be seen from the example shown in FIG. 23, unlike the existing BIER-MVPN scheme, the multicast data of the receivers sent to other BIER domains (such as the BIER domain 200) no longer need to pass through the BIER domain 100 and the BIER domain. In the layer forwarding of BFR in 200, the intermediate device (such as BFIR in BIER domain 200) no longer participates in the generation of BIER header, which can achieve more efficient multicast forwarding.
扩展方案Expansion plan
在一些可选的实施例中,发送方可以不向其他BIER域中的BFIR发送BGP消息来发布组播信息,其他BIER域中的BFIR可以感知并解析BGP消息中携带的Intra PMSI A-D route。本扩展方案可以如图24所示,包括:In some optional embodiments, the sender may not send BGP messages to the BFIRs in other BIER domains to advertise multicast information. The BFIRs in other BIER domains may sense and parse the Intra PMSI A-D routes carried in the BGP messages. This extension can be as shown in Figure 24, including:
(1)阶段1(S301):BIER域内BFIR、BFR都生成各自的BIFT(1) Phase 1 (S301): BFIR and BFR in the BIER domain generate their respective BIFT
具体可参考图14实施例中的S201,这里不再赘述。For details, refer to S201 in the embodiment of FIG. 14 , and details are not described herein again.
(2)阶段2(S302-S304):组播信息发布和反馈(2) Phase 2 (S302-S304): Multicast information release and feedback
与图14实施例中的组播信息发布和反馈(S202-S203)不同的是,发送方不再向其他BIER域中的BFIR发送BGP消息来发布组播信息,其他BIER域中的BFIR可以感知并解析BGP消息中携带的Intra PMSI A-D route,具体可参考S302-S303。Different from the multicast information distribution and feedback (S202-S203) in the embodiment of FIG. 14, the sender does not send BGP messages to the BFIR in other BIER domains to advertise the multicast information, and the BFIR in other BIER domains can be perceived. The Intra PMSI AD route carried in the BGP message is parsed. For details, see S302-S303.
为缩小范围,其他BIER域中的BFIR可以只对类型(Route type)为1、2、3、5的这些可发布组播信息的Intra PMSI A-D route进行解析,然后解析携带在其中的PMSI Tunnel Attribute,如果PMSI Tunnel Attribute包含BIER标识,则向发送方反馈Leaf A-D route。包含BIER标识的Intra PMSI A-D route可参考图9所示。To narrow the scope, the BFIR in other BIER domains can parse only the Intra PMSI AD routes of the publishable multicast information of type 1, 2, 3, and 5, and then parse the PMSI Tunnel Attribute carried in it. If the PMSI Tunnel Attribute contains the BIER identifier, the Leaf AD route is fed back to the sender. The Intra PMSI A-D route including the BIER logo can be referred to FIG.
(3)阶段3(S305-S307):生成用于组播转发的相关映射表(3) Phase 3 (S305-S307): Generate a correlation mapping table for multicast forwarding
具体可参考图14实施例中的S204-S206,这里不再赘述。For details, refer to S204-S206 in the embodiment of FIG. 14 , and details are not described herein again.
(4)阶段4:组播数据转发(S308-S312):域内转发和域间转发(4) Phase 4: Multicast data forwarding (S308-S312): intra-domain forwarding and inter-domain forwarding
具体可参考图14实施例中的S307-S311,这里不再赘述。For details, refer to S307-S311 in the embodiment of FIG. 14 , and details are not described herein again.
参考图25,图25示出了本申请的一些实施例提供的路由器100。路由器100为BIER域中的BFR,可以实施成BIER域内的BFIR,也可以实施成BIER域内的中转BFR,还可以实施成BIER域内的BFER。如图25所示,路由器100可包括:一个或多个处理器101、存储器103、通信接口105。这些部件可通过总线104或者其他方式连接,图25以通过总线连接为例。其中:Referring to Figure 25, there is shown a router 100 provided by some embodiments of the present application. The router 100 is a BFR in the BIER domain, and can be implemented as a BFIR in the BIER domain, or as a transit BFR in the BIER domain, or as a BFER in the BIER domain. As shown in FIG. 25, the router 100 may include one or more processors 101, a memory 103, and a communication interface 105. These components may be connected by bus 104 or other means, and FIG. 25 is exemplified by a bus connection. among them:
通信接口105可用于路由器100与其他通信设备,例如其他路由器,进行通信。具体的,通信接口105可以包括有线通信接口,例如广域网(WAN)接口、局域接入网(LAN)接口等。不限于有线通信接口,在一些可能的实施例中,通信接口105还可包括无线通信接口,如无线局域网(WLAN)接口等。 Communication interface 105 can be used by router 100 to communicate with other communication devices, such as other routers. In particular, communication interface 105 can include a wired communication interface, such as a wide area network (WAN) interface, a local area network (LAN) interface, and the like. Without being limited to a wired communication interface, in some possible embodiments, communication interface 105 may also include a wireless communication interface, such as a wireless local area network (WLAN) interface or the like.
存储器103与处理器101耦合,用于存储各种软件程序和/或多组指令。具体的,存储器103可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器103可以存储操作系统(下述简称系统),例如uCOS、VxWorks、RTLinux等嵌入式操作系统。存储器103还可以存储网络通 信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个用户时设备,一个或多个网络设备进行通信。 Memory 103 is coupled to processor 101 for storing various software programs and/or sets of instructions. In particular, memory 103 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state storage devices. The memory 103 can store an operating system (hereinafter referred to as a system) such as an embedded operating system such as uCOS, VxWorks, or RTLinux. The memory 103 can also store a network communication program that can be used to communicate with one or more additional devices, one or more user time devices, one or more network devices.
在本申请的一些实施例中,路由器100可以实施成上述方法实施例中的发送方,如图6中的处于BIER域100内的BFIR-A。存储器103可用于存储本申请的一个或多个实施例提供的组播数据传输方法在发送方侧的实现程序。处理器101可用于读取和执行计算机可读指令。具体的,处理器101可用于调用存储于存储器103中的程序,例如本申请的一个或多个实施例提供的组播数据传输方法在发送方侧的实现程序,并执行该程序包含的指令。关于本申请的一个或多个实施例提供的组播数据传输方法在该发送方侧的的实现,请参考前述方法实施例。In some embodiments of the present application, router 100 may be implemented as a sender in the above method embodiments, such as BFIR-A in BIER domain 100 in FIG. The memory 103 can be used to store an implementation program of the multicast data transmission method provided by one or more embodiments of the present application on the sender side. The processor 101 can be used to read and execute computer readable instructions. Specifically, the processor 101 can be used to invoke a program stored in the memory 103, such as an implementation program of the multicast data transmission method provided by one or more embodiments of the present application on the sender side, and execute instructions included in the program. For the implementation of the multicast data transmission method provided by one or more embodiments of the present application on the sender side, please refer to the foregoing method embodiment.
在本申请的一些实施例中,路由器100可以实施成上述方法实施例中的其他域内的BFIR(如图6中的处于BIER域200内的ASBR2)。存储器103可用于存储本申请的一个或多个实施例提供的组播数据传输方法在该BFIR侧的实现程序。处理器101可用于读取和执行计算机可读指令。具体的,处理器101可用于调用存储于存储器103中的程序,例如本申请的一个或多个实施例提供的组播数据传输方法在该BFIR侧的实现程序,并执行该程序包含的指令。关于本申请的一个或多个实施例提供的组播数据传输方法在该BFIR侧的实现,请参考前述方法实施例。In some embodiments of the present application, router 100 may be implemented as BFIR in other domains in the above method embodiments (such as ASBR 2 in BIER domain 200 in FIG. 6). The memory 103 can be used to store an implementation program of the multicast data transmission method provided by one or more embodiments of the present application on the BFIR side. The processor 101 can be used to read and execute computer readable instructions. Specifically, the processor 101 can be used to invoke a program stored in the memory 103. For example, the multicast data transmission method provided by one or more embodiments of the present application implements the program on the BFIR side, and executes instructions included in the program. For the implementation of the multicast data transmission method provided by one or more embodiments of the present application on the BFIR side, refer to the foregoing method embodiments.
在本申请的一些实施例中,路由器100可以实施成上述方法实施例中的其他域内的接收者(如图6中的处于BIER域200内的BFER-G)。存储器103可用于存储本申请的一个或多个实施例提供的组播数据传输方法在该接收者侧的实现程序。具体的,处理器101可用于调用存储于存储器103中的程序,例如本申请的一个或多个实施例提供的组播数据传输方法在该接收者侧的实现程序,并执行该程序包含的指令。关于本申请的一个或多个实施例提供的组播数据传输方法在该接收者侧的实现,请参考前述方法实施例。In some embodiments of the present application, router 100 may be implemented as a recipient within other domains in the above method embodiments (eg, BFER-G within BIER domain 200 in FIG. 6). The memory 103 can be used to store an implementation program of the multicast data transmission method provided by one or more embodiments of the present application on the receiver side. Specifically, the processor 101 can be used to invoke a program stored in the memory 103, such as the implementation of the multicast data transmission method provided by one or more embodiments of the present application on the receiver side, and execute the instructions included in the program. . For the implementation of the multicast data transmission method provided by one or more embodiments of the present application on the receiver side, please refer to the foregoing method embodiment.
可以理解的,图25所示的路由器100仅仅是本申请实施例的一种实现方式,实际应用中,路由器100还可以包括更多或更少的部件,这里不作限制。It is to be understood that the router 100 shown in FIG. 25 is only one implementation of the embodiment of the present application. In an actual application, the router 100 may further include more or less components, which are not limited herein.
参考图26,图26示出了本申请提供另一种通信系统及相关装置。通信系统200可包括如下通信装置:至少一个第一路由器400和至少一个第二路由器500。第一路由器400、第二路由器500处于相同的BIER域。第一路由器400可以为上述方法实施例中的其他BIER域中的BFIR,第二路由器500可以为上述方法实施例中的其他BIER域中的接收者BFER。可选的,通信系统200还可包括至少一个第三路由器300,第三路由器300所处的BIER域与第一路由器400、第二路由器500所处的BIER域不同。第三路由器300可以为上述方法实施例中的发送方。通信系统200以及其中的通信装置可以实施图14或图24实施例描述的组播数据传输方法。下面展开描述。Referring to Figure 26, Figure 26 illustrates another communication system and associated apparatus provided by the present application. Communication system 200 can include communication devices: at least one first router 400 and at least one second router 500. The first router 400 and the second router 500 are in the same BIER domain. The first router 400 may be the BFIR in other BIER domains in the foregoing method embodiments, and the second router 500 may be the receiver BFER in other BIER domains in the foregoing method embodiments. Optionally, the communication system 200 may further include at least one third router 300, where the BIER domain of the third router 300 is different from the BIER domain where the first router 400 and the second router 500 are located. The third router 300 may be the sender in the above method embodiment. The communication system 200 and the communication device therein can implement the multicast data transmission method described in the embodiment of FIG. 14 or FIG. The description is expanded below.
如图26所示,第三路由器300可包括:处理单元301和通信单元303。其中:As shown in FIG. 26, the third router 300 may include a processing unit 301 and a communication unit 303. among them:
处理单元301,可用于从第一映射表中确定出组播数据在其他BIER域中对应的BIFT-id和BitString,其中,该BIFT-id至少由其他BIER域中的第二路由器500的BFR-id所属的SI以及第一BFER支持的BSL确定,该BitString至少由第二路由器500的BFR-id确定,第二路由器500其他BIER域中用于接收组播数据的BFER,第一映射表包括该组播数据在至少一个BIER域中分别对应的BIFT-id、位串。The processing unit 301 is configured to determine, according to the first mapping table, the BIFT-id and the BitString corresponding to the multicast data in the other BIER domain, where the BIFT-id is at least the BFR of the second router 500 in the other BIER domain. The SI to which the id belongs and the BSL supported by the first BFER determine that the BitString is determined by at least the BFR-id of the second router 500, and the second router 500 is used to receive the BFER of the multicast data in the other BIER domain, and the first mapping table includes the BFD-id. The BIFT-id and bit string corresponding to the multicast data in at least one BIER domain.
处理单元301,还可用于将该组播数据封装成BIER数据包,该BIER数据包的BIER头包 括该组播数据在其他BIER域中对应的BIFT-id和位串。The processing unit 301 is further configured to encapsulate the multicast data into a BIER packet, where the BIER header of the BIER packet includes a BIFT-id and a bit string corresponding to the multicast data in other BIER domains.
处理单元301,还可用于为该BIER数据包打上标签,该标签为其他BIER域中的BFIR的前缀对应的标签。The processing unit 301 is further configured to label the BIER data packet, where the label is a label corresponding to the prefix of the BFIR in the other BIER domain.
通信单元303,可用于向处于其他BIER域的第一路由器400发送打上该标签后的BIER数据包。The communication unit 303 can be configured to send the BIER data packet after the label is sent to the first router 400 in the other BIER domain.
这里,其他BIER域即非第三路由器300所处的BIER域。上述标签可以为MPLS标签或GRE标签。Here, the other BIER domains are not the BIER domains in which the third router 300 is located. The above label may be an MPLS label or a GRE label.
可以理解的,与现有的BIER-MVPN方案不同,本申请中的组播数据转发不是分段式的,BIER头仅在第三路由器300侧被构造,不再需要中间设备(如沿途各个BIER域的BFIR、BFER)参与BIER头的生成,可实现更高效率的组播转发。It can be understood that, unlike the existing BIER-MVPN solution, the multicast data forwarding in this application is not segmented, and the BIER header is constructed only on the side of the third router 300, and no intermediate device is needed (such as each BIER along the way). The BFIR and BFER of the domain participate in the generation of the BIER header, enabling more efficient multicast forwarding.
在一些可选的实施例中,处理单元301还可用于在为BIER数据包打上标签之前,还可以根据组播数据在其他BIER域中对应的BIFT-id,从第二映射表中确定出第三路由器300在其他BIER域中的逻辑下一跳的前缀。其中,第三路由器300的逻辑下一跳为其他BIER域中的BFIR。第二映射表包括:组播数据在至少一个BIER域中分别对应的BIFT-id、第三路由器300在至少一个BIER域中的逻辑下一跳的前缀。In some optional embodiments, the processing unit 301 is further configured to: before labeling the BIER data packet, determine the second mapping table according to the corresponding BIFT-id in the other BIER domain according to the multicast data. The prefix of the logical next hop of the three routers 300 in other BIER domains. The logical next hop of the third router 300 is BFIR in other BIER domains. The second mapping table includes: a BIFT-id corresponding to the multicast data in the at least one BIER domain, and a logical next hop prefix of the third router 300 in the at least one BIER domain.
这样,对于其他BIER域,第三路由器300能够自主确定下一跳(即将其他BIER域的BFIR作为下一跳),而不是将直接相邻的BFR(即BFR-NBR)作为下一跳,可避免发往其他BIER域的组播数据再经过第三路由器300所在的BIER域内的BFR的转发,可实现将组播数据通过MPLS或GRE封装后直接发送到其他BIER域的BFIR,转发效率更高。In this way, for other BIER domains, the third router 300 can autonomously determine the next hop (ie, the BFIR of other BIER domains as the next hop), instead of using the directly adjacent BFR (ie, BFR-NBR) as the next hop. The multicast data sent to other BIER domains is forwarded through the BFR in the BIER domain where the third router 300 is located. The BFIR can be directly sent to other BIER domains after the multicast data is encapsulated by MPLS or GRE. .
在一些可选的实施例中,第二映射表还可包括:第三路由器300上的分别用于将组播数据发往前述至少一个BIER域的端口的标识。具体的,处理单元301还可用于根据组播数据在其他BIER域中对应的BIFT-id,从第二映射表中确定出用于将组播数据发往其他BIER域的第一端口的标识。然后,通信单元303还可用于通过第一端口向其他BIER域中的第一路由器400发送打上标签后的BIER数据包。In some optional embodiments, the second mapping table may further include: an identifier on the third router 300 for respectively transmitting the multicast data to the port of the at least one BIER domain. Specifically, the processing unit 301 is further configured to determine, according to the BIFT-id of the multicast data in the other BIER domain, the identifier of the first port used for sending the multicast data to the other BIER domain from the second mapping table. Then, the communication unit 303 is further configured to send the tagged BIER data packet to the first router 400 in the other BIER domain through the first port.
本申请中,第三路由器300与其他BIER域中的第一路由器400、第二路由器500之间构成BGP对等体。在转发组播数据到其他BIER域中的BFIR之前,第三路由器300可以通过组播信息发布和反馈来了解哪些BIER域中的BFER对组播组感兴趣。下面具体说明:In the present application, the third router 300 forms a BGP peer with the first router 400 and the second router 500 in other BIER domains. Before forwarding the multicast data to the BFIR in other BIER domains, the third router 300 can learn from the multicast information release and feedback which BFERs in the BIER domain are interested in the multicast group. The following details:
通信单元303还可用于通过BGP连接直接向其他BIER域中的BFIR、BFER发送BGP消息,该BGP消息中携带的Intra PMSI A-D route,用于发布组播信息(如组播组地址)。该Intra PMSI A-D route可携带BIER标识、组播数据对应的组播组的标识(如组播组地址(multicast group)232.1.1.1)。这里,该BIER标识用于指示携带该Intra PMSI A-D route的BGP消息是一个BIER组播消息。The communication unit 303 is further configured to send a BGP message to the BFIR and the BFER in the other BIER domain through the BGP connection. The Intra PMSI A-D route carried in the BGP message is used to advertise multicast information (such as a multicast group address). The Intra PMSI A-D route can carry the BIER identifier and the identifier of the multicast group corresponding to the multicast data (such as the multicast group address 232.1.1.1). Here, the BIER identifier is used to indicate that the BGP message carrying the Intra PMSI A-D route is a BIER multicast message.
通信单元303还可用于分别通过BGP连接直接接收来自其他BIER域中的第一路由器400、第二路由器500的BPG消息,该BGP消息携带Leaf A-D route。The communication unit 303 can also be used to directly receive BPG messages from the first router 400 and the second router 500 in other BIER domains through the BGP connection, and the BGP message carries the Leaf A-D route.
为了让第三路由器300了解哪些BIER域中的BFER对组播组感兴趣,以及知道如何转发组播数据到这些BFER,Leaf A-D route可以携带下述信息:In order for the third router 300 to know which BFERs in the BIER domain are interested in the multicast group and know how to forward the multicast data to these BFERs, the Leaf A-D route can carry the following information:
其一,其他BIER域中的第二路由器500反馈的Leaf A-D route中可以携带第二路由器500的BFR-id、第二路由器500所属的sub-domain、第二路由器500的BFR-id所属的SI、第二路由器500支持的BSL和第二路由器500所属BIER域的标识。具体可以在Leaf A-D route新增用于携带sub-domain、SI、BSL和BFR-id的字段,以及开启扩展团体属性(“Source-AS extended community”)以指示BIER域的标识。这样,第三路由器300就可以根据sub-domain、SI和BSL这三项参数确定出BIFT-id,并可以根据BFR-id确定BitString。然后,第三路由器300可以利用BIER域的标识、BIFT-id和BitString生成第一映射表。For example, the Leaf AD route fed back by the second router 500 in the other BIER domain may carry the BFR-id of the second router 500, the sub-domain to which the second router 500 belongs, and the SI to which the BFR-id of the second router 500 belongs. The BSL supported by the second router 500 and the identifier of the BIER domain to which the second router 500 belongs. Specifically, a field for carrying sub-domain, SI, BSL, and BFR-id may be added to the Leaf A-D route, and an extended community attribute ("Source-AS extended community") is opened to indicate the identifier of the BIER domain. In this way, the third router 300 can determine the BIFT-id according to the three parameters of sub-domain, SI, and BSL, and can determine the BitString according to the BFR-id. Then, the third router 300 can generate a first mapping table by using the identifier of the BIER domain, BIFT-id, and BitString.
在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,其他BIER域中的第二路由器500反馈的Leaf A-D route中不必须携带第二路由器500所属的sub-domain。In one possible case, a BIER domain is configured with only one sub-domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the second router 500 belongs does not have to be carried in the Leaf A-D route fed back by the second router 500 in the other BIER domain.
在一种可能的情况下,整个组播域支持的BSL可以是一致的,即无需额外通知,第三路由器300也知道BSL。因此,其他BIER域中的第二路由器500反馈的Leaf A-D route中不必须携带BSL。In one possible case, the BSL supported by the entire multicast domain may be consistent, ie, without additional notification, the third router 300 also knows the BSL. Therefore, the BSL is not necessarily carried in the Leaf A-D route fed back by the second router 500 in the other BIER domain.
其二,其他BIER域中的第一路由器400反馈的Leaf A-D route中可以携带第一路由器400的BFR-Prefix、第一路由器400的所属BIER域的标识。这样,第三路由器300便可以根据这信息生成第二映射表。Second, the leaf A-D route fed back by the first router 400 in the other BIER domain may carry the BFR-Prefix of the first router 400 and the identifier of the BIER domain of the first router 400. In this way, the third router 300 can generate a second mapping table based on the information.
可以看出,不同BIER域之间的边缘BFR之间构建成BGP对等体,可通过BGP连接直接交互BGP消息,进行组播信息的快速发布和快速反馈。也即是说,组播信息发布和反馈不再是分段进行BGP交互,而是直接跨域交互BGP消息,组播发布和反馈的收敛时间明显缩短,实效性高。It can be seen that the edge BFRs of different BIER domains are configured as BGP peers. BGP messages can be directly exchanged through BGP connections to quickly release multicast information and provide fast feedback. That is to say, multicast information distribution and feedback are no longer segmented for BGP interaction, but BGP messages are directly exchanged across domains. The convergence time of multicast release and feedback is significantly shortened, and the effectiveness is high.
可以理解的,关于第三路由器300的各个功能单元的具体实现可参考图14或图24对应的方法实施例,这里不再赘述。For a specific implementation of the respective functional units of the third router 300, reference may be made to the method embodiment corresponding to FIG. 14 or FIG. 24, and details are not described herein again.
如图26所示,第一路由器400可包括:处理单元401和通信单元403。其中:As shown in FIG. 26, the first router 400 may include a processing unit 401 and a communication unit 403. among them:
通信单元403,可用于接收第三路由器300发送的打上标签后的BIER数据包,该标签为第一路由器400的前缀对应的标签,该BIER数据包由第三路由器300封装组播数据得到,该BIER数据包的BIER头包括组播数据在其他BIER域中对应的BIFT-id和位串。其中,该BIFT-id至少由第二路由器500的BFR-id所属的SI以及第二路由器500支持的位串长度确定,该位串至少由第二路由器500的BFR-id确定。其中,第二路由器500为其他BIER域中用于接收该组播数据的BFER。The communication unit 403 is configured to receive the labeled BIER data packet sent by the third router 300, where the label is a label corresponding to the prefix of the first router 400, and the BIER data packet is obtained by the third router 300 encapsulating the multicast data. The BIER header of the BIER packet includes the corresponding BIFT-id and bit string of multicast data in other BIER domains. The BIFT-id is determined by at least the SI to which the BFR-id of the second router 500 belongs and the bit string length supported by the second router 500. The bit string is determined by at least the BFR-id of the second router 500. The second router 500 is a BFER for receiving the multicast data in other BIER domains.
处理单元401,可用于去掉该标签得到该BIER数据包,并从该BIER数据包的BIER头中获得BIFT-id和位串。The processing unit 401 is configured to remove the label to obtain the BIER data packet, and obtain a BIFT-id and a bit string from a BIER header of the BIER data packet.
通信单元403,还可用于可以根据该BIFT-id指示的BIFT以及该位串转发该BIER数据包到第二路由器500。The communication unit 403 is further configured to forward the BIER data packet to the second router 500 according to the BIFT indicated by the BIFT-id and the bit string.
这里,其他BIER域即非第三路由器300所处的BIER域。上述标签可以为MPLS标签或GRE标签。Here, the other BIER domains are not the BIER domains in which the third router 300 is located. The above label may be an MPLS label or a GRE label.
在一些可选的实施例中,该组播数据在其他BIER域中对应的BIFT-id还由第二路由器500所属的sub-domain确定。可选的,在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,第二路由器500反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。In some optional embodiments, the corresponding BIFT-id of the multicast data in other BIER domains is also determined by the sub-domain to which the second router 500 belongs. Optionally, in one possible case, only one sub-domain is configured for one BIER domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route fed back by the second router 500.
在一些可选的实施例中,第三路由器300与第一路由器400之间构成BGP对等体。通信单元403,还可用于通过BGP连接接收第三路由器300发送的第一BGP消息,第一BGP消息中携带的Intra PMSI A-D route包括BIER标识、该组播数据对应的组播组的标识。相应的,通信单元403,还可用于通过BGP连接向第三路由器300发送第二BGP消息,第二BGP消息携带的Leaf A-D route包括第一路由器400的前缀和第一路由器400所处BIER域的标识。 这样,第三路由器300便可以根据这信息生成第二映射表,具体可参考第一方面中描述的相关内容。In some optional embodiments, the third router 300 and the first router 400 form a BGP peer. The communication unit 403 is further configured to receive the first BGP message sent by the third router 300 by using the BGP connection. The Intra PMSI A-D route carried in the first BGP message includes a BIER identifier and an identifier of the multicast group corresponding to the multicast data. Correspondingly, the communication unit 403 is further configured to send a second BGP message to the third router 300 by using the BGP connection, where the Leaf AD route carried by the second BGP message includes the prefix of the first router 400 and the BIER domain of the first router 400. Logo. In this way, the third router 300 can generate a second mapping table according to the information, and specifically refer to related content described in the first aspect.
可以理解的,关于第一路由器400的各个功能单元的具体实现可参考图14或图24对应的方法实施例,这里不再赘述。For a specific implementation of the various functional units of the first router 400, reference may be made to the method embodiment corresponding to FIG. 14 or FIG. 24, and details are not described herein again.
如图26所示,第二路由器500可包括:处理单元501和通信单元403。其中:As shown in FIG. 26, the second router 500 may include a processing unit 501 and a communication unit 403. among them:
通信单元503,可用于接收第三路由器300发送的BIER数据包,该BIER数据包由第三路由器300封装组播数据得到,该BIER数据包的BIER头包括该组播数据在其他BIER域中对应的BIFT-id和位串。其中,该BIFT-id至少由第二路由器500的BFR-id所属的SI以及第二路由器500支持的位串长度确定,该位串至少由第二路由器500的BFR-id确定。其中,第二路由器500为其他BIER域中用于接收所述组播数据的BFER。The communication unit 503 is configured to receive a BIER data packet sent by the third router 300, where the BIER data packet is encapsulated by the third router 300, and the BIER header of the BIER data packet includes the multicast data corresponding to the other BIER domain. BIFT-id and bit string. The BIFT-id is determined by at least the SI to which the BFR-id of the second router 500 belongs and the bit string length supported by the second router 500. The bit string is determined by at least the BFR-id of the second router 500. The second router 500 is a BFER for receiving the multicast data in other BIER domains.
处理单元501,可用于解封装该BIER数据包得到该组播数据。The processing unit 501 is configured to decapsulate the BIER data packet to obtain the multicast data.
通信单元503,还可用于发送该组播数据到用户侧设备。The communication unit 503 is further configured to send the multicast data to the user side device.
这里,其他BIER域即非第三路由器300所处的BIER域。上述标签可以为MPLS标签或GRE标签。Here, the other BIER domains are not the BIER domains in which the third router 300 is located. The above label may be an MPLS label or a GRE label.
在一些可选的实施例中,第三路由器300与第二路由器500之间构成BGP对等体。通信单元503,还可用于通过BGP连接接收第三路由器300发送的第一BGP消息,第一BGP消息中携带的Intra PMSI A-D route包括BIER标识、该组播数据对应的组播组的标识。相应的,通信单元503,还可用于通过BGP连接向第三路由器300发送第二BGP消息,第二BGP消息携带的Leaf A-D route包括第二路由器500的BFR-id、第二路由器500的BFR-id所属的SI、其他BIER域的标识。这样,第三路由器300便可以根据这信息生成第一映射表,具体可参考第一方面中描述的相关内容。In some optional embodiments, the third router 300 and the second router 500 form a BGP peer. The communication unit 503 is further configured to receive the first BGP message sent by the third router 300 by using the BGP connection. The Intra PMSI A-D route carried in the first BGP message includes a BIER identifier and an identifier of the multicast group corresponding to the multicast data. Correspondingly, the communication unit 503 is further configured to send the second BGP message to the third router 300 by using the BGP connection. The Leaf AD route carried by the second BGP message includes the BFR-id of the second router 500 and the BFR of the second router 500. ID of the SI and other BIER domains to which the id belongs. In this way, the third router 300 can generate a first mapping table according to the information, and specifically refer to the related content described in the first aspect.
在一些可选的实施例中,该组播数据在其他BIER域中对应的BIFT-id还由第二路由器500所属的sub-domain确定。可选的,第二路由器500反馈的Leaf A-D route中还可以携带第二路由器500所属的sub-domain。即,第二BGP消息携带的Leaf A-D route还可包括第二路由器500所属的sub-domain。可选的,在一种可能的情况下,一个BIER域仅配置有一个sub-domain。针对这种情况,BIFT-id可以只由SI和BSL这两项参数确定,因此,第二路由器500反馈的Leaf A-D route中不必须携带该BFER所属的sub-domain。In some optional embodiments, the corresponding BIFT-id of the multicast data in other BIER domains is also determined by the sub-domain to which the second router 500 belongs. Optionally, the leaf A-D route fed back by the second router 500 may further carry the sub-domain to which the second router 500 belongs. That is, the Leaf A-D route carried by the second BGP message may further include a sub-domain to which the second router 500 belongs. Optionally, in one possible case, only one sub-domain is configured for one BIER domain. For this case, the BIFT-id can be determined only by the two parameters of the SI and the BSL. Therefore, the sub-domain to which the BFER belongs is not necessarily carried in the Leaf A-D route fed back by the second router 500.
在一些可选的实施例中,第二BGP消息携带的Leaf A-D route还可包括第二路由器500支持的BSL。可选的,整个组播域支持的BSL可以是一致的,即无需额外通知,第三路由器300也知道BSL。因此,第二路由器500反馈的Leaf A-D route中不必须携带BSL。In some optional embodiments, the Leaf A-D route carried by the second BGP message may further include a BSL supported by the second router 500. Optionally, the BSL supported by the entire multicast domain may be consistent, that is, the third router 300 also knows the BSL without additional notification. Therefore, the BSL is not necessarily carried in the Leaf A-D route fed back by the second router 500.
可以理解的,关于第二路由器500的各个功能单元的具体实现可参考图14或图24对应的方法实施例,这里不再赘述。For a specific implementation of the respective functional units of the second router 500, reference may be made to the method embodiment corresponding to FIG. 14 or FIG. 24, and details are not described herein again.
综上,实施本申请提供的技术方案,可显著缩短组播传输的收敛时间,改善了组播传输的时效性。In summary, implementing the technical solution provided by the present application can significantly shorten the convergence time of multicast transmission and improve the timeliness of multicast transmission.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。One of ordinary skill in the art can understand all or part of the process of implementing the above embodiments, which can be completed by a computer program to instruct related hardware, the program can be stored in a computer readable storage medium, when the program is executed The flow of the method embodiments as described above may be included. The foregoing storage medium includes various media that can store program codes, such as a ROM or a random access memory RAM, a magnetic disk, or an optical disk.