基于 HCIE-Datacom V1.0 培训教材
课程目标
学完本章后,你将能够:
- 描述 OSPF 和 IS-IS 的各种快速收敛技术
- 描述 OSPF 和 IS-IS 的 GR 和 NSR 原理
第一部分:OSPF 快速收敛
1.1 快速收敛概述
OSPF 快速收敛技术包括以下四个方向:
| |
|---|
| PRC | |
| 智能定时器 | 动态调整 LSA 生成、接收和 SPF 计算的时间间隔 |
| OSPF IP FRR | |
| BFD 联动 | |
1.2 PRC(Partial Route Calculation,部分路由计算)
工作原理:
- 当网络上路由发生变化时,只对发生变化的路由进行重新计算
- PRC 不重新计算节点路径(SPF 树保持不变),只在发生变化的节点上新增或删除"叶子"
核心区别:
场景举例:
R5 的 Loopback0 新加入 OSPF → R5 泛洪 LSA → R1 收到后只新增叶子(继承原有去往 R5 的下一跳),SPF 树不变 → 路由计算加快
⚠️ 华为设备上,OSPF 的 PRC 默认开启。
1.3 智能定时器
智能定时器的作用: 在快速响应突发事件的同时,避免过度占用 CPU。
控制 LSA 的生成(originate)
ounter(line[Huawei-ospf-1] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } }
默认值:
计算公式: 第 n(n≥2)次间隔 = hold-interval × 2^(n-2),达到 max-interval 后连续触发 3 次,再回到 start-interval。
控制 LSA 的接收(arrival)
ounter(line[Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }
默认值:max=1000ms,start=500ms,hold=500ms
控制 SPF 路由计算间隔
ounter(line[Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }
默认值:max=10000ms,start=500ms,hold=1000ms
1.4 OSPF IP FRR(Fast ReRoute)
原理:
- 利用 LFA(Loop-Free Alternates)算法,预先计算出备份路径并保存在转发表中
- 故障时自动将流量切换到备份链路,切换时间 < 50ms
保护类型
| | |
|---|
| 链路保护 | Distance_opt(N,D) < Distance_opt(N,S) + Distance_opt(S,D) | |
| 节点链路双保护 | | |
- S = 源节点,D = 目的节点,N = 备份链路节点,E = 故障节点
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 使能 FRR[Huawei-ospf-1] frr[Huawei-ospf-1-frr] loop-free-alternate# 阻止某接口被选为备份链路节点[Huawei-GigabitEthernet0/0/1] ospf frr block
1.5 OSPF 与 BFD 联动
背景: OSPF 通过 Dead Timer 判断邻居失效(默认 40 秒),响应太慢,无法满足电信级可靠性需求。
BFD 联动原理:
- OSPF 邻居达到 Full 状态时通知 BFD 建立会话
- 链路故障时,BFD 毫秒级感知,立即通知 OSPF
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 在 OSPF 进程下全局使能 BFD[Huawei-ospf-1] bfd all-interfaces enable[Huawei-ospf-1] bfd all-interfaces min-rx-interval 300 min-tx-interval 300 detect-multiplier 3# 在指定接口下使能 BFD(接口配置优先级高于进程配置)[Huawei-GigabitEthernet0/0/1] ospf bfd enable
注意: 使用 BFD 前需先在系统视图执行 bfd 命令使能全局 BFD。
frr-binding:将 BFD 会话与接口链路状态绑定,BFD Down 时触发接口 Down,从而触发 FRR 切换。
第二部分:OSPF 路由控制
2.1 路由控制概览
OSPF 路由控制涵盖以下方面:
2.2 等价路由
定义: 到达相同目的地、相同路由协议、开销相同的多条路由 → 可以做负载分担。
ounter(lineounter(line# 设置负载分担的等价路由最大条数[Huawei-ospf-1] maximum load-balancing number
2.3 缺省路由通告
不同区域类型的缺省路由发布机制
| | | |
|---|
| | | 路由表存在非 OSPF 缺省路由(或配置 always) |
| | | |
| | | |
| | | |
| | | |
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 在普通 OSPF 区域发布缺省路由[Huawei-ospf-1] default-route-advertise [ always | permit-calculate-other ] [cost cost] [type 1|2]# 关键参数说明:# always:无论是否有激活的缺省路由,都产生并发布(且不再计算其他设备的缺省路由)# permit-calculate-other:需要有激活路由,但仍计算其他设备的缺省路由# type 1/2:外部路由类型,缺省为 2
2.4 过滤 LSA
对接口出方向 LSA 过滤
ounter(lineounter(line# 在指定接口上过滤出方向 LSA(减少邻居 LSDB 大小,加快收敛)[Huawei-GigabitEthernet0/0/1] ospf filter-lsa-out { all | summary [acl ...] | ase [acl ...] | nssa [acl ...] }
对 ABR Type3 LSA 过滤(区域内出/入方向)
ounter(lineounter(lineounter(lineounter(lineounter(line# 过滤 ABR 向区域内发送的 Type3 LSA(出方向)[Huawei-ospf-1-area-0.0.0.1] filter { acl | ip-prefix | route-policy } export# 过滤 ABR 从区域外接收的 Type3 LSA(入方向)[Huawei-ospf-1-area-0.0.0.1] filter { acl | ip-prefix | route-policy } import
2.5 OSPF Database Overflow
问题: 外部路由数量不断增加,某些路由器资源耗尽,无法再处理路由信息。
解决方案: 设置 LSDB 中 External LSA 的最大条目数
ounter(line[Huawei-ospf-1] lsdb-overflow-limit number # 1~1000000
Overflow 状态机:
- 外部路由超过上限 → 进入 Overflow 状态(不产生/丢弃非缺省外部路由),启动定时器(默认 5s)
2.6 路由控制综合案例(财务部/市场部)
典型需求:
- 控制流量出口 → 使用 Type2 外部路由(忽略内部开销),通过设置不同 Cost 实现出口优选
- 控制内部路径 → 调整接口 OSPF 开销,使流量按规划路径转发
核心思路:
- Type2 外部路由:Cost = ASBR 到目的地的开销(不叠加 AS 内部开销)
- 通过 route-policy 对引入的静态路由设置不同 cost,实现主备出口
第三部分:OSPF 其他特性
3.1 OSPF 多进程
特点:
- 同一台路由器上可运行多个独立的 OSPF 进程,互不影响
典型应用:VPN 场景
ounter(lineounter(line[PE] ospf 100 vpn-instance VPN1[PE] ospf 200 vpn-instance VPN2
3.2 OSPF 与 BGP 联动(Stub Router)
问题背景: 设备重启时,IGP 收敛速度 > BGP 收敛速度 → 在 BGP 收敛完成前,流量转发到刚恢复的设备,但该设备 BGP 路由表为空,导致流量丢失。
解决方案:Stub Router
ounter(line[Huawei-ospf-1] stub-router [ on-startup [ interval ] ]
工作原理: 设备在 BGP 收敛期间,将自己发布的 LSA 中的链路度量值设为最大(65535),告知其他 OSPF 设备不要通过此路由器转发流量,直到 BGP 收敛完成。
- 不配置
on-startup:设备始终为 Stub 路由器 - 配置
on-startup:设备仅在重启或故障时保持 Stub 状态,默认 500 秒
3.3 OSPF 转发地址(FA,Forwarding Address)
定义: Type5 LSA 和 Type7 LSA 中包含的特殊字段,指定到达目的网段数据包应被转发到的地址。
- FA ≠ 0.0.0.0:数据包转发到 FA 指向的设备(解决次优路径问题)
FA 被设置为非零的条件(必须同时满足)
- 该接口 OSPF 网络类型为 Broadcast 或 NBMA
- 该接口 IP 地址在
network 命令指定的网段内
次优路径场景
ounter(lineR1(外部)— R2/R3(ASBR,同网段)— OSPF 域内路由器
- 若无 FA:R4 到外部路由的下一跳为 R2(ASBR),需绕行 R3→R2→R1(次优)
- 使用 FA:FA = 10.1.123.1(下一跳直接指向 R1),R4 可直接经 R3 到达
NSSA 场景中 FA 的应用
- 7转5 时继续携带 FA,避免流量被引导到低带宽路径
- 只有 P-bit 置位且 FA 非 0 的 Type7 LSA 才能转化为 Type5 LSA
3.4 OSPF GR(Graceful Restart,平滑重启)
核心目标
设备重启时:
关键概念
| |
|---|
| GR Restarter | |
| GR Helper | |
| Grace-LSA | Type9 Opaque LSA,通告 GR 周期、原因和接口地址 |
GR 分类
- 完全 GR(Totally GR):任一邻居不支持 GR → 整台路由器退出 GR 状态
- 部分 GR(Partial GR):不支持 GR 的邻居对应接口退出 GR,其他正常
- 有计划 GR(Planned GR):手动触发,重启前发送 Grace-LSA
- 非计划 GR(Unplanned GR):故障触发,重启后备板 Up 再进入 GR
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 前提:先使能 opaque-LSA 能力[Huawei-ospf-1] opaque-capability enable# Restarter 端使能 GR[Huawei-ospf-1] graceful-restart [ period period | planned-only | partial ]# Helper 端配置(可选)[Huawei-ospf-1] graceful-restart [...] helper-role { [ip-prefix...] | ignore-external-lsa | planned-only | never }# 查看 GR 状态[Huawei] display ospf graceful-restart [ verbose ]
默认 GR 周期:120 秒(最长 1800 秒)
GR 成功/失败条件
| | |
|---|
| 成功 | | 收到 Age=3600 的 Grace-LSA 时邻居为 Full |
| 失败 | GR 超时且邻居关系未恢复;接口状态变化;拓扑变化等 | 未收到 Grace-LSA;接口状态变化;收到不一致 LSA 等 |
3.5 NSR(Non-Stop Routing,不间断路由)
NSF vs NSR 对比
| NSF(不间断转发) | NSR(不间断路由) |
|---|
| | |
| | 不中断 |
| | |
| | 不依赖对端 |
| | 更快 |
| | |
NSR 和 GR 互斥,同一协议只能选一种。但部署 NSR 的设备仍可作为邻居的 GR Helper。
NSR 工作原理(三个阶段)
- 批量备份:备板启动后,主板将路由和转发信息批量同步到备板
- 实时备份:批量完成后,任何变化实时从主板备份到备板
- 主备倒换:主板故障 → 备板升主 → 使用备份数据继续工作 → 路由不中断
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 设置 HA 工作模式[Huawei] switchover mode { nonstop-routing | nonstop-forwarding }# 查看状态[Huawei] display switchover mode[Huawei] display ip routing-table[Huawei] display fib
第四部分:IS-IS 高级特性
4.1 IS-IS 快速收敛
IS-IS 快速收敛技术包括:
| |
|---|
| I-SPF | |
| PRC | |
| 智能定时器 | 控制 LSP 生成和 SPF 计算间隔,与 OSPF 类似 |
| LSP 快速扩散 | 收到新 LSP 后,先扩散再计算路由,加快 LSDB 同步 |
| Auto FRR | |
| BFD 联动 | |
I-SPF(Incremental SPF)
与 PRC 的配合关系:
- I-SPF 计算后最短路径树改变 → PRC 处理变化节点上的所有叶子
- I-SPF 计算后最短路径树不变 → PRC 只处理变化的叶子
LSP 快速扩散配置
ounter(lineounter(lineounter(line[Huawei-isis-1] flash-flood [ lsp-count | max-timer-interval interval | level-1 | level-2 ]# lsp-count:每次扩散 LSP 的最大数量,默认 5(范围 1~15)# max-timer-interval:扩散最大间隔,默认 10ms
4.2 IS-IS 路由控制
4.2.1 等价路由
IS-IS 等价路由有两种处理方式:
方式一:负载分担
ounter(line[Huawei-isis-1] maximum load-balancing number
方式二:等价路由优先级(不做负载分担,优选特定路径)
ounter(lineounter(line[Huawei-isis-1] nexthop ip-address weight value# value 越小,优先级越高(取值 1~254)
等价路由选取规则(当路由数大于 maximum load-balancing 时):
4.2.2 IS-IS 缺省路由
IS-IS 缺省路由的三种控制方式:
- 控制 Level-1-2 设备 LSP 中的 ATT 位
- 控制 Level-1 设备不因 ATT 位生成缺省路由
ATT 位控制
默认规则: 如果 Level-1-2 设备通过 Level-2 区域能到达更多区域,则在 Level-1 LSP 中置位 ATT,Level-1 设备收到后自动生成缺省路由。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# Level-1-2 设备:设置 ATT 位规则[Huawei-isis-1] attached-bit advertise { always | never }# always:永远置位(强制下发缺省路由)# never:永不置位(阻止 Level-1 设备生成缺省路由)# Level-1 设备:不因 ATT 位生成缺省路由[Huawei-isis-1] attached-bit avoid-learning
发布缺省路由
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line[Huawei-isis-1] default-route-advertise [ always | match default | route-policy name ] [cost cost] [tag tag] [level-1 | level-1-2 | level-2] [avoid-learning]# 关键参数:# always:无条件发布缺省路由# match default:路由表中有其他协议的缺省路由时才发布# route-policy:匹配特定外部路由时才发布(防止黑洞)# avoid-learning:避免将外部缺省路由引入本 IS-IS 进程# 默认级别为 Level-2
4.3 IS-IS 多实例和多进程
ounter(lineounter(line[PE] isis 100 vpn-instance VPN1[PE] isis 200 vpn-instance VPN2
4.4 IS-IS LSP 分片扩展
背景
- IS-IS LSP 分片号字段为 1 Byte(8 bit),最多 256 个分片
- 当路由信息量过大时,256 个分片无法装下所有信息
解决方案:附加虚拟系统
通过配置虚拟系统(Virtual System),每个虚拟系统可额外提供 256 个分片。最多可配置 50 个虚拟系统,总分片数最多达 13056 个。
关键概念
| |
|---|
| 初始系统(Originating System) | |
| 虚拟系统(Virtual System) | |
| 附加系统 ID | |
| 24 号 TLV(IS Alias ID TLV) | |
两种运行模式
| Mode-1 | Mode-2 |
|---|
| | |
| 参与 | 不参与 |
| | |
| 初始→虚拟 cost=0;虚拟→初始 cost=最大-1 | |
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 使能 LSP 分片扩展(默认 mode-1,level-1-2)[Huawei-isis-1] lsp-fragments-extend [ level-1 | level-2 | level-1-2 ] [ mode-1 | mode-2 ]# 配置虚拟系统 ID(全网唯一,格式 XXXX.XXXX.XXXX)[Huawei-isis-1] virtual-system virtual-system-id# 注意:需要执行 reset isis all 重启 IS-IS 进程后,虚拟系统才生效
4.5 IS-IS GR
IS-IS GR 原理 与 OSPF GR 类似,但实现机制不同:通过 211 号 TLV(Restart TLV) 和 T1/T2/T3 三个定时器 实现。
211 号 TLV(Restart TLV)
包含在所有 IIH(Hello)报文中,携带以下关键字段:
| |
|---|
| RR(Restart Request) | 置位:通告邻居自己正在重启,请求保持邻居关系并返回 CSNP |
| RA(Restart Acknowledgement) | |
| SA(Suppress adjacency advertisement) | |
| Remaining Time | |
三个定时器
| | |
|---|
| T1 | 等待收到 Helper 的 RA 确认报文的时间间隔 | |
| T2 | 等待 LSDB 同步完成的最长时间(每 Level 各一个) | |
| T3 | | 65535 秒→收到 RA 后更新为 Remaining Time 最小值 |
GR 的两种触发方式
| Restarting(主备倒换/重启进程) | Starting(设备重启) |
|---|
| 保持不变 | 需要更新 |
| | 置位 |
| RR=1→等待 RA→同步 LSDB→取消 T2→取消 T3→更新 FIB | SA=1 建立邻接→RR=1 SA=1→等待 RA→同步 LSDB→更新 FIB |
配置命令
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line# 使能 IS-IS GR[Huawei-isis-1] graceful-restart# 不让 GR 影响 Holdtime(默认 GR 后 Holdtime 最小为 60s)[Huawei-isis-1] graceful-restart no-impact-holdtime# 配置 T3 定时器(建议 T3 > T2)[Huawei-isis-1] graceful-restart interval interval-value # 默认 300s# 配置 T2 定时器[Huawei-isis-1] graceful-restart t2-interval interval-value # 默认 60s# 抑制 SA 位(Starting 场景)[Huawei-isis-1] graceful-restart suppress-sa# 查看 GR 状态[Huawei] display isis graceful-restart status [ level-1 | level-2 ]
本章总结
| | |
|---|
| 快速收敛 | PRC / I-SPF / 智能定时器 / FRR / BFD | |
| 路由控制 | 等价路由 / 缺省路由 / LSA 过滤 / 多进程 | |
| 特殊特性 | | |
| 高可靠性 | | |
思考题答案
1. OSPF 支持哪些快速收敛机制?(多选)
答:ACD
2. OSPF 的 Type5 LSA 中 FA 字段一定为 0.0.0.0?
答:B(错误)。只有满足四个条件时,FA 才能设为非零值(ASBR 连接外部接口开启 OSPF、非 Silent 接口、Broadcast/NBMA 网络类型、IP 在 network 命令指定范围内)。
3. Mode-2 的 LSP 分片扩展中,虚拟系统不参与路由 SPF 计算,所有路由器都知道虚拟系统的 LSP 属于初始系统?
答:A(正确)
笔记整理自 HCIE-Datacom V1.0 培训教材 · IGP 高级特性模块