江中散人

V1

2022/09/27阅读:13主题:默认主题

【重识云原生】第四章云网络4.3.4.4节——[转载]OSPF域内路由

 

 《重识云原生系列》专题索引:

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第三章云存储第1节——分布式云存储总述
  4. 第四章云网络第一节——云网络技术发展简述
  5. 第四章云网络4.2节——相关基础知识准备
  6. 第四章云网络4.3节——重要网络协议
  7. 第四章云网络4.3.1节——路由技术简述
  8. 第四章云网络4.3.2节——VLAN技术
  9. 第四章云网络4.3.3节——RIP协议
  10. 第四章云网络4.3.4节——OSPF协议
  11. 第四章云网络4.3.4.3节——OSPF协议工作原理
  12. 第四章云网络4.3.4.4节——[转载]OSPF域内路由
  13. 第四章云网络4.3.4.5节——[转载]OSPF外部路由
  14. 第四章云网络4.3.4.6节——[转载]OSPF特殊区域之Stub和Totally Stub区域详解及配置
  15. 第四章云网络4.3.4.7节——[转载]OSPF特殊区域之NSSA和Totally NSSA详解及配置
  16. 第四章云网络4.3.5节——EIGRP协议
  17. 第四章云网络4.3.6节——IS-IS协议
  18. 第四章云网络4.3.7节——BGP协议
  19. 第四章云网络4.3.7.2节——BGP协议概述
  20. 第四章云网络4.3.7.3节——BGP协议实现原理
  21. 第四章云网络4.3.7.4节——高级特性
  22. 第四章云网络4.3.7.5节——实操
  23. 第四章云网络4.3.7.6节——MP-BGP协议
  24. 第四章云网络4.3.8节——策略路由
  25. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术

 注:本文主要转载自《OSPF(三)OSPF域内路由_Skye_Zheng的博客-CSDN博客_ospf域内路由

4 OSPF域内路由

4.1 基础概念回顾

        LSA(链路状态广播,Link State Advertisement)是链接状态协议使用的一个分组,它包括有关邻居和通道成本的信息,是路由器之间链路状态信息的载体,被路由器接收用于维护它们的路由选择表,也就是说LSDB由一条条LSA构成的。

4.1.1 LSA报文头结构

        所有的LSA都有相同的头部,关键字段的含义如下:

4.1.2 常见LSA分类

4.2 Router LSA(路由器LSA)

        每一台路由器都会产生路由器LSA通告。这个最基本的LSA通告列出了路由器所有的链路或接口,并指明了它们的状态和沿每条链路方向出站的开销,以及该链路上所有已知的OSPF邻居。这些LSA通告只会在始发它们的区域内部进行泛洪扩散。华为设备通过命令display ospf lsdb router self-originate可以查看路由器自己产生的LSA

4.2.1 Router LSA描述P2P网络

        每台OSPF路由器使用一条Router-LSA描述本区域内的链路状态信息。一条Router-LSA可以描述多条链接,每条链接描述信息由Link ID,Data,Link Type和Metric组成,

display ospf lsdb router self-originate

Type : Router //LSA类型

Ls id : 1.1.1.1 //链路状态ID

Adv rtr : 1.1.1.1 //产生此LSA的路由器Router ID

//拓扑信息

  • Link ID: 3.3.3.3 //邻居路由器的Router ID Data : 10.1.13.1 //宣告该Router LSA的路由器接口的IP地址 Link Type: P-2-P Metric : 48

//路由信息

  • Link ID: 10.1.13.0 //该Stub网络的IP地址 Data : 255.255.255.0 //该Stub网络的网络掩码 Link Type: StubNet Metric : 48 //开销值 Priority : Low

4.2.2 Router LSA描述MA网络或NBMA网络

        在描述MA或NBMA网络类型的Router-LSA中,Link ID为DR的接口IP地址,Data为本地接口的IP地址。 如图所示: RTB、RTC、RTE之间通过以太链路互连,以RTC产生的LSA为例,Link ID为DR的接口IP地址(10.1.235.2),Data为本地路由器连接此MA网络的接口IP地址(10.1.235.3),Link Type为TransNet,Metric表示到达DR的开销值。

        TransNet描述的链接中仅包括与DR的连接关系及开销,没有网络号/掩码及共享链路上其他路由器的任何信息。 display ospf lsdb router self-originate Type : Router //LSA类型 Ls id : 3.3.3.3 //链路状态ID Adv rtr : 3.3.3.3 //产生此LSA的路由器的Router ID //拓扑信息

        Link ID: 10.1.235.2 //DR的接口IP地址 Data : 10.1.235.3 //宣告该Router LSA的路由器接口的IP地址 Link Type: TransNet Metric : 1 小技巧:如果Link ID与Data是一致的,则该路由器在本网段为DR 为什么,多路访问网络中的Router LSA只有拓扑信息,没有路由信息?多路访问网络的路由信息由该网络中的DR产生第二类LSA通告。

4.3 Network LSA (网络LSA)

        每一个多路访问网络中的指定路由器(DR)将会产生网络LSA通告。正如前面讨论的,DR路由器可以看作一个“伪”节点,或是一个虚拟路由器,用来描绘一个多路访问网络和与之相连的所有路由器。从这个角度来看,一条网络LSA通告也可以描绘一个逻辑上的“伪”节点,就像一条路由器LSA通告描绘一个物理上的单台路由器一样。网络LSA通告列出了所有与之相连的路由器,包括DR路由器本身。就像路由器LSA一样,网络LSA也仅仅在产生这条网络LSA的区域内部进行泛洪扩散。

4.3.1 Network LSA描述MA、NBMA网络

        MA、NBMA共享网段中的网络号/掩码以及路由器间的链接关系,通过Network LSA来呈现。 <RTB>display ospf lsdb network self-originate

OSPF Process 1 with Router ID 2.2.2.2

  ​ Area: 0.0.0.0

Link State Database

//拓扑信息、路由信息

Type : Network         //LSA类型

Ls id : 10.1.235.2         //DR接口的IP地址

Adv rtr : 2.2.2.2         //产生此Network LSA的路由器Router ID及DR的Router ID

Net mask : 255.255.255.0 //网络掩码

Priority : Low Attached Router 2.2.2.2 //连接到该网段的路由器列表,呈现了此网段的拓扑信息

Attached Router 3.3.3.3

Attached Router 5.5.5.5 //基于上述字段表达的信息,LS ID和Net mask做与运算,即可得出该网段的IP网络号,另外,从DR路由器到其所连接的路由器的开销为0

//从Attached Router部分可以看出,2.2.2.2、3.3.3.3、5.5.5.5共同连接到该共享MA网段中,DR路由器为2.2.2.2,网络号10.1.235.0,掩码255.255.255.0。

4.3.2 OSPF区域内的LSDB

        LSDB:链路状态数据库。LSA是LSDB的最小组成单位,也就是说LSDB有一条条LSA组成。通过display ospf lsdb来查看路由器上的LSDB信息。

        如图所示,五台路由器互连并运行OSPF协议。以RTA的LSDB为例,其中包括了五个路由器产生的Router-LSA,以及两个广播型网络中产生的Network-LSA。 注意:

    DR的选举

  1. 每个网段中之间选举
  2. P2P网络中不会选举DR、BDR

        所以该拓扑中只有RTA和RTB之间;RTB和RTC、RTE之间选举出两个DR

 4.4 SPF算法

        SPF算法(最短路径优先算法)也被称为Dijkstra算法,是由荷兰计算机科学家狄克斯特拉于1959年提出的。 SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路 由器的距离,称为OSPF的Cost。SPF使用开销(cost)作为度量值。

        SPF算法基本步骤:

    1. 构建SPF树,根据Router LSA和Network LSA中的拓扑信息,构建SPF树干;
    2. 计算最优路由,基于SPF树干和Router LSA、Network LSA中的路由信息,计算最优路由;

4.4.1 SPF步骤详解

        以下图拓扑为例来解释SPF算法具体步骤

4.4.1.1 步骤1

        OSPF路由器将分别以自身为根节点计算最短路径树。以RTA为例,计算过程如下:

  1. RTA将自己添加到最短路径树的树根位置,然后检查自己生成的Router-LSA,对于该LSA中所描述的每一个连接,如果不是一个Stub连接,就把该连接添加到候选列表中,分节点的候选列表为Link ID,对应的候选总开销为本LSA中描述的Metric值和父节点到达根节点开销之和。
  2. 根节点RTA的Router-LSA中存在TransNet中Link ID为10.1.12.2 Metric=1和P-2-P中Link ID为3.3.3.3 Metric=48的两个连接,被添加进候选列表中。
  3. RTA将候选列表中候选总开销最小的节点10.1.12.2移到最短路径树上,并从候选列表中删除。

   

4.4.1.2 步骤2

        DR被加入到SPF中,接下来检查Ls id为10.1.12.2的Network-LSA。如果LSA中所描述的分节点在最短路径树上已经存在,则忽略该分节点。如图所示,在Attached Router部分:

  1. 节点1.1.1.1被忽略,因为1.1.1.1已经在最短路径树上。
  2. 将节点2.2.2.2,Metric=0,父节点到根节点的开销为1,所以候选总开销为1,加入候选列表。
  3. 候选节点列表中有两个候选节点,选择候选总开销最小的节点2.2.2.2加入最短路径树并从候选列表中删除。

   

4.4.1.3 步骤3

        节点2.2.2.2新添加进最短路径树上,此时继续检查Ls id为2.2.2.2的Router-LSA:

  1. 第一个TransNet连接中,Link ID为10.1.12.2,此节点已经在最短路径树上,忽略。
  2. 第二个TransNet连接中,Link ID为10.1.235.2,Metric=1,父节点到根节点的开销为1,候选总开销为2,加入候选列表。
  3. 第三个P-2-P连接中,Link ID为4.4.4.4,Metric=48,父节点到根节点的开销为1,候选总开销为49,加入候选列表。
  4. 候选节点列表中有三个候选节点,选择候选总开销最小的节点10.1.235.2加入最短路径树并从候选列表中删除。

 4.4.1.4 步骤4

        lDR被加入到SPF中,接下来检查Ls id为10.1.235.2的Network-LSA。如图所示,在Attached Router部分:

  1. 节点2.2.2.2被忽略,因为2.2.2.2已经在最短路径树上。
  2. 将节点3.3.3.3,Metric=0,父节点到根节点的开销为2,候选总开销为2,加入候选列表。(如果在候选列表中出现两个节点ID一样但是到根节点的开销不一样的节点,则删除到根节点的开销大的节点。所以删除节点3.3.3.3 累计开销为48的候选项)。
  3. 将节点5.5.5.5,Metric=0,父节点到根节点的开销为2,候选总开销为2,加入候选列表。
  4. 候选节点列表中有三个候选节点,选择候选总开销最小的节点3.3.3.3和5.5.5.5加入最短路径树并从候选列表中删除。

 4.4.1.5 步骤5

        节点3.3.3.3和5.5.5.5新添加进最短路径树上,此时继续检查Ls id分别为3.3.3.3和5.5.5.5的Router-LSA。

Ls id为3.3.3.3的LSA:

  • Link ID为10.1.235.2的节点已经在最短路径树上,忽略。
  • pLink ID为1.1.1.1的节点已经在最短路径树上,忽略。

 4.4.1.6 步骤6

        Ls id为5.5.5.5的LSA:

  • Link ID为10.1.235.2的节点已经在最短路径树上,忽略。
  • Link ID为4.4.4.4的P-2-P连接,Metric=48,父节点到根节点的开销为2,候选总开销为50。因为节点4.4.4.4已经在候选列表中出现,且候选总开销为49。49

        至此,再通过命令display ospf lsdb router 4.4.4.4发现,LSA中的连接所描述的相邻节点都已经添加到了SPF树中。此时候选列表为空,完成SPF计算,其中10.1.12.2和10.1.235.2是虚节点(DR)。

 4.4.1.7 步骤7:计算最优路径

        第二阶段根据Router LSA中的Stub、Network LSA中的路由信息,完成最优路由的计算。 从根节点开始,依次添加LSA中的路由信息(添加顺序按照每个节点加入SPF树的顺序):

  1. p1.1.1.1(RTA)的Router LSA中,共1个Stub连接,网络号/掩码10.1.13.0/24,Metric=48;
  2. p10.1.12.2(DR)的Network LSA中,网络号/掩码10.1.12.0/24,Metric=1+0=1;
  3. p2.2.2.2(RTB)的Router LSA中,共1个Stub连接,网络号/掩码10.1.24.0/24,Metric=1+0+48=49;
  4. p10.1.235.2(DR)的Network LSA中,网络号/掩码10.1.235.0/24,Metric=1+0+1=2;
  5. p3.3.3.3(RTC)的Router LSA中,共1个Stub连接,网络号/掩码10.1.13.0/24,已在RTA上,忽略;
  6. p5.5.5.5(RTE)的Router LSA中,共1个Stub连接,网络号/掩码10.1.45.0/24,Metric=1+0+0+1+48=50;
  7. p4.4.4.4(RTD)的Router LSA中,共2个Stub连接,网络号/掩码10.1.24.0/24,已在RTB上,忽略;网络号/掩码10.1.45.0/24,已在RTE上,忽略。

 4.4.1.8 查看OSPF路由表

4.5 单区域OSPF配置

 路由器单区域配置

ospf router-id 1.1.1.1

area 0

network [相邻网段] [反子网掩码]

network 10.1.12.0 0.0.0.255 //举例

参考链接

OSPF协议介绍_zzjieee的博客-CSDN博客_ospf协议

组播扩展OSPF_百度百科

OSPF路由协议_百度百科

OSPF协议详解 - stardsd - 博客园

万字15图详解OSPF路由协议

OSPF(一)OSPF协议简介_Skye_Zheng的博客-CSDN博客_ospf协议

OSPF(二)DR与BDR选举_Skye_Zheng的博客-CSDN博客_ospf中dr和bdr的选举

OSPF(三)OSPF域内路由_Skye_Zheng的博客-CSDN博客_ospf域内路由

OSPF(四)OSPF域间路由_Skye_Zheng的博客-CSDN博客_ospf域间路由

OSPF(五)OSPF外部路由_Skye_Zheng的博客-CSDN博客_ospf外部路由优先级

OSPF(六)OSPF特殊区域之Stub和Totally Stub区域详解及配置_Skye_Zheng的博客-CSDN博客_stub区域

OSPF(七)OSPF特殊区域之NSSA和Totally NSSA详解及配置_Skye_Zheng的博客-CSDN博客_nssa totally

OSPF(八)OSPF的LSA总结_Skye_Zheng的博客-CSDN博客

OSPF(九)OSPF的其他特性:区域间路由汇总、外部路由汇总、OSPF更新、认证机制_Skye_Zheng的博客-CSDN博客_ospf区域间路由汇总

分类:

后端

标签:

后端

作者介绍

江中散人
V1