号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
OSPF 是企业网络中最常用的动态路由协议。
可一提到它的“三张表”——邻居表、拓扑表、路由表,很多人就懵了:
- 它们是怎么生成的?
- 有什么区别?
- 哪张表决定数据包转发?
- 为什么邻居起来了,路由却没有?
别急。今天用三张表 + 三个命令 + 一张流程图,带你彻底搞懂 OSPF 的工作逻辑。

一、先看全景
[邻居表] ↓ 发送 Hello 建立关系 [拓扑表] ↓ 运行 SPF 算法计算最短路径 [路由表] ↓ 指导数据包转发
✅ 一句话总结:
- 邻居表:和谁“认识”
- 拓扑表:全网“地图”
- 路由表:最终“导航指令”
二、第一张表:邻居表
作用:
记录本设备已建立邻接关系的 OSPF 路由器。
生成过程:
-
接口启用 OSPF 后,开始发送 Hello 报文
-
收到对方 Hello,检查参数是否匹配:
- 区域 ID(Area ID)
- 认证类型与密码
- Hello/Dead 间隔
- 网络类型(广播、点对点等)
-
匹配 → 进入 Init → 2-Way → 若需同步LSA,则进入 ExStart → Exchange → Full
查看命令(华为/H3C):
display ospf peer
输出关键字段:

⚠️ 注意:
- State 为 2-Way 不一定错(如广播网络中的DROther之间)
- 只有 Full 状态才会交换完整LSA
✅ 核心要点:
-
邻居表是 OSPF 的“社交圈”
-
邻居起不来?查 Hello 参数、网络类型、物理连通性
三、第二张表:拓扑表
别名:
-
LSDB(Link-State Database)
-
链路状态数据库
作用:
存储本区域所有路由器生成的 LSA(链路状态通告),拼出一张完整的网络拓扑图。
生成过程:
-
邻居进入 Full 状态后,开始交换 DBD(数据库描述报文)
-
通过 LSR → LSU → LSAck 交互,同步 LSA
-
所有 LSA 存入 LSDB,形成拓扑表
查看命令:
display ospf lsdb
输出示例:
Type : Router Ls id : 1.1.1.1 Adv rtr : 1.1.1.1 Seq : 8000000a Checksum : 0x5a8c Link count: 3
LSA 类型简析:

✅ 核心要点:
-
拓扑表是 OSPF 的“上帝视角”
-
同一区域内的所有路由器,LSDB 必须完全一致
-
查看 lsdb 是否同步,是排错的关键
四、第三张表:路由表——“数据包的导航指令”
作用:
存储最终的路由条目,指导数据包如何转发。
生成过程:
-
OSPF 将 LSDB 作为输入
-
运行 SPF 算法(Dijkstra 算法)
-
计算从本路由器到全网每个网段的最短路径树
-
将最优路径写入路由表
查看命令:
display ip routing-table protocol ospf
输出示例:
Destination/Mask Proto Pre Cost NextHop Interface 192.168.10.0/24 OSPF 10 1001 10.1.1.2 GigabitEthernet0/0/1 192.168.20.0/24 OSPF 10 2000 10.1.2.2 GigabitEthernet0/0/2
关键字段:
-
Proto:路由协议来源(OSPF)
-
Pre:管理距离(华为默认10)
-
Cost:OSPF 开销(基于带宽)
-
NextHop:下一跳
-
Interface:出接口
✅ 核心要点:
-
路由表是 SPF 算法的“输出结果”
-
数据包转发只看路由表,不看邻居表或拓扑表
-
即使邻居 Full、LSDB 同步,如果 SPF 计算失败,路由也不会生成
五、三张表对比总结表

六、经典问题解析
❓ 问题1:邻居是 Full,但路由没有?
- 可能原因:
-
区域类型不匹配(如一边是 Stub,一边是普通区域)
-
网络类型不一致(如一边是 Broadcast,一边是 P2P)
-
过滤策略(filter-policy)阻止了路由下发
-
SPF 计算异常(极少)
-
✅ 排错命令:display ospf lsdb 看是否有对方的 LSA
❓ 问题2:路由表里有路由,但 ping 不通?
-
说明:OSPF 表现正常,问题出在:
-
下一跳不可达(ARP 学不到)
-
反向路由缺失(对端没回OSPF)
-
ACL/防火墙拦截
-
MTU 不匹配导致分片失败
-
✅ OSPF 只负责“我知道怎么去”,不保证“一定能通”
❓ 问题3:为什么 OSPF 路由的 Cost 不是直连带宽算的?
-
OSPF Cost = 100Mbps / 接口带宽(华为默认参考带宽)
-
但可手动修改:
interface GigabitEthernet0/0/1 ospf cost 10 -
或全局修改参考带宽:
ospf 1 bandwidth-reference 1000 # 以1G为基准
七、总结:三句话记住 OSPF 工作流程
🎯 邻居表 → 拓扑表 → 路由表 Hello 交朋友,LSA 画地图,SPF 算路径
-
邻居起不来?→ 查物理、IP、Hello 参数
-
LSDB 不一致?→ 查区域、认证、网络类型
-
路由没生成?→ 查 SPF、过滤策略、管理距离
搞懂这三张表,你就掌握了 OSPF 的“大脑”。
原创:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部
7506

被折叠的 条评论
为什么被折叠?



