示例:为 PIM 配置不间断活动路由
了解 PIM 的不间断活动路由
不间断活动路由 配置包括两个共享信息的路由引擎,以便在路由引擎故障切换期间路由不会中断。在双路由引擎平台上配置不间断活动路由时,将在两个路由引擎上复制 PIM 控制状态。
此 PIM 状态信息包括:
邻居关系
联接和修剪信息
RP 集信息
路由和下一跃点之间的同步以及两个路由引擎之间的转发状态
通过将状态信息从主路由引擎复制到备份路由引擎,并让备份路由引擎对主路由引擎上 [instance].inet.1 路由表中的路由安装和修改做出反应,PIM 控制状态在备份路由引擎上得到维护。备份路由引擎不直接发送或接收 PIM 协议数据包。此外,备份路由引擎使用主路由引擎创建的动态接口。这些动态接口包括 PIM 封装、解封装和组播隧道接口。
启用不间断活动路由时,备份路由引擎不支持清除 pim 联接、清除 pim 寄存器和清除 pim 统计信息操作模式命令。
要为 PIM 启用不间断活动路由(除了主路由引擎上的 PIM 配置),必须在 [edit] 层次结构级别包含以下语句:
机箱冗余平滑切换
路由选项不间断路由
系统提交同步
示例:使用 PIM 配置不间断活动路由
此示例说明如何为基于 PIM 的组播 IPv4 和 IPv6 流量配置不间断活动路由。
要求
概述
Junos OS 在以下 PIM 方案中支持不间断活动路由:
密集模式
稀疏模式
SSM
静态 RP
自动 RP(仅适用于 IPv4)
引导路由器
非 RP 路由器上的嵌入式 RP(仅适用于 IPv6)
BFD 支持
起草 Rosen 组播 VPN 和 BGP 组播 VPN(使用层次结构级别的选项
[edit protocols bgp]
,在advertise-from-main-vpn-tables
主路由引擎和备份路由引擎之间同步 MVPN 路由、cmcast、提供商隧道和转发信息)。策略功能,如邻居策略、引导路由器导出和导入策略、范围策略、流程图和反向路径转发 (RPF) 检查策略
在 Junos OS 13.3 版中,不间断活动路由不支持组播 VPN。不间断活动路由不支持基于策略的功能(如邻居策略、加入策略、BSR 策略、范围策略、流映射和 RPF 检查策略)。
此示例使用静态 RP。接口配置为同时接收 IPv4 和 IPv6 流量。R2 提供 RP 服务作为本地 RP。请注意,RP 路由器不支持不间断活动路由。此示例中显示的配置在 R1 上。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
R1
set system syslog archive size 10m set system syslog file messages any info set system commit synchronize set chassis redundancy graceful-switchover set interfaces traceoptions file dcd-trace set interfaces traceoptions file size 10m set interfaces traceoptions file files 10 set interfaces traceoptions flag all set interfaces so-0/0/1 unit 0 description "to R0 so-0/0/1.0" set interfaces so-0/0/1 unit 0 family inet address 10.210.1.2/30 set interfaces so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 set interfaces fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" set interfaces fe-0/1/3 unit 0 family inet address 10.210.12.1/30 set interfaces fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 set interfaces fe-1/1/0 unit 0 description "to H1" set interfaces fe-1/1/0 unit 0 family inet address 10.240.0.250/30 set interfaces fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 set interfaces lo0 unit 0 description "R1 Loopback" set interfaces lo0 unit 0 family inet address 10.210.255.201/32 primary set interfaces lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 set interfaces lo0 unit 0 family inet6 address abcd::10:210:255:201/128 set protocols ospf traceoptions file r1-nsr-ospf2 set protocols ospf traceoptions file size 10m set protocols ospf traceoptions file files 10 set protocols ospf traceoptions file world-readable set protocols ospf traceoptions flag error set protocols ospf traceoptions flag lsa-update detail set protocols ospf traceoptions flag flooding detail set protocols ospf traceoptions flag lsa-request detail set protocols ospf traceoptions flag state detail set protocols ospf traceoptions flag event detail set protocols ospf traceoptions flag hello detail set protocols ospf traceoptions flag nsr-synchronization detail set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface so-0/0/1.0 metric 100 set protocols ospf area 0.0.0.0 interface fe-0/1/3.0 metric 100 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface fxp0.0 disable set protocols ospf area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 traceoptions file r1-nsr-ospf3 set protocols ospf3 traceoptions file size 10m set protocols ospf3 traceoptions file world-readable set protocols ospf3 traceoptions flag lsa-update detail set protocols ospf3 traceoptions flag flooding detail set protocols ospf3 traceoptions flag lsa-request detail set protocols ospf3 traceoptions flag state detail set protocols ospf3 traceoptions flag event detail set protocols ospf3 traceoptions flag hello detail set protocols ospf3 traceoptions flag nsr-synchronization detail set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 passive set protocols ospf3 area 0.0.0.0 interface fe-1/1/0.0 metric 1 set protocols ospf3 area 0.0.0.0 interface lo0.0 passive set protocols ospf3 area 0.0.0.0 interface so-0/0/1.0 metric 1 set protocols ospf3 area 0.0.0.0 interface fe-0/1/3.0 metric 1 set protocols pim traceoptions file r1-nsr-pim set protocols pim traceoptions file size 10m set protocols pim traceoptions file files 10 set protocols pim traceoptions file world-readable set protocols pim traceoptions flag mdt detail set protocols pim traceoptions flag rp detail set protocols pim traceoptions flag register detail set protocols pim traceoptions flag packets detail set protocols pim traceoptions flag autorp detail set protocols pim traceoptions flag join detail set protocols pim traceoptions flag hello detail set protocols pim traceoptions flag assert detail set protocols pim traceoptions flag normal detail set protocols pim traceoptions flag state detail set protocols pim traceoptions flag nsr-synchronization set protocols pim rp static address 10.210.255.202 set protocols pim rp static address abcd::10:210:255:202 set protocols pim interface lo0.0 set protocols pim interface fe-0/1/3.0 mode sparse set protocols pim interface fe-0/1/3.0 version 2 set protocols pim interface so-0/0/1.0 mode sparse set protocols pim interface so-0/0/1.0 version 2 set protocols pim interface fe-1/1/0.0 mode sparse set protocols pim interface fe-1/1/0.0 version 2 set policy-options policy-statement load-balance then load-balance per-packet set routing-options nonstop-routing set routing-options router-id 10.210.255.201 set routing-options forwarding-table export load-balance set routing-options forwarding-table traceoptions file r1-nsr-krt set routing-options forwarding-table traceoptions file size 10m set routing-options forwarding-table traceoptions file world-readable set routing-options forwarding-table traceoptions flag queue set routing-options forwarding-table traceoptions flag route set routing-options forwarding-table traceoptions flag routes set routing-options forwarding-table traceoptions flag synchronous set routing-options forwarding-table traceoptions flag state set routing-options forwarding-table traceoptions flag asynchronous set routing-options forwarding-table traceoptions flag consistency-checking set routing-options traceoptions file r1-nsr-sync set routing-options traceoptions file size 10m set routing-options traceoptions flag nsr-synchronization set routing-options traceoptions flag commit-synchronize
程序
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要在 R1 上配置不间断活动路由:
同步路由引擎。
[edit] user@host# edit system [edit system] user@host# set commit synchronize user@host# exit
启用平稳路由引擎切换。
[edit] user@host# set chassis redundancy graceful-switchover
配置 R1 的接口。
[edit] user@host# edit interfaces [edit interfaces] user@host# set so-0/0/1 unit 0 description "to R0 so-0/0/1.0" user@host# set so-0/0/1 unit 0 family inet address 10.210.1.2/30 user@host# set so-0/0/1 unit 0 family inet6 address FDCA:9E34:50CE:0001::2/126 user@host# set fe-0/1/3 unit 0 description "to R2 fe-0/1/3.0" user@host# set fe-0/1/3 unit 0 family inet address 10.210.12.1/30 user@host# set fe-0/1/3 unit 0 family inet6 address FDCA:9E34:50CE:0012::1/126 user@host# set fe-1/1/0 unit 0 description "to H1" user@host# set fe-1/1/0 unit 0 family inet address 10.240.0.250/30 user@host# set fe-1/1/0 unit 0 family inet6 address ::10.240.0.250/126 user@host# set lo0 unit 0 description "R1 Loopback" user@host# set lo0 unit 0 family inet address 10.210.255.201/32 primary user@host# set lo0 unit 0 family iso address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00 user@host# set lo0 unit 0 family inet6 address abcd::10:210:255:201/128 user@host# exit
在 R1 上为 IPv4 配置 OSPF。
[edit] user@host# edit protocols ospf [edit protocols ospf] user@host# set traffic-engineering user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 100 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 100 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface fxp0.0 disable user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive
在 R1 上为 IPv6 配置 OSPF。
[edit] user@host# edit protocols ospf3 [edit protocols ospf3] user@host# set area 0.0.0.0 interface fe-1/1/0.0 passive user@host# set area 0.0.0.0 interface fe-1/1/0.0 metric 1 user@host# set area 0.0.0.0 interface lo0.0 passive user@host# set area 0.0.0.0 interface so-0/0/1.0 metric 1 user@host# set area 0.0.0.0 interface fe-0/1/3.0 metric 1
在 R1 上配置 PIM。PIM 静态地址指向 RP 路由器 (R2)。
[edit] user@host# edit [edit protocols pim] user@host# set protocols pim rpstatic address 10.210.255.202 user@host# set protocols pim rp static address abcd::10:210:255:202 user@host# set protocols pim interface (Protocols PIM) lo0.0 user@host# set protocols pim interface fe-0/1/3.0 mode sparse user@host# set protocols pim interface fe-0/1/3.0 version 2 user@host# set protocols pim interface so-0/0/1.0 mode sparse user@host# set protocols pim interface so-0/0/1.0 version 2 user@host# set protocols pim interface fe-1/1/0.0 mode sparse user@host# set protocols pim interface fe-1/1/0.0 version 2
在 R1 上配置按数据包的负载均衡。
[edit] user@host# edit policy-options policy-statement load-balance [edit policy-options policy-statement load-balance] user@host# set then load-balance per-packet
在 R1 上应用负载平衡策略。
[edit] user@host# set routing-options forwarding-table export load-balance
在 R1 上配置不间断路由。
[edit] user@host# set routing-options nonstop-routing user@host# set routing-options router-id 10.210.255.201
分步过程
要进行故障排除,请配置系统日志和跟踪操作。
启用系统日志消息。
[edit] user@host# set system syslog archive size 10m user@host# set system syslog file messages any info
跟踪接口操作。
[edit] user@host# set interfaces traceoptions file dcd-trace user@host# set interfaces traceoptions file size 10m user@host# set interfaces traceoptions file files 10 user@host# set interfaces traceoptions flag all
跟踪 IPv4 的 IGP 操作。
[edit] user@host# set protocols ospf traceoptions file r1-nsr-ospf2 user@host# set protocols ospf traceoptions file size 10m user@host# set protocols ospf traceoptions file files 10 user@host# set protocols ospf traceoptions file world-readable user@host# set protocols ospf traceoptions flag error user@host# set protocols ospf traceoptions flag lsa-update detail user@host# set protocols ospf traceoptions flag flooding detail user@host# set protocols ospf traceoptions flag lsa-request detail user@host# set protocols ospf traceoptions flag state detail user@host# set protocols ospf traceoptions flag event detail user@host# set protocols ospf traceoptions flag hello detail user@host# set protocols ospf traceoptions flag nsr-synchronization detail
跟踪 IPv6 的 IGP 操作。
[edit] user@host# set protocols ospf3 traceoptions file r1-nsr-ospf3 user@host# set protocols ospf3 traceoptions file size 10m user@host# set protocols ospf3 traceoptions file world-readable user@host# set protocols ospf3 traceoptions flag lsa-update detail user@host# set protocols ospf3 traceoptions flag flooding detail user@host# set protocols ospf3 traceoptions flag lsa-request detail user@host# set protocols ospf3 traceoptions flag state detail user@host# set protocols ospf3 traceoptions flag event detail user@host# set protocols ospf3 traceoptions flag hello detail user@host# set protocols ospf3 traceoptions flag nsr-synchronization detail
跟踪 PIM 操作。
[edit] user@host# set protocols pim traceoptions file r1-nsr-pim user@host# set protocols pim traceoptions file size 10m user@host# set protocols pim traceoptions file files 10 user@host# set protocols pim traceoptions file world-readable user@host# set protocols pim traceoptions flag mdt detail user@host# set protocols pim traceoptions flag rp detail user@host# set protocols pim traceoptions flag register detail user@host# set protocols pim traceoptions flag packets detail user@host# set protocols pim traceoptions flag autorp detail user@host# set protocols pim traceoptions flag join detail user@host# set protocols pim traceoptions flag hello detail user@host# set protocols pim traceoptions flag assert detail user@host# set protocols pim traceoptions flag normal detail user@host# set protocols pim traceoptions flag state detail user@host# set protocols pim traceoptions flag nsr-synchronization
跟踪所有路由协议功能。
[edit] user@host# set routing-options traceoptions file r1-nsr-sync user@host# set routing-options traceoptions file size 10m user@host# set routing-options traceoptions flag nsr-synchronization user@host# set routing-options traceoptions flag commit-synchronize
跟踪转发表操作。
[edit] user@host# set routing-options forwarding-table traceoptions file r1-nsr-krt user@host# set routing-options forwarding-table traceoptions file size 10m user@host# set routing-options forwarding-table traceoptions file world-readable user@host# set routing-options forwarding-table traceoptions flag queue user@host# set routing-options forwarding-table traceoptions flag route user@host# set routing-options forwarding-table traceoptions flag routes user@host# set routing-options forwarding-table traceoptions flag synchronous user@host# set routing-options forwarding-table traceoptions flag state user@host# set routing-options forwarding-table traceoptions flag asynchronous user@host# set routing-options forwarding-table traceoptions flag consistency-checking
如果完成设备配置,请提交配置。
[edit] user@host# commit
结果
在配置模式下,输入 显示机箱、 显示接口、 显示策略选项、 显示协议、 显示路由选项和 显示系统 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明以进行更正。
user@host# show chassis redundancy { graceful-switchover; }
user@host# show interfaces traceoptions { file dcd-trace size 10m files 10; flag all; } so-0/0/1 { unit 0 { description "to R0 so-0/0/1.0"; family inet { address 10.210.1.2/30; } family inet6 { address FDCA:9E34:50CE:0001::2/126; } } } fe-0/1/3 { unit 0 { description "to R2 fe-0/1/3.0"; family inet { address 10.210.12.1/30; } family inet6 { address FDCA:9E34:50CE:0012::1/126; } } } fe-1/1/0 { unit 0 { description "to H1"; family inet { address 10.240.0.250/30; } family inet6 { address ::10.240.0.250/126; } } } lo0 { unit 0 { description "R1 Loopback"; family inet { address 10.210.255.201/32 { primary; } } family iso { address 47.0005.80ff.f800.0000.0108.0001.0102.1025.5201.00; } family inet6 { address abcd::10:210:255:201/128; } } }
user@host# show policy-options policy-statement load-balance { then { load-balance per-packet; } }
user@host# show protocols ospf { traceoptions { file r1-nsr-ospf2 size 10m files 10 world-readable; flag error; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } traffic-engineering; area 0.0.0.0 { interface so-0/0/1.0 { metric 100; } interface fe-0/1/3.0 { metric 100; } interface lo0.0 { passive; } interface fxp0.0 { disable; } interface fe-1/1/0.0 { passive; } } } ospf3 { traceoptions { file r1-nsr-ospf3 size 10m world-readable; flag lsa-update detail; flag flooding detail; flag lsa-request detail; flag state detail; flag event detail; flag hello detail; flag nsr-synchronization detail; } area 0.0.0.0 { interface fe-1/1/0.0 { passive; metric 1; } interface lo0.0 { passive; } interface so-0/0/1.0 { metric 1; } interface fe-0/1/3.0 { metric 1; } } } pim { traceoptions { file r1-nsr-pim size 10m files 10 world-readable; flag mdt detail; flag rp detail; flag register detail; flag packets detail; flag autorp detail; flag join detail; flag hello detail; flag assert detail; flag normal detail; flag state detail; flag nsr-synchronization; } rp { static { address 10.210.255.202; address abcd::10:210:255:202; } } interface lo0.0; interface fe-0/1/3.0 { mode sparse; version 2; } interface so-0/0/1.0 { mode sparse; version 2; } interface fe-1/1/0.0 { mode sparse; version 2; } }
user@host# show routing-options traceoptions { file r1-nsr-sync size 10m; flag nsr-synchronization; flag commit-synchronize; } nonstop-routing; router-id 10.210.255.201; forwarding-table { traceoptions { file r1-nsr-krt size 10m world-readable; flag queue; flag route; flag routes; flag synchronous; flag state; flag asynchronous; flag consistency-checking; } export load-balance; }
user@host# show system syslog { archive size 10m; file messages { any info; } } commit synchronize;
验证
要验证配置,请运行以下命令:
显示 PIM 加入广泛
显示 PIM 邻居 Inet 详细信息
显示 PIM 邻居 inet6 详细信息
显示 pim rps inet 详细信息
显示 PIM RPS INET6 详细信息
显示组播路由 inet 广泛
显示组播路由 INET6 广泛
显示路由表 inet.1 详细信息
显示路由表 inet6.1 详细信息
配置 PIM 稀疏模式平稳重启
可以将 PIM 稀疏模式配置为在路由进程失败和重新启动期间继续转发现有组播数据包流。只能通过这种方式配置 PIM 稀疏模式。在平稳重启期间,路由平台不会转发 PIM 以外协议的组播数据包,因为所有其他组播协议必须在路由进程失败后重新启动。如果配置 PIM 稀疏-密集模式,则只有稀疏多播组才能从平稳重启中受益。
在重新启动完成之前,路由平台不会转发新流。重新启动后,路由平台将使用在重新启动期间从邻接方收到的任何更新刷新转发状态。例如,路由平台在重新启动期间重新学习邻居的加入和修剪状态,但在重新启动之前不会将更改应用到转发表。
启用 PIM 稀疏模式后,路由平台将生成一个唯一的 32 位随机数,称为生成标识符。默认情况下,生成标识符包含在 PIM 你好消息中,如 Internet 草稿draft-ietf-pim-sm-v2-new-10.txt中指定的那样。当路由平台在点对点接口上收到包含生成标识符的 PIM 你好消息时,Junos OS 会激活优化平稳重启的算法。
在 PIM 稀疏模式平稳重新启动之前,每个路由平台都会创建一个生成标识符并将其发送到其组播邻居。如果具有 PIM 稀疏模式的路由平台重新启动,它将创建新的生成标识符并将其发送到邻接方。当邻接方收到新标识符时,它会将组播更新重新发送到重新启动的路由器,以使其能够有效地退出正常重新启动。当重新启动持续时间计时器过期时,重新启动阶段完成。
可以通过两种方式中断组播转发。首先,如果底层路由协议不稳定,组播 RPF 检查可能会失败并导致中断。其次,由于转发表在平稳重启期间不会更新,因此在完成平稳重启之前,不会转发新的组播流。
您可以全局配置平稳重启,也可以为路由实例配置平稳重启。此示例说明如何全局配置平稳重启。
若要为 PIM 稀疏模式配置平稳重启,请执行以下操作:
参见
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。