示例:配置特定于源的 Draft-Rosen 7 组播 VPN
了解特定于源的组播 VPN
具有在 SSM 模式下运行的服务提供商隧道的草稿 Rosen MVPN 使用 BGP 信令自动发现 PE 路由器。这些 MVPN 也被称为草案 Rosen 7。
每个 PE 都会发送一个 MDT 后续地址族标识符 (MDT-SAFI) BGP 网络层可达性信息 (NLRI) 通告。播发包含以下信息:
路由区分符
源站点连接到的 PE 路由器的单播地址(通常是环路)
组播组地址
路由目标扩展社区属性
如果路由目标匹配,则每个远程 PE 路由器都会从其他每个 PE 路由器导入 MDT-SAFI 通告。然后,每个 PE 路由器加入根植于其他每个 PE 路由器的 (S,G) 树。
PE 路由器发现其他 PE 路由器后,源和组将通过组播隧道解封装接口绑定到 VPN 路由和转发 (VRF)。
具有在任意源组播稀疏模式下运行的服务提供商隧道的草稿 Rosen 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) 模式下运行的草稿 Rosen 第 3 层 VPN。此示例基于 IETF 互联网草案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 family inet
provider-tunnel
和 provider-tunnel family inet6
移动到层次结构,以添加对 Rosen 7 中默认 MDT 的 IPv6 支持,以及为 Rosen 6 和 Rosen 7 添加数据 MDT。
概述
IETF 互联网草案draft-rosen-vpn-mcast-07.txt引入了将提供商网络配置为在 SSM 模式下运行的功能。在 SSM 提供商核心上使用草稿 Rosen 组播 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 的站点以及要为每个 VPN 加入的默认 MDT (S,G) 路由。自动发现提供每个 PE 的下一跃点地址,以及根植于该 PE 的隧道的 VPN 组地址,用于给定路由识别器 (RD) 和路由目标扩展社区属性。
此示例包括以下配置选项以启用草图玫瑰色 SSM:
-
协议 BGP 组 group-name 系列 INET-MDT 信令 — 在 BGP 中启用 MDT-SAFI 信令。
-
路由实例 instance-name 协议 mvpn 系列 inet 自动发现(仅 AS 内部)(含)— 使多播 VPN 能够使用 MDT-SAFI 自动发现 NLRI。
-
路由实例 instance-name 协议 PIM MVN — 指定 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 提供商核心的草稿 Rosen 组播 VPN 不同,SSM 配置不要求 VPN 的每个 PE 使用相同的组地址。这是因为会合点分配和自动发现不是通过组的默认 MDT 隧道完成的。因此,您可以将 VPN 中的部分或全部 PE 配置为使用不同的组,但同一组不能在同一 PE 路由器上的不同 VPN 中使用。
-
路由实例 CE1 VRF 目标目标:100:1 — 配置 VRF 导出策略。当您使用提供商隧道在特定于源的模式下运行并使用语句配置
vrf-target
draft-rosen 组播 VPN 时,将自动生成 VRF 导出策略并自动接受来自 vrf-name.mdt.0 路由表的路由。注意:将 draft-rosen 组播 VPN 配置为在特定于源的模式下运行的提供商隧道并使用语句指定
vrf-export
导出策略时,策略必须具有接受来自 vrf-name.mdt.0 路由表的路由的术语。此术语可确保使用 inet-mdt 地址族的正确 PE 自动发现。
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit]
中。
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,请执行以下操作:
-
配置 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 模式下运行的提供商隧道配置草稿 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
命令来监控路由实例的操作。
您可以通过运行命令来 show pim mvpn
管理本地 SSM 隧道根的组实例映射。
该 show pim mdt
命令显示每个传出和传入 MDT 的隧道类型和源 PE 地址。此外,由于每个 PE 可能都有自己的默认 MDT 组地址,因此将为每个远程 PE 显示一个传入条目。传出数据 MDT 显示在传出默认 MDT 之后。传入数据 MDT 显示在所有传入的默认 MDT 之后。
为了进行故障排除,您可以为所有协议配置跟踪操作。