文章目录
- OSPF域内路由计算:单区域的路由计算
-
- 一、OSPF单区域路由计算原理
- 二、1类LSA详解
-
- [2.1 1类LSA的作用与结构](#2.1 1类LSA的作用与结构)
- [2.2 1类LSA的四种链路类型](#2.2 1类LSA的四种链路类型)
- 三、OSPF路由表生成验证
-
- [3.1 查看LSDB](#3.1 查看LSDB)
- [3.2 查看OSPF路由表](#3.2 查看OSPF路由表)
- [3.3 查看全局路由表](#3.3 查看全局路由表)
- 四、2类LSA详解
-
- [4.1 2类LSA的作用与生成条件](#4.1 2类LSA的作用与生成条件)
- [4.2 2类LSA的字段解析](#4.2 2类LSA的字段解析)
- [4.3 拓扑与路由信息的对应关系](#4.3 拓扑与路由信息的对应关系)
- 五、OSPF关键操作命令
-
- [5.1 常用查看命令](#5.1 常用查看命令)
- [5.2 路由表验证示例](#5.2 路由表验证示例)
- 六、SPF算法与LSDB关系
-
- [6.1 拓扑计算流程](#6.1 拓扑计算流程)
- 七、核心机制总结
-
- [7.1 OSPF链路状态生成规则](#7.1 OSPF链路状态生成规则)
- [7.2 1类LSA链路类型解析](#7.2 1类LSA链路类型解析)
- [7.3 2类LSA核心特性](#7.3 2类LSA核心特性)
OSPF域内路由计算:单区域的路由计算
一、OSPF单区域路由计算原理
当路由器运行OSPF进程并将接口宣告进OSPF后,接口会生成 LS(Link State,链路状态) ,把LS封装在LSA中,形成链路状态通告信息。
链路状态包含以下关键信息:
- 接口的IP地址和子网掩码
- 链路开销(Cost)
- 邻居路由器的Router ID
每个路由器在直连的每个区域内都会生成 1类LSA(Router LSA) ,用于描述该区域内直连接口的链路状态信息,且仅在本区域内泛洪。
二、1类LSA详解
2.1 1类LSA的作用与结构
- 作用:描述路由器自身的直连链路状态。
- 关键字段:
bash
[R4]display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area:0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 4 36 80000001 1562
bash
[R4]display ospf lsdb router 1.1.1.1 #查看1类lsa的详细内容。router代表要查看1类LSA:Router LSA
OSPF Process 1 with Router ID 1.1.1.1
Area:0.0.0.0
Link State Database
Type : Router #LS类型:1类LSA(Router LSA)
Ls id : 1.1.1.1 #LSA的名字。1类LSA中为该路由器的router-id
Adv rtr : 1.1.1.1 #通告者:1类LSA中为LSA的始发者的router-id
Ls age : 312 #老化时间
Len : 36 #报文长度
Options : E #特殊区域标识
seq# : 80000001 #序列号
chksum : 0x20fc #校验和
2.2 1类LSA的四种链路类型
- StubNet :用于描述一条路由信息(叶子)
bash
Link ID : 1.1.1.1 #用于描述这条路由信息的网络号
Data : 255.255.255.255 #用于描述这条路由信息的网络掩码
Metric : 0 #用于描述该路由器到达这个目的网络的开销值
- P-2-P : 用于描述直连链路上网络类型为P2P或者P2MP的邻居(树干)
bash
Link ID : 2.2.2.2 #用于描述该邻居路由器的router-id
Data : 12.1.1.1 #用于描述本路由器链接该邻居的接口IP地址
Metric : 1562 #用于描述本路由器到达该邻居的开销值
- TransNet :用于描述直连链路上网络类型为广播或者NBMA的邻居
bash
Link ID : 192.168.1.4 #用于描述伪节点信息,使用DR的接口IP地址来充当
Data : 192.168.1.2 #用于描述自身直连的伪节点的接口IP地址
Metric : 1 #用于描述本路由器到达伪节点的开销值
- Virtual :用来描述vlink虚链路上的邻居信息
bash
Link ID : 2.2.2.2 #用于描述该邻居路由器的router-id
Data : 34.1.1.4 #用于描述本路由器链接该邻居的接口IP地址
Metric : 2 #用于描述本路由器到达该邻居的开销值
三、OSPF路由表生成验证
3.1 查看LSDB
bash
[R4]display ospf lsdb
OSPF Process 1 with Router ID 1.1.1.1
Link State Database
Area:0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 1.1.1.1 1.1.1.1 4 36 80000001 1562
3.2 查看OSPF路由表
bash
[R1]display ospf routing #查看一下ospf的路由表信息,可以看到利用spf算法算出了3条路由
OSPF Process 1 with Router ID 1.1.1.1
Routing Tables
Routing for Network
Destination Cost Type Nexthop AdvRouter Area
1.1.1.1/32 0 Stub 1.1.1.1 1.1.1.1 0.0.0.0
12.1.1.0/24 1562 Stub 12.1.1.1 1.1.1.1 0.0.0.0
2.2.2.2/32 1562 Stub 12.1.1.2 2.2.2.2 0.0.0.0
Total Nets : 3
Intra Area : 3 Inter Area : 0 ASE : 0 NSSA : 0
bash
[R1]display ip routing-table #可是只有一条加表,因为另外两条路由是直连胜出。
Route Flags : R - relay , D -- download to fib
--------------------------------------------------------------------------------------------------
Routing tables : Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost Flags Nexthop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
2.2.2.2/32 OSPF 10 1562 D 12.1.1.2 Serial0/0/0
12.1.1.0/24 Direct 0 0 D 12.1.1.1 Serial0/0/0
12.1.1.1/32 Direct 0 0 D 127.0.0.1 Serial0/0/0
12.1.1.2/32 Direct 0 0 D 12.1.1.2 Serial0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
3.3 查看全局路由表
bash
[R1]display ip routing-table protocol ospf
Route Flags : R - relay , D -- download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 1 Routes : 1
OSPF routing table status : <Active>
Destinations : 1 Routes : 1
Destination/Mask Proto Pre Cost Flags Nexthop Interface
2.2.2.2/32 OSPF 10 1562 D 12.1.1.2 Serial0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
四、2类LSA详解
4.1 2类LSA的作用与生成条件
- 作用 :描述广播网络中 伪节点(DR) 的信息,包含网络掩码和连接的实节点(路由器)列表。
- 生成条件 :仅在网络类型为广播/NBMA且存在DR的链路中生成。
- 核心特性 :
- 伪节点到所有实节点的开销值为 0。
- 同时包含 拓扑信息(树干) 和 路由信息(叶子)。
4.2 2类LSA的字段解析
bash
[R1]display ospf lsdb network 192.168.1.2
OSPF Process 1 with Router ID 1.1.1.1
Area:0.0.0.0
Link State Database
Type : Network #LS类型:2类LSA(Network LSA)。用来描述伪节点的信息
Ls id : 192.168.1.2 #LSA的名字。2类LSA中使用DR接口的IP地址充当
Adv rtr : 2.2.2.2 #通告者:2类LSA中使用DR接口所在路由器的router-id充当
Ls age : 263 #老化时间
Len : 36 #报文长度
Options : E #特殊区域标识
seq# : 80000003 #序列号
chksum : 0x5c5f #校验和
Net mask : 255.255.255.0 #网络掩码:2类LSA不仅描述邻居信息(树干),同时还描述一个路由信息(叶子)
Priority : Low #优先级
Attached Router 2.2.2.2
Attached Router 3.3.3.3 #用于描述该伪节点直连的邻居信息(树干)
Attached Router 4.4.4.4
4.3 拓扑与路由信息的对应关系
信息类型 | 描述内容 | 实现方式 |
---|---|---|
树干信息 | 邻居关系(拓扑) | Attached Router 字段 |
叶子信息 | 网络路由(子网) | Net mask 字段与Ls id组合计算 |
五、OSPF关键操作命令
5.1 常用查看命令
bash
<AR1>display ospf lsdb #查看OSPF数据库
<AR1>display ospf lsdb router 1.1.1.1 #查看1类LSA具体信息
<AR1>display ospf lsdb network 192.168.1.2 #查看2类LSA具体信息
<AR1>display ospf routing 查看SPF算法计算出的最优路由,这个表中的最优路由会拿去经过加表原则选择,加入全局路由表ip routing-table
<AR1>display ip routing-table #这里面是所有经过加表原则pk后胜出的路由
5.2 路由表验证示例
bash
[R1]display ospf routing #验证SPF树
OSPF Process 1 with Router ID 1.1.1.1
Routing Tables
Routing for Network
Destination Cost Type Nexthop AdvRouter Area
12.1.1.0/24 1 Transit 12.1.1.1 1.1.1.1 0.0.0.0
13.1.1.0/24 1562 Stub 13.1.1.1 1.1.1.1 0.0.0.0
23.1.1.0/24 2 Transit 12.1.1.2 5.5.5.5 0.0.0.0
24.1.1.0/24 1563 Stub 12.1.1.2 2.2.2.2 0.0.0.0
45.1.1.0/24 1564 Stub 12.1.1.2 5.5.5.5 0.0.0.0
Total Nets : 5
Intra Area : 5 Inter Area : 0 ASE : 0 NSSA : 0
bash
[R1]display ip routing-table protocol ospf #经过加表原则的选择,只剩下3个路由能够加表
Route Flags : R - relay , D -- download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 3
OSPF routing table status : <Active>
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags Nexthop Interface
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 GigabitEthernet0/0/0
24.1.1.0/24 OSPF 10 1563 D 12.1.1.2 GigabitEthernet0/0/0
45.1.1.0/24 OSPF 10 1564 D 12.1.1.2 GigabitEthernet0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
六、SPF算法与LSDB关系
6.1 拓扑计算流程
- 收集所有1类LSA(实节点信息)和2类LSA(伪节点信息)
- 构建网络拓扑图(树干连接关系)
- 计算最短路径树(SPF树)
- 生成叶子路由条目
- 尝试使用SPF算法,根据LSDB,推演出最短路径树干以及叶子信息
- 这时需要用到一个表(具体使用方法略),就可以画出SPF树了
七、核心机制总结
- 1类LSA的泛洪范围:仅在宣告接口所属的区域内传播。
- SPF算法作用:根据LSDB中的拓扑信息,计算到达所有网络的最短路径树。
- 路由表生成逻辑:通过整合1类LSA中的链路状态信息,生成区域内精确的直连和邻居路由条目。
7.1 OSPF链路状态生成规则
-
接口状态生成
- 当路由器接口启用OSPF并宣告进进程后,自动生成 链路状态(LS) ,包含:
✅ 接口IP地址/子网掩码
✅ 链路开销(Cost)
✅ 邻居路由器Router ID
- 当路由器接口启用OSPF并宣告进进程后,自动生成 链路状态(LS) ,包含:
-
LSA生成逻辑
- 单区域 :每台路由器生成1个1类LSA,描述本区域直连接口状态
- 多区域 :每台路由器在每个直连区域生成1个1类LSA,仅在该区域内泛洪
7.2 1类LSA链路类型解析
链路类型 | 应用场景 | 描述内容 | 关键字段示例 |
---|---|---|---|
StubNet | 直连网段 | 路由信息(叶子) | Link ID=网络号,Metric=0 |
P-2-P | 点对点/点对多点链路 | 直接邻居拓扑(树干) | Link ID=邻居Router ID |
TransNet | 广播/NBMA网络 | 伪节点连接关系(树干) | Link ID=DR接口IP |
Virtual | 虚链路(Vlink) | 跨区域虚连接信息 | Data=虚链路本地接口IP |
7.3 2类LSA核心特性
- 生成条件:广播网络中存在DR时自动生成
- 双重描述 :
🔹 邻居信息 :通过Attached Router
字段描述伪节点连接的实节点(树干)
🔹 路由信息 :通过Ls id + Net mask
描述网络号(叶子) - 开销规则 :伪节点到所有实节点的开销值固定为 0