做数通、搞运维、考华为认证,OSPF 绝对是绕不开的硬核考点 + 实战必用。它是企业中大型网络的标配动态路由协议,收敛快、无环路、支持大规模组网,堪称 “内网路由王者”。
这篇用人话 + 图解 + 命令 + 排错,把 OSPF 讲得明明白白,新手也能看懂、会配、会查!
一、先搞懂:OSPF 到底是什么?
OSPF(Open Shortest Path First)开放式最短路径优先
属于IGP 内部网关协议,跑在企业 AS 内部链路状态型协议(不靠传路由表,靠传拓扑)用SPF 算法算最短路径,天生无环路支持区域划分、VLSM/CIDR、路由汇总、等价路由组播发送:224.0.0.5(所有 OSPF 路由器)、224.0.0.6(仅 DR/BDR)协议号:89
为什么企业都用 OSPF?
比 RIP 强太多:无跳数限制、收敛快、带宽友好支持大规模组网,可划分区域降低设备压力支持认证、等价路由、策略控制,安全又灵活
二、OSPF 核心三要素:三张表撑起整个协议
OSPF 所有工作,都围绕三张表展开,记牢这三张表 = 掌握 OSPF 骨架
1. 邻居表(Peer)作用:记录直连邻居状态,靠 Hello 报文维护查看命令:display ospf peer关键状态:2-Way(邻居)、Full(邻接)2. LSDB 链路状态数据库(拓扑表)作用:存整个区域的LSA 链路信息,拼出完整拓扑图查看命令:display ospf lsdb3. OSPF 路由表作用:SPF 算法计算后,生成最优路由查看命令:display ospf routing
一句话总结 OSPF 流程:Hello 交朋友 → 同步 LSDB 画地图 → SPF 算路径 → 写入路由表
三、OSPF 五大报文,一次记全
OSPF 靠 5 种报文完成所有交互,必考必用:
Hello:发现、保活、建邻居(10s 一发,死时间 40s)DD/DBD:数据库描述,传 LSA 摘要,选举主从LSR:链路状态请求,要缺失的 LSALSU:链路状态更新,发送完整 LSALSACK:链路状态确认,保证可靠传输
四、邻居建立全过程:从 Down 到 Full(面试高频)
OSPF 邻居状态机,标准 7 步走:
Down:未发 HelloInit:发送 Hello,未收到对方包含自己的 Hello2-Way:双向确认,真正成为邻居ExStart:主从选举(Router-ID 大的为 Master)Exchange:交换 DD 报文,同步 LSDB 摘要Loading:用 LSR/LSU/LSACK 同步完整 LSAFull:邻接关系建立完成,LSDB 完全同步五、Router-ID:OSPF 的 “身份证”
32 位,格式同 IP,全网唯一选举优先级:手动配置 > Loopback > 物理接口最大 IP项目规范:一律用 Loopback 0 手动指定,稳定不漂移配置示例:
代码语言:javascript复制[Huawei] ospf 1 router-id 1.1.1.1六、区域设计:大型网不乱的关键
OSPF 用区域(Area) 做分层,解决大规模组网压力
区域规则(死记)
Area 0 是骨干区域,有且只有一个所有非骨干区域 必须与 Area 0 直接相连一个接口只能属于一个区域、一个进程区域边界在路由器上,不在链路上
路由器角色
IR:区域内路由器(所有接口在同一区域)ABR:区域边界路由器(跨 Area 0 和其他区域)BR:骨干路由器(接口在 Area 0)ASBR:AS 边界路由器(引入外部路由,如静态、RIP)
七、Cost 开销:OSPF 选路依据
OSPF 选路只看Cost 累加和,越小越优先
公式:Cost = 参考带宽 ÷ 接口带宽华为默认参考带宽:100 Mbps常见接口默认 Cost: GE/100M:1
修改参考带宽(全网必须一致)
代码语言:javascript复制[Huawei-ospf-1] bandwidth-reference 1000手动改接口 Cost
代码语言:javascript复制[Huawei-GigabitEthernet0/0/0] ospf cost 10八、网络类型与 DR/BDR(重难点)
OSPF 根据接口二层协议,自动识别网络类型,决定是否选 DR/BDR
4 种网络类型
Broadcast(以太网默认)Hello 10s,Dead 40s需选举 DR/BDRDRother 之间只到 2-Way,不同步 LSA2. P2P(PPP/HDLC)
无 DR/BDR,直接 Full项目中:两台路由器直连以太网,建议改 P2P3. NBMA(帧中继、ATM)
需手动配邻居,选 DR/BDR4. P2MP:手动改,多用于帧中继星型
DR/BDR 选举规则
比较接口 DR 优先级(0-255,默认 1),越大越优先优先级相同,比较Router-ID,大的优先优先级0不参与选举,只做 DRother非抢占:DR/BDR 一旦选出,不会被新设备抢走DR 挂了 → BDR 直接升 DR,重新选 BDR
修改优先级:
代码语言:javascript复制[Huawei-GE0/0/0] ospf dr-priority 100九、华为设备 OSPF 标准配置(直接复制用)
最简模板(必背)代码语言:javascript复制# 配置Loopback作为Router-ID
interface LoopBack 0
ip address 1.1.1.1 255.255.255.255
# 启动OSPF进程,指定Router-ID
ospf 1 router-id 1.1.1.1
# 进入区域0
area 0
# 宣告网段(反掩码)
network 192.168.10.0 0.0.0.255
network 10.1.12.0 0.0.0.3
# 点到点链路建议改网络类型
interface GigabitEthernet0/0/0
ospf network-type p2p反掩码快速算
反掩码 = 255.255.255.255 − 子网掩码/24 → 0.0.0.255/30 → 0.0.0.3/32 → 0.0.0.0
十、最常见排错清单(90% 问题都在这)邻居起不来Router-ID 冲突Area ID 不一致Hello/Dead 时间不匹配认证不匹配接口网络类型不一致网段没宣告或宣告错误有邻居无路由没到 Full 状态(卡在 2-Way/Loading)区域划分错误(没连 Area 0)路由被过滤、策略拒绝LSA 未同步选路不对Cost 计算错误参考带宽未全网统一DR/BDR 影响了泛洪路径等价路由未生效十一、一张表看懂 OSPF 核心速记
结语
OSPF 是数通工程师的基本功,也是 HCIA/HCIP/HCIE 的重中之重。它的逻辑看似复杂,拆解开就是:Hello 建邻 → LSDB 同步 → SPF 算路 → 区域控规模 → Cost 选最优