boxmoe_header_banner_img

⋅無⋅限⋅進⋅步⋅

加载中

文章导读

OSPF路由计算


avatar
yuhui 2025年10月22日 92

OSPF路由计算

同一区域的OSPF路由器拥有完全一致的LSDB。在区域内 OSPF采用SPF算法完成路由计算

区域划分可以一定程度缓解路由器压力

OSPF支持外部路由引入,从而使得OSPF知晓到达域外的路由

一、区域内路由计算

LSA概述

LSA是OSPF路由计算的关键依据

OSPF的LSU报文可以携带多种不同类型的LSA

各种类型的LSA拥有相同的报文头部

1741833232639-b7eec926-f0e6-41b6-8f9d-5e07760646bf.png

1741833232671-c2729a88-b286-4aa0-a39b-383e106bc6be.png

常见的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

1741833232676-61465f70-0ff3-40cd-b014-be076ba4bb6f.png1741833232680-e2cbf7a3-dd2f-470b-a780-4b84efa6eba1.png

Router LSA 使用Link来承载路由器直连接口的信息。

每条Link均包含 链路类型 链路ID 链路数据 以及度量值 几个关键信息

路由器可能会采用一个或者多个Link来描述某个接口

1741833232752-edcbada0-b727-4567-92cf-1a35a77cd3a4.png

Router LSA描述P2P网络

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

1741833233541-fb0e6f51-4d67-4b3c-9358-1878bc06be2e.png

Router LSA描述TransNet

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

1741833233561-5f0dedcf-96e8-42a1-9b49-39252319cef8.png

Network LSA

Network LSA(2类)由DR产生,描述本网段的链路状态,在所属区域内传播

记录了该网段所有与DR建立了邻接关系的OSPF路由器,同时携带了该网段的网络密码。

1741833233568-b42b5da2-f9a2-4b88-b862-598ef4cbefcb.png

Network LSA描述MA网络

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

1741833233601-79d39849-fb02-442f-afa9-cc22137dd420.png

SPF算法

1、构建SPF树

路由器将自己作为最短路径树的树根 根据一类和二类LSA的拓扑信息,一次将度量值最小的路由器添加到SPF书,以Router ID或者DR标识

广播网络中DR和其连接的路由器度量值为0

SPF树中只有单向的最短路径,保证了OSPF区域内路由计算不会出现环路。

2、计算最优路由

将一类二类LSA中的路由信息以叶子节点的形式附加在对应OSPF路由器上,计算最优路由。已经出现的路由信息不回再添加到SPF树干上

1741833233547-b74b7f24-465e-4b87-a543-e0891000d03c.png1741833233817-506761f3-9ec0-4858-95b4-7c379775f160.png

以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中的路由信息 完成最优路由计算

1741833233884-0fa114c4-0c2d-4086-8231-6e990b37db39.png

1741833233954-2c8abd14-1f99-4dc4-bf29-a8753dd44edd.png

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(三类)实现的

1741833233892-a9a06f52-5c1b-4574-ab9e-79fb115cf7dc.png

Network Summary LSA (三类LSA)

由ABR产生,用于向一个区域通告到达另一个区域的路由

1741833234266-c5c7a019-e106-46e6-b481-cfd236102a47.png

R1和R3的路由计算

1、通过区域内SPF的计算,R1到R2的cost=1,R3到R2的cost=2

2、R1和R3根据收到的3类LSA进行路由计算

1741833234395-d06a8ded-c63b-4767-a2ef-833a6c91f8fb.png

区域间路由防环机制

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

1741833234358-542e8ce0-17cc-4c56-aa80-72ab5c740453.png

OSPF要求所有的非骨干区域必须与A0直接相连 区域路由必须由A0中转

区域间的路由传递不能发生在两个非骨干区域之间,这使OSPF的区域架构在逻辑上形成了类似星形的拓扑

ABR不会将描述到达某个区域内网段路由的3类LSA再注入回该区域

ABR从非骨干区域收到的3类LSA不能用于区域间路由的计算

1741833234481-2c13def6-745d-40b3-adc9-304ef97d2dad.png

解决骨干区域不连续问题

虚链接的作用及配置

OSPF要求骨干区域必须是连续的,但并不要求物理上连续,可以使用虚连接使骨干区域在逻辑上连续

虚链接开开眼在任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域

1741833234426-b6166db5-cc8f-4fab-bc3b-289c44dfb62b.png

虚链接的创建使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)

1741833235081-6b91d4c4-5576-4e22-9e1a-c9c525ef3062.png

1741833235088-6ea4f042-6e66-486b-b4a2-9f44455e7408.png

路由计算过程

1741833235098-dd7d2fe8-6984-4787-995d-d0c78ddf7689.png

ASBR-Summary LSA 4类 LSA

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

1741833235109-cd4486b8-bca8-443b-8b31-4a835f2afc8b.png

R5的路由计算过程

1741833235113-8c71e4bc-3550-4bf7-b0bf-3f646cc57ca2.png

区分OSPF外部路由的2种度量值类型

Metric-type-1

当外部路由的开销与自治系统内部开销相当,并且和OSPF自身路由的开销具有可比性时,可以认为这类路由可信程度较高,将其配置成Metric-type-1

Metric-type-2

当ASBR道AS之外的开销远远大于在AS之内到达ASBR开销时,可以认为这类路由的可信程度较低,将其配置成Metric-type-2

Metric-type-2外部路由的开销等于AS外部开销

1741833235906-7431ff78-e307-4782-9b62-aae8822aafcf.png

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)

查看评论列表

暂无评论


发表评论

表情 颜文字

插入代码