全面解析OSPF协议的工作原理、区域设计、LSA类型、选路机制,以及在不同规模企业中的应用场景和设备选型
前言
“OSPF是什么?”
“OSPF和RIP有什么区别?”
“我的公司需要用OSPF吗?”
“OSPF应该部署在什么设备上?”
作为网络工程师,OSPF几乎是入门后第一个需要深入掌握的路由协议。这篇文章系统讲解OSPF的原理、配置和应用场景,帮你建立完整的知识体系。
一、OSPF是什么?
1.1 OSPF的定义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF官方定义 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ OSPF = Open Shortest Path First │ │
│ │ │ │
│ │ 中文: 开放最短路径优先 │ │
│ │ │ │
│ │ 核心特点: │ │
│ │ ├── 🔷 链路状态路由协议 │ │
│ │ ├── 🔷 基于Dijkstra算法计算最短路径 │ │
│ │ ├── 🔷 支持多区域划分 │ │
│ │ ├── 🔷 快速收敛 │ │
│ │ └── 🔷 无路由环路 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
1.2 通俗理解OSPF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF通俗比喻 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 想象你要去一个陌生的地方: │ │
│ │ │ │
│ │ 🗺️ 方式1: 问路人 (距离矢量协议如RIP) │ │
│ │ ├── 问第一个人: "去火车站怎么走?" │ │
│ │ ├── 对方说: "我不知道,但老王知道" │ │
│ │ ├── 问老王: "去火车站?往左走5公里" │ │
│ │ └── 问题: 每个人只知道局部,可能绕远路 │ │
│ │ │ │
│ │ 🗺️ 方式2: 看地图 (链路状态协议如OSPF) │ │
│ │ ├── 拿到一张完整地图 │ │
│ │ ├── 地图上标着所有路口和距离 │ │
│ │ ├── 用导航算法算出最优路线 │ │
│ │ └── 结果: 每次都能找到最短路径 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ OSPF的核心思想: │ │
│ │ │ │
│ │ 每个路由器都保存一张"地图"(链路状态数据库) │ │
│ │ 所有路由器分享"地图碎片" → 拼成完整地图 │ │
│ │ 各自用Dijkstra算法算最优路径 │ │
│ │ │ │
│ │ 优点: 每个路由器都"看到"完整的网络拓扑 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
1.3 OSPF vs RIP 对比
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF vs RIP 对比 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 对比项 │ OSPF │ RIP │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 协议类型 │ 链路状态 │ 距离矢量 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 最大跳数 │ 无限制 │ 15跳 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 路由计算 │ Dijkstra │ Bellman-Ford │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 收敛速度 │ 快 │ 慢 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 支持VLSM │ 支持 │ 支持 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 区域划分 │ 支持 │ 不支持 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 开销计算 │ 带宽 │ 跳数 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 适用网络 │ 中大型 │ 小型 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 路由环路 │ 无 │ 可能 │ │
│ │ ──────────────────────────────────────────────────────│ │
│ │ 资源消耗 │ 中等 │ 低 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 一句话总结: │ │
│ │ │ │
│ │ RIP = 简单的"跳数计数",适合小型网络 │ │
│ │ OSPF = 智能的"地图导航",适合中大型网络 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
二、OSPF工作原理
2.1 OSPF核心概念
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF核心概念 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 1. Router-ID (路由器标识) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ OSPF网络中每个路由器的唯一标识 │ │
│ │ │ │
│ │ 格式: IP地址格式 (如 192.168.1.1) │ │
│ │ │ │
│ │ 选举规则: │ │
│ │ ├── 优先使用手动配置的Router-ID │ │
│ │ ├── 否则使用最大Loopback地址 │ │
│ │ └── 否则使用最大接口IP地址 │ │
│ │ │ │
│ │ ⚠️ Router-ID一旦选定,除非重启OSPF进程不会改变 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 2. Cost (开销值) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ OSPF使用开销值作为选路依据 │ │
│ │ │ │
│ │ 计算公式: 开销 = 参考带宽 / 接口带宽 │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ 接口类型 │ 默认开销 │ │ │
│ │ │ ───────────────────────────────────────────────│ │ │
│ │ │ 10GE │ 1 (10G > 100M) │ │ │
│ │ │ GE │ 1 │ │ │
│ │ │ FE │ 1 (实际100M,按100M算) │ │ │
│ │ │ Serial(E1) │ 48 或 64 │ │ │
│ │ │ Loopback │ 0 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 路径总开销 = 沿途所有出接口开销之和 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 3. Area (区域) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ OSPF通过划分区域来优化性能 │ │
│ │ │ │
│ │ Area 0 = Backbone (骨干区域) │ │
│ │ ├── 所有其他区域必须连接到Area 0 │ │
│ │ └── 所有区域间流量必须经过Area 0 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
2.2 OSPF邻居建立过程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF邻居建立过程 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 路由器A 路由器B │
│ │ │ │ │
│ │ │ 1. 发送Hello包 (组播 224.0.0.5) │ │
│ │ ├──────────────────────────────────────────────┤ │
│ │ │ │ │
│ │ │ 2. 邻居列表匹配 │ │
│ │ │ Hello包中包含: │ │
│ │ │ ├── Router-ID │ │
│ │ │ ├── Area-ID │ │
│ │ │ ├── Hello/Dead间隔 │ │
│ │ │ └── 认证信息 │ │
│ │ ├──────────────────────────────────────────────┤ │
│ │ │ │ │
│ │ │ 3. 邻居状态变为 2-Way │ │
│ │ │ │ │
│ │ │ 4. 开始交换LSA (Database Description) │ │
│ │ ├──────────────────────────────────────────────┤ │
│ │ │ │ │
│ │ │ 5. 互相请求缺少的LSA (LSR) │ │
│ │ │ │ │
│ │ │ 6. 互相发送LSA (LSU) │ │
│ │ │ │ │
│ │ │ 7. 邻居状态变为 Full │ │
│ │ │ │ │
│ │ │ ✅ 邻接关系建立成功! │ │
│ │ │ │ │
│ │ └──────────────────────────────────────────────┘ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ OSPF邻居状态机 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ Down → Init → 2-Way → ExStart → Exchange │ │
│ │ ↓ │ │
│ │ Loading → Full │ │
│ │ │ │
│ │ 状态说明: │ │
│ │ ├── Down: 还没收到Hello │ │
│ │ ├── Init: 收到Hello,但还没确认 │ │
│ │ ├── 2-Way: 双向通信确认,选举DR/BDR │ │
│ │ ├── ExStart: 准备交换LSDB │ │
│ │ ├── Exchange: 交换DBD摘要 │ │
│ │ ├── Loading: 交换详细LSA │ │
│ │ └── Full: 完全邻接,LSDB同步 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
2.3 DR和BDR选举
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
┌─────────────────────────────────────────────────────────────────┐
│ DR和BDR选举机制 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 什么是DR/BDR? │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ DR = Designated Router (指定路由器) │ │
│ │ BDR = Backup DR (备份指定路由器) │ │
│ │ │ │
│ │ 问题: 广播网络中,每对路由器都要建立邻接关系? │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ 5个路由器两两互联: │ │ │
│ │ │ │ │ │
│ │ │ 没有DR: 5×4/2 = 10个邻接关系 │ │ │
│ │ │ │ │ │
│ │ │ 有DR: 5个路由器都与DR建立邻接 = 5个邻接关系 │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ DR的作用: 减少邻接关系,优化LSA泛洪 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ DR选举规则 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 选举优先级 (Priority): │ │
│ │ ├── 范围: 0-255 │ │
│ │ ├── 默认: 1 │ │
│ │ ├── 0 = 不参与选举 │ │
│ │ └── 越大越优先 │ │
│ │ │ │
│ │ 选举过程: │ │
│ │ 1. 比较优先级,优先级高的成为DR │ │
│ │ 2. 优先级相同,比较Router-ID,越大越优先 │ │
│ │ 3. DR选举后不可抢占! │ │
│ │ │ │
│ │ ⚠️ 建议: 重要设备设置高优先级,确保成为DR │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 网络类型与DR要求 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ 网络类型 │ DR/BDR │ Hello间隔 │ │ │
│ │ │ ───────────────────────────────────────────────│ │ │
│ │ │ Broadcast │ 需要 │ 10秒 │ │ │
│ │ │ Non-Broadcast │ 需要 │ 30秒 │ │ │
│ │ │ Point-to-Point│ 不需要 │ 10秒 │ │ │
│ │ │ Point-to-Multipoint │ 不需要 │ 30秒 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
三、OSPF区域类型
3.1 区域划分详解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF区域类型 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Backbone区域 (Area 0) │ │
│ │ ├── 所有区域的中心,必须存在 │ │
│ │ ├── 所有区域间路由必须经过Area 0 │ │
│ │ └── 负责汇总其他区域的路由 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ 标准区域 (Standard Area) │ │
│ │ ├── 可以接收所有类型的LSA │ │
│ │ └── 普通办公区域 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Stub区域 (末节区域) │ │
│ │ ├── 不接收外部路由(LSA-5) │ │
│ │ ├── 自动生成默认路由 │ │
│ │ └── 适合只有一条出口的分支站点 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ Totally Stub区域 (完全末节区域) │ │
│ │ ├── 不接收外部路由 + 不接收其他区域汇总路由 │ │
│ │ ├── 只接收区域内路由 + 默认路由 │ │
│ │ └── 进一步减少路由表大小 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ NSSA区域 (Not-So-Stubby Area) │ │
│ │ ├── 像Stub区域,但允许引入外部路由 │ │
│ │ ├── 外部路由以LSA-7进入,在ABR转成LSA-5 │ │
│ │ └── 适合需要引入本地外部路由的分支站点 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
3.2 区域拓扑图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF多区域拓扑示例 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Area 0 (Backbone) │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Core Router │ │ │
│ │ │ (ABR) │ │ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ ┌───────────────────┼───────────────────┐ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Area 1 │ │ Area 2 │ │ Area 3 │ │ │
│ │ │ 研发区 │ │ 办公区 │ │ 生产区 │ │ │
│ │ │(Standard)│ │(Standard)│ │ (Stub) │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ │ │
│ │ │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ Area 4 (NSSA) │ │ │
│ │ │ ┌─────────┐ ┌─────────┐ │ │ │
│ │ │ │Branch1 │───────│Branch2 │ │ │ │
│ │ │ │(NSSA) │ │ (NSSA) │ │ │ │
│ │ │ └────┬────┘ └────┬────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ │ └────────┬─────────┘ │ │ │
│ │ │ │ │ │ │
│ │ │ ▼ │ │ │
│ │ │ ┌───────────┐ │ │ │
│ │ │ │ ABR/ASBR │ │ │ │
│ │ │ └─────┬─────┘ │ │ │
│ │ │ │ │ │ │
│ │ │ └───────────────────────────────┘ │ │
│ │ │ │ │ │ │
│ │ └──────────────────────────┼──────────────────────────┘ │ │
│ │ │ │ │
│ └──────────────────────────────┼──────────────────────────────┘ │
│ │ │
│ └─────────────────────────────────┘ │
│ │
│ 图例: │
│ ├── ABR = Area Border Router (区域边界路由器) │
│ ├── ASBR = AS Boundary Router (AS边界路由器) │
│ └── 每个区域连接到Area 0,流量通过Area 0转发 │
│ │
└─────────────────────────────────────────────────────────────────┘
|
四、OSPF LSA类型
4.1 LSA类型详解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF LSA类型 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LSA类型速查表 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ 类型 │ 名称 │ 作用 │ │ │
│ │ │ ───────────────────────────────────────────────│ │ │
│ │ │ LSA-1 │ Router-LSA │ 区域内路由器信息 │ │ │
│ │ │ LSA-2 │ Network-LSA │ 广播网络DR信息 │ │ │
│ │ │ LSA-3 │ Summary-LSA │ 区域间路由汇总 │ │ │
│ │ │ LSA-4 │ Summary-LSA │ ASBR位置信息 │ │ │
│ │ │ LSA-5 │ External-LSA │ 外部路由信息 │ │ │
│ │ │ LSA-7 │ NSSA-LSA │ NSSA外部路由 │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LSA-1: Router-LSA │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 产生者: 每个OSPF路由器 │ │
│ │ 泛洪范围: 只在本区域内 │ │
│ │ │ │
│ │ 包含内容: │ │
│ │ ├── 路由器ID │ │
│ │ ├── 所有接口及其开销 │ │
│ │ └── 邻居路由器列表 │ │
│ │ │ │
│ │ 用途: 构建区域内拓扑 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LSA-2: Network-LSA │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 产生者: DR路由器 │ │
│ │ 泛洪范围: 只在本区域内 │ │
│ │ │ │
│ │ 包含内容: │ │
│ │ ├── DR的路由器ID │ │
│ │ └── 该网络上所有路由器的Router-ID │ │
│ │ │ │
│ │ 用途: 描述广播网络的所有成员 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LSA-3: Summary-LSA │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 产生者: ABR (区域边界路由器) │ │
│ │ 泛洪范围: 整个OSPF域 (除产生区域外) │ │
│ │ │ │
│ │ 包含内容: │ │
│ │ ├── 目标网络前缀 │ │
│ │ └── 从其他区域学到的开销 │ │
│ │ │ │
│ │ 用途: ABR将区域间路由传递给其他区域 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ LSA-5: External-LSA │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 产生者: ASBR (AS边界路由器) │ │
│ │ 泛洪范围: 整个OSPF域 (所有区域) │ │
│ │ │ │
│ │ 包含内容: │ │
│ │ ├── 外部网络前缀 │ │
│ │ ├── 外部开销 (Type 1或Type 2) │ │
│ │ └── 通告路由器ID │ │
│ │ │ │
│ │ 用途: 引入其他协议的路由 (如静态、BGP) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
五、OSPF选路机制
5.1 OSPF选路规则
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF选路规则 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 选路优先级 (从高到低) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 1️⃣ 区域内路由 (Intra-Area) │ │
│ │ └── 同一区域内的路由,最优先 │ │
│ │ │ │
│ │ 2️⃣ 区域间路由 (Inter-Area) │ │
│ │ └── 不同区域之间的路由 │ │
│ │ │ │
│ │ 3️⃣ E1外部路由 (External Type-1) │ │
│ │ └── 外部路由,开销 = OSPF开销 + 外部开销 │ │
│ │ │ │
│ │ 4️⃣ E2外部路由 (External Type-2) │ │
│ │ └── 外部路由,只计算外部开销 (默认) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ E1 vs E2 开销计算 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 假设: 外部网络 200.0.0.0/8,开销=20 │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ 路由器A ──开销5──▶ 路由器B (ASBR) │ │ │
│ │ │ │ │ │ │
│ │ │ │ │ │ │
│ │ │ ▼ │ │ │
│ │ │ 外部网络 │ │ │
│ │ │ 200.0.0.0/8 │ │ │
│ │ │ │ │ │
│ │ └─────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ E1路由总开销: 5(到ASBR) + 20(外部) = 25 │ │
│ │ E2路由总开销: 20(外部开销,不计内部) = 20 │ │
│ │ │ │
│ │ 📝 E1考虑了完整路径开销,E2只关注外部开销 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
六、OSPF应用场景
6.1 哪些公司需要OSPF?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF适用规模 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 小型公司 (1-50人) │ │
│ │ ├── 网络设备: 5-10台 │ │
│ │ ├── 路由数量: < 100条 │ │
│ │ ├── 推荐: 静态路由 或 RIP │ │
│ │ └── OSPF: 可以用,但不是必须 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ 中型公司 (50-500人) │ │
│ │ ├── 网络设备: 20-100台 │ │
│ │ ├── 路由数量: 100-1000条 │ │
│ │ ├── 推荐: OSPF单区域 │ │
│ │ └── OSPF: ✅ 强烈推荐 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ 大型公司 (500-5000人) │ │
│ │ ├── 网络设备: 100-500台 │ │
│ │ ├── 路由数量: 1000-5000条 │ │
│ │ ├── 推荐: OSPF多区域 │ │
│ │ └── OSPF: ✅ 必须使用 │ │
│ │ │ │
│ │ ───────────────────────────────────────────────────── │ │
│ │ │ │
│ │ 超大型公司/互联网企业 (5000+人) │ │
│ │ ├── 网络设备: 500+台 │ │
│ │ ├── 路由数量: 5000+条 │ │
│ │ ├── 推荐: OSPF + BGP混合 │ │
│ │ └── OSPF: ✅ 与BGP配合使用 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
6.2 OSPF典型应用场景
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF典型应用场景 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 场景1: 企业园区网 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 特征: │ │
│ │ ├── 单地点,内部网络 │ │
│ │ ├── 多栋建筑或多个楼层 │ │
│ │ └── 需要可靠的内网通信 │ │
│ │ │ │
│ │ 建议: │ │
│ │ ├── Area 0: 核心机房 │ │
│ │ ├── Area 1: 研发楼 │ │
│ │ ├── Area 2: 办公楼 │ │
│ │ └── Area 3: 生产车间 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 场景2: 多分支机构企业 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 特征: │ │
│ │ ├── 总部 + 多个分支机构 │ │
│ │ ├── 分支通过专线或VPN连接 │ │
│ │ └── 需要统一的内网路由 │ │
│ │ │ │
│ │ 建议: │ │
│ │ ├── Area 0: 总部核心 │ │
│ │ ├── Area 1: 北京分部 │ │
│ │ ├── Area 2: 上海分部 │ │
│ │ └── Area 3: 广州分部 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 场景3: 数据中心网络 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 特征: │ │
│ │ ├── 高密度服务器 │ │
│ │ ├── 需要快速收敛 │ │
│ │ └── 流量调度要求高 │ │
│ │ │ │
│ │ 建议: │ │
│ │ ├── Spine-Leaf架构 + OSPF │ │
│ │ ├── 所有交换机运行OSPF │ │
│ │ └── 通过Cost值控制流量路径 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 场景4: 运营商接入网络 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 特征: │ │
│ │ ├── 大规模网络 │ │
│ │ ├── 高可靠性要求 │ │
│ │ └── 需要精细的流量工程 │ │
│ │ │ │
│ │ 建议: │ │
│ │ ├── OSPF作为IGP │ │
│ │ ├── BGP作为EGP(承载用户路由) │ │
│ │ └── OSPF + BGP双平面部署 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
6.3 OSPF行业分布
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF使用行业分布 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 🏢 制造业: ★★★★☆ │ │
│ │ └── 工厂网络、ERP系统、办公网络 │ │
│ │ │ │
│ │ 🏦 金融行业: ★★★★★ │ │
│ │ └── 银行、证券、保险,数据中心高可用 │ │
│ │ │ │
│ │ 🏥 医疗行业: ★★★☆☆ │ │
│ │ └── 医院内网、PACS系统、远程医疗 │ │
│ │ │ │
│ │ 🎓 教育行业: ★★★☆☆ │ │
│ │ └── 校园网、实验室网络、图书馆 │ │
│ │ │ │
│ │ 🛒 零售行业: ★★★★☆ │ │
│ │ └── 门店网络、仓储物流、总部网络 │ │
│ │ │ │
│ │ 💻 互联网企业: ★★★★★ │ │
│ │ └── 数据中心、CDN、混合云架构 │ │
│ │ │ │
│ │ 📡 运营商: ★★★★★ │ │
│ │ └── 接入网、城域网、骨干网(搭配BGP) │ │
│ │ │ │
│ │ 🏗️ 政府机关: ★★★★☆ │ │
│ │ └── 政务网络、专网、视频会议 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
七、OSPF部署设备
7.1 哪些设备支持OSPF?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF支持的设备类型 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 企业级路由器 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ✅ 华为AR系列路由器 │ │
│ │ ├── AR1200系列: 小型分支机构 │ │
│ │ ├── AR2200系列: 中型企业 │ │
│ │ ├── AR3200系列: 大型企业/数据中心 │ │
│ │ └── AR6600系列: 运营商/大型企业 │ │
│ │ │ │
│ │ ✅ 华三S系列路由器 │ │
│ │ ├── MSR系列: 分支机构 │ │
│ │ └── SR系列: 核心/汇聚 │ │
│ │ │ │
│ │ ✅ 思科ISR/ASR系列 │ │
│ │ ├── ISR 4000: 企业分支 │ │
│ │ └── ASR 1000/9000: 核心/运营商 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 企业级交换机 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ✅ 三层交换机 (必须支持OSPF) │ │
│ │ ├── 华为S5700/S6700/S7700/S9700系列 │ │
│ │ ├── 华三S5500/S5600/S7600系列 │ │
│ │ └── 思科Catalyst 2960/3750/4500/6500系列 │ │
│ │ │ │
│ │ ⚠️ 二层交换机不需要OSPF (不运行路由协议) │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 防火墙/安全设备 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ ✅ 下一代防火墙 (UTM) │ │
│ │ ├── 华为USG系列 │ │
│ │ ├── 深信服AF系列 │ │
│ │ └── 思科ASA/Firepower │ │
│ │ │ │
│ │ 📝 防火墙的OSPF通常用于双机热备或双出口备份 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
7.2 设备选型建议
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF设备选型建议 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 小型企业 (50-200人) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 核心层: 三层交换机 │ │
│ │ ├── 华为S5700-28P-LI (或S5735) │ │
│ │ ├── 思科2960-X (带三层功能) │ │
│ │ └── 性能: 几百条路由,稳定运行 │ │
│ │ │ │
│ │ 接入层: 二层交换机 │ │
│ │ ├── 华为S1700/S2700系列 │ │
│ │ └── 不需要OSPF │ │
│ │ │ │
│ │ 出口: 路由器/防火墙 │ │
│ │ ├── 华为AR1220-S │ │
│ │ └── 带OSPF + NAT + 防火墙功能 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 中型企业 (200-1000人) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 核心层: 核心三层交换机 │ │
│ │ ├── 华为S7706/S9708 │ │
│ │ ├── 华三S7600/S9600 │ │
│ │ └── 性能: 数千条路由,支持多区域 │ │
│ │ │ │
│ │ 汇聚层: 三层交换机 │ │
│ │ ├── 华为S5700-EI/S5720-EI │ │
│ │ └── 每栋楼/每个区域一台 │ │
│ │ │ │
│ │ 出口: 路由器 │ │
│ │ ├── 华为AR2240/AR3260 │ │
│ │ └── 多出口 + BGP对接运营商 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 大型企业/数据中心 (1000+人) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 核心层: 核心路由器/交换机 │ │
│ │ ├── 华为S12700/S9700 │ │
│ │ ├── 华为NE40E/NE80E路由器 │ │
│ │ └── 性能: 万级路由,多区域OSPF │ │
│ │ │ │
│ │ Spine-Leaf: 数据中心交换机 │ │
│ │ ├── 华为CloudEngine 16800/8800 │ │
│ │ └── 全三层组网 + OSPF │ │
│ │ │ │
│ │ 边界: 路由器 │ │
│ │ ├── 华为NE40E-X8/NE5000E │ │
│ │ └── BGP + OSPF双协议栈 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
八、华为设备OSPF配置
8.1 基础配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF基础配置 (华为) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 基本配置步骤 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ <HUAWEI> system-view │ │
│ │ [HUAWEI] sysname Router1 │ │
│ │ │ │
│ │ # 1. 启用OSPF进程,指定Router-ID │ │
│ │ [Router1] ospf 1 router-id 1.1.1.1 │ │
│ │ │ │
│ │ # 2. 进入Area配置 │ │
│ │ [Router1-ospf-1] area 0.0.0.0 │ │
│ │ │ │
│ │ # 3. 宣告直连接口 (网段) │ │
│ │ [Router1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255 │ │
│ │ [Router1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 │ │
│ │ │ │
│ │ [Router1-ospf-1-area-0.0.0.0] quit │ │
│ │ [Router1-ospf-1] quit │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 多区域配置 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # Area 0 配置 │ │
│ │ [Router1-ospf-1] area 0.0.0.0 │ │
│ │ [Router1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255 │ │
│ │ [Router1-ospf-1-area-0.0.0.0] quit │ │
│ │ │ │
│ │ # Area 1 配置 │ │
│ │ [Router1-ospf-1] area 0.0.0.1 │ │
│ │ [Router1-ospf-1-area-0.0.0.1] network 172.16.0.0 0.0.0.255 │ │
│ │ [Router1-ospf-1-area-0.0.0.1] quit │ │
│ │ │ │
│ │ # Area 2 配置 (Stub区域) │ │
│ │ [Router1-ospf-1] area 0.0.0.2 │ │
│ │ [Router1-ospf-1-area-0.0.0.2] stub │ │
│ │ [Router1-ospf-1-area-0.0.0.2] network 192.168.10.0 0.0.0.255 │ │
│ │ [Router1-ospf-1-area-0.0.0.2] quit │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
8.2 高级配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF高级配置 (华为) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 修改接口Cost值 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # 方式1: 在接口下配置 │ │
│ │ [Router1] interface GigabitEthernet0/0/0 │ │
│ │ [Router1-GigabitEthernet0/0/0] ospf cost 10 │ │
│ │ [Router1-GigabitEthernet0/0/0] quit │ │
│ │ │ │
│ │ # 方式2: 修改默认参考带宽 │ │
│ │ [Router1] ospf 1 │ │
│ │ [Router1-ospf-1] bandwidth-reference 1000 │ │
│ │ ! 把参考带宽从100M改成1000M │ │
│ │ ! 10GE接口开销 = 1000/10000 = 1 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 配置DR/BDR优先级 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ [Router1] interface GigabitEthernet0/0/0 │ │
│ │ [Router1-GigabitEthernet0/0/0] ospf dr-priority 100 │ │
│ │ ! 设置优先级为100,确保成为DR │ │
│ │ [Router1-GigabitEthernet0/0/0] quit │ │
│ │ │ │
│ │ # 其他路由器设置为较低优先级 │ │
│ │ [Router2] interface GigabitEthernet0/0/0 │ │
│ │ [Router2-GigabitEthernet0/0/0] ospf dr-priority 50 │ │
│ │ [Router2-GigabitEthernet0/0/0] quit │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 引入外部路由 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # 引入静态路由 │ │
│ │ [Router1] ip route-static 8.8.8.0 255.255.255.0 192.168.1.1 │ │
│ │ [Router1] ospf 1 │ │
│ │ [Router1-ospf-1] import-route static │ │
│ │ ! 默认引入为E2类型 │ │
│ │ │ │
│ │ # 引入为E1类型,并设置开销 │ │
│ │ [Router1-ospf-1] import-route static type 1 cost 100 │ │
│ │ │ │
│ │ # 引入直连网络 │ │
│ │ [Router1-ospf-1] import-route direct │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 路由汇总 (ABR上配置) │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # 在ABR上汇总区域1的路由 │ │
│ │ [Router1] ospf 1 │ │
│ │ [Router1-ospf-1] area 0.0.0.1 │ │
│ │ [Router1-ospf-1-area-0.0.0.1] abr-summary 172.16.0.0 255.255.0.0 | │
│ │ ! 将172.16.0.0/24 ~ 172.16.255.0/24 汇总为/16 │ │
│ │ │ │
│ │ # 汇总外部路由 (ASBR上配置) │ │
│ │ [Router1-ospf-1] asbr-summary 10.0.0.0 255.0.0.0 | │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 配置Stub区域 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ # Stub区域所有路由器都要配置stub │ │
│ │ [Router1] ospf 1 │ │
│ │ [Router1-ospf-1] area 0.0.0.2 │ │
│ │ [Router1-ospf-1-area-0.0.0.2] stub │ │
│ │ │ │
│ │ # Totally Stub区域 (只存在于Cisco) │ │
│ │ # 华为等价配置: │ │
│ │ [Router1-ospf-1-area-0.0.0.2] stub no-summary │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
8.3 常用查看命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF常用查看命令 (华为) │
├─────────────────────────────────────────────────────────────────┤
│ │
│ # 查看OSPF邻居状态 │
│ <Router1> display ospf peer │
│ │
│ # 查看OSPF邻居详细信息 │
│ <Router1> display ospf peer verbose │
│ │
│ # 查看OSPF接口信息 │
│ <Router1> display ospf interface │
│ │
│ # 查看OSPF路由表 │
│ <Router1> display ospf routing │
│ │
│ # 查看OSPF LSDB (链路状态数据库) │
│ <Router1> display ospf lsdb │
│ │
│ # 查看特定类型LSA │
│ <Router1> display ospf lsdb router │
│ <Router1> display ospf lsdb network │
│ <Router1> display ospf lsdb summary │
│ <Router1> display ospf lsdb ase │
│ │
│ # 查看OSPF进程信息 │
│ <Router1> display ospf brief │
│ │
│ # 查看IP路由表中的OSPF路由 │
│ <Router1> display ip routing-table protocol ospf │
│ │
└─────────────────────────────────────────────────────────────────┘
|
九、故障排查
9.1 常见问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF常见故障排查 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 问题1: OSPF邻居起不来 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 检查清单: │ │
│ │ ├── ✅ 两端接口是否UP │ │
│ │ ├── ✅ 两端IP是否在同一网段 │ │
│ │ ├── ✅ 两端OSPF区域ID是否一致 │ │
│ │ ├── ✅ 两端Hello/Dead间隔是否一致 │ │
│ │ ├── ✅ 两端网络类型是否一致 │ │
│ │ ├── ✅ 认证是否匹配 │ │
│ │ └── ✅ 是否有ACL阻塞OSPF组播 │ │
│ │ │ │
│ │ 排查命令: │ │
│ │ display ospf peer │ │
│ │ display ospf interface GigabitEthernet0/0/0 │ │
│ │ display interface GigabitEthernet0/0/0 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 问题2: 路由不通 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 检查清单: │ │
│ │ ├── ✅ 邻居是否Full状态 │ │
│ │ ├── ✅ 路由是否出现在OSPF路由表中 │ │
│ │ ├── ✅ 路由是否出现在IP路由表中 │ │
│ │ ├── ✅ 是否被静默接口过滤 │ │
│ │ └── ✅ 是否被route-policy过滤 │ │
│ │ │ │
│ │ 排查命令: │ │
│ │ display ospf routing │ │
│ │ display ip routing-table │ │
│ │ display ip routing-table x.x.x.x │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 问题3: 选路不正确 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ │ │
│ │ 检查清单: │ │
│ │ ├── ✅ 确认链路带宽/接口Cost │ │
│ │ ├── ✅ 确认是否有多条等价路径 │ │
│ │ ├── ✅ 确认Cost计算是否正确 │ │
│ │ └── ✅ 确认是否有路由策略影响 │ │
│ │ │ │
│ │ 排查命令: │ │
│ │ display ospf routing │ │
│ │ display ospf lsdb │ │
│ │ display ospf abr-asbr │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
十、总结
10.1 核心知识点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF核心知识点速记 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. OSPF是什么? │ │
│ │ 链路状态路由协议,基于Dijkstra算法计算最短路径 │ │
│ │ │ │
│ │ 2. 核心概念 │ │
│ │ ├── Router-ID: 路由器唯一标识 │ │
│ │ ├── Cost: 开销值,基于带宽计算 │ │
│ │ ├── Area: 区域,用于分层设计 │ │
│ │ └── LSA: 链路状态通告,传递拓扑信息 │ │
│ │ │ │
│ │ 3. 区域类型 │ │
│ │ ├── Area 0: 骨干区域,必须存在 │ │
│ │ ├── Standard: 标准区域 │ │
│ │ ├── Stub: 末节区域,不接收外部路由 │ │
│ │ └── NSSA: 允许引入外部路由的末节区域 │ │
│ │ │ │
│ │ 4. LSA类型 │ │
│ │ ├── LSA-1: 路由器LSA (本区域) │ │
│ │ ├── LSA-2: 网络LSA (DR产生) │ │
│ │ ├── LSA-3: 汇总LSA (ABR产生) │ │
│ │ ├── LSA-4: ASBR汇总LSA │ │
│ │ └── LSA-5: 外部LSA (ASBR产生) │ │
│ │ │ │
│ │ 5. 选路规则 │ │
│ │ 区域内 > 区域间 > E1 > E2 │ │
│ │ │ │
│ │ 6. 适用规模 │ │
│ │ 50人以上的中大型网络 │ │
│ │ │ │
│ │ 7. 常用设备 │ │
│ │ 三层交换机、路由器、防火墙 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
|
10.2 学习路径建议
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
┌─────────────────────────────────────────────────────────────────┐
│ OSPF学习路径建议 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 第一阶段: 入门 │
│ ├── 理解OSPF基本原理 │
│ ├── 掌握单区域OSPF配置 │
│ └── 完成基础实验 │
│ │
│ 第二阶段: 进阶 │
│ ├── 理解多区域设计 │
│ ├── 掌握Stub/NSSA区域配置 │
│ └── 理解LSA类型和泛洪机制 │
│ │
│ 第三阶段: 精通 │
│ ├── 掌握路由汇总和策略 │
│ ├── 理解OSPF安全机制 │
│ └── 完成复杂场景实验 │
│ │
│ 第四阶段: 专家 │
│ ├── OSPF与BGP配合使用 │
│ ├── OSPF性能优化 │
│ └── OSPF故障高级排查 │
│ │
└─────────────────────────────────────────────────────────────────┘
|
希望这篇OSPF详解能帮助你系统掌握这个最重要的路由协议!如有疑问,欢迎留言讨论。