信令提供商隧道和数据平面设置
在新一代组播虚拟专用网络 (MVPN) 中,提供商隧道信息以带外方式传送到接收方 PE 路由器。此信息通过 BGP 进行播发,并且与实际的隧道信令过程无关。隧道发出信号后,发送方 PE 路由器会将 VPN 路由和转发 (VRF) 表绑定到本地配置的隧道。接收器 PE 路由器将发送信号的隧道绑定到 VRF 表,在该表中安装了具有匹配提供商组播服务接口 (PMSI) 属性的 1 类自动发现路由。协议无关组播 (PIM) 和 RSVP 流量工程 (RSVP-TE) 信号提供商隧道使用相同的绑定过程。
由 PIM 发出信号的提供商隧道(含)
如果发送方提供商边缘 (PE) 路由器配置为对 VPN 使用包容性 PIM 稀疏模式 (PIM-SM) 任意源组播 (ASM) 提供商隧道,则会在服务提供商网络中创建组播树(使用配置的 P 组地址)。此树植根于发送方 PE 路由器,并将接收方 PE 路由器作为叶。从本地 VPN 源接收的 VPN 组播数据包由发送方 PE 路由器使用包含为 VPN 配置的 P 组地址的组播通用路由封装 (GRE) 报头进行封装。然后,这些数据包将按照正常 P-PIM 程序作为常规 IP 组播数据包在服务提供商网络上转发。在叶节点上,GRE 标头被剥离,数据包被传递到本地 VRF C-PIM 协议进行进一步处理。
在 Junos OS 中,称为组播隧道 (MT) 的逻辑接口用于对 VPN 组播数据包进行 GRE 封装和解封装。如果存在隧道 PIC,则会自动创建组播隧道接口。
封装子接口是从 mt-x/y/z.[32768-49151] 范围创建的。
解封装子接口是从 mt-x/y/z.[49152-65535] 范围创建的。
组播隧道子接口充当 C-PIM 和 P-PIM 之间的伪上行或下行接口。
在以下两个示例中,假设网络使用 PIM-SM (ASM) 信号 GRE 隧道作为隧道技术。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show interfaces mt-0/1/0 terse使用命令验证路由器 PE1 是否已创建以下组播隧道子接口。逻辑接口编号为 32768,表示此子单元用于 GRE 封装。
user@PE1> show interfaces mt-0/1/0 terse
Interface Admin Link Proto Local Remote
mt-0/1/0 up up
mt-0/1/0.32768 up up inet
inet6
show interfaces mt-0/1/0 terse使用命令验证路由器 PE2 是否已创建以下组播隧道子接口。逻辑接口编号为 49152,表示此子单元用于 GRE 解封装。
user@PE2> show interfaces mt-0/1/0 terse
Interface Admin Link Proto Local Remote
mt-0/1/0 up up
mt-0/1/0.49152 up up inet
inet6
发件方 PE 路由器上的 P-PIM 和 C-PIM
发送方 PE 路由器在其 P-PIM 数据库中为每个配置为使用 PIM 作为提供程序隧道的 VRF 表安装一个本地加入条目。此条目的传出接口列表 (OIL) 指向面向核心的接口。由于 P-PIM 条目安装为 Local,发送方 PE 路由器会将源地址设置为其主环路 IP 地址。
show pim join extensive使用命令验证路由器 PE1 是否已在其 P-PIM 数据库中安装以下状态。
user@PE1> show pim join extensive
Instance: PIM.master Family: INET
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
Group: 239.1.1.1
Source: 10.1.1.1
Flags: sparse,spt
Upstream interface: Local
Upstream neighbor: Local
Upstream state: Local Source
Keepalive timeout: 339
Downstream neighbors:
Interface: fe-0/2/3.0
10.12.100.6 State: Join Flags: S Timeout: 195
Instance: PIM.master Family: INET6
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
在发送方 PE 路由器的 VRF 端,C-PIM 在其 C-PIM 数据库中为活动本地 VPN 源安装一个 Local Source 条目。此条目的 OIL 指向 Pseudo-MVPN,表示下行接口指向新一代 MVPN 网络中的接收器。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show pim join extensive instance vpna 224.1.1.1使用命令验证路由器 PE1 是否已在其 C-PIM 数据库中安装以下条目。
user@PE1> show pim join extensive instance vpna
224.1.1.1
Instance: PIM.vpna Family: INET
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
Group: 224.1.1.1
Source: 192.168.1.2
Flags: sparse,spt
Upstream interface: fe-0/2/0.0
Upstream neighbor: 10.12.97.2
Upstream state: Local RP, Join to Source
Keepalive timeout: 0
Downstream neighbors:
Interface: Pseudo-MVPN
与发送方 PE 路由器上的 C-PIM Local Source (或 Local RP)对应的转发条目指向作为下游接口的组播隧道封装子接口。这表示本地组播数据包在传递到 P-PIM 协议时已封装。
show multicast route extensive instance vpna group 224.1.1.1使用命令验证路由器 PE1 是否具有组 224.1.1.1 的以下组播转发条目。上行接口是 PE-CE 接口,下行接口是组播隧道封装子接口:
user@PE1> show multicast route extensive instance
vpna group 224.1.1.1
Family: INET
Group: 224.1.1.1
Source: 192.168.1.2/32
Upstream interface: fe-0/2/0.0
Downstream interface list:
mt-0/1/0.32768
Session description: ST Multicast Groups
Statistics: 7 kBps, 79 pps, 719738 packets
Next-hop ID: 262144
Upstream protocol: MVPN
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: forever
Wrong incoming interface notifications: 0
接收方 PE 路由器上的 P-PIM 和 C-PIM
在接收方 PE 路由器上,从网络收到的组播数据包在通过组播通道解封装接口时会进行解封装。
接收方 PE 路由器上的 P-PIM 数据库包含两个 P 连接。一个用于 P-RP,另一个用于发送方 PE 路由器。对于这两个条目,OIL 都包含组播隧道解封装接口,从中剥离 GRE 标头。P-joins 的上游接口是面向发送方 PE 路由器的面向核心的接口。
show pim join extensive使用命令验证路由器 PE3 的 P-PIM 数据库中是否具有以下状态。下游邻居接口指向 GRE 解封装子接口:
user@PE3> show pim join extensive
Instance: PIM.master Family: INET
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
Group: 239.1.1.1
Source: *
RP: 10.1.1.10
Flags: sparse,rptree,wildcard
Upstream interface: so-0/0/3.0
Upstream neighbor: 10.12.100.21
Upstream state: Join to RP
Downstream neighbors:
Interface: mt-1/2/0.49152
10.12.53.13 State: Join Flags: SRW Timeout: Infinity
Group: 239.1.1.1
Source: 10.1.1.1
Flags: sparse,spt
Upstream interface: so-0/0/3.0
Upstream neighbor: 10.12.100.21
Upstream state: Join to Source
Keepalive timeout: 351
Downstream neighbors:
Interface: mt-1/2/0.49152
10.12.53.13 State: Join Flags: S Timeout: Infinity
Instance: PIM.master Family: INET6
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
在接收方 PE 路由器的 VRF 端,C-PIM 在其 C-PIM 数据库中安装连接条目。此条目的 OIL 指向本地 VPN 接口,表示活动的本地接收器。该切入点的上游协议、接口和邻居指向新一代 MVPN 网络。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show pim join extensive instance vpna 224.1.1.1使用命令验证路由器 PE3 的 C-PIM 数据库中是否具有以下状态:
user@PE3> show pim join extensive instance vpna
224.1.1.1
Instance: PIM.vpna Family: INET
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
Group: 224.1.1.1
Source: *
RP: 10.12.53.1
Flags: sparse,rptree,wildcard
Upstream protocol: BGP
Upstream interface: Through BGP
Upstream neighbor: Through MVPN
Upstream state: Join to RP
Downstream neighbors:
Interface: so-0/2/0.0
10.12.87.1 State: Join Flags: SRW Timeout: Infinity
Group: 224.1.1.1
Source: 192.168.1.2
Flags: sparse
Upstream protocol: BGP
Upstream interface: Through BGP
Upstream neighbor: Through MVPN
Upstream state: Join to Source
Keepalive timeout:
Downstream neighbors:
Interface: so-0/2/0.0
10.12.87.1 State: Join Flags: S Timeout: 195
Instance: PIM.vpna Family: INET6
R = Rendezvous Point Tree, S = Sparse, W = Wildcard
与接收方 PE 路由器上的 C-PIM 条目对应的转发条目使用组播隧道解封装子接口作为上游接口。
show multicast route extensive instance vpna group 224.1.1.1使用命令验证路由器 PE3 是否已为本地接收器安装以下组播转发条目:
user@PE3> show multicast route extensive instance
vpna group 224.1.1.1
Family: INET
Group: 224.1.1.1
Source: 192.168.1.2/32
Upstream interface: mt-1/2/0.49152
Downstream interface list:
so-0/2/0.0
Session description: ST Multicast Groups
Statistics: 1 kBps, 10 pps, 149 packets
Next-hop ID: 262144
Upstream protocol: MVPN
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: forever
Wrong incoming interface notifications: 0
由 RSVP-TE 发出信号的提供商隧道(包容性和选择性)
Junos OS 支持通过 RSVP-TE 点对多点标签交换路径 (LSP) 向包容性和选择性提供商隧道发送信令。您可以为每个 VPN 配置包容性和选择性提供商隧道的组合。
如果将 VPN 配置为使用包容性提供商隧道,发送方 PE 路由器会为 VPN 发出一个点对多点 LSP 信号。
如果将 VPN 配置为使用选择性提供商隧道,则发送方 PE 路由器会为配置的每个选择性隧道发出点对多点 LSP 信号。
发送方(入口)PE 路由器和接收方(出口)PE 路由器在点对多点 LSP 设置中扮演着不同的角色。发件方 PE 路由器主要负责启动父点对多点 LSP 以及与之关联的子 LSP。接收方 PE 路由器负责设置状态,以便可以将通过子 LSP 接收的数据包转发到正确的 VRF 表(将提供商隧道绑定到 VRF)。
- 包容性隧道: 入口 PE 路由器 点对多点 LSP 设置
- 包容性隧道: 出口 PE 路由器点对多点 LSP 设置
- 包容性隧道: 出口 PE 路由器数据平面设置
- 包容性隧道: 入口和分支机构 PE 路由器数据平面设置
- 选择性隧道:3 类 S-PMSI 自动发现和 4 类叶自动发现路由
包容性隧道: 入口 PE 路由器 点对多点 LSP 设置
点对多点 LSP 和关联的子 LSP 由入口 PE 路由器发出信号。有关点对多点 LSP 的信息通过 BGP 在 PMSI 属性中通告到出口 PE 路由器。
入口 PE 路由器通过向出口 PE 路由器发起点到多点 RSVP 路径消息,向点对多点子 LSP 发出信号。入口 PE 路由器从安装在其 <routing-instance-name>.mvpn.0 表中的 1 类路由中学习出口 PE 路由器的身份。每个 RSVP 路径消息都携带一个 S2L_Sub_LSP 对象以及点对多点会话对象。该 S2L_Sub_LSP 对象带有一个 4 字节子 LSP 目标(出口)IP 地址。
在 Junos OS 中,与点对多点 LSP 关联的子 LSP 可由系统自动或通过静态子 LSP 配置发出信号。当它们自动收到信号时,系统将使用以下命名约定为点对多点 LSP 以及与之关联的每个子 LSP 选择一个名称。
点对多点 LSP 命名约定:
每个 VRF 的唯一编号<入口 PE rid>:<a >:mvpn:<routing-instance-name>
子 LSP 命名约定:
<出口 PE rid>:<入口 PE rid>:<每个 VRF 唯一编号>:mvpn:<routing-instance-name>
show mpls lsp p2mp使用命令验证路由器 PE1 是否已创建以下 LSP:
父 P2MP LSP:10.1.1.1:65535:MVPN:VPNA
子 LSP:10.1.1.2:10.1.1.1:65535:mvpn:vpna(路由器 PE1 到路由器 PE2)和
10.1.1.3:10.1.1.1:65535:MVPN:VPNA(路由器 PE1 到路由器 PE3)
user@PE1> show mpls lsp p2mp Ingress LSP: 1 sessions P2MP name: 10.1.1.1:65535:mvpn:vpna, P2MP branch count: 2 To From State Rt P ActivePath LSPname 10.1.1.2 10.1.1.1 Up 0 * 10.1.1.2:10.1.1.1:65535:mvpn:vpna 10.1.1.3 10.1.1.1 Up 0 * 10.1.1.3:10.1.1.1:65535:mvpn:vpna Total 2 displayed, Up 2, Down 0 Egress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
此示例中的值如下所示:
I-PMSI P2MP LSP名称:10.1.1.1:65535:MVPN:VPNA
I-PMSI P2MP 子 LSP 名称(对 PE2):10.1.1.2:10.1.1.1:65535:mvpn:VPNA
I-PMSI P2MP 子 LSP 名称(至 PE3):10.1.1.3:10.1.1.1:65535:mvpn:VPNA
包容性隧道: 出口 PE 路由器点对多点 LSP 设置
出口 PE 路由器通过按照正常 RSVP 过程发起 RSVP 预留 (RESV) 消息来响应 RSVP 路径消息。RESV 消息包含出口 PE 路由器为此子 LSP 分配的 MPLS 标签,该标签将逐跳转发到入口 PE 路由器,从而在网络上设置状态。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show rsvp session使用命令验证路由器 PE2 是否已为子 LSP 10.1.1.2:10.1.1.1:65535:mvpn:vpna分配标签299840:
user@PE2> show rsvp session Total 0 displayed, Up 0, Down 0 Egress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 10.1.1.2 10.1.1.1 Up 0 1 SE 299840 - 10.1.1.2:10.1.1.1:65535:mvpn:vpna Total 1 displayed, Up 1, Down 0 Transit RSVP: 0 sessions Total 0 displayed, Up 0, Down 0
show mpls lsp p2mp使用命令验证路由器 PE3 是否已为子 LSP 10.1.1.3:10.1.1.1:65535:mvpn:vpna分配标签16:
user@PE3> show mpls lsp p2mp Ingress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Egress LSP: 1 sessions P2MP name: 10.1.1.1:65535:mvpn:vpna, P2MP branch count: 1 To From State Rt Style Labelin Labelout LSPname 10.1.1.3 10.1.1.1 Up 0 1 SE 16 - 10.1.1.3:10.1.1.1:65535:mvpn:vpna Total 1 displayed, Up 1, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
包容性隧道: 出口 PE 路由器数据平面设置
出口 PE 路由器在其 mpls 表中为其为子 LSP 分配的标签安装一个转发条目。MPLS 标签通过弹出操作安装(弹出操作删除顶部 MPLS 标签),并将数据包传递到 VRF 表以进行第二次路由查找。要使用正常的 C-PIM 过程在 VRF 表内处理 VPN 组播数据包,必须在出口 PE 路由器上进行第二次查找。
show route table mpls label 16使用命令验证路由器 PE3 是否已在其 MPLS 转转发表中安装了以下标签条目:
user@PE3> show route table mpls label 16
+ = Active Route, - = Last Active, * = Both
16 *[VPN/0] 03:03:17
to table vpna.inet.0, Pop
在 Junos OS 中,VPN 组播路由条目存储在 <routing-instance-name>.inet.1 表中,这是进行第二次路由查找的位置。在上面的示例中,即使 vpna.inet.0 被列为在弹出操作之后进行第二次查找的路由表,但在内部,查找是指向该 vpna.inet.1 表的。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show route table vpna.inet.1使用命令验证路由器 PE3 的 VPN 组播路由表中是否包含以下条目:
user@PE3> show route table vpna.inet.1
vpna.inet.1: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
224.1.1.1,192.168.1.2/32*[MVPN/70] 00:04:10
Multicast (IPv4)
show multicast route extensive instance vpna使用命令验证路由器 PE3 是否包含以下 VPN 组播转发条目,该条目与 Llocal 联接的组播路由条目相对应。上行接口指向lsi.0 接口,下行接口 (OIL) 指向接口so-0/2/0.0(朝向本地接收器)。该Upstream protocol值是因为MVPN可以通过新一代 MVPN 网络访问 VPN 组播源。该lsi.0 接口类似于使用基于 PIM 的提供商隧道时使用的组播隧道接口。该lsi.0接口用于删除顶部 MPLS 标头。
user@PE3> show multicast route extensive instance
vpna
Family: INET
Group: 224.1.1.1
Source: 192.168.1.2/32
Upstream interface: lsi.0
Downstream interface list:
so-0/2/0.0
Session description: ST Multicast Groups
Statistics: 1 kBps, 10 pps, 3472 packets
Next-hop ID: 262144
Upstream protocol: MVPN
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: forever
Wrong incoming interface notifications: 0
Family: INET6
当 RSVP-TE 发出提供商隧道信号时,要对 VPN 数据包标头进行双重路由查找的要求,则需要在出口 PE 路由器上添加两个配置语句。
首先,由于用于点对多点子 LSP 的顶级 MPLS 标签实际上与出口 PE 路由器上的 VRF 表相关联,因此倒数第二跳弹出 (PHP) 操作不用于下一代 MVPN。仅使用终极跳跃弹出。PHP 允许倒数第二个路由器(出口 PE 路由器之前的路由器)移除顶部的 MPLS 标签。PHP 适用于 VPN 单播数据包,因为它们通常带有两个 MPLS 标签:一个用于 VPN,一个用于传输 LSP。
移除 LSP 标签后,单播 VPN 数据包仍会有一个 VPN 标签,用于确定数据包所属的 VPN。另一方面,VPN 组播数据包仅携带一个与 VPN 直接关联的 MPLS 标签。因此,必须保留 VPN 组播数据包携带的 MPLS 标签,直到数据包到达出口 PE 路由器。通常,PHP必须通过手动配置来禁用。
为简化配置,当您在[edit routing-instances routing-interface-name interface]层次结构级别包含mvpn语句时,瞻博网络 PE 路由器上默认禁用 PHP。默认情况下,当您在[edit routing-instances routing-instance-name]层次结构级别包含语句时,vrf-table-labelPHP 也会被禁用。
其次,在 Junos OS 中,可以通过两种方式分配与 VRF 表关联的 VPN 标签。
为每个 VPN 下一跃点(PE-CE 接口)分配一个唯一标签。这是默认行为。
为整个 VRF 表分配一个标签,这需要额外的配置。只有为整个 VRF 表分配标签,才允许对 VPN 数据包的标头进行第二次查找。因此,支持新一代 MVPN 服务的 PE 路由器必须配置为为 VRF 表分配标签。有两种方法可以做到这一点,如 图 1 所示。
一种是在层级包含一个名为
vt[edit routing-instances routing-instance-name interfaces]的虚拟隧道接口,这需要隧道 PIC。第二种方法是在
[routing-instances routing-instance-name]层级包含vrf-table-label语句,这不需要隧道 PIC。
这两个选项都使出口 PE 路由器能够执行两次路由查找。但是,第二次查找的执行方式存在一些差异
如果使用接口,vt则分配的标签将安装在表中mpls,并带有指向接口vt的pop操作和转发下一跃点。
上启用双路由查找
show route table mpls label 299840 使用命令验证路由器 PE2 是否已安装以下条目并使用vt表中的mpls接口。与点对多点子 LSP (299840) 关联的标签安装时有弹出声和转发操作vt-0/1/0.0,接口为下一跃点。从核心收到的 VPN 组播数据包在没有 MPLS 标头的情况下退出vt-0/1/0.0接口,出口路由器 PE2 将对表中的数据包标头vpna.inet.1进行第二次查找。
user@PE2> show route table mpls label 299840
mpls.0: 9 destinations, 9 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
299840 *[VPN/0] 00:00:22
> via vt-0/1/0.0, Pop
如果配置了, vrf-table-label 则分配的标签将通过弹出操作安装在表中 mpls ,并且转发入口指向表 <routing-instance-name>.inet.0 (这会在内部触发要在表中 <routing-instance-name>.inet.1 完成的第二次查找)。
show route table mpls label 16使用命令验证路由器 PE3 是否已在其mpls表中安装以下条目并使用语vrf-table-label句:
user@PE3> show route table mpls label 16
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
16 *[VPN/0] 03:03:17
to table vpna.inet.0, Pop
为每个 VRF 表配置标签分配会影响单播 VPN 和 MVPN 路由。但是,仅当通过 vt配置每个 VRF 分配时,才能为 MVPN 路由启用每个 VRF 标签分配。此功能通过层 [edit routing-instances routing-instance-name interface vt-x/y/z.0] 级的组播和单播关键字进行配置。
请注意,包含该 vrf-table-label 语句可为单播和 MVPN 路由启用每个 VRF 标签分配,并且不能为任一类型的路由关闭(两者为打开或关闭)。
如果 PE 路由器是芽式路由器,这意味着它具有本地接收器,并且还会将通过点对多点 LSP 接收的 MPLS 数据包转发到下游的其他 P 和 PE 路由器,则 和 vt 语句的工作方式vrf-table-label会有所不同。当包含该语句时vrf-table-label,bud PE 路由器从倒数第二个路由器接收数据包的两个副本:一个转发到本地接收器,另一个转发到下游 P 和 PE 路由器。vt包含语句时,PE 路由器将接收数据包的单个副本。
包容性隧道: 入口和分支机构 PE 路由器数据平面设置
在入口 PE 路由器上,本地 VPN 数据包使用从网络接收的子 LSP 的 MPLS 标签进行封装。
show rsvp session使用命令验证在入口路由器 PE1 上,VPN 组播数据包是否使用 MPLS 标签300016封装(由路由器 P1 按照正常 RSVP RESV 程序播发),并通过子 LSP 10.1.1.3:10.1.1.1:65535:mvpn:vpna 和 10.1.1.2:10.1.1.1:65535:mvpn:vpna转发到路由器 P1。
user@PE1> show rsvp session Ingress RSVP: 2 sessions To From State Rt Style Labelin Labelout LSPname 10.1.1.3 10.1.1.1 Up 0 1 SE - 300016 10.1.1.3:10.1.1.1:65535:mvpn:vpna 10.1.1.2 10.1.1.1 Up 0 1 SE - 300016 10.1.1.2:10.1.1.1:65535:mvpn:vpna Total 2 displayed, Up 2, Down 0 Egress RSVP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit RSVP: 0 sessions Total 0 displayed, Up 0, Down 0
RFC 4875 将分支节点描述为“将传入数据复制到一个或多个传出接口的 LSR”。在分支路由器上,带有 MPLS 标签的传入数据将被复制到一个或多个可使用不同 MPLS 标签的传出接口上。分支节点跟踪与点对多点 LSP 关联的传入和传出标签。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show rsvp session使用命令验证分支节点 P1 是否具有子 LSP 10.1.1.3:10.1.1.1:65535:mvpn:vpna (到路由器 PE3)和299840子 LSP 10.1.1.2:10.1.1.1:65535:mvpn:vpna (到路由器 PE2)的传入标签300016和传出标签16。
user@P1> show rsvp session Ingress RSVP: 0 sessions Total 0 displayed, Up 0, Down 0 Egress RSVP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit RSVP: 2 sessions To From State Rt Style Labelin Labelout LSPname 10.1.1.3 10.1.1.1 Up 0 1 SE 300016 16 10.1.1.3:10.1.1.1:65535:mvpn:vpna 10.1.1.2 10.1.1.1 Up 0 1 SE 300016 299840 10.1.1.2:10.1.1.1:65535:mvpn:vpna Total 2 displayed, Up 2, Down 0
show route table mpls label 300016使用命令验证路由器 P1 上的相应转发条目是否显示,使用一个 MPLS 标签 (300016) 进入的数据包已与标签16交换,并通过299840各自的接口转发出去(so-0/0/3.0并so-0/0/1.0分别转发到路由器 PE2 和路由器 PE3)。
user@P1> show route table mpls label 300016
mpls.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
300016 *[RSVP/7] 01:58:15, metric 1
> via so-0/0/3.0, Swap 16
via so-0/0/1.0, Swap 299840
选择性隧道:3 类 S-PMSI 自动发现和 4 类叶自动发现路由
选择性提供程序隧道是通过在[edit routing-instances routing-instance-name provider-tunnel]层次结构级别包含selective语句来配置的。您可以配置阈值来触发选择性提供商隧道的信令。包含语selective句将触发以下事件。
首先,入口 PE 路由器发起 3 类 S-PMSI 自动发现路由。S-PMSI 自动发现路由包含配置隧道的 VPN 的路由识别符以及使用选择性提供商隧道的 (C-S, C-G) 对。
在本节中,假设路由器 PE1 正在为 (192.168.1.2, 224.1.1.1) 发出选择性隧道信号,并且路由器 PE3 有一个活动接收器。
show route table vpna.mvpn.0 | find 3:在配置选择性提供商隧道后,使用命令验证路由器 PE1 是否已安装以下 3 类路由:
user@PE1> show route table vpna.mvpn.0 | find
3:
3:10.1.1.1:1:32:192.168.1.2:32:224.1.1.1:10.1.1.1/240
*[MVPN/70] 00:05:07, metric2 1
Indirect
其次,入口 PE 路由器将 PMSI 属性附加到 3 类路由。此 PMSI 属性类似于为包含性提供商隧道通告的 PMSI 属性,但有一个区别:随类型 3 路由携带的 PMSI 属性的 Flags 位设置为 Leaf Information Required。这意味着,如果发送方 PE 路由器具有 3 类路由中携带的 (C-S, C-G) 的活动接收方,则发送方 PE 路由器正在请求接收方 PE 路由器发送 4 类路由。另外,请记住,对于每个选择性提供商隧道,都会发出一个新的点对多点和关联的子 LSP 信号。3 类路由的 PMSI 属性携带有关新的点对多点 LSP 的信息。
show route advertising-protocol bgp 10.1.1.3 detail table vpna.mvpn | find 3:使用命令验证路由器 PE1 是否播发以下 3 类路由和PMSI属性。属性中包含PMSI的点到多点会话对象的端口号 () 与用于包含隧道 () 的端口号 (294996574) 不同,表示这是一条新的点到多点隧道。
user@PE1> show route advertising-protocol bgp
10.1.1.3 detail table vpna.mvpn | find 3:
* 3:10.1.1.1:1:32:192.168.1.2:32:224.1.1.1:10.1.1.1/240 (1 entry, 1 announced)
BGP group int type Internal
Route Distinguisher: 10.1.1.1:1
Nexthop: Self
Flags: Nexthop Change
Localpref: 100
AS path: [65000] I
Communities: target:10:1
PMSI: Flags 1:RSVP-TE:label[0:0:0]:Session_13[10.1.1.1:0:29499:10.1.1.1]
具有活动接收器的出口 PE 路由器应通过发起 4 类叶自动发现路由来响应 3 类路由。叶自动发现路由包含路由密钥和始发路由器的 IP 地址字段。 Route Key 叶自动发现路由的字段包含接收的原始 3 类路由。始发路由器的 IP 地址字段设置为始发叶自动发现路由的 PE 路由器的路由器 ID。
入口 PE 路由器将源自叶自动发现路由的每个出口 PE 路由器添加为叶(选择性点到多点 LSP 的子 LSP 的目标)。同样,发起叶自动发现路由的出口 PE 路由器会设置转发状态,以开始通过选择性提供商隧道接收数据。
出口 PE 路由器使用特定于 PE 路由器的路由目标通告 4 类路由,向选择性提供商隧道发出信号。此路由目标采用 target:<摆脱发送方 PE>:0 的形式。发送方 PE 路由器(向选择性提供商隧道发出信号的 PE 路由器)会对 Type 4 路由应用特殊的内部导入策略,用于查找具有自己路由器 ID 的路由目标。 了解新一代 MVPN 网络拓扑中显示了本主题中引用的路由器。
show route table vpna.mvpn | find 4:3:使用命令验证路由器 PE3 是否源自以下 4 类路由。本地 4 类路由由 MVPN 模块安装。
user@PE3> show route table vpna.mvpn | find
4:3:
4:3:10.1.1.1:1:32:192.168.1.2:32:224.1.1.1:10.1.1.1:1.1.1.3/240
*[MVPN/70] 00:15:29, metric2 1
Indirect
show route advertising-protocol bgp 10.1.1.1 table vpna.mvpn detail | find 4:3:使用命令验证路由器 PE3 是否已通过以下路由目标社区播发本地 4 类路由。此路由目标带有发送方 PE 路由器 (10.1.1.1) 的 IP 地址,后跟 0。
user@PE3> show route advertising-protocol bgp
10.1.1.1 table vpna.mvpn detail | find 4:3:
* 4:3:10.1.1.1:1:32:192.168.1.2:32:224.1.1.1:10.1.1.1:10.1.1.3/240 (1 entry, 1 announced)
BGP group int type Internal
Nexthop: Self
Flags: Nexthop Change
Localpref: 100
AS path: [65000] I
Communities: target:10.1.1.1:0
show policy __vrf-mvpn-import-cmcast-leafAD-global-internal__使用命令验证路由器 PE1(向选择性提供商隧道发出信号的 PE 路由器)是否已将以下导入策略应用于类型 4 路由。如果路由目标与 target:10.1.1.1:0匹配,则接受路由。
user@PE1> show policy __vrf-mvpn-import-cmcast-leafAD-global-internal__ Policy __vrf-mvpn-import-cmcast-leafAD-global-internal__: Term unnamed: from community __vrf-mvpn-community-rt_import-target-global-internal__ [target:10.1.1.1:0 ] then accept Term unnamed: then reject
对于配置的每个选择性提供商隧道,系统会通告一个 3 类路由,并发出一个新的点对多点 LSP 信号。Junos OS 为选择性提供商隧道创建的点到多点 LSP 使用以下命名约定进行命名:
选择性点到多点 LSP 命名约定:
每个 VRF 的唯一编号<入口 PE rid>:<a 唯一编号>:mv<唯一编号>:<routing-instance-name>
选择性点到多点子 LSP 命名约定:
每个 VRF <出口 PE rid>:<入口 PE rid>:<a unique>:mv<a unique number>:<routing-instance-name>
show mpls lsp p2mp使用命令验证路由器 PE1 是否通过一个子 LSP 10.1.1.3:10.1.1.1:65535:mv5:vpna发出点对多点 LSP 10.1.1.1:65535:mv5:vpna 信号。第一个点对多点 LSP 10.1.1.1:65535:mvpn:vpna 是为包容性隧道创建的 LSP。
user@PE1> show mpls lsp p2mp Ingress LSP: 2 sessions P2MP name: 10.1.1.1:65535:mvpn:vpna, P2MP branch count: 2 To From State Rt P ActivePath LSPname 10.1.1.3 10.1.1.1 Up 0 * 10.1.1.3:10.1.1.1:65535:mvpn :vpna 10.1.1.2 10.1.1.1 Up 0 * 10.1.1.2:10.1.1.1:65535:mvpn :vpna P2MP name: 10.1.1.1:65535:mv5:vpna, P2MP branch count: 1 To From State Rt P ActivePath LSPname 10.1.1.3 10.1.1.1 Up 0 * 10.1.1.3:10.1.1.1:65535:mv5 :vpna Total 3 displayed, Up 3, Down 0 Egress LSP: 0 sessions Total 0 displayed, Up 0, Down 0 Transit LSP: 0 sessions Total 0 displayed, Up 0, Down 0
此示例中的值如下所示。
I-PMSI P2MP LSP名称:10.1.1.1:65535:MVPN:VPNA
I-PMSI P2MP 子 LSP 名称(对 PE2):10.1.1.2:10.1.1.1:65535:mvpn:VPNA
I-PMSI P2MP 子 LSP 名称(至 PE3):10.1.1.3:10.1.1.1:65535:mvpn:VPNA
S-PMSI P2MP LSP名称:10.1.1.1:65535:MV5:VPNA
S-PMSI P2MP 子 LSP 名称(至 PE3):10.1.1.3:10.1.1.1:65535:mv5:vpna