邻居状态机 · 五种报文 · 七类 LSA · 区域设计与特殊区域 · 路由计算与防环 · 收敛优化 · GR/NSR —— HCIE 笔试的"题库大户",LAB 里 IGP 骨干的绝对主力。
距离矢量"把路由表给别人",链路状态"把地图发全网" —— 各自算路
224.0.0.5(AllSPFRouters)/ 224.0.0.6(DR/BDR)| 报文 | 作用 | 关键内容 / 时机 |
|---|---|---|
| Hello | 发现/维持邻居,选举 DR/BDR | RID、区域 ID、Hello/Dead 间隔、邻居列表、认证、网络掩码、网络类型;广播网 10s/40s,P2P 10s/40s,NBMA 30s/120s |
| DD(DataBase Description) | 描述本地 LSDB 摘要 | 主从选举(RID 大者为主)、序列号、携带 Interface MTU 字段(用于两端一致性校验,非协商) |
| LSR(LS Request) | 请求具体 LSA | 比较 DD 后,请求自己缺少/较旧的 LSA 头部 |
| LSU(LS Update) | 携带完整 LSA | 回应 LSR 或触发更新泛洪 |
| LSAck | 确认收到 LSU | 逐条/批量确认,保证泛洪可靠性 |
224.0.0.5(AllSPFRouters):所有 OSPF 路由器监听;224.0.0.6(AllDRouters):仅 DR/BDR 监听。DROther 发 LSA 用 224.0.0.6(只 DR/BDR 收),DR 收妥后改用 224.0.0.5 向网段全体转发;DR 自己产生的 LSA 直接发 224.0.0.5。
| 网络类型 | 默认 | DR选举 | Timer |
|---|---|---|---|
| 广播 Broadcast | 以太网 | 是 | 10/40s |
| P2P | 串口/PPP | 否 | 10/40s |
| NBMA | 帧中继 | 是(手工 peer) | 30/120s |
| P2MP | 改造类型 | 否 | 30/120s(可调) |
ospf network-type p2p 免选举、Hello 变 10s,收敛更快 —— 但两端类型必须一致,否则邻居抖动。| # | 不一致项 | 症状 / 验证 |
|---|---|---|
| 1 | 区域 ID、认证类型/密钥 | 卡 Init 或无邻居;debug ospf packet hello 看认证失败 |
| 2 | Hello / Dead 间隔 | 邻居无法发现或周期性 up-down |
| 3 | 网络掩码(广播网 Hello 中) | 卡 Init;常与子网划分错误混淆 |
| 4 | 网络类型不匹配 | 一边 10s 一边 30s,邻居震荡 |
| 5 | MTU(DD 中 Interface MTU) | 卡 ExStart/Exchange,经典中的经典 |
| 6 | silent-interface / 被策略过滤 | 单边有邻居(Init 停留);CLI:display this 看 silent |
| 7 | Router ID 冲突 | 路由诡异丢失、LSA 反复覆盖刷新(display ospf lsdb 观察 age 震荡) |
OSPF 的灵魂:谁生成、往哪泛洪、装了什么
display ospf interface 看每个接口的 Cost;改参考带宽 bandwidth-reference(默认 100M,跨设备务必全网统一)。| 类型 | 生成者 | 泛洪范围 | 携带内容 |
|---|---|---|---|
| Type-4 ASBR-Summary | ABR(在骨干内) | 除 ASBR 所在区域外全网 | "去 ASBR 走我(ABR)" —— 告诉其他区域怎么到 ASBR |
| Type-5 AS-External | ASBR | 整个 OSPF 域(不受区域限制) | 外部路由 + Forwarding Address(FA) + 外部 Cost 类型 |
| Type-7 NSSA External | NSSA 区域内 ASBR | 仅 NSSA 区域内 | 类似 Type-5;由 ABR 转成 Type-5 出区域 |
display ospf lsdb originate(本机生成的)、display ospf lsdb age(看 age 震荡=RID冲突/拓扑翻动)、display ospf error(各种 bad 包计数)。
区域是 OSPF 的"可扩展性答案",特殊区域是"路由表瘦身术"
# R1(ABR, Area0-Area1) 上为 Area2 建虚链路 ospf 1 area 0.0.0.1 virtual-link 3.3.3.3 # 对端ABR的RID
| 区域类型 | Type-3 | Type-4/5 | Type-7 | 允许外部引入 | ABR 下发默认路由 |
|---|---|---|---|---|---|
| 普通区域 | ✔ | ✔ | — | ✔(成 Type-5) | 否(需手工) |
| Stub | ✔ | ✘(过滤) | ✘ | ✘ | ✔ 自动 Type-3 默认 |
| Totally Stub | ✘ 只留默认 | ✘ | ✘ | ✘ | ✔(no-summary) |
| NSSA | ✔ | ✘ | ✔ | ✔(成 Type-7) | 可配(default-route-advertise) |
| Totally NSSA | ✘ 只留默认 | ✘ | ✔ | ✔ | ✔(no-summary) |
# NSSA + 抑制 Type-3(Totally NSSA) ospf 1 area 0.0.0.1 nssa no-summary # 可选参数: # default-route-advertise ABR发默认 # translator-always / suppress-forwarding-address
translator-always 强制本机转换nssa translate type7 suppress-fa 显式抑制;转 5 类时 FA 值保持不变同一路由前缀:区域内 > 区域间 > 外部(与 Cost 无关,先比来源)。
# 汇总:区域间 & 外部 ospf 1 area 0.0.0.1 abr-summary 10.1.0.0 255.255.0.0 asbr-summary 172.16.0.0 255.255.0.0 cost 20
default-route-advertise(本地路由表需存在默认,除非加 always)nssa default-route-advertise(Type-7 默认)always 慎用于双出口场景:设备自身无默认却强发 → 黑洞。LAB 常考"间接下发的默认路由来源判断"。故障发现 → LSA 泛洪 → 重新计算,每一段都能提速
| 阶段 | 机制 | 要点 |
|---|---|---|
| 故障发现 | 物理/接口 down | 毫秒级 |
| OSPF Hello Dead 超时 | 最慢(40s/120s),可靠但不快 | |
| BFD for OSPF | 毫秒级检测,联动会话 down(第 9 章详讲) | |
| 泛洪加速 | 智能定时器 | 初始 500ms 起,指数退避(lsa-arrival / lsa-generation intelligent-timer) |
| LSP 快速泛洪 / 接口联动 | DD 阶段批量、掉电代理(OAM 联动) | |
| 计算加速 | PRC / 增量 SPF(ISPF) | 只重算受影响枝干,叶子变化不重算树 |
| 按拓扑/Priority SPF | 路由级优先级,骨干路由先算 |
主备切换/重启时通知邻居"我马上回来"(Grace LSA),邻居暂保持邻接,转发表不删。
依赖邻居支持;期间拓扑变化可能造成瞬时环路。
主控冗余:主备主控间同步协议状态与 LSDB,切换对邻居完全透明,无需邻居支持 GR。
硬件级方案,LAB 无关、笔试概念题常客。
狭义指转发面不中断的技术统称;GR/NSR 都属于实现 NSF 的手段。
# 区域认证(推荐) ospf 1 area 0.0.0.0 authentication-mode md5 1 huawei@123 # 接口认证(优先级更高) interface GigabitEthernet0/0/0 ospf authentication-mode hmac-sha256 1 huawei@123 # 邻居级 GTSM:限定合法TTL ospf 1 peer 10.1.12.2 valid-ttl-hops 1
| 维度 | OSPFv2 | OSPFv3 |
|---|---|---|
| 承载 | IPv4 (协议号 89) | IPv6 (89) |
| 基于 | IP 子网 | 链路(Link-local 通信) |
| 多实例 | 不支持 | 支持 Instance ID 共链路多进程 |
| 认证 | 自带 | 依赖 IPsec AH/ESP |
| LSA | Type 1~5、7 | 沿用 1~5、7(Type 6 已废弃),新增 Type 8 Link-LSA 与 Type 9 Intra-Area-Prefix-LSA |
| LSA 命名 | Type 3 Summary | 改名 Inter-Area-Prefix;Type 4 改名 Inter-Area-Router |
| 前缀 | LSA 内嵌 | 独立前缀 LSA(地址与拓扑解耦) |
# OSPFv3 最小配置 ospfv3 1 router-id 1.1.1.1 interface GigabitEthernet0/0/0 ospfv3 1 area 0 # 基于接口使能
display ospf peer [brief] # 邻居状态/角色/最后状态变化 display ospf interface # 网络类型/Hello/Cost/DR display ospf lsdb [type router|asbr|external|nssa] # 分类型看 LSA display ospf lsdb originate # 本机自产 LSA display ospf routing # 协议路由(含 Cost/类型) display ospf error # 错包统计(认证/版本/区域不符计数) display ospf abr / asbr # ABR/ASBR 位置确认 reset ospf process # 谨慎:重启进程(RID 冲突处置用)
现象:display ospf peer 显示 ExStart 逾 1 分钟不进位。
display interface 两端不一致(常见:一端 9000 一端 1500)ospf mtu-enable 关闭检查(华为默认不检查 MTU,开启后才卡!)注意:华为 VRP 默认不校验 DD 中的 MTU(ospf mtu-enable 开启才校验),所以该卡点只在开启后出现——考试爱考这个默认值差异。
现象:去往外部网段绕远路。
import-route direct type 1 改 Type-1display ospf lsdb ase 看 FA 字段| 考点 | 必背细节 | 频度 |
|---|---|---|
| 协议基础 | IP 协议号 89;组播 224.0.0.5 / 224.0.0.6;RID:手工 > Loopback 最大 > 物理口最大 | ★★★ |
| 邻居七元凶 | 区域、认证、Timer、掩码、类型、MTU、RID —— 遇邻居问题按序核对 | ★★★★ |
| 卡态定位 | 卡 Init(单向 / 认证 / 掩码 / silent);卡 ExStart/Exchange(DD MTU,华为默认不校验,ospf mtu-enable 开启才卡);卡 Loading(LSR 无回应) | ★★★★ |
| LSA 速记 | 1=每台路由器(区域内)、2=DR(网段)、3=ABR(区域间)、4=ABR 指路 ASBR、5=ASBR(全域)、7=NSSA;新旧:序列号 → Checksum → Age(差 < 900s 视为相同) | ★★★★★ |
| 特殊区域矩阵 | Stub 滤 4/5 自动发 3 类默认;+no-summary 再滤 3;NSSA 用 Type-7 引外部;FA 非零三条件:接口在 OSPF 内 + 未 silent + broadcast/NBMA | ★★★★★ |
| Cost 与选路 | 出方向累加;参考带宽默认 100M 且全网统一;同前缀比较:区域内 > 区域间 > 外部;外部 Type-1 叠加内部、Type-2 只比外部 | ★★★★ |
| 关键定时器 | 广播/P2P 10/40s,NBMA/P2MP 30/120s;LSA 刷新 1800s;MaxAge 3600s;重传 5s | ★★★ |
| 默认路由来源 | 普通区域 ASBR default-route-advertise(表内无默认需 always);NSSA 用 nssa default-route-advertise(7 类);Stub/Totally 自动下发 | ★★★★ |
| 7→5 转换 | 多 ABR 时 RID 大者默认转换;translator-always 强制;转换后 FA 值保持不变 | ★★★ |
display ospf lsdb ase 对比display ospf peer brief、display ospf lsdb / originate / error、display ospf abr asbr —— LAB 现场只准靠命令说话。| 验证点 | 预期 |
|---|---|
| R6 路由表外部路由类型 | O_NSSA / O_ASE 标记正确 |
| display ospf lsdb nssa (R3) | 7→5 转换发生,产生 ase 条目 |
| tracert R1→外部网段 | 路径符合 Cost 设计 |
| 断开 R2-R3 链路 | 切换时间 = Dead(4s) 记录 |