01-BIER配置
本章节下载: 01-BIER配置 (781.81 KB)
BIER(Bit Index Explicit Replication,位索引显式复制技术)是一种新的组播技术,通过将组播报文要发送到的目的节点的集合以BS(Bit String,位串)的方式封装在报文头部发送,使得网络的中间节点无需感知组播业务和维护组播流状态,只需要根据位串来实现组播业务的复制和转发,具有良好的业务扩展性。
BIER网络的基本元素为支持BIER转发的BFR(Bit Forwarding Router,位转发路由器)。如图1-1所示,BIER网络由以下三类BFR组成:
· BFIR(Bit Forwarding Ingress Router,位转发入口路由器):组播数据流量进入BIER域的节点,负责对进入BIER网络的报文进行BIER封装。
· Transit BFR:组播数据流量在BIER域中转发的中间节点,负责对BIER报文进行转发。
· BFER(Bit Forwarding Egress Router,位转发出口路由器):组播数据流量出BIER域的节点,负责对BIER报文进行解封装,并转发给组播数据流量接收者。
图1-1 BIER网络结构
网络中所有BFR的集合称为BIER域(Domain)。一个BIER域可以划分为一个或者多个BIER子域SD(Sub-domain)。通过Sub-domain ID来区分不同的BIER子域。一个BIER子域内的所有BFIR和BFER统称为BIER边缘设备。
BFR ID用来在一个BIER子域中唯一标识一台BIER边缘设备,Transit BFR无需BFR ID进行标识。
BFR prefix相当于路由协议中的Router ID,用来在BIER子域中标识一个BFR。在同一个BIER子域中,每个BFR必须配置唯一的BFR前缀,且该前缀必须是BIER子域内路由可达的。目前BFR prefix仅支持配置为Loopback口的地址。
BIER用一个特定长度的比特串(Bit String)来表示一组BIER边缘设备。Bit String从最右边开始,每一个比特位对应一个BFR ID。比特串的长度用BSL(Bit String Length)来表示。比如,一个BSL为3的比特串最多标识一个BIER子域内三个BIER边缘设备,BFR ID取值分别为1、2和3,那么BFR ID为1的BIER边缘设备可以用“001”来表示。
在BIER中,当使用的BSL长度不足以表示一个BIER子域内配置的BFR ID的最大值时,需要将Bit String分成不同的集合,每个集合通过SI(Set Identifier,集标识)来标识。比如,BIER子域内BFR ID最大值为10,假如bsl配置为4,那么需要分为三个集,分别为SI 0,SI 1和SI 2。其中,max-si的取值为“(BFR ID最大值-1)/BSL”的计算结果向下取整部分。
BIRT(Bit Index Routing Table,位索引路由表)是通过IGP协议携带BIER信息(Sub-domain、BSL、BFR ID)在网络上进行泛洪,并根据IGP传递的BIER信息和路由信息生成。该路由表用来指导BIER报文在BIER子域内的转发。
F-BM(Forwarding-Bit Mask,转发位串掩码)用来表示BFR向下一跳邻居复制发送组播报文时,通过该邻居能到达的BIER子域边缘节点的集合。它通过将该邻居所能到达的所有BIER子域边缘节点的Bit String进行“或”操作后得到。
BIER子域内的组播流量通过查询BIFT(Bit Index Forwarding Table,位索引转发表)来实现逐跳转发,用于建立F-BM与邻居之间的映射关系。BFR上可存在多张BIFT,每张BIFT都由三元组(BSL、SD、SI)唯一确定。
在IETF RFC8279中,BIER架构分为Underlay、BIER和Overlay三层。
Underlay层为传统链路状态路由协议层,通过IGP协议(目前仅支持IS-IS)的扩展TLV属性携带本节点的BIER属性信息在BIER子域内进行泛洪。BFR根据IGP算法生成到本子域内其它BFR前缀的路由,也就是到每个BFR ID的路由,从而建立BIER子域内节点之间的邻居关系以及节点之间的最佳转发路径。
BIER层作为BIER转发的核心层,对BIER转发所需的IGP协议进行了扩展,并指导组播报文在BIER域内完成转发。组播报文的BIER转发过程如下:
(1) BFR将BIER层配置的BIER信息通过IGP协议进行通告。
(2) 基于这些BIER信息的泛洪,沿路BFR生成BIRT,进而生成BIFT。
(3) 当封装有BIER头的组播报文在BIER域进行转发时,BFR根据BIER头中的信息查找BIFT表完成组播报文复制转发。
Overlay层主要负责组播业务控制面信息交互,比如收集BFIR和BFER之间用户组播组的加入和离开信息,当组播报文到达BFIR节点时根据需要到达的BFER组合,并完成该组播报文对应的BIER头的封装;当携带有BIER头的组播报文到达BFER节点时,解封装BIER头并完成后续的组播报文转发。
RFC8279中对BIER定义了多种封装类型,不同的封装类型报文格式不相同。目前,我司只支持G-BIER封装类型。
G-BIER(Generalized BIER,通用位索引显式复制)为中国移动提出的一种通用BIER封装方案,它根据IPv6网络的特点对BIER头进行适配性修改,与IPv6更好地进行融合。
对G-BIER报文的封装是通过在组播数据报文前面添加新的IPv6基本头和BIER头实现的。如图1-2所示,IPv6基本头中Next Header取值为60,表明下一个报文头为DOH(Destination Options Header,目的选项头)。
对于G-BIER报文,IPv6基本头中有如下约定:
· Source Address:源地址需要配置为BFIR的组播服务源地址,在组播报文在公网中转发时,该源地址保持不变。有关组播服务源地址的详细介绍,请参见“IP组播配置指导”中的“组播VPN”。
· Destination Address:目的地址需要配置为专门用于BIER转发的组播策略保留地址,该地址要求在子域内路由可达,可通过g-bier mpra命令进行配置。
BIER头主要包含以下几个部分:
· Next Header:8bits,用来标识下一个报文头的类型。
· Hdr Ext Len:8bits,表示IPv6扩展头长度。
· Option Type:8bits,选项类型为G-BIER。
· BSL:4bits,比特串长度。
· SD:8bits,BIER子域ID。
· SI:8bits,集标识。
· Rsv:4bits,保留字段。
· TTL:8bits,和IP报文中的TTL意义相同,可以用来防止环路。
· Version:4bits,版本号,目前只支持0。
· Entropy:20bits,用来在存在等价路径时,进行路径的选择。拥有相同Bit String和Entropy值的报文,选择同一条路径。
· OAM:4bits,缺省值为0,可用于OAM功能。
· DSCP:7bits,报文自身的优先等级,决定报文传输的优先程度。
· Bit String:位串。
图1-2 G-BIER的报文封装示意图
如图1-3所示,Device D和Device E的下游存在某个组播组的接收者,Device A作为BFIR通过BGP MVPN路由收集到Device D和Device E上与Device A处于相同BIER子域的BIER配置信息(BFR ID和BFR prefix)。BIER子域中的每台设备都根据IGP协议计算生成了到BFR边缘设备的BIFT。当Device A收到发往该组播组的组播报文时,BIER转发过程如下:
(1) Device A获取到Device D和Device E与Device A处于相同BIER子域的BIER配置信息后,将Device D和Device E的BFR ID根据该子域内配置的BSL和SI值转换成BS值后进行“或”操作,得到的BS值0101。Device A将得到的BS值0101与本地根据三元组(BSL、SD、SI)确定的BIFT中的F-BM逐一进行“与”操作,将结果不为0的BS值“0101”封装到BIER头部,并将报文复制转发给该F-BM对应的邻居(本例中为B)。如果“与”之后的结果为0,则表示不向该表项对应的邻居节点(本例中为A)复制该报文。
(2) Device B收到BIER报文后,从BIER报文中读取到BS值“0101”,采用相同的方法与BIFT表项中的F-BM逐一进行“与”操作。当“与”的结果不为0时,复制收到的BIER报文,并将报文中的BS值修改为“与”操作的结果“0001”后,发给Device C;以同样的操作,将复制报文中的BS值修改为“0100”后,发给Device E。
(3) Device C收到BIER报文后,执行步骤(2)相同的操作,将报文复制一份,并修改为BS值“0001”后,发给Device D。
(4) Device E收到BIER报文后,发现只有本节点对应的F-BM与上游发送的BIER报文中“0100”进行“与”操作后不为0,表明Device E为BFER,需要结束BIER转发。此时,Device E从BIER头部解封装出组播报文后,根据组播路由表项继续转发给下游接收者。
(5) Device D收到BIER报文后,发现只有本节点对应的F-BM与上游发送的BIER报文中“0001”进行“与”操作后不为0,表明Device D同样为BFER,需要结束BIER转发。此时,Device D从BIER头部解封装出组播报文后,根据组播路由表项继续转发给下游接收者。
图1-3 BIER报文转发过程示意图
BIER技术具有如下优势:
· 协议简化:BIER不需要独立的协议在BIER域建立组播分发树。BIER基于IGP、BGP等路由协议扩展交互控制面数据,无需RP规划。
· 流状态无关:BIER不需要BFR中间节点维持任何组播流状态。BIER在每个BFR上建立基于拓扑的转发表BIFT,BIFT根据拓扑节点或链路变化进行路由计算和表项更新,不受组播业务源和接收者变化影响,具备良好的业务扩展性、网络稳定性。
· 网业分离:BIER架构分层,中间层的BIER作为独立传送技术,实现底层路由和上层组播业务之间解耦。现有网络只需要在路由层协议增加BIER能力扩展,在组播业务控制层协议增加BIER隧道能力扩展,在数据层面增加BIER封装、解封装和BIER转发能力,就可以向BIER平滑演进。
使用BIER构建组播网络,可以应用于以下场景:
· 大规模的组播业务场景:BIER不需要为每条组播流量建立组播转发树及保存组播流状态,减少对资源的占用。BIER隧道作为公网隧道替代了传统的P2MP隧道或公网PIM,用来承载私网组播流量,适合组播VPN大规模业务的部署。有关BIER模式组播VPN详细介绍,可参见“IP组播配置指导”中的“组播VPN”。
· SDN网络场景:组播用户加入不再需要逐跳加入组播树,只需要从叶子节点发送给头节点,从而提高组播用户的加入效率,更适合SDN网络中控制器收集组播业务流量的目的地后直接下发。
BIER跨域指BIER网络跨越AS域部署,在进行BIER转发时组播流量会经过多个AS域。IGP协议只能在AS域内泛洪BIER信息,无法使BIER节点形成跨AS域的BIER转发表项。要实现BIER跨域,需要确保BIER节点能够获得其他AS域BIER节点的BIER信息(如BFR ID等信息)。设备支持通过静态配置和BGP路由发布两种方式实现BIER跨域。
通过在BIER节点上手工指定域外BFR邻居以及通过该邻居可到达BIER边缘设备的BFR ID范围,来实现BIER的静态跨域穿越。
利用EBGP可以跨域传递路由信息的优势,使用BGP协议在Underlay网络中跨域传递BIER信息,这些信息可用于指导BIER报文的跨域转发。BGP将BIER信息封装在BGP Update消息中,BGP报文中携带的BIER信息分为两部分:
· BFR prefix:封装在Update消息的NLRI字段中。
· BIER Path Attribute(BIER路径属性):一种新定义的路由属性,该路由属性包含了BIER的BIER子域、BFR ID、BSL、MPRA等信息。
如图1-4所示,BIER网络跨越AS 10和AS 20进行部署,AS 20域内的BIER信息通过IS-IS协议进行泛洪,AS 10域内的BIER信息通过IBGP协议进行泛洪。在ASBR 2上,将AS 20域内IS-IS协议搜集的BIER信息引入到BGP协议中,通过EBGP会话发布给ASBR 1。ASBR 1将EBGP路由直接转发给BFIR,BFIR根据接收到的IBGP路由中携带的BIER信息,生成跨域BIRT转发表项,表项中BFER节点BFR ID对应的BFR前缀是ASBR 2的BFR前缀2::2。在BIER报文转发过程中,BFIR的组播转发下一跳是ASBR 2。
在图1-4所示的跨AS域BIER转发场景中,BFR ID range信息用来帮助BIER节点学习域外的BFR ID,被携带在BGP路由中发布。
图1-4 通过BGP实现BIER跨域示意图
图1-4所示的网络中,BFIR必须获得ASBR 2的路由信息,否则可能会导致BFIR转发BIER报文失败。开启BGP BFR前缀代理功能,可以解决这一问题。在BIER跨域网络中,开启了BGP BFR前缀代理功能的节点称为BFR代理节点。BFR代理节点代理发布跨域的BFR ID range信息,使得域内节点在进行跨域BIER转发时,组播转发下一跳为BFR前缀代理节点,无需获得域外节点的路由信息。
BGP BFR前缀代理功能开启后,BFR代理节点从BGP对等体学习到的携带BIER信息的路由不会直接转发给其他BGP对等体,而是通过以下过程发布:
(2) BGP收到携带BIER信息的路由后,会将BIER信息(包括其中的BFR ID range信息)通告给BIER模块。
(3) BIER模块将BIER信息中的BFR前缀修改为本地节点的BFR前缀,并将从BGP收到的BFR ID range信息进行汇总。
通过修改BFR前缀,BFR代理节点过滤了BFR前缀信息,可以有效防止BFR前缀信息的泄露。例如,运营商部署了跨越省干网和城域网的BIER网络,在省干网的边缘设备上开启BGP BFR前缀代理功能后,城域网内的设备均只能获得BFR代理节点的BFR前缀信息,避免了省干网内其他节点的BFR前缀信息泄露到城域网。
(4) BIER模块将修改后的BIER信息通告给BGP模块,BGP根据该BIER信息重新生成一条携带修改后BIER信息(包括BFR ID range信息)的BGP路由,发送给BGP对等体。
(5) IBGP或EBGP对等体接收到携带BIER信息的BGP路由后,生成跨域BIRT表项。表项中域间边界节点的BFR前缀为BFR代理节点的BFR前缀。
通过上述过程完成路由的发布后,设备在发送跨域BIER报文时,会为报文封装BFR代理节点的MPRA,将报文先发送给BFR代理节点。BFR代理节点接收到与本节点MPRA匹配的报文后,根据BIFT表转发该跨域BIER报文。
如图1-5所示,在ASBR 1上开启BGP BFR前缀代理功能后,ASBR 1将作为BFR代理节点,保留从ASBR 2接收到的BGP路由中携带的BFR ID range信息,将该路由中的BFR前缀替换为本节点的BFR前缀封装在NLRI中,重新生成IBGP路由发布给BFIR。BFIR生成的跨域BIRT转发表项中,BFER节点BFR ID对应的BFR前缀是ASBR 1的BFR前缀1::2。在BIER报文转发过程中,BFIR的组播转发下一跳是ASBR 1。
图1-5 开启BGP BFR前缀代理功能后跨域BIER信息发布示意图
与BIER相关的协议规范有:
· RFC 8279:Multicast Using Bit Index Explicit Replication (BIER)
· RFC 8296:Encapsulation for Bit Index Explicit Replication (BIER) in MPLS and Non-MPLS Networks
· RFC 8401:Bit Index Explicit Replication (BIER) Support via IS-IS
· RFC 8556:Multicast VPN Using Bit Index Explicit Replication
· draft-ietf-bier-idr-extensions-07
BIER的配置任务如下:
(1) 开启BIER功能
(2) 配置设备所属的BIER子域
(4) 配置BFR前缀
(5) 配置BIER封装
(6) (可选)配置BIER边缘设备的TTL处理模式
(7) (可选)配置BIER静态跨域穿越
(8) (可选)配置通过BGP实现BIER跨域
¡ 使能与指定对等体/对等体组交换携带BIER路径属性路由的能力
¡ (可选)开启BGP BFR前缀代理功能
¡ (可选)配置BGP引入IGP路由协议BIER信息
在设备上开启BIER功能后,设备才能进行BIER转发。通常在BIER模式的MVPN组网中,需要开启公网中BFR设备的BIER功能,以便在公网中通过BIER隧道承载组播流量。
(1) 进入系统视图。
system-view
(2) 开启BIER功能,并进入BIER视图。
bier
缺省情况下,BIER功能处于关闭状态。
在BIER域中,BIER转发是以BIER子域为单位进行的。因此,在设备上开启BIER功能后,必须先将该设备加入BIER子域,否则BIER功能无法正常使用。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
缺省情况下,设备未配置所属的BIER子域。
在同一个BIER子域中,BFIR和BFER必须配置唯一的BFR ID来标识。如果一个BFR边缘设备属于多个BIER子域,则在不同的BIER子域中,可以为该设备配置相同的BFR ID,也可以配置不同的BFR ID,只要保证在同一BIER子域内BFR ID唯一即可。
在配置BFR ID时,建议尽量取连续的值,避免中间有空洞,以此减少SI的个数要求和封装报文的数量。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
(4) 配置BIER边缘设备的BFR ID。
bfr-id bfr-id
缺省情况下,BIER边缘设备上未配置BFR ID。
BFR前缀相当于路由协议中的Router ID,用来标识BIER节点。在同一个BIER子域中,每个BFR必须配置唯一的BFR前缀,且该前缀必须是BIER子域内路由可达的。
BFR前缀目前只支持配置为Loopback口的地址。当将某个Loopback口的地址配置为BFR前缀后,不允许删除该接口。
对于同一个BFR,在不同的BIER子域下,BFR前缀可以相同,也可以不同。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
(4) 配置BFR前缀。
bfr-prefix interface interface-type interface-number
缺省情况下,未配置BFR前缀。
属于同一个BIER子域的BFR,必须配置相同的位串长度。
max-si的取值为“(BFR ID最大值-1)/BSL”的计算结果向下取整部分。比如,BIER子域内BFR ID最大值为10,假如bsl配置为4,那么需要将Bit String分为三个子集,分别为SI 0,SI 1和SI 2。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
缺省情况下,设备未配置所属的BIER子域。
(4) 配置BIER承载报文的封装类型、BSL和Max-SI。
encapsulation-type g-bier bsl bsl-value max-si max-si-value
缺省情况下,未配置BIER承载报文的封装类型、BSL和Max-SI。
在配置本功能前,需要通过encapsulation-type命令将BIER承载报文的封装类型配置为G-BIER。
当BIER承载报文的封装类型为G-BIER时,需要在BFR上配置专门用于BIER转发的子域内路由可达的IPv6地址,并通过在IS-IS sub-sub-TLV中携带该地址,以通知其他邻居在向本节点发送G-BIER报文的时候使用该IPv6地址作为目的IPv6地址。
当BFR收到的G-BIER报文后,将根据G-BIER报文的目的地址与本地配置的组播策略保留地址进行匹配,若能匹配成功,表示BFR需要对该报文进行BIER转发。如果匹配失败,则表示需要对该报文进行普通的IP转发。
同一个BIER子域内的不同的BFR上配置的组播策略保留地址必须唯一。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
(4) 配置组播策略保留地址。
g-bier mpra ipv6-address
缺省情况下,未配置组播策略保留地址。
使用BIER作为公网隧道的场景下,BIER对TTL的处理有两种模式:
· Uniform模式:公网隧道的入节点为组播报文添加BIER头时,将原组播报文中的TTL值复制到BIER的TTL字段。使用BIER转发报文时,对BIER头的TTL值逐跳减一。BFER设备解封装报文时,将BIER头的TTL值复制回组播报文。使用这种方式时,公网中的节点对用户网络的报文可见。报文沿着BIER隧道传输的过程中,TTL逐跳递减,Tracert的结果将反映报文实际经过的路径。
· Pipe模式:公网隧道的入节点为组播报文添加BIER头时,不会将原组播报文中的TTL值复制到BIER的TTL字段,而是由用户来通过本命令来指定TTL值。使用BIER隧道转发报文时,对BIER头的TTL值逐跳减一。BIER设备解封装报文时,不修改原组播报文的TTL值。使用这种方式时,公网中的节点对用户网络的报文不可见。Tracert的结果不包括公网中的每一跳,从而隐藏公网的结构。
配置TTL处理模式时,BFIR和BFER需要配置相同的处理模式。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
(4) 配置BIER边缘设备的TTL处理模式。
ttl-mode { pipe ttl ttl-value | uniform }
缺省情况下,BFIR的TTL处理模式为Pipe,BIER报文使用的TTL值为255;BFER的TTL处理模式为Pipe。
BIER网络跨AS域部署时,当某一个AS域内的ASBR不支持BIER转发时,无法完成BIER报文的跨域转发。可以在不支持BIER转发的ASBR上游直连BFR上配置静态跨域穿越的BFR邻居,以及通过该邻居可到达BIER边缘设备的BFR ID范围,来实现BIER的静态跨域穿越。
图1-6 BIER静态跨域穿越组网图
在同一个BIER子域中,不同静态跨域BFR邻居可到达的BFR ID范围不能重叠,否则配置失败。
本配置只会对本节点上的BIRT生效,不会在节点所在的域内进行泛洪,不会对域内其他节点的BIRT造成影响。
设备上所有BIER子域内配置的静态跨域BFR邻居总数不能超过2000,且单个静态跨域邻居所能到达的BFR ID个数不能超过256个。
配置到达同一个BFR ID且链路优先级相同的静态跨域邻居最大数量为4。
(1) 进入系统视图。
system-view
(2) 进入BIER视图。
bier
(3) 进入BIER子域视图。
sub-domain sub-domain-id ipv6
(4) 配置静态跨域穿越的BFR邻居以及通过该邻居可到达BFR边缘设备的BFR ID范围和链路优先级。
bfr-neighbor mpra ipv6-address bfr-id bfr-id-start [ to bfr-id-end ] [ preference preference-value ]
缺省情况下,未配置静态跨域穿越的BFR邻居以及通过该邻居可到达BFR边缘设备的BFR ID范围。
配置本功能后,BGP会引入本地BIER模块的BFR ID和BFR前缀,生成携带BIER信息的BGP路由(不包含BFR ID range信息)。
配置本功能后,本地配置的组播策略保留地址和BFR前缀会作为NLRI字段的可达路由前缀信息,生成不带BIER信息的BGP IPv6单播路由通告给BGP IPv6单播对等体。这些信息可以指导BIER报文在不支持BIER转发的设备上进行IPv6组播转发。如果同时使能了与指定对等体/对等体组交换携带BIER路径属性路由的能力,则本地节点BFR前缀生成的BGP路由将会携带BIER路径属性,并可以发布给指定的对等体/对等体组。
只有先开启BGP进程的BIER能力,才允许在本地路由器上开启与指定对等体/对等体组交换携带BIER路径属性路由的能力、开启BGP BFR前缀代理功能以及将IGP路由协议的BIER信息引入到BGP路由表中,来生成、发布或接收携带BIER信息的BGP路由。
有关BGP实例及BGP实例下地址族的详细配置及配置命令,请分别参见“三层技术-IP路由配置指导”中的“BGP”,以及“三层技术-IP路由命令参考”中的“BGP”。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 创建BGP IPv6单播地址族,并进入该地址族视图。
address-family ipv6 [ unicast ]
(4) 开启BGP进程的BIER能力。
bier enable
缺省情况下,BGP进程的BIER能力处于关闭状态。
配置本功能后,BGP可以与指定对等体/对等体组交互携带BIER路径属性的路由,并对其中的BIER路径属性进行处理。BGP会将接收到的BIER信息通告给BIER模块,以便BIER模块根据该信息生成BIRT。
本地路由器只能和本命令指定的对等体/对等体组交互携带BIER路径属性的路由,以实现对BIER域内的BIER信息发布进行控制,使跨域BIER信息通过指定的设备发布出去。
配置本功能前,需要保证BGP进程的BIER能力处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族。
address-family ipv6 [ unicast ]
(4) 开启与指定对等体/对等体组交换携带BIER信息路由的能力。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } capability bier
缺省情况下,设备不具有与对等体/对等体组交换携带BIER信息路由的能力。
EBGP会话的两端不能同时开启BGP BFR前缀代理功能,否则会产生环路,导致BFR代理节点生成的BIRT表项发生错误。
配置本功能前,需要保证BGP进程的BIER能力处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族。
address-family ipv6 [ unicast ]
(4) 开启BGP BFR前缀代理功能。
bier bfr-prefix proxy
缺省情况下,BGP BFR前缀代理功能处于关闭状态。
配置本功能后,BGP可以将IGP路由协议的BIER信息引入到BGP路由表中,以便通过BGP发布引入的BIER信息。
通过本功能引入到BGP路由表的BIER信息中,会携带域内的BFR ID range信息。引入BIER信息生成的BGP路由在发布时是否包含BFR ID range信息,受以下情况影响:
· 设备未开启BGP BFR前缀代理功能时:
¡ 向IBGP对等体发送的路由不包含BFR ID range信息。
¡ 向EBGP对等体发送的路由包含BFR ID range信息。
· 设备开启BGP BFR前缀代理功能时,向IBGP和EBGP对等体发送的路由均包含BFR ID range信息。
配置本功能前,需要保证BGP进程的BIER能力处于开启状态。
(1) 进入系统视图。
system-view
(2) 进入BGP实例视图。
bgp as-number [ instance instance-name ]
(3) 进入BGP IPv6单播地址族。
address-family ipv6 [ unicast ]
(4) 配置将IGP路由协议的BIER信息引入到BGP路由表中。
import-bier isisv6 { process-id | all-processes }
缺省情况下,BGP不会引入IGP路由协议的BIER信息。
通过all-processes参数引入指定路由协议所有进程的BIER信息后,对此协议的任意进程配置本命令均不生效。
在完成上述配置后,在任意视图下执行display命令可以显示配置后BIER的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除BIER报文的转发统计信息。
表1-1 BIER显示和维护
操作 |
命令 |
显示BFR前缀上配置的BIER信息 |
display bier prefix [ prefix-ip ] [ sub-domain sub-domain-id [ bsl bsl-value ] ] |
显示BIER路由表的信息 |
display bier routing-table [ sub-domain sub-domain-id [ bsl bsl-value ] ] [ prefix prefix-ip ] [ verbose ] |
显示BIER子域的相关信息 |
display bier sub-domain [ sub-domain-id ] |
显示向BIER注册的IGP协议 |
display bier protocol |
显示BIER报文的转发统计信息 |
display bier forward ipv6 statistics slot slot-number |
显示BIER跨域信息 |
display bier inter-as bfr-info [ sub-domain sub-domain-id ] |
显示跨域BIRT信息 |
display bier inter-as routing-table [ sub-domain sub-domain-id [ bfr-id bfr-id-start [ to bfr-id-end ] ] ] |
清除BIER报文的转发统计信息 |
reset bier forward ipv6 statistics [ slot slot-number ] |
组网需求如表1-2所示。
表1-2 单AS内BIER模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
· VPN a中的组播源为S 1,接收者为R 1、R 2和R 3 · VPN b中的组播源为S 2,接收者为R 4 |
PE各接口所属实例 |
· PE 1:Ten-GigabitEthernet3/0/2和Ten-GigabitEthernet3/0/3接口属于VPN实例a,Ten-GigabitEthernet3/0/1和LoopBack1接口属于公网实例 · PE 2:Ten-GigabitEthernet3/0/2接口属于VPN实例b,Ten-GigabitEthernet3/0/3接口属于VPN实例a,Ten-GigabitEthernet3/0/1和LoopBack1接口属于公网实例 · PE 3:Ten-GigabitEthernet3/0/2接口属于VPN实例a,Ten-GigabitEthernet3/0/3和LoopBack2接口属于VPN实例b,Ten-GigabitEthernet3/0/1和LoopBack1接口属于公网实例 |
单播路由协议和BIER |
· 在公网中配置IS-IS,在各PE与CE之间配置RIP · 在PE 1、PE 2和PE 3各自的LoopBack1接口两两之间建立BGP对等体 · 在公网中配置BIER子域0、BSL为128、Max-SI为32 · 在PE 1、PE 2、PE 3和P上配置BFR prefix为各自LoopBack1接口的IPv6地址,并各自配置组播策略预留地址 |
IP组播路由功能 |
· 在PE 1、PE 2和PE 3的VPN实例a中均使能IP组播路由 · 在PE 2和PE 3的VPN实例b中均使能IP组播路由 · 在CE a1、CE a2、CE a3、CE b1和CE b2上均使能IP组播路由 |
IGMP功能 |
· 在PE 1的Ten-GigabitEthernet3/0/2接口上使能IGMPv2 · 在CE a2、CE a3和CE b2各自的Ten-GigabitEthernet3/0/1接口上均使能IGMPv2 |
PIM功能 |
私网中运行PIM-SM: · 在PE 1、PE 2和PE 3的所有不与接收者直连的私网接口上均使能PIM-SM · 在CE a1、CE a2、CE a3、CE b1和CE b2所有不连接接收者的接口上均使能PIM-SM · CE a2的LoopBack1接口为VPN a的C-BSR和C-RP(服务于所有组播组) · PE 3的LoopBack2接口为VPN b的C-BSR和C-RP(服务于所有组播组) |
MSDP功能 |
· CE a2使能MSDP功能,指定本地Ten-GigabitEthernet3/0/2接口 · PE 2使能VPN a的MSDP功能,指定本地Ten-GigabitEthernet3/0/3接口 |
图1-7 单AS内BIER模式MVPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
S 1 |
- |
10.110.7.2/24 |
PE 3 |
XGE3/0/1 |
192.168.8.1/24 9000:8::1/64 |
S 2 |
- |
10.110.8.2/24 |
|
XGE3/0/2 |
10.110.5.1/24 |
R 1 |
- |
10.110.1.2/24 |
|
XGE3/0/3 |
10.110.6.1/24 |
R 2 |
- |
10.110.9.2/24 |
|
Loop1 |
1.1.1.3/32 1113::1113/128 |
R 3 |
- |
10.110.10.2/24 |
|
Loop2 |
33.33.33.33/32 |
R 4 |
- |
10.110.11.2/24 |
CE a1 |
XGE3/0/1 |
10.110.7.1/24 |
P |
XGE3/0/1 |
9000:6::2/64 |
|
XGE3/0/2 |
10.110.2.2/24 |
|
XGE3/0/2 |
9000:7::2/64 |
CE a2 |
XGE3/0/1 |
10.110.9.1/24 |
|
XGE3/0/3 |
9000:8::2/64 |
|
XGE3/0/2 |
10.110.4.2/24 |
|
Loop1 |
2.2.2.2/32 2222::2222/128 |
|
XGE3/0/3 |
10.110.12.1/24 |
PE 1 |
XGE3/0/1 |
9000:6::1/64 |
|
Loop1 |
22.22.22.22/32 |
|
XGE3/0/2 |
10.110.1.1/24 |
CE a3 |
XGE3/0/1 |
10.110.10.1/24 |
|
XGE3/0/3 |
10.110.2.1/24 |
|
XGE3/0/2 |
10.110.5.2/24 |
|
Loop1 |
1.1.1.1/32 1111::1111/128 |
|
XGE3/0/3 |
10.110.12.2/24 |
PE 2 |
XGE3/0/1 |
9000:7::1/64 |
CE b1 |
XGE3/0/1 |
10.110.8.1/24 |
|
XGE3/0/2 |
10.110.3.1/24 |
|
XGE3/0/2 |
10.110.3.2/24 |
|
XGE3/0/3 |
10.110.4.1/24 |
CE b2 |
XGE3/0/1 |
10.110.11.1/24 |
|
Loop1 |
1.1.1.2/32 1112::1112/128 |
|
XGE3/0/2 |
10.110.6.2/24 |
(1) 配置PE 1
# 配置全局Router ID。
<PE1> system-view
[PE1] router id 1.1.1.1
# 配置PE1加入BIER子域0、BFR ID为1、BFR prefix为LoopBack口1的IPv6地址。
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[PE1-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5001::1。
[PE1-bier-sub-domain-0-ipv6] g-bier mpra 5001::1
# 配置SRv6。
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2:: 96 static 8
# 配置组播服务前缀。
[PE1] multicast-service-prefix ms1 ipv6-prefix 1234:1:: 64 service-id-length 10
# 配置SRv6。
[PE1] segment-routing ipv6
[PE1-segment-routing-ipv6] encapsulation source-address 11::11
[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2:: 96 static 8
# 创建VPN实例a,并为其配置RD和Route Target。
[PE1] ip vpn-instance a
[PE1-vpn-instance-a] route-distinguisher 100:1
[PE1-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE1-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE1-vpn-instance-a] quit
# 使能VPN实例a中的IP组播路由。
[PE1] multicast routing vpn-instance a
[PE1-mrib-a] quit
# 创建VPN实例a的BIER模式MVPN,进入MVPN IPv4地址族视图,依次创建动态模式的相容性隧道和选择性隧道。
[PE1] multicast-vpn vpn-instance a mode bier
[PE1-mvpn-a] address-family ipv4
[PE1-mvpn-a-ipv4] source loopback 1
[PE1-mvpn-a-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-a-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-a-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE1-mvpn-a-ipv4] quit
[PE1-mvpn-a] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[PE1] interface ten-gigabitethernet 3/0/1
[PE1-Ten-GigabitEthernet3/0/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/0/1] quit
# 将接口Ten-GigabitEthernet3/0/2与VPN实例a进行关联,配置IP地址,并使能IGMP。
[PE1] interface ten-gigabitethernet 3/0/2
[PE1-Ten-GigabitEthernet3/0/2] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/0/2] ip address 10.110.1.1 24
[PE1-Ten-GigabitEthernet3/0/2] igmp enable
[PE1-Ten-GigabitEthernet3/0/2] quit
# 将接口Ten-GigabitEthernet3/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE1] interface ten-gigabitethernet 3/0/3
[PE1-Ten-GigabitEthernet3/0/3] ip binding vpn-instance a
[PE1-Ten-GigabitEthernet3/0/3] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/0/3] pim sm
[PE1-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# 配置BGP协议。
[PE1] bgp 100
[PE1-bgp-default] peer 1112::1112 as-number 100
[PE1-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1112::1112 enable
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family vpnv4
[PE1-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE1-bgp-default-vpnv4] peer 1112::1112 enable
[PE1-bgp-default-vpnv4] peer 1113::1113 enable
[PE1-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE1-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE1-bgp-default-vpnv4] quit
[PE1–bgp-default] ip vpn-instance a
[PE1-bgp-default-a] address-family ipv4 unicast
[PE1-bgp-default-ipv4-a] import-route rip 2
[PE1-bgp-default-ipv4-a] import-route direct
[PE1-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE1-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE1-bgp-default-ipv4-a] quit
[PE1-bgp-default-a] quit
[PE1–bgp-default] quit
# 配置IS-IS协议。
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa
# 配置RIP协议。
[PE1] rip 2 vpn-instance a
[PE1-rip-2] network 10.110.1.0 0.0.0.255
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
(2) 配置PE 2
# 配置全局Router ID。
<PE2> system-view
[PE2] router id 1.1.1.2
# 配置PE1加入BIER子域0、BFR ID为2、BFR prefix为LoopBack口1的IPv6地址。
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 2
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[PE2-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5002::1。
[PE2-bier-sub-domain-0-ipv6] g-bier mpra 5002::1
# 配置SRv6。
[PE2] segment-routing ipv6
[PE2-segment-routing-ipv6] encapsulation source-address 22::22
[PE2-segment-routing-ipv6] locator aaa ipv6-prefix 2:2:: 96 static 8
# 配置组播服务前缀。
[PE2] multicast-service-prefix ms1 ipv6-prefix 1234:2:: 64 service-id-length 10
# 创建VPN实例b,并为其配置RD和Route Target。
[PE2] ip vpn-instance b
[PE2-vpn-instance-b] route-distinguisher 200:1
[PE2-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE2-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE2-vpn-instance-b] quit
# 使能VPN实例b中的IP组播路由。
[PE2] multicast routing vpn-instance b
[PE2-mrib-b] quit
# 创建VPN实例b的BIER模式MVPN,并进入MVPN IPv4地址族视图,依次创建动态模式的相容性隧道和选择性隧道。
[PE2] multicast-vpn vpn-instance b mode bier
[PE2-mvpn-b] address-family ipv4
[PE2-mvpn-b-ipv4] source loopback 1
[PE2-mvpn-b-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-b-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE2-mvpn-b-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE2-mvpn-b-ipv4] quit
[PE2-mvpn-b] quit
# 创建VPN实例a,并为其配置RD和Route Target。
[PE2] ip vpn-instance a
[PE2-vpn-instance-a] route-distinguisher 100:1
[PE2-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE2-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE2-vpn-instance-a] quit
# 使能VPN实例a中的IP组播路由。
[PE2] multicast routing vpn-instance a
[PE2-mrib-a] quit
# 配置VPN实例a中MSDP。
[PE2] msdp vpn-instance a
[PE2-msdp-a] peer 10.110.4.2 connect-interface Ten-GigabitEthernet3/0/3
[PE2-msdp-a] quit
# 创建VPN实例a的BIER模式MVPN,进入MVPN IPv4地址族视图,配置MVPN源接口。
[PE2] multicast-vpn vpn-instance a mode bier
[PE2-mvpn-a] address-family ipv4
[PE2-mvpn-a-ipv4] source loopback 1
[PE2-mvpn-a-ipv4] quit
[PE2-mvpn-a] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[PE2] interface ten-gigabitethernet 3/0/1
[PE2-Ten-GigabitEthernet3/0/1] ipv6 address 9000:7::1 64
[PE2-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/0/1] quit
# 将接口Ten-GigabitEthernet3/0/2与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface ten-gigabitethernet 3/0/2
[PE2-Ten-GigabitEthernet3/0/2] ip binding vpn-instance b
[PE2-Ten-GigabitEthernet3/0/2] ip address 10.110.3.1 24
[PE2-Ten-GigabitEthernet3/0/2] pim sm
[PE2-Ten-GigabitEthernet3/0/2] quit
# 将接口Ten-GigabitEthernet3/0/3与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE2] interface ten-gigabitethernet 3/0/3
[PE2-Ten-GigabitEthernet3/0/3] ip binding vpn-instance a
[PE2-Ten-GigabitEthernet3/0/3] ip address 10.110.4.1 24
[PE2-Ten-GigabitEthernet3/0/3] pim sm
[PE2-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.2 32
[PE2-LoopBack1] ipv6 address 1112::1112 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# 配置BGP协议。
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] peer 1113::1113 as-number 100
[PE2-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn] peer 1113::1113 enable
[PE2-bgp-default-mvpn] quit
[PE2-bgp-default] address-family vpnv4
[PE2-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE2-bgp-default-vpnv4] peer 1111::1111 enable
[PE2-bgp-default-vpnv4] peer 1113::1113 enable
[PE2-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE2-bgp-default-vpnv4] peer 1113::1113 prefix-sid
[PE2-bgp-default-vpnv4] quit
[PE2–bgp-default] ip vpn-instance a
[PE2-bgp-default-a] address-family ipv4 unicast
[PE2-bgp-default-ipv4-a] import-route rip 2
[PE2-bgp-default-ipv4-a] import-route direct
[PE2-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-a] quit
[PE2-bgp-default-a] quit
[PE2–bgp-default] ip vpn-instance b
[PE2-bgp-default-b] address-family ipv4 unicast
[PE2-bgp-default-ipv4-b] import-route rip 3
[PE2-bgp-default-ipv4-b] import-route direct
[PE2-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE2-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE2-bgp-default-ipv4-b] quit
[PE2-bgp-default-b] quit
[PE2–bgp-default] quit
# 配置IS-IS协议。
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0002.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] segment-routing ipv6 locator aaa
# 配置RIP协议。
[PE2] rip 2 vpn-instance a
[PE2-rip-2] network 10.110.4.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
[PE2] rip 3 vpn-instance b
[PE2-rip-3] network 10.110.3.0 0.0.0.255
[PE2-rip-3] import-route bgp
[PE2-rip-3] quit
(3) 配置PE 3
# 配置全局Router ID
<PE3> system-view
[PE3] router id 1.1.1.3
# 配置PE3加入BIER子域0、BFR ID为3、BFR prefix为LoopBack口1的IPv6地址。
[PE3] bier
[PE3-bier] sub-domain 0 ipv6
[PE3-bier-sub-domain-0-ipv6] bfr-id 3
[PE3-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[PE3-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5003::1。
[PE3-bier-sub-domain-0-ipv6] g-bier mpra 5003::1
# 配置SRv6。
[PE3] segment-routing ipv6
[PE3-segment-routing-ipv6] encapsulation source-address 33::33
[PE3-segment-routing-ipv6] locator aaa ipv6-prefix 3:2:: 96 static 8
# 配置组播服务前缀。
[PE3] multicast-service-prefix ms1 ipv6-prefix 1234:3:: 64 service-id-length 10
# 创建VPN实例a,并为其配置RD和Route Target。
[PE3] ip vpn-instance a
[PE3-vpn-instance-a] route-distinguisher 100:1
[PE3-vpn-instance-a] vpn-target 100:1 export-extcommunity
[PE3-vpn-instance-a] vpn-target 100:1 import-extcommunity
[PE3-vpn-instance-a] quit
# 使能VPN实例a中的IP组播路由。
[PE3] multicast routing vpn-instance a
[PE3-mrib-a] quit
# 创建VPN实例a的BIER模式MVPN,进入MVPN IPv4地址族视图,配置MVPN源接口。
[PE3] multicast-vpn vpn-instance a mode bier
[PE3-mvpn-a] address-family ipv4
[PE3-mvpn-a-ipv4] source loopback 1
[PE3-mvpn-a-ipv4] quit
[PE3-mvpn-a] quit
# 创建VPN实例b,并为其配置RD和Route Target。
[PE3] ip vpn-instance b
[PE3-vpn-instance-b] route-distinguisher 200:1
[PE3-vpn-instance-b] vpn-target 200:1 export-extcommunity
[PE3-vpn-instance-b] vpn-target 200:1 import-extcommunity
[PE3-vpn-instance-b] quit
# 使能VPN实例b中的IP组播路由。
[PE3] multicast routing vpn-instance b
[PE3-mrib-b] quit
# 创建VPN实例b的BIER模式MVPN,进入MVPN IPv4地址族视图,配置MVPN源接口。
[PE3] multicast-vpn vpn-instance b mode bier
[PE3-mvpn-b] address-family ipv4
[PE3-mvpn-b-ipv4] source loopback 1
[PE3-mvpn-b-ipv4] quit
[PE3-mvpn-b] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[PE3] interface ten-gigabitethernet 3/0/1
[PE3-Ten-GigabitEthernet3/0/1] ipv6 address 9000:8::1 64
[PE3-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[PE3-Ten-GigabitEthernet3/0/1] quit
# 将接口Ten-GigabitEthernet3/0/2与VPN实例a进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface ten-gigabitethernet 3/0/2
[PE3-Ten-GigabitEthernet3/0/2] ip binding vpn-instance a
[PE3-Ten-GigabitEthernet3/0/2] ip address 10.110.5.1 24
[PE3-Ten-GigabitEthernet3/0/2] pim sm
[PE3-Ten-GigabitEthernet3/0/2] quit
# 将接口Ten-GigabitEthernet3/0/3与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface ten-gigabitethernet 3/0/3
[PE3-Ten-GigabitEthernet3/0/3] ip binding vpn-instance b
[PE3-Ten-GigabitEthernet3/0/3] ip address 10.110.6.1 24
[PE3-Ten-GigabitEthernet3/0/3] pim sm
[PE3-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[PE3] interface loopback 1
[PE3-LoopBack1] ip address 1.1.1.3 32
[PE3-LoopBack1] ipv6 address 1113::1113 128
[PE3-LoopBack1] isis ipv6 enable 1
[PE3-LoopBack1] quit
# 将接口LoopBack2与VPN实例b进行关联,配置IP地址,并使能PIM-SM。
[PE3] interface loopback 2
[PE3-LoopBack2] ip binding vpn-instance b
[PE3-LoopBack2] ip address 33.33.33.33 32
[PE3-LoopBack2] pim sm
[PE3-LoopBack2] quit
# 配置LoopBack2接口为VPN b的C-BSR和C-RP。
[PE3] pim vpn-instance b
[PE3-pim-b] c-bsr 33.33.33.33
[PE3-pim-b] c-rp 33.33.33.33
[PE3-pim-b] quit
# 配置BGP协议。
[PE3] bgp 100
[PE3-bgp-default] peer 1111::1111 as-number 100
[PE3-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE3-bgp-default] peer 1112::1112 as-number 100
[PE3-bgp-default] peer 1112::1112 connect-interface loopback 1
[PE3-bgp-default] address-family ipv4 mvpn
[PE3-bgp-default-mvpn] peer 1111::1111 enable
[PE3-bgp-default-mvpn] peer 1112::1112 enable
[PE3-bgp-default-mvpn]quit
[PE3-bgp-default] address-family vpnv4
[PE3-bgp-default-vpnv4] mvpn-advertise-rt-import
[PE3-bgp-default-vpnv4] peer 1111::1111 enable
[PE3-bgp-default-vpnv4] peer 1112::1112 enable
[PE3-bgp-default-vpnv4] peer 1111::1111 prefix-sid
[PE3-bgp-default-vpnv4] peer 1112::1112 prefix-sid
[PE3-bgp-default-vpnv4] quit
[PE3–bgp-default] ip vpn-instance a
[PE3-bgp-default-a] address-family ipv4 unicast
[PE3-bgp-default-ipv4-a] import-route rip 2
[PE3-bgp-default-ipv4-a] import-route direct
[PE3-bgp-default-ipv4-a] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-a] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-a] quit
[PE3-bgp-default-a] quit
[PE3–bgp-default] ip vpn-instance b
[PE3-bgp-default-b] address-family ipv4 unicast
[PE3-bgp-default-ipv4-b] import-route rip 3
[PE3-bgp-default-ipv4-b] import-route direct
[PE3-bgp-default-ipv4-b] segment-routing ipv6 best-effort
[PE3-bgp-default-ipv4-b] segment-routing ipv6 locator aaa
[PE3-bgp-default-ipv4-b] quit
[PE3-bgp-default-b] quit
[PE3–bgp-default] quit
# 配置IS-IS协议。
[PE3] isis 1
[PE3-isis-1] is-level level-1
[PE3-isis-1] cost-style wide
[PE3-isis-1] bier enable
[PE3-isis-1] network-entity 10.0000.0000.0003.00
[PE3-isis-1] address-family ipv6 unicast
[PE3-isis-1-ipv6] segment-routing ipv6 locator aaa
# 配置RIP协议。
[PE3] rip 2 vpn-instance a
[PE3-rip-2] network 10.110.5.0 0.0.0.255
[PE3-rip-2] import-route bgp
[PE3-rip-2] quit
[PE3] rip 3 vpn-instance b
[PE3-rip-3] network 10.110.6.0 0.0.0.255
[PE3-rip-3] network 33.33.33.33 0.0.0.0
[PE3-rip-3] import-route bgp
[PE3-rip-3] quit
(4) 配置P
# 配置P加入BIER子域0、BFR ID为4、BFR prefix为LoopBack口1的IPv6地址。
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[P-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5004::1。
[P-bier-sub-domain-0-ipv6] g-bier mpra 5004::1
# 配置SRv6。
[P] segment-routing ipv6
[P-segment-routing-ipv6] encapsulation source-address 44::44
[P-segment-routing-ipv6] locator aaa ipv6-prefix 4:2:: 96 static 8
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[P] interface ten-gigabitethernet 3/0/1
[P-Ten-GigabitEthernet3/0/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/0/1] quit
# 在公网接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能IS-IS。
[P] interface ten-gigabitethernet 3/0/2
[P-Ten-GigabitEthernet3/0/2] ipv6 address 9000:7::2 64
[P-Ten-GigabitEthernet3/0/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/0/2] quit
# 在公网接口Ten-GigabitEthernet3/0/3上配置IP地址,并使能IS-IS。
[P] interface ten-gigabitethernet 3/0/3
[P-Ten-GigabitEthernet3/0/3] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/0/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 64
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
# 配置IS-IS协议。
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] segment-routing ipv6 locator aaa
[P-isis-1-ipv6] quit
[P-isis-1] quit
(5) 配置CE a1
# 使能IP组播路由。
<CEa1> system-view
[CEa1] multicast routing
[CEa1-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能PIM-SM。
[CEa1] interface ten-gigabitethernet 3/0/1
[CEa1-Ten-GigabitEthernet3/0/1] ip address 10.110.7.1 24
[CEa1-Ten-GigabitEthernet3/0/1] pim sm
[CEa1-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CEa1] interface ten-gigabitethernet 3/0/2
[CEa1-Ten-GigabitEthernet3/0/2] ip address 10.110.2.2 24
[CEa1-Ten-GigabitEthernet3/0/2] pim sm
[CEa1-Ten-GigabitEthernet3/0/2] quit
# 配置RIP协议。
[CEa1] rip 2
[CEa1-rip-2] network 10.110.2.0 0.0.0.255
[CEa1-rip-2] network 10.110.7.0 0.0.0.255
[CEa1-rip-2] quit
(6) 配置CE b1
# 使能IP组播路由。
<CEb1> system-view
[CEb1] multicast routing
[CEb1-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能PIM-SM。
[CEb1] interface ten-gigabitethernet 3/0/1
[CEb1-Ten-GigabitEthernet3/0/1] ip address 10.110.8.1 24
[CEb1-Ten-GigabitEthernet3/0/1] pim sm
[CEb1-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CEb1] interface ten-gigabitethernet 3/0/2
[CEb1-Ten-GigabitEthernet3/0/2] ip address 10.110.3.2 24
[CEb1-Ten-GigabitEthernet3/0/2] pim sm
[CEb1-Ten-GigabitEthernet3/0/2] quit
# 配置RIP协议。
[CEb1] rip 3
[CEb1-rip-3] network 10.110.3.0 0.0.0.255
[CEb1-rip-3] network 10.110.8.0 0.0.0.255
[CEb1-rip-3] quit
(7) 配置CE a2
# 使能IP组播路由。
<CEa2> system-view
[CEa2] multicast routing
[CEa2-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IGMP。
[CEa2] interface ten-gigabitethernet 3/0/1
[CEa2-Ten-GigabitEthernet3/0/1] ip address 10.110.9.1 24
[CEa2-Ten-GigabitEthernet3/0/1] igmp enable
[CEa2-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CEa2] interface ten-gigabitethernet 3/0/2
[CEa2-Ten-GigabitEthernet3/0/2] ip address 10.110.4.2 24
[CEa2-Ten-GigabitEthernet3/0/2] pim sm
[CEa2-Ten-GigabitEthernet3/0/2] quit
# 在接口Ten-GigabitEthernet3/0/3上配置IP地址,并使能PIM-SM。
[CEa2] interface ten-gigabitethernet 3/0/3
[CEa2-Ten-GigabitEthernet3/0/3] ip address 10.110.12.1 24
[CEa2-Ten-GigabitEthernet3/0/3] pim sm
[CEa2-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能PIM-SM。
[CEa2] interface loopback 1
[CEa2-LoopBack1] ip address 22.22.22.22 32
[CEa2-LoopBack1] pim sm
[CEa2-LoopBack1] quit
# 配置LoopBack1接口为BSR和RP。
[CEa2] pim
[CEa2-pim] c-bsr 22.22.22.22
[CEa2-pim] c-rp 22.22.22.22
[CEa2-pim] quit
# 配置MSDP协议。
[CEa2] msdp
[CEa2-msdp] peer 10.110.4.1 connect-interface ten-gigabitethernet 3/0/2
[CEa2-msdp] quit
# 配置RIP协议。
[CEa2] rip 2
[CEa2-rip-2] network 10.110.4.0 0.0.0.255
[CEa2-rip-2] network 10.110.9.0 0.0.0.255
[CEa2-rip-2] network 10.110.12.0 0.0.0.255
[CEa2-rip-2] network 22.22.22.22 0.0.0.0
[CEa2-rip-2] quit
(8) 配置CE a3
# 使能IP组播路由。
<CEa3> system-view
[CEa3] multicast routing
[CEa3-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IGMP。
[CEa3] interface ten-gigabitethernet 3/0/1
[CEa3-Ten-GigabitEthernet3/0/1] ip address 10.110.10.1 24
[CEa3-Ten-GigabitEthernet3/0/1] igmp enable
[CEa3-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CEa3] interface ten-gigabitethernet 3/0/2
[CEa3-Ten-GigabitEthernet3/0/2] ip address 10.110.5.2 24
[CEa3-Ten-GigabitEthernet3/0/2] pim sm
[CEa3-Ten-GigabitEthernet3/0/2] quit
# 在接口Ten-GigabitEthernet3/0/3上配置IP地址,并使能PIM-SM。
[CEa3] interface ten-gigabitethernet 3/0/3
[CEa3-Ten-GigabitEthernet3/0/3] ip address 10.110.12.2 24
[CEa3-Ten-GigabitEthernet3/0/3] pim sm
[CEa3-Ten-GigabitEthernet3/0/3] quit
# 配置RIP协议。
[CEa3] rip 2
[CEa3-rip-2] network 10.110.5.0 0.0.0.255
[CEa3-rip-2] network 10.110.10.0 0.0.0.255
[CEa3-rip-2] network 10.110.12.0 0.0.0.255
[CEa3-rip-2] quit
(9) 配置CE b2
# 使能IP组播路由。
<CEb2> system-view
[CEb2] multicast routing
[CEb2-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IGMP。
[CEb2] interface ten-gigabitethernet 3/0/1
[CEb2-Ten-GigabitEthernet3/0/1] ip address 10.110.11.1 24
[CEb2-Ten-GigabitEthernet3/0/1] igmp enable
[CEb2-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CEb2] interface ten-gigabitethernet 3/0/2
[CEb2-Ten-GigabitEthernet3/0/2] ip address 10.110.6.2 24
[CEb2-Ten-GigabitEthernet3/0/2] pim sm
[CEb2-Ten-GigabitEthernet3/0/2] quit
# 配置RIP协议。
[CEb2] rip 3
[CEb2-rip-3] network 10.110.6.0 0.0.0.255
[CEb2-rip-3] network 10.110.11.0 0.0.0.255
[CEb2-rip-3] quit
# 查看PE 1上VPN实例a中的BIER相容性隧道信息。
[PE1] display multicast-vpn vpn-instance a inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 4001::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 4002::
Uptime: 00:10:05 Originating router: 1.1.1.2
2: BFR-ID: 3 BFR prefix: 4003::
Uptime: 00:09:50 Originating router: 1.1.1.3
# 查看PE 1上VPN实例a中的BIER选择性隧道信息。
[PE1] display multicast-vpn vpn-instance a selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 4001::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 2 BFR prefix: 4002::
Uptime: 00:00:23 Originating router: 1.1.1.2
# 查看PE 1上VPN实例a中的C-multicast A-D路由信息。
[PE1] display multicast-vpn vpn-instance a c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# 查看PE 2上VPN实例a中的BIER相容性隧道信息。
[PE2] display multicast-vpn vpn-instance a inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 4001::
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 4002::
Uptime: -- Originating router: 1.1.1.2
# 查看PE 2上VPN实例a中的BIER选择性隧道信息。
[PE2] display multicast-vpn vpn-instance a selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 4001::
Root: 1.1.1.1
Leaf:
1: BFR-ID: 2 BFR prefix: 4002::
Uptime: -- Originating router: 1.1.1.2
# 查看PE 2上VPN实例b中的BIER相容性隧道信息。
[PE2] display multicast-vpn vpn-instance b inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 4002::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 1 BFR prefix: 4001::
Uptime: 00:10:05 Originating router: 1.1.1.1
2: BFR-ID: 3 BFR prefix: 4003::
Uptime: 00:09:50 Originating router: 1.1.1.3
# 查看PE 2上VPN实例b中的BIER选择性隧道信息。
[PE2] display multicast-vpn vpn-instance b selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 4002::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.2 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 4003::
Uptime: 00:00:23 Originating router: 1.1.1.3
# 查看PE 2上VPN实例b中的C-multicast A-D路由信息。
[PE2] display multicast-vpn vpn-instance b c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.8.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# 查看PE 3上VPN实例b中的BIER相容性隧道信息。
[PE3] display multicast-vpn vpn-instance b inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 4002::
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 4003::
Uptime: -- Originating router: 1.1.1.3
# 查看PE 3上VPN实例b中的BIER选择性隧道信息。
[PE3] display multicast-vpn vpn-instance b selective-tunnel remote
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 2
BFR prefix: 4002::
Root: 1.1.1.2
Leaf:
1: BFR-ID: 3 BFR prefix: 4003::
Uptime: -- Originating router: 1.1.1.3
组网需求如表1-3所示。
表1-3 公网实例BIER模式MVPN配置组网需求
项目 |
组网需求 |
组播源和接收者 |
公网实例中的组播源为S 1,接收者为R 1 |
PE各接口所属实例 |
组网中的所有接口均属于公网实例 |
单播路由协议和BIER |
· 在公网中配置IS-IS,在各PE与CE之间配置RIP · PE 1和PE 2使用LoopBack1接口建立BGP对等体 · 在公网中配置BIER子域0、BSL为128、Max-SI为32 · 在PE 1、PE 2和P上配置BFR prefix为各自LoopBack1接口的IPv6地址,并各自配置组播策略预留地址 |
IP组播路由功能 |
· 在PE 1和PE 2的公网实例中使能IP组播路由 · 在CE 1和CE 2上均使能IP组播路由 |
IGMP功能 |
在CE 2的Ten-GigabitEthernet3/0/1接口上使能IGMPv2 |
PIM功能 |
运行PIM-SM: · 在PE 1和PE 2的Ten-GigabitEthernet3/0/1的接口上均使能PIM-SM · 在CE 1和CE 2所有不连接接收者的接口上均使能PIM-SM · PE 2的LoopBack2接口为公网实例的C-BSR和C-RP(服务于所有组播组) |
图1-8 公网实例BIER模式MVPN配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
S 1 |
- |
10.110.7.2/24 |
R 1 |
- |
10.110.1.2/24 |
PE 1 |
XGE3/0/1 |
9000:6::1/64 |
P |
XGE3/0/1 |
9000:6::2/64 |
|
XGE3/0/2 |
10.110.2.1/24 |
|
XGE3/0/3 |
9000:8::2/64 |
|
Loop1 |
1.1.1.1/32 1111::1111/128 |
|
Loop1 |
2.2.2.2/32 2222::2222/128 |
PE 2 |
XGE3/0/1 |
9000:8::1/64 |
CE 1 |
XGE3/0/1 |
10.110.7.1/24 |
|
XGE3/0/2 |
10.110.5.1/24 |
|
XGE3/0/2 |
10.110.2.2/24 |
|
Loop1 |
1.1.1.3/32 1113::1113/128 |
CE 2 |
XGE3/0/1 |
10.110.10.1/24 |
|
Loop2 |
33.33.33.33/32 |
|
XGE3/0/2 |
10.110.5.2/24 |
(1) 配置PE 1
# 配置全局Router ID。
<PE1> system-view
[PE1] router id 1.1.1.1
# 配置PE1加入BIER子域0、BFR ID为1、BFR prefix为LoopBack口1的IPv6地址。
[PE1] bier
[PE1-bier] sub-domain 0 ipv6
[PE1-bier-sub-domain-0-ipv6] bfr-id 1
[PE1-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[PE1-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5001::1。
[PE1-bier-sub-domain-0-ipv6] g-bier mpra 5001::1
[PE1-bier-sub-domain-0-ipv6] quit
[PE1-bier] quit
# 配置组播服务前缀。
[PE1] multicast-service-prefix ms1 ipv6-prefix 1234:1:: 64 service-id-length 10
# 配置公网实例的Route Target。
[PE1] ip public-instance
[PE1-public-instance] vpn-target 100:1 export-extcommunity
[PE1-public-instance] vpn-target 100:1 import-extcommunity
[PE1-public-instance] quit
# 使能公网的IP组播路由。
[PE1] multicast routing
[PE1-mrib] quit
# 创建公网实例的BIER模式MVPN,进入MVPN IPv4地址族视图,依次创建动态模式的相容性隧道和选择性隧道。
[PE1] multicast-vpn public-instance mode bier
[PE1-mvpn-public-instance] address-family ipv4
[PE1-mvpn-public-instance-ipv4] source loopback 1
[PE1-mvpn-public-instance-ipv4] inclusive-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] selective-tunnel dynamic sub-domain 0 bsl 128
[PE1-mvpn-public-instance-ipv4] tunnel-source multicast-service-prefix ms1 service-id 12
[PE1-mvpn-public-instance-ipv4] quit
[PE1-mvpn-public-instance] quit
# 配置IS-IS协议。
[PE1] isis 1
[PE1-isis-1] is-level level-1
[PE1-isis-1] cost-style wide
[PE1-isis-1] bier enable
[PE1-isis-1] network-entity 10.0000.0000.0001.00
[PE1-isis-1] address-family ipv6 unicast
[PE1-isis-1-ipv6] quit
[PE1-isis-1] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[PE1] interface ten-gigabitethernet 3/0/1
[PE1-Ten-GigabitEthernet3/0/1] ipv6 address 9000:6::1 64
[PE1-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[PE1-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[PE1] interface ten-gigabitethernet 3/0/2
[PE1-Ten-GigabitEthernet3/0/2] ip address 10.110.2.1 24
[PE1-Ten-GigabitEthernet3/0/2] pim sm
[PE1-Ten-GigabitEthernet3/0/2] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[PE1] interface loopback 1
[PE1-LoopBack1] ip address 1.1.1.1 32
[PE1-LoopBack1] ipv6 address 1111::1111 128
[PE1-LoopBack1] isis ipv6 enable 1
[PE1-LoopBack1] quit
# 配置BGP协议。
[PE1] bgp 100
[PE1-bgp-default] peer 1113::1113 as-number 100
[PE1-bgp-default] peer 1113::1113 connect-interface loopback 1
[PE1-bgp-default] address-family ipv4 mvpn
[PE1-bgp-default-mvpn] peer 1113::1113 enable
[PE1-bgp-default-mvpn] quit
[PE1-bgp-default] address-family ipv4 unicast
[PE1-bgp-default-ipv4] mvpn-advertise-rt-import
[PE1-bgp-default-ipv4] peer 1113::1113 enable
[PE1-bgp-default-ipv4] peer 1113::1113 advertise-ext-community
[PE1-bgp-default-ipv4] import-route rip 2
[PE1-bgp-default-ipv4] import-route direct
[PE1-bgp-default-ipv4] quit
[PE1-bgp-default] quit
# 配置RIP协议。
[PE1] rip 2
[PE1-rip-2] network 10.110.2.0 0.0.0.255
[PE1-rip-2] import-route bgp
[PE1-rip-2] quit
(2) 配置PE 2
# 配置全局Router ID
<PE2> system-view
[PE2] router id 1.1.1.3
# 配置PE2加入BIER子域0、BFR ID为3、BFR prefix为LoopBack口1的IPv6地址。
[PE2] bier
[PE2-bier] sub-domain 0 ipv6
[PE2-bier-sub-domain-0-ipv6] bfr-id 3
[PE2-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[PE2-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5003::1。
[PE2-bier-sub-domain-0-ipv6] g-bier mpra 5003::1
[PE2-bier-sub-domain-0-ipv6] quit
[PE2-bier] quit
# 配置公网实例的Route Target。
[PE2] ip public-instance
[PE2-public-instance] vpn-target 100:1 export-extcommunity
[PE2-public-instance] vpn-target 100:1 import-extcommunity
[PE2-public-instance] quit
# 使能公网的IP组播路由。
[PE2] multicast routing
[PE2-mrib] quit
# 创建公网实例的BIER模式MVPN,进入MVPN IPv4地址族视图,配置MVPN源接口。
[PE2] multicast-vpn public-instance mode bier
[PE2-mvpn-public-instance] address-family ipv4
[PE2-mvpn-public-instance-ipv4] source loopback 1
[PE2-mvpn-public-instance-ipv4] quit
[PE2-mvpn-public-instance] quit
# 配置IS-IS协议。
[PE2] isis 1
[PE2-isis-1] is-level level-1
[PE2-isis-1] cost-style wide
[PE2-isis-1] bier enable
[PE2-isis-1] network-entity 10.0000.0000.0003.00
[PE2-isis-1] address-family ipv6 unicast
[PE2-isis-1-ipv6] quit
[PE2-isis-1] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[PE2] interface ten-gigabitethernet 3/0/1
[PE2-Ten-GigabitEthernet3/0/1] ipv6 address 9000:8::1 64
[PE2-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[PE2-Ten-GigabitEthernet3/0/1] quit
# 在公网接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[PE2] interface ten-gigabitethernet 3/0/2
[PE2-Ten-GigabitEthernet3/0/2] ip address 10.110.5.1 24
[PE2-Ten-GigabitEthernet3/0/2] pim sm
[PE2-Ten-GigabitEthernet3/0/2] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[PE2] interface loopback 1
[PE2-LoopBack1] ip address 1.1.1.3 32
[PE2-LoopBack1] ipv6 address 1113::1113 128
[PE2-LoopBack1] isis ipv6 enable 1
[PE2-LoopBack1] quit
# 配置接口LoopBack2的IP地址,并使能PIM-SM。
[PE2] interface loopback 2
[PE2-LoopBack2] ip address 33.33.33.33 32
[PE2-LoopBack2] pim sm
[PE2-LoopBack2] quit
# 配置LoopBack2接口为公网的C-BSR和C-RP。
[PE2] pim
[PE2-pim] c-bsr 33.33.33.33
[PE2-pim] c-rp 33.33.33.33
[PE2-pim] quit
# 配置BGP协议。
[PE2] bgp 100
[PE2-bgp-default] peer 1111::1111 as-number 100
[PE2-bgp-default] peer 1111::1111 connect-interface loopback 1
[PE2-bgp-default] address-family ipv4 mvpn
[PE2-bgp-default-mvpn] peer 1111::1111 enable
[PE2-bgp-default-mvpn]quit
[PE2-bgp-default] address-family ipv4 unicast
[PE2-bgp-default-ipv4] mvpn-advertise-rt-import
[PE2-bgp-default-ipv4] peer 1111::1111 enable
[PE2-bgp-default-ipv4] peer 1111::1111 advertise-ext-community
[PE2-bgp-default-ipv4] import-route rip 2
[PE2-bgp-default-ipv4] import-route direct
[PE2-bgp-default-ipv4] quit
[PE2-bgp-default] quit
# 配置RIP协议。
[PE2] rip 2
[PE2-rip-2] network 10.110.5.0 0.0.0.255
[PE2-rip-2] import-route bgp
[PE2-rip-2] quit
(3) 配置P
# 配置P加入BIER子域0、BFR ID为4、BFR prefix为LoopBack口1的IPv6地址。
[P] bier
[P-bier] sub-domain 0 ipv6
[P-bier-sub-domain-0-ipv6] bfr-id 4
[P-bier-sub-domain-0-ipv6] bfr-prefix interface LoopBack1
# 配置BIER封装类型为G-BIER,封装的BSL为128、Max-SI为32。
[P-bier-sub-domain-0-ipv6] encapsulation-type g-bier bsl 128 max-si 32
# 配置组播策略预留地址为5004::1。
[P-bier-sub-domain-0-ipv6] g-bier mpra 5004::1
# 配置IS-IS协议。
[P] isis 1
[P-isis-1] is-level level-1
[P-isis-1] cost-style wide
[P-isis-1] bier enable
[P-isis-1] network-entity 10.0000.0000.0004.00
[P-isis-1] address-family ipv6 unicast
[P-isis-1-ipv6] quit
[P-isis-1] quit
# 在公网接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IS-IS。
[P] interface ten-gigabitethernet 3/0/1
[P-Ten-GigabitEthernet3/0/1] ipv6 address 9000:6::2 64
[P-Ten-GigabitEthernet3/0/1] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/0/1] quit
# 在公网接口Ten-GigabitEthernet3/0/3上配置IP地址,并使能IS-IS。
[P] interface ten-gigabitethernet 3/0/3
[P-Ten-GigabitEthernet3/0/3] ipv6 address 9000:8::2 64
[P-Ten-GigabitEthernet3/0/2] isis ipv6 enable 1
[P-Ten-GigabitEthernet3/0/3] quit
# 配置LoopBack1接口的IP地址,并使能IS-IS。
[P] interface loopback 1
[P-LoopBack1] ip address 2.2.2.2 32
[P-LoopBack1] ipv6 address 2222::2222 64
[P-LoopBack1] isis ipv6 enable 1
[P-LoopBack1] quit
(4) 配置CE 1
# 使能IP组播路由。
<CE1> system-view
[CE1] multicast routing
[CE1-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能PIM-SM。
[CE1] interface ten-gigabitethernet 3/0/1
[CE1-Ten-GigabitEthernet3/0/1] ip address 10.110.7.1 24
[CE1-Ten-GigabitEthernet3/0/1] pim sm
[CE1-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CE1] interface ten-gigabitethernet 3/0/2
[CE1-Ten-GigabitEthernet3/0/2] ip address 10.110.2.2 24
[CE1-Ten-GigabitEthernet3/0/2] pim sm
[CE1-Ten-GigabitEthernet3/0/2] quit
# 配置RIP协议。
[CE1] rip 2
[CE1-rip-2] network 10.110.2.0 0.0.0.255
[CE1-rip-2] network 10.110.7.0 0.0.0.255
[CE1-rip-2] quit
(5) 配置CE 2
# 使能IP组播路由。
<CE2> system-view
[CE2] multicast routing
[CE2-mrib] quit
# 在接口Ten-GigabitEthernet3/0/1上配置IP地址,并使能IGMP。
[CE2] interface ten-gigabitethernet 3/0/1
[CE2-Ten-GigabitEthernet3/0/1] ip address 10.110.10.1 24
[CE2-Ten-GigabitEthernet3/0/1] igmp enable
[CE2-Ten-GigabitEthernet3/0/1] quit
# 在接口Ten-GigabitEthernet3/0/2上配置IP地址,并使能PIM-SM。
[CE2] interface ten-gigabitethernet 3/0/2
[CE2-Ten-GigabitEthernet3/0/2] ip address 10.110.5.2 24
[CE2-Ten-GigabitEthernet3/0/2] pim sm
[CE2-Ten-GigabitEthernet3/0/2] quit
# 配置RIP协议。
[CE2] rip 2
[CE2-rip-2] network 10.110.5.0 0.0.0.255
[CE2-rip-2] network 10.110.10.0 0.0.0.255
[CE2-rip-2] quit
# 查看PE 1上公网实例的BIER相容性隧道信息。
[PE1] display multicast-vpn public-instance inclusive-tunnel local
Tunnel type: BIER
Tunnel interface: BIERVOif0
Tunnel state: Up
Flags: 0x30
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::
Uptime: 00:09:50 Originating router: 1.1.1.3
# 查看PE 1上公网实例的BIER选择性隧道信息。
[PE1] display multicast-vpn public-instance selective-tunnel local
Total 1 selective tunnel in using
Total 0 selective tunnel in creating
Tunnel type: BIER
Tunnel interface: BIERVOif1
Tunnel state: Up
Flags: 0x10
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::
Multicast service prefix:
Prefix length ID length ID offset MS Flags
64 10 0 0
Root: 1.1.1.1 (local)
Leafs:
1: BFR-ID: 3 BFR prefix: 1113::
Uptime: 00:00:23 Originating router: 1.1.1.3
# 查看PE 1上公网实例的C-multicast A-D路由信息。
[PE1] display multicast-vpn public-instance c-multicast routing-table
Total 0 (*, G) entry; 1 (S, G) entry
(10.110.7.2, 225.0.0.1)
CreateTime: 00:02:20
Tunnel Information: BIERVOif1
# 查看PE 2上公网实例的BIER相容性隧道信息。
[PE2] display multicast-vpn public-instance inclusive-tunnel remote
Total 1 inclusive tunnel
Tunnel type: BIER
Tunnel state: --
Flags: 0x0
Sub-domain ID/BSL: 0/128
BFR-ID: 1
BFR prefix: 1111::
Root: 1.1.1.1
Leaf:
1: BFR-ID: 3 BFR prefix: 1113::
Uptime: -- Originating router: 1.1.1.3
设备打印BFR ID冲突日志:
BIER/5/BIER_BFRID_CONFLICT_ACTIVE: -MDC=1; A BFR ID conflict exists. Address family=IPv6, Sub-domain=1, BFR ID=4, BFR prefixes=B::1,C::1.
同一个子域内,不同的BFR边缘节点配置了相同的BFR ID,导致出现BFR ID冲突。
通过BFR ID冲突日志中打印的BFR prefix,定位到发生冲突的BFR边缘节点,统一规划冲突BFR节点的BFR ID,登录需要修改配置的设备上进行重新配置。
冲突解除后,会收到对应的冲突解除日志:
BIERRIB/5/BIER_BFRID_CONFLICT_CLEAR: -MDC=1; The BFR ID conflict was removed. Address family=IPv6, Sub-domain=1, BFR ID=4, BFR prefix=B::1.
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!