OSPF路由计算
同一区域的OSPF路由器拥有完全一致的LSDB。在区域内 OSPF采用SPF算法完成路由计算
区域划分可以一定程度缓解路由器压力
OSPF支持外部路由引入,从而使得OSPF知晓到达域外的路由
一、区域内路由计算
LSA概述
LSA是OSPF路由计算的关键依据
OSPF的LSU报文可以携带多种不同类型的LSA
各种类型的LSA拥有相同的报文头部


常见的LSA类型
1-Route LSA-每个设备都会产生,描述了设备的链路状态和开销,该LSA只能在接口所属区域泛洪
2-Network LSA-DR产生,描述该DR所接入的MA网络中所有与之形成邻接关系的路由器,以及DR自己,该LSA只能在接口所属区域内泛洪。
3-Network Summary LSA-由ABR产生,描述区域内某个网段的路由,该类LSA主要用于区域间路由传递
4-ASBR Summary LSA-由ABR产生,描述到ASBR的路由,通告给出ASBR所在区域内其他相关区域
5-AS External LSA-由ASBR产生,描述到达OSPF域外路由
7-NSSA LSA-由ASBR产生,用于描述到达OSPF域外的路由。NSSA LSA与AS外部的LSA功能类似,但泛洪范围不同,NSSA LSA只能在始发的NSSA内泛洪,并且不能直接进入Area0。NSSA的ABR会将7类LSA转换成5类LSA注入到A0
Router LSA
描述了该路由器直连接口的信息。
只在所属区域内泛洪
Link State ID为OSPF的Router ID


Router LSA 使用Link来承载路由器直连接口的信息。
每条Link均包含 链路类型 链路ID 链路数据 以及度量值 几个关键信息
路由器可能会采用一个或者多个Link来描述某个接口

Router LSA描述P2P网络
R1向R3发送Router-LSA,携带拓扑和网段信息

Router LSA描述TransNet
R2向R3和R5发送Router-LSA,携带拓扑信息。

Network LSA
Network LSA(2类)由DR产生,描述本网段的链路状态,在所属区域内传播
记录了该网段所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络密码。

Network LSA描述MA网络
R2向R3和R5发送Network LSA,携带拓扑和网段信息

SPF算法
1、构建SPF树
路由器将自己作为最短路径树的树根 根据一类和二类LSA的拓扑信息,一次将度量值最小的路由器添加到SPF书,以Router ID或者DR标识
广播网络中DR和其连接的路由器度量值为0
SPF树中只有单向的最短路径,保证了OSPF区域内路由计算不会出现环路。
2、计算最优路由
将一类二类LSA中的路由信息以叶子节点的形式附加在对应OSPF路由器上,计算最优路由。已经出现的路由信息不回再添加到SPF树干上


以R1为例说明OSPF拓扑和路由的计算过程
1、R1以自己为树根 检查一类路由,对于非StubNet类型的link 将linkID加入候选列表并记录路径开销
2、R1将候选列表中候选总路径开销最小的移到最短路径树上,并候选列表中删除。
(候选总开销为本LSA中描述的Metric值和父节点到达根节点开销之和,候选列表本质上记录的是邻居列表)
3、继续查询DR产生的二类LSA。将描述的拓扑信息添加到候选列表,如果LSA中所描述的分节点在最短路径树上已经存在,则忽略
4、R1将候选总路径开销最小的邻居移到最短路径树上,并从候选列表中删除
5、根据R2产生的一类LSA 将邻居信息记录在候选列表
6、将候选总路径开销最小的邻居移到最短路径树上 并从候选列表删除
7、继续查询DR产生的2类LSA 将描述的拓扑细腻添加到候选列表
8、将候选总路径开销最小的邻居移到最短路径树上,并从候选列表中删除
9、查询R3的1类LSA,R3所有邻居都已在SPF树中,拓扑不再变化
10、查询R5的1类LSA,将R4加入SPF树,并从候选列表删除
11、查询R4的1类LSA,发现所有邻居已在SPF树干中,并且已计算完全部的SLA,构建完成
计算最优路由
从根节点开始依次添加各节点LSA中的路由信息
添加顺序为各节点加入PSF树的顺序,已有忽略
从第二阶段根据一类LSA中的Stub、二类LSA中的路由信息 完成最优路由计算


OSPF根据LSDB计算路由表,LSDB可能存在多种LSA,所有LSA有相同的报文头部格式
同意区域的OSPF路由器拥有完全一致的LSDB。在只有一个区域的情况下,区域内部主要存在两种类型的LSA,一类二类
每台路由都会产生一类 描述直连接口信息
在MA网络中 DR会产生二类来描述接入该MA网络的所有圣路易渠道Router id 包括DR自身,以及该网络的掩码
二、区域间路由计算
引入:连续的OSPF路由器构成的网络称为OSPF域
OSPF要求网络内的路由器同步 LSDB实现对于网络的已知认知
当网络规模越来越大时,LSDB将变得非常臃肿,此外路由器的路由表规模也变大了,无疑是加大了性能损耗
网络拓扑变更时,需要扩散整个网络
单区域的设计使OSPF无法部署路由汇总
区域划分
一类和二类LSA只在区域内泛洪,因此通过区域划分在一定程度上提升硬件性能
划分区域后 路由分为
区域内部路由器(Internal Router):设备所有接口同属一个区域
区域边界路由器(Area Border Rtouter):设备接口分别连接两个或以上的区域
区域间路由信息传递
OSPF区域间路由信息传递是通过ABR产生的Network Summary LSA(三类)实现的

Network Summary LSA (三类LSA)
由ABR产生,用于向一个区域通告到达另一个区域的路由

R1和R3的路由计算
1、通过区域内SPF的计算,R1到R2的cost=1,R3到R2的cost=2
2、R1和R3根据收到的3类LSA进行路由计算

区域间路由防环机制
环路的产生:OSPF区域间路由的传播过程与距离矢量路由协议的路由传播过程相似

OSPF要求所有的非骨干区域必须与A0直接相连 区域路由必须由A0中转
区域间的路由传递不能发生在两个非骨干区域之间,这使OSPF的区域架构在逻辑上形成了类似星形的拓扑
ABR不会将描述到达某个区域内网段路由的3类LSA再注入回该区域
ABR从非骨干区域收到的3类LSA不能用于区域间路由的计算

解决骨干区域不连续问题
虚链接的作用及配置
OSPF要求骨干区域必须是连续的,但并不要求物理上连续,可以使用虚连接使骨干区域在逻辑上连续
虚链接开开眼在任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域

虚链接的创建使OSPF协议可以通过非骨干区域通信,违背了OSPF区域间的防环规则,在某些场景下回导致路由环路的产生,因此不建议部署OSPF虚连接
OSPF引入了多区域概念,使得大规模组网
OSPF使用3类LSA描述区域间路由信息
为了避免环路,OSPF只能有一个骨干区域,且非骨干区域必须与骨干区域直连
OSPF Virtual Link是虚拟的逻辑的链路,被部署在两台OSPF路由器之间,它穿越某个非骨干区域用于实现另一个非骨干区域与A0的连接。Virtual Link应该始终作为一种临时的技术手段来解决非骨干区域没有与A0直接连接的情况
外部路由计算
网络中存在部分链路未开启OSPF协议
如:外部网络使用静态路由或者BGP、直连服务器签到链路未开启OSPF协议
基本概念:
ASBR自治系统边界路由:只要一台路由器引入了外部路由,它就成了ASBR
ASBR将外部路由信息以AS-External LSA 5类LSA的形式在OSPF网络泛洪
在OSPF进程下,设备支持引入BGP/ISIS/OSPF/直连以及静态路由
AS-External LSA 5类LSA
AS-External LSA 由ASBR产生,描述到达AS外部的路由,该LSA会被通告到所有的区域(除Stub和NSSA)


路由计算过程

ASBR-Summary LSA 4类 LSA
由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域

R5的路由计算过程

区分OSPF外部路由的2种度量值类型
Metric-type-1
当外部路由的开销与自治系统内部开销相当,并且和OSPF自身路由的开销具有可比性时,可以认为这类路由可信程度较高,将其配置成Metric-type-1
Metric-type-2
当ASBR道AS之外的开销远远大于在AS之内到达ASBR开销时,可以认为这类路由的可信程度较低,将其配置成Metric-type-2
Metric-type-2外部路由的开销等于AS外部开销

OSPF支持将AS外部路由引入本AS
ASBR将外部路由引入OSPF后使用5类LSA描述它们,与ASBR同一个区域的路由能根据5类LSA以及区域内1、2类LSA完成外部路由计算,与ASBR不同区域的路由器需要借助ABR转换的4类LSA才能完成路由计算
OSPF将外部路由引入到OSPF后,可以设置路由的度量值类型,不同的度量值类型的外部路由 开销计算的方式不同,其露天的优先级也不同,type1的优先级高于type2
更新: 2025-03-13 10:33:59
原文: https://www.yuque.com/yuhui.net/network/sakdrhgq7zpcifsu

评论(0)
暂无评论