示例:配置源特定 Draft-Rosen 7 组播 VPN
了解源特定组播 VPN
采用服务提供商隧道在 SSM 模式下运行的草稿 Rosen MVPN 使用 BGP 信号自动发现 PE 路由器。这些 MVPN 也称为 Draft Rosen 7。
每个 PE 都会发送一个 MDT 后续地址族标识符 (MDT-SAFI) BGP 网络层可访问性信息 (NLRI) 通告。该广告包含以下信息:
路由识别器
连接源站点的 PE 路由器的单播地址(通常是环路)
组播组地址
路由目标扩展社区属性
如果路由目标匹配,每个远程 PE 路由器都会从其他每个 PE 路由器导入 MDT-SAFI 通告。然后,每个 PE 路由器都会加入扎根于其他每个 PE 路由器的 (S,G) 树。
PE 路由器发现其他 PE 路由器后,源和组通过组播隧道解封装接口绑定到 VPN 路由和转发 (VRF)。
具有服务提供商隧道在任意源组播稀疏模式下运行的草稿玫瑰花 MVPN 使用共享树和汇聚点 (RP) 来自动发现 PE 路由器。组播组的源 PE 将组播数据包封装到 PIM 注册消息中,并通过单播方式发送至 RP 路由器。然后,RP 会朝源 PE 构建最短路径树 (SPT)。作为 MDT 组播组的接收方的远程 PE 会向 RP 发送 (*、G) 加入消息,并加入该组的分配树。
Draft-Rosen 7 组播 VPN 控制平面
必须配置具有服务提供商隧道在 SSM 模式下运行的草稿 Rosen MVPN 的控制平面,以支持自动发现。
发现 PE 路由器后,将通知 PIM 组播源和组地址。PIM 将 (S、G) 状态绑定到组播隧道 (mt) 接口,并为该组发送加入消息。
自动发现具有服务提供商在 SSM 模式下操作的隧道的草稿 Rosen MVPN 使用基于 BGP 的 MVPN 控制平面软件模块的部分设施。因此,必须启用基于 BGP 的 MVPN 控制平面。基于 BGP 的 MVPN 控制平面只能支持自动发现。
示例:为 Draft-Rosen 组播 VPN 配置源特定组播
此示例说明如何配置在源特定组播 (SSM) 模式下运行的草稿玫瑰第 3 层 VPN。此示例基于 IETF Internet 草案 draft-rosen-vpn-mcast-07.txt 的 Junos OS 实施,即 MPLS/BGP VPN 中的组播。
要求
此示例使用以下硬件和软件组件:
-
Junos OS 版本 9.4 或更高版本
-
确保路由设备支持组播隧道 (mt) 接口。
支持通道的 PIC 最多支持 512 个组播通道接口。默认和数据 MDT 都有助于实现此总数。默认 MDT 使用两个组播隧道接口(一个用于封装,一个用于解封装)。要使 M 系列或 T 系列路由器支持超过 512 个组播隧道接口,需要另一个支持通道的 PIC。请参阅通道服务 PIC 以及可用 PIC 之间的组播隧道接口和组播与负载平衡。
在 Junos OS 版本 17.3R1 中, pim-ssm
层次结构从 provider-tunnel
移至 provider-tunnel family inet
和 provider-tunnel family inet6
层次结构,作为升级的一部分,在 Rosen 7 中添加默认 MDT 的 IPv6 支持,以及 Rosen 6 和 Rosen 7 的数据 MDT。
概述
IETF Internet 草案 draft-rosen-vpn-mcast-07.txt 引入了配置提供商网络以 SSM 模式运行的能力。当在 SSM 提供商核心上使用草稿玫瑰组播 VPN 时,没有 PIM RP 可在 PE 路由器之间提供汇聚和自动发现。因此,draft-rosen-vpn-mcast-07 指定使用 BGP 网络层可访问性信息 (NLRI),称为 MDT 子地址家族标识符信息 (MDT-SAFI),以促进其他PE 自动发现PE。MDT-SAFI 更新是分布在 AS 内部 BGP 对等方PE 之间的 BGP 消息。因此,接收到 MDT-SAFI 更新后,PE 可以自动发现其他 PE 的身份,其中包含给定 VPN 的站点以及要各加入的默认 MDT (S,G) 路由。自动发现提供每个 PE 的下一跳跃地址,以及根植于该 PE 的隧道的 VPN 组地址,用于给定路由区分符 (RD) 和路由目标扩展社区属性。
此示例包括以下配置选项以启用 draft-rosen SSM:
-
协议 bgp 组 group-name 系列 inet-mdt 信令 — 在 BGP 中启用 MDT-SAFI 信号。
-
路由实例 instance-name 协议 mvpn 系列 inet 自动发现-仅内部即包容性 — 支持组播 VPN 使用 MDT-SAFI 自动发现 NLRI。
-
路由实例 instance-name 协议 pim mvpn — 指定 SSM 控制平面。为 VRF 配置 pim mvpn 时,必须在语句中
provider-tunnel pim-ssm group-address
指定 VPN 组地址。 -
路由实例 instance-name 协议 pim mvpn 系列 inet 自动发现 inet-mdt — 使 PIM 能够从 MDT-SAFI 自动发现 NLRI 了解邻接方。
-
路由实例 instance-name 提供商隧道系列 inet pim-ssm 组地址 multicast-address— 配置用作控制平面的提供商隧道,使提供商隧道具有静态组地址。与带有 ASM 提供商核心的草草玫瑰组播 VPN 不同,SSM 配置不需要 VPN 的每个 PE 都使用相同的组地址。这是因为未通过组的默认 MDT 隧道完成汇聚点分配和自动发现。因此,您可以将 VPN 中的部分或全部 PES 配置为使用不同的组,但是在同一 PE 路由器上的不同 VPN 中不能使用同一组。
-
路由实例 ce1 vrf 目标:100:1 — 配置 VRF 导出策略。如果配置草稿玫瑰组播 VPN 且提供商隧道在源特定模式下运行并使用语
vrf-target
句,则会自动生成 VRF 导出策略,并自动接受 vrf-name.mdt.0 路由表中的路由。注意:配置具有在源特定模式下操作的提供商隧道且使用
vrf-export
语句指定导出策略的草稿玫瑰组播 VPN 时,策略必须具有接受 vrf-name.mdt.0 路由表中的路由的术语。此术语可确保使用 inet-mdt 地址族进行适当的 PE 自动发现。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit]
CLI 中。
set interfaces so-0/0/0 description "TO P1_P1" set interfaces so-0/0/0 unit 0 description "to P1 (provider router) so-0/0/0.0" set interfaces so-0/0/0 unit 0 family inet address 10.0.1.1/30 set interfaces so-0/0/0 unit 0 family iso set interfaces so-0/0/0 unit 0 family mpls set interfaces so-0/0/1 description "TO PE2" set interfaces so-0/0/1 unit 0 description "to PE2 (PE router) so-0/0/1.0" set interfaces so-0/0/1 unit 0 family inet address 10.0.2.1/30 set interfaces so-0/0/1 unit 0 family iso set interfaces so-0/0/1 unit 0 family mpls set interfaces fe-0/1/1 description "TO CE1" set interfaces fe-0/1/1 unit 0 description "to CE router fe-0/1/1.0" set interfaces fe-0/1/1 unit 0 family inet address 10.0.3.1/30 set interfaces lo0 unit 0 description "PE1 (this PE router) Loopback" set interfaces lo0 unit 1 family inet address 10.1.1.0/32 set routing-options autonomous-system 65200 set protocols igmp query-interval 2 set protocols igmp query-response-interval 1 set protocols igmp query-last-member-interval 1 set protocols igmp interface all immediate-leave set protocols igmp interface fxp0.0 disable set protocols rsvp interface all set protocols rsvp interface so-0/0/0.0 set protocols rsvp interface so-0/0/1.0 set protocols mpls label-switched-path PE1-to-PE2 to 10.255.14.217 set protocols mpls label-switched-path PE1-to-PE2 primary PE1_PE2_prime set protocols mpls label-switched-path PE1-to-P1 to 10.255.14.218 set protocols mpls label-switched-path PE1-to-P1 primary PE1_P1_prime set protocols mpls path PE1_P1_prime 10.0.1.2 set protocols mpls path PE1_PE2_prime 10.0.2.2 set protocols mpls interface all set protocols mpls interface fxp0.0 disable set protocols bgp group int type internal set protocols bgp group int local-address 10.255.14.216 set protocols bgp group int family inet unicast set protocols bgp group int family inet-vpn unicast set protocols bgp group int family inet-vpn multicast set protocols bgp group int family inet-mdt signaling set protocols bgp group int neighbor 10.255.14.218 set protocols bgp group int neighbor 10.255.14.217 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface so-0/0/0.0 metric 10 set protocols ospf area 0.0.0.0 interface so-0/0/1.0 metric 10 set protocols pim assert-timeout 5 set protocols pim join-prune-timeout 210 set protocols pim rp bootstrap-priority 10 set protocols pim rp local address 10.255.14.216 set protocols pim interface lo0.0 set protocols pim interface all hello-interval 1 set protocols pim interface fxp0.0 disable set policy-options policy-statement bgp_ospf term 1 from protocol bgp set policy-options policy-statement bgp_ospf term 1 then accept set routing-instances ce1 instance-type vrf set routing-instances ce1 interface fe-0/1/1.0 set routing-instances ce1 interface lo0.1 set routing-instances ce1 route-distinguisher 10:0 set routing-instances ce1 provider-tunnel pim-ssm group-address 232.1.1.1 set routing-instances ce1 vrf-target target:100:1 set routing-instances ce1 protocols ospf export bgp_ospf set routing-instances ce1 protocols ospf sham-link local 01.1.1.0 set routing-instances ce1 protocols ospf area 0.0.0.0 sham-link-remote 10.1.1.1 set routing-instances ce1 protocols ospf area 0.0.0.0 sham-link-remote 10.1.1.2 set routing-instances ce1 protocols ospf area 0.0.0.0 interface lo0.1 set routing-instances ce1 protocols ospf area 0.0.0.0 interface fe-0/1/1.0 metric 10 set routing-instances ce1 protocols pim mvpn family inet autodiscovery inet-mdt set routing-instances ce1 protocols pim interface lo0.1 set routing-instances ce1 protocols pim interface fe-0/1/1.0 priority 100 set routing-instances ce1 protocols pim interface fe-0/1/1.0 hello-interval 1 set routing-instances ce1 protocols mvpn family inet autodiscovery-only intra-as inclusive
接口配置
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 Junos OS CLI 用户指南中的配置模式下使用 CLI 编辑器。
要在一个 PE 路由器上配置接口:
-
将 PE1 的接口配置到提供商路由器。
[edit interfaces so-0/0/0] user@host# set description "TO P1" user@host# set unit 0 description "to P1 (provider router, 10.255.14.218 ) so-0/0/0.0" user@host# set unit 0 family inet address 10.0.1.1/30 user@host# set unit 0 family iso user@host# set unit 0 family mpls
-
将 PE1 的接口配置为 PE2。
[edit interfaces so-0/0/1] user@host# set description "TO PE2" user@host# set unit 0 description "to PE2 (10.255.14.217) so-0/0/1.0" user@host# set unit 0 family inet address 10.0.2.1/30 user@host# set unit 0 family iso user@host# set unit 0 family mpls
-
将 PE1 的接口配置为 CE1。
[edit interfaces fe-0/1/1] user@host# set description "TO CE1" user@host# set unit 0 description "to CE1 (10.255.14.223) fe-0/1/1.0" user@host# set unit 0 family inet address 10.0.3.1/30 user@host# set unit 0 family iso user@host# set unit 0 family mpls
-
配置 PE1 的环路接口。
[edit interfaces lo0] user@host# set unit 0 description "PE1 (this PE router, 10.255.14.216) Loopback" user@host# set unit 1 family inet address 10.1.1.0/32
组播组管理
逐步过程
要配置组播组管理,
-
配置 IGMP 接口。
[edit protocols igmp] user@host# set interface all immediate-leave user@host# set interface fxp0.0 disable
-
配置 IGMP 设置。
[edit protocols igmp] user@host# set query-interval 2 user@host# set query-response-interval 1 user@host# set query-last-member-interval 1
MPLS 信号协议和 MPLS LSP
逐步过程
要配置 MPLS 信号协议和 MPLS LSP:
-
在此 PE 路由器 (PE1)、另一个 PE 路由器 (PE2) 之间配置 RSVP 信号。以及提供商路由器 (P1)。
[edit protocols rsvp] user@host# set interface so-0/0/0.0 user@host# set interface so-0/0/1.0
-
配置 MPLS LSP。
[edit protocols mpls] user@host# set label-switched-path pe1-to-pe2 to 10.255.14.217 user@host# set label-switched-path pe1-to-pe2 primary pe1_pe2_prime user@host# set label-switched-path pe1-to-p1 to 10.255.14.218 user@host# set label-switched-path pe1-to-p1 primary pe1_p1_prime user@host# set path pe1_p1_prime 10.0.1.2 user@host# set path pe1_pe2_prime 10.0.2.2 user@host# set interface all user@host# set interface fxp0.0 disable
Bgp
逐步过程
要配置 BGP:
-
配置 AS 编号。在此示例中,PE 路由器和提供商路由器都在 AS 65200 中。
[edit] user@host# set routing-options autonomous-system 65200
-
使用 PE2 和 P1 路由器配置内部 BGP 全网状。
[edit protocols bgp group int] user@host# set type internal user@host# set local-address 10.255.14.216 user@host# set family inet unicast user@host# set neighbor 10.255.14.218 user@host# set neighbor 10.255.14.217
-
启用 MDT-SAFI NLRI 控制平面消息。
[edit protocols bgp group int] user@host# set family inet-mdt signaling
-
允许 BGP 为 IPv4 地址系列承载第 3 层 VPN NLRI。
[edit protocols bgp group int] user@host# set family inet-vpn unicast user@host# set family inet-vpn multicast
-
配置 BGP 导出策略。
[edit policy-options] user@host# set policy-statement bgp_ospf term 1 from protocol bgp user@host# set policy-statement bgp_ospf term 1 then accept
内部网关协议
逐步过程
要配置内部网关协议:
-
配置 OSPF 接口。
[edit protocols ospf] user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface so-0/0/0.0 metric 10 user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 10
-
支持流量工程。
[edit protocols ospf] user@host# set traffic-engineering
Pim
逐步过程
要配置 PIM:
-
配置超时期和 RP。本地 RP 配置使 PE1 成为静态定义的 RP。
[edit protocols pim] user@host# set assert-timeout 5 user@host# set join-prune-timeout 210 user@host# set rp bootstrap-priority 10 user@host# set rp local address 10.255.14.216
-
配置 PIM 接口。
[edit protocols pim] user@host# set interface lo0.0 user@host# set interface all hello-interval 1 user@host# set interface fxp0.0 disable
路由实例
逐步过程
要配置 PE1 和 CE1 之间的路由实例:
-
配置基本路由实例。
[edit routing-instances ce1] user@host# set instance-type vrf user@host# set interface fe-0/1/1.0 user@host# set interface lo0.1 user@host# set route-distinguisher 10:0 user@host# set vrf-target target:100:1
-
配置 SSM 提供商隧道。
[edit routing-instances ce1] user@host# set provider-tunnel family inet pim-ssm group-address (Routing Instances) 232.1.1.1
-
在路由实例中配置 OSPF。
[edit routing-instances ce1 protocols ospf] user@host# set export bgp_ospf user@host# set sham-link local 10.1.1.0 user@host# set area 0.0.0.0 sham-link-remote 10.1.1.1 user@host# set area 0.0.0.0 sham-link-remote 10.1.1.2 user@host# set area 0.0.0.0 interface lo0.1 user@host# set area 0.0.0.0 interface fe-0/1/1.0 metric 10
-
在路由实例中配置 PIM。
[edit routing-instances ce1 protocols pim] user@host# set interface lo0.1 user@host# set interface fe-0/1/1.0 priority 100 user@host# set interface fe-0/1/1.0 hello-interval 1
-
为在 SSM 模式下运行的提供商隧道配置 draft-rosen VPN 自动发现。
[edit routing-instances ce1 protocols pim ] user@host# set mvpn family inet autodiscovery inet-mdt
-
配置基于 BGP 的 MVPN 控制平面,仅提供信号传输以实现自动发现,而非用于 PIM 操作。
[edit routing-instances ce1 protocols mvpn family inet] user@host# set autodiscovery-only intra-as inclusive
验证
您可通过运行 命令来监控路由实例的 show route table ce1.mdt.0
操作。
您可以通过运行 命令来管理本地 SSM 隧道根的 show pim mvpn
组实例映射。
命令 show pim mdt
显示每个传出和传入 MDT 的通道类型和源 PE 地址。此外,由于每个 PE 可能都有自己的默认 MDT 组地址,因此每个远程 PE 都显示一个传入条目。传出数据 MDT 显示在传出默认 MDT 之后。传入数据 MDT 在所有传入默认 MDTS 之后均显示。
要进行故障排除,您可以为所有协议配置跟踪操作。