【干货】网工人必须知道的OSPF路由计算知识点~

区域内路由计算

LSA概述

同一个区域中的所有路由器拥有完全一致的LSDB,如R2的LSDB所示,该网络中有多个LSA。

LSA的基本概念

  • LSA是OSPF进行路由计算的关键依据。

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

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

重要字段解释

  • LS Age(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。

  • Options(可选项):每一个bit都对应了OSPF所支持的某种特性。

  • LS Type(链路状态类型):指示本LSA的类型。

  • Link State ID(链路状态ID):不同的LSA,对该字段的定义不同。

  • Advertising Router(通告路由器):产生该LSA的路由器的Router ID。

  • LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。

  • LS Checksum(校验和):用于保证数据的完整性和准确性。

  • Length:是一个包含LSA头部在内的LSA的总长度值。

链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA。

链路状态老化时间 、链路状态序列号 、校验和用于判断LSA的新旧

  • LS Age:当LSA被始发时,该字段为0,随着LSA在网络中被泛洪,该时间逐渐累加,当到达MaxAge(缺省值为3600s)时,LSA不再用于路由计算。

  • LS Sequence Number:该字段用于判断LSA的新旧或是否存在重复的实例。序列号范围是0x80000001-0x7FFFFFFF,路由器始发一个LSA,序列号为0x80000001,之后每次更新序列号加1,当LSA达到最大序列号时,重新产生该LSA,并且把序列号设置为0x80000001。

常见LSA的类型

  • 在许多场合中,我们习惯使用类型值来称呼对应的LSA,例如1类LSA等同于Router LSA,2类LSA等同于Network LSA,以此类推。

Router-LSA

Router LSA详解 (1)

Router LSA(1类LSA):每台OSPF路由器都会产生。它描述了该路由器直连接口的信息。

Router LSA只能在所属的区域内泛洪。

  • V (Virtual Link ) :如果产生此LSA的路由器是虚连接的端点,则置为1。

  • E (External ):如果产生此LSA的路由器是ASBR,则置为1。

  • B (Border ):如果产生此LSA的路由器是ABR,则置为1。

  • links :LSA中的Link(链路)数量。Router LSA使用Link来承载路由器直连接口的信息。

Router LSA详解 (2)

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

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

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

  • 度量值(Metric):Cost值。

Router LSA描述P2P网络

Router LSA描述TransNet

Network-LSA

Network LSA详解

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

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

  • Link State ID :DR的接口IP地址。

  • Network Mask:MA网络的子网掩码。

  • Attached Router:连接到该MA网络的路由器的Router-ID(与该DR建立了邻接关系的邻居的Router-ID,以及DR自己的Router-ID),如果有多台路由器接入该MA网络,则使用多个字段描述。

Network LSA描述MA网络

SPF计算过程

SPF算法 (1)

Phase 1:构建SPF树。

  • 路由器将自己作为最短路径树的树根,根据Router-LSA和Network-LSA中的拓扑信息,依次将Cost值最小的路由器添加到SPF树中。路由器以Router ID或者DR标识。

  • 广播网络中DR和其所连接路由器的Cost值为0。

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

SPF算法 (2)

Phase 2:计算最优路由。

  • 将Router-LSA、Network-LSA中的路由信息以叶子节点形式附加在对应的OSPF路由器上,计算最优路由。

  • 已经出现的路由信息不会再添加到SPF树干上。

SPF算法举例

构建SPF树 (1)

1.R1以自己为根,检查Router LSA,对于非StubNet类型的Link,将Link ID加入候选列表并记录路径开销。

2.R1将候选列表中候选总路径开销最小的移到最短路径树上,并从候选列表中删除。

·注意: 

  • 候选总开销为本LSA中描述的Metric值和父节点到达根节点开销之和。

  • 候选列表本质上记录的是邻居列表。

3.继续查询DR产生的Network LSA。将描述的拓扑信息添加到候选列表。如果LSA中所描述的分节点在最短路径树上已经存在,则忽略该分节点。

4.R1将候选总路径开销最小的邻居移到最短路径树上,并从候选列表中删除。

5.根据R2产生的Router LSA,将邻居信息记录在候选列表。

6.将候选总路径开销最小的邻居移到最短路径树上,并从候选列表中删除。

7.继续查询DR产生的2类LSA。将描述的拓扑信息添加到候选列表。

8.将候选总路径开销最小的邻居移到最短路径树上,并从候选列表中删除。

  • R3在候选列表中存在两个不同的Cost值,分别为48和2,因此将Cost值较小的添加到最短路径树,并从候选列表中删除。

9.查询R3的1类LSA,R3所有邻居都已在SPF树中,拓扑不再变化。

10.查询R5的1类LSA,将R4加入SPF树,并从候选列表删除。

11.查询R4的1类LSA,发现所有邻居已在SPF树干中。并且已计算完全部的LSA,SPF树构建完成。

计算最优路由

  • 从根节点开始依次添加各节点LSA中的路由信息。

  • 添加顺序为各节点加入SPF树的顺序,已经出现的忽略。

  • 第二阶段根据Router LSA中的Stub、Network LSA中的路由信息,完成最优路由的计算。

  • 从根节点开始,依次添加LSA中的路由信息(添加顺序按照每个节点加入SPF树的顺序):

    10.0.1.1(R1)的Router LSA中,共1个Stub连接,网络号/子网掩码10.0.13.0/24,Metric=48;

    10.0.12.2(DR)的Network LSA中,网络号/子网掩码10.0.12.0/24,Metric=1+0=1;10.0.2.2(R2)的Router LSA中,共1个Stub连接,网络号/子网掩码10.0.24.0/24,Metric=1+0+48=49;

    10.0.235.2(DR)的Network LSA中,网络号/子网掩码10.0.235.0/24,Metric=1+0+1=2;

    10.0.3.3(R3)的Router LSA中,共1个Stub连接,网络号/子网掩码10.0.13.0/24,已在R1上,忽略;

    10.0.5.5(R5)的Router LSA中,共1个Stub连接,网络号/子网掩码10.0.45.0/24,Metric=1+0+0+1+48=50;

    10.0.4.4(R4)的Router LSA中,共2个Stub连接,网络号/子网掩码10.0.24.0/24,已在R2上,忽略;网络号/子网掩码10.0.45.0/24,已在R5上,忽略。

结果验证

思考:为什么R1的OSPF路由表中的路由没有全部出现在全局路由表中?

思考题

01

(多选题)Router-LSA中主要包含哪几种链路类型?(     )

A.P2P

C.StubNet

A.TransNet

D.Vlink

答案

点击下方空白处获得答案

ABCD

02

1.(判断题)经过SPF算法计算后,被认为是最优的OSPF路由一定会被放入路由器的路由表。(    )

A.对

B.错

答案

点击下方空白处获得答案

B

  • OSPF根据LSDB计算路由表,LSDB中可能存在多种类型的LSA,并且所有的LSA有相同的报文头部格式。

  • 同一区域的OSPF路由器拥有完全一致的LSDB。在只有一个区域的情况下,区域内部主要存在两种类型的LSA,即Router-LSA和Network-LSA。·每台路由器都会产生Router-LSA,描述了路由器的直连接口信息。

  • 在MA网络中,DR会产生Network-LSA来描述接入该MA网络的所有路由器的Router-ID(其中包括DR自身),以及这个网络的掩码。

(0)

相关推荐