文章目录
- OSPF外部路由计算
- 1. 实验拓扑与基础配置
- 2. 关键配置命令
- 2.1 引入静态路由
- 2.2 查看路由表
- 3. LSA生成与传播分析
- 3.1 ASBR角色通告(1类LSA)
- 3.2 外部路由通告(5类LSA)
- 3.3 外部路由引入过程
- 4. 5类LSA关键字段解析
- 5. 外部路由类型控制
- 5.1 修改开销类型
- 5.2 调整种子度量
- 6. 4类LSA关键字段解析
- 6.1 LSA类型与作用
- 6.2 生成机制
- 6.3 字段解析示例
- 7. 关键问题与LSA类型总结
- 7.1 思考题精解
- 问题①:有5类LSA必然存在4类LSA吗?
- 问题②:存在4类LSA必然存在5类LSA吗?
- 7.2 ABR核心功能解析
- 8. OSPF三大LSA类型详解
- 8.1 LSA基础概念
- 8.2 LSA分类矩阵
- 8.2.1 域内路由计算
- 8.2.2 域间路由计算
- 8.2.3 外部路由计算
- 9. 综合实验
- 9.1 实验拓扑
- 9.2 问题列表
- 9.3 详细解答
- OSPF中FA地址的作用机制与实验验证
- 1. 实验背景
- 2. 实验拓扑与基础配置
- 2.1 关键配置步骤
- 3. 实验结果分析
- 3.1 路由表异常现象
- 3.2 5类LSA关键字段解析
- 4. FA地址核心知识点
- 4.1 生成条件
- 4.2 功能特性
- OSPF默认路由
- 1. 实验
- 1.1 基础配置与缺省路由引入
- 1.2 跨进程路由引入
- 1.2.1 网络拓扑说明
- 1.2.2 双向路由引入配置
- 1.2.3 路由转换特性
OSPF外部路由计算
1. 实验拓扑与基础配置
实验目标:将R4的静态路由引入OSPF域,观察外部路由传播机制及LSA生成过程。
2. 关键配置命令
2.1 引入静态路由
[R4-ospf-1] import-route static # 将静态路由注入OSPF进程,可以引入直连、静态、rip、ospf、isis、bgp等外部路由
2.2 查看路由表
[R1] display ip routing-table #路由表中出现外部的路由,协议是O_ASE即ospf外部路由,且优先级与内部的10不同,外部的是150
......5.5.5.5/32 O_ASE 150 1 D 12.1.1.2 GigabitEthernet0/0/0
3. LSA生成与传播分析
抓包观察到两条LSU更新
3.1 ASBR角色通告(1类LSA)
第一条LSU携带了自身的1类LSA, 重点是Flags,标记了路由器自身的角色是ASBR。
验证ASBR标记:
[R4] display ospf lsdb router 4.4.4.4 #查看R4的1类LSA ,也能看到标记了ASBR
第一条LSU的重点是通知其他路由器,本路由器的路由器角色的变化。
3.2 外部路由通告(5类LSA)
第二条LSU携带了5类LSA,就是引入的外部路由。
[R4] display ospf lsdb
数据库输出示例:
Type LinkState ID AdvRouter Age Len Sequence Metric
External 5.5.5.5 4.4.4.4 1139 36 80000001 1
3.3 外部路由引入过程
- 在使用命令将静态路由引入到ospf后,R4会触发两条LSU报文
- 第一条携带1个自身的1类LSA,且会把ASBR置位,用来告诉本区域的其他路由器,我成为了ASBR,要引入外部路由了;
- 第二条LSU携带的就是引入的外部路由(5类LSA)
4. 5类LSA关键字段解析
- 5类LSA(External LSA):用来描述外部路由信息
[R4]display ospf lsdb #查看数据库发现最下面多出一个External(5类LSA),在External(外部路由)数据库
OSPF Process 1 with Router ID 4.4.4.4Link State DatabaseArea:0.0.0.2
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 4.4.4.4 4.4.4.4 1139 36 80000005 1
Router 3.3.3.3 3.3.3.3 1346 36 80000004 1
Network 34.1.1.4 4.4.4.4 1338 32 80000002 0
Sum-Net 12.1.1.0 3.3.3.3 1362 28 80000001 1
Sum-Net 23.1.1.0 3.3.3.3 1397 28 80000001 1AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 5.5.5.5 4.4.4.4 1139 36 80000001 1
外部路由不是基于区域泛洪,他在ospf的自治域中泛洪,与骨干/非骨干的区域无关,凡是建立Full邻居关系的都会被泛洪(能传但不一定会算)
[R4]dis ip routing-table #这条路由一定是静态学来的
......5.5.5.5/32 Static 60 0 RD 45.1.1.5 GigabitEthernet0/0/0
[R4]display ospf lsdb ase 5.5.5.5 #查看5类LSA的方式。ase:外部
Type : External #LS类型:5类LSA(External LSA)。用来描述外部路由信息
Ls id : 5.5.5.5 #LSA的名字。5类LSA中表示外部路由的网络地址
Adv rtr : 4.4.4.4 #通告者:5类LSA中使用ASBR路由器
......
Net mask : 255.255.255.255 #该外部路由信息的网络掩码
TOS 0 metric : 1 #ASBR路由器到达该目的网络的开销值。外部cost引入后不再计算,一律是1 TOS:优先级
E type : 2 #描述了5类LSA的开销值类型,默认为2,可改为1。.引入时更改。
Forwarding Address :0.0.0.0 #转发地址(FA):可优化ospf访问路径
Tag : 1 #路由标记:用来作为路由策略的一个匹配参数
E Type的类型对比:
类型 | 计算方式 | 适用场景 |
---|---|---|
Type1 | 内部开销 + 外部开销 | 需要精确路径选择的复杂网络 |
Type2 | 仅外部开销(默认) | 简单网络或需要优先外部度量 |
5. 外部路由类型控制
5.1 修改开销类型
[R4-ospf-1] import-route static type 1 #更改方式为引入时即更改
5.2 调整种子度量
[R4-ospf-1] import-route static cost 1000 #如果不想更改tpye类型,还可以手动更改外部路由的种子开销值来影响选路
6. 4类LSA关键字段解析
6.1 LSA类型与作用
- 4类LSA(ASBR Summary LSA) :描述ASBR位置信息,由ABR生成并跨区域传播
6.2 生成机制
关键过程:
- ABR接收到含ASBR标记的1类LSA
- 转换为4类LSA向相邻区域传递
- 其他ABR收到后更新AdvRouter字段为自己,继续泛洪
Sum-Asbr 4.4.4.4 3.3.3.3 1973 28 80000002 1
6.3 字段解析示例
[R4]display ospf lsdb asbr 4.4.4.4
Type : Sum-Asbr #LS类型:4类LSA(asbr LSA)。用来描述ASBR信息
Ls id : 4.4.4.4 #LSA的名字。4类LSA中使用ASBR路由器的router-id填充
Adv rtr : 3.3.3.3 #通告者:4类LSA中使用ABR路由器
......
TOS 0 metric : 1 #用来描述ABR路由器到达ASBR路由器的开销值。
7. 关键问题与LSA类型总结
7.1 思考题精解
问题①:有5类LSA必然存在4类LSA吗?
答案:
❌ 不一定。在单区域拓扑中,由于没有ABR存在,不会生成4类LSA。
问题②:存在4类LSA必然存在5类LSA吗?
答案:
❌ 不一定。以下两种情况会导致分离:
- 执行
import-route
命令但路由表中无对应路由条目 - 引入的路由被路由策略过滤
7.2 ABR核心功能解析
功能场景 | 具体行为 |
---|---|
接收ASBR标记的1类LSA | 生成4类LSA向其他直连区域传播 |
接收其他区域的4类LSA | 更新AdvRouter字段后继续泛洪 |
跨区域路由传递 | 将1类/2类LSA转换为3类LSA传递 |
8. OSPF三大LSA类型详解
8.1 LSA基础概念
定义:
链路状态通告(Link-State Advertisement),通过LSU报文传输的OSPF协议数据单元,存储于LSDB中。
当一台路由器的接口宣告进了OSPF进程中,那么这个接口的信息(IP 掩码 邻居信息 等等)就会生成链路状态(LS)
8.2 LSA分类矩阵
8.2.1 域内路由计算
LSA类型 | 作用范围 | 核心功能 |
---|---|---|
1类 | 本区域 | 用来描述路由器自身的直连状态,同时1类LSA还描述了路由器自身的角色(ABR ASBR vlink) |
2类 | 本区域 | 当邻居互联链路的网络类型为广播或者NBMA时,使用DR所在接口的IP信息形成伪节点,使用2类LSA来描述伪节点信息(树干,叶子) |
8.2.2 域间路由计算
LSA类型 | 作用范围 | 核心功能 |
---|---|---|
3类 | 跨区域 | ABR把域内1类和2类LSA计算出的最优路由以3类LSA形式在其他直连区域内进行传递 |
防环机制:
- 星型拓扑约束:非骨干区域必须直连骨干区域
- ABR策略限制:
- 非骨干区域3类LSA不会传递到骨干区域
- 骨干区域存在邻接时不会计算非骨干区域的3类LSA
- 骨干区域不存在邻接关系则会计算非骨干区域的3类LSA
- 路由优先级:1类LSA > 3类LSA(无视cost值)
8.2.3 外部路由计算
LSA类型 | 作用范围 | 核心功能 |
---|---|---|
5类 | 全自治系统 | 当执行了引入动作之后,路由表中的路由条目会以5类LSA的形式存放在LSDB中,并且在整个OSPF自治域内进行传递,不基于区域 |
4类 | 跨区域 | 当ABR收到ASBR置位的1类LSA后,会将1类转4类传递到其他直连区域,用于帮助其他区域的路由器计算5类LSA |
9. 综合实验
9.1 实验拓扑
9.2 问题列表
- 要求:R4和R1之间的直连接口宣告到Area 0。R1和R2之间的直连接口宣告到Area 1。在R2上有一个lo0宣告到Area 0,在R2上有一个静态路由,
- R2和R3之间没有ospf,只有静态指向了R3,目标是lo0,在R3上做了一条往回指的默认路由,在R2上把静态路由引入进了ospf。
- R2作为ABR会产生4类LSA么?
- R1作为ABR会产生4类LSA么?
- R1的路由表里有200.200.200.200么?为什么?
- R1的路由表里有100.100.100.100么?为什么?
- R5能ping通200.200.200.200么?为什么?
- R5能ping通100.100.100.100么?为什么?
- 如果R1和R5之间宣告了区域2,那么R5路由表中还会有100.100.100.100么?为什么?
9.3 详细解答
-
- 不会产生:它只会生成5类LSA,不会在直连区域产生4类LSA。
因为直连区域内的路由器可通过1类LSA构建的SPF树来找到ASBR。
- 不会产生:它只会生成5类LSA,不会在直连区域产生4类LSA。
-
- 会产生:R1收到R2的标识ASBR的1类LSA,会将其转换成4类LSA。
-
- 没有:200.200.200.200在R2上是1类LSA,作为最优路由传递到area 1中,被转换成了3类LSA。
R1收到此条3类LSA由于防环原则,不会继续传递。
- 没有:200.200.200.200在R2上是1类LSA,作为最优路由传递到area 1中,被转换成了3类LSA。
-
- 有:当R2把static路由引入后,会作为5类LSA存在。
5类LSA凡是建立Full邻居关系的路由器都会被泛洪。
- 有:当R2把static路由引入后,会作为5类LSA存在。
-
- 不能:R1就没有此路由,R5更没有了。
-
- 能 :ping的原理之有去有回
去的路径上都存在目的IP的路由,回的路径上都存在源IP的路由。
- 能 :ping的原理之有去有回
-
- 没有:R1不会再成为ABR,也就不会再传递Area 1中的1类、4类LSA。
只有不基于区域传递的5类LSA,找不到通告者ASBR,计算不出来。
- 没有:R1不会再成为ABR,也就不会再传递Area 1中的1类、4类LSA。
OSPF中FA地址的作用机制与实验验证
1. 实验背景
在配置OSPF协议并引入静态路由时,发现外部路由出现多路径问题。通过分析5类LSA中的 FA地址(Forwarding Address) 字段,验证其对路由计算的影响。
2. 实验拓扑与基础配置
(图示:FA地址应用场景的网络拓扑)
2.1 关键配置步骤
[R1]ip route-static 100.100.100.100 32 123.1.1.3 #R1上配置静态路由
[R1-ospf-1]import-route static #R1上配置引入静态路由到OSPF
[R1]dis ospf lsdb #此时查看R1的lsdb能看到引入的外部路由
3. 实验结果分析
3.1 路由表异常现象
Routing for ASEs
Destination Cost Type Tag Nexthop AdvRouter
100.100.100.100/32 1 Type2 1 24.1.1.2 1.1.1.1
100.100.100.100/32 1 Type2 1 14.1.1.1 1.1.1.1
- 此时静态路由转换成的5类LSA被泛洪到了配置ospf的所有路由器的ospf数据库中。
- R4能通过area 0中的1类LSA计算出如何去往ASBR,也就能计算出去往100.100.100.100的路由。
- 但是计算出了两个,分别为通过了R1和通过了R2。
- 这就是FA地址的原因。
3.2 5类LSA关键字段解析
<R1> display ospf lsdb ase 100.100.100.100 #查看5类LSA
Type : External
Ls id : 100.100.100.100
Adv rtr : 1.1.1.1
......
Net mask : 255.255.255.255
TOS 0 metric : 1
E type : 2
Forwarding Address :123.1.1.3 #可以看到FA地址(Forwarding Address)有了内容。之前都是0.0.0.0。外部路由的下一跳会填充到FA地址中。
Tag : 1
4. FA地址核心知识点
4.1 生成条件
- ✅ ASBR的外部路由出接口需满足:
- 接口已宣告进OSPF进程
- 未配置静默接口(silent-interface)
- 网络类型非P2P(Broadcast/NBMA)
- ❌ 产生FA地址条件,不包括:
- AR1和AR2建立邻居
4.2 功能特性
场景 | 计算方式 | 路径选择依据 |
---|---|---|
FA=0.0.0.0 | 寻找ASBR | 到达ASBR的开销 |
FA≠0.0.0.0 | 通过SPF树寻找FA地址 | 到达FA地址的开销 |
OSPF默认路由
1. 实验
1.1 基础配置与缺省路由引入
- ASBR配置命令
[R3-ospf-1]default-route-advertise
- 仅引入缺省路由(若使用
import-route static
会引入所有静态路由) - 若R7-R3链路中断,全网能感知到路由变化(bfd不会感知,因为整网收敛)
- 链路主备场景扩展参数
permit-calculate-other
- 允许计算其他路由器的cost值
- 需在备用链路所在设备配置此参数
1.2 跨进程路由引入
1.2.1 网络拓扑说明
- 红圈区域划分
- 左/右红圈代表两个独立公司网络
- 接口配置不同OSPF进程
- 可临时使用虚链路(vlink)但稳定性较差
1.2.2 双向路由引入配置
[R3-ospf-100]import-route ospf 200 #在r3的ospf100进程引入ospf200
[R3-ospf-200]import-route ospf 100 #在r3的ospf200进程引入ospf100
1.2.3 路由转换特性
- 跨进程引入后:
- 原始1类LSA转换为5类LSA
- 突破OSPF区域限制
- 实现两个OSPF自治域互通