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

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

  1. 第一章——不谋全局不足以谋一域
  2. 第二章计算第1节——计算虚拟化技术总述
  3. 第二章计算第2节——主流虚拟化技术之VMare ESXi
  4. 第二章计算第3节——主流虚拟化技术之Xen
  5. 第二章计算第4节——主流虚拟化技术之KVM
  6. 第二章计算第5节——商用云主机方案
  7. 第二章计算第6节——裸金属方案
  8. 第三章云存储第1节——分布式云存储总述
  9. 第三章云存储第2节——SPDK方案综述
  10. 第三章云存储第3节——Ceph统一存储方案
  11. 第三章云存储第4节——OpenStack Swift 对象存储方案
  12. 第三章云存储第5节——商用分布式云存储方案
  13. 第四章云网络第一节——云网络技术发展简述
  14. 第四章云网络4.2节——相关基础知识准备
  15. 第四章云网络4.3节——重要网络协议
  16. 第四章云网络4.3.1节——路由技术简述
  17. 第四章云网络4.3.2节——VLAN技术
  18. 第四章云网络4.3.3节——RIP协议
  19. 第四章云网络4.3.4节——OSPF协议
  20. 第四章云网络4.3.4.3节——OSPF协议工作原理
  21. 第四章云网络4.3.4.4节——[转载]OSPF域内路由
  22. 第四章云网络4.3.4.5节——[转载]OSPF外部路由
  23. 第四章云网络4.3.4.6节——[转载]OSPF特殊区域之Stub和Totally Stub区域详解及配置
  24. 第四章云网络4.3.4.7节——[转载]OSPF特殊区域之NSSA和Totally NSSA详解及配置
  25. 第四章云网络4.3.5节——EIGRP协议
  26. 第四章云网络4.3.6节——IS-IS协议
  27. 第四章云网络4.3.7节——BGP协议
  28. 第四章云网络4.3.7.2节——BGP协议概述
  29. 第四章云网络4.3.7.3节——BGP协议实现原理
  30. 第四章云网络4.3.7.4节——高级特性
  31. 第四章云网络4.3.7.5节——实操
  32. 第四章云网络4.3.7.6节——MP-BGP协议
  33. 第四章云网络4.3.8节——策略路由
  34. 第四章云网络4.3.9节——Graceful Restart(平滑重启)技术
  35. 第四章云网络4.3.10节——VXLAN技术
  36. 第四章云网络4.3.10.2节——VXLAN Overlay网络方案设计
  37. 第四章云网络4.3.10.3节——VXLAN隧道机制
  38. 第四章云网络4.3.10.4节——VXLAN报文转发过程
  39. 第四章云网络4.3.10.5节——VXlan组网架构
  40. 第四章云网络4.3.10.6节——VXLAN应用部署方案
  41. 第四章云网络4.4节——Spine-Leaf网络架构
  42. 第四章云网络4.5节——大二层网络
  43. 第四章云网络4.6节——Underlay 和 Overlay概念
  44. 第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
  45. 第四章云网络4.7.2节——virtio网络半虚拟化简介
  46. 第四章云网络4.7.3节——Vhost-net方案
  47. 第四章云网络4.7.4节vhost-user方案——virtio的DPDK卸载方案
  48. 第四章云网络4.7.5节vDPA方案——virtio的半硬件虚拟化实现
  49. 第四章云网络4.7.6节——virtio-blk存储虚拟化方案
  50. 第四章云网络4.7.8节——SR-IOV方案
  51. 第四章云网络4.7.9节——NFV
  52. 第四章云网络4.8.1节——SDN总述
  53. 第四章云网络4.8.2.1节——OpenFlow概述
  54. 第四章云网络4.8.2.2节——OpenFlow协议详解
  55. 第四章云网络4.8.2.3节——OpenFlow运行机制
  56. 第四章云网络4.8.3.1节——Open vSwitch简介
  57. 第四章云网络4.8.3.2节——Open vSwitch工作原理详解
  58. 第四章云网络4.8.4节——OpenStack与SDN的集成
  59. 第四章云网络4.8.5节——OpenDayLight
  60. 第四章云网络4.8.6节——Dragonflow
  61. 第四章云网络4.9.1节——网络卸载加速技术综述

  62. 第四章云网络4.9.2节——传统网络卸载技术

  63. 第四章云网络4.9.3.1节——DPDK技术综述

  64. 第四章云网络4.9.3.2节——DPDK原理详解

  65. 第四章云网络4.9.4.1节——智能网卡SmartNIC方案综述

  66. 第四章云网络4.9.4.2节——智能网卡实现

  67.  《云原生进阶之容器》专题第六章容器6.1.1节——容器综述

  68. 【云原生进阶之PaaS中间件】第一章Redis-1.1简介

  69. 【云原生进阶之PaaS中间件】第二章Zookeeper-1-综述

  70. 【云原生进阶之PaaS中间件】第三章Kafka-1-综述

  71. 【云原生进阶之PaaS中间件】第四章RabbitMQ-1-简介及工作模式

  72. 【云原生进阶之数据库技术】第一章MySQL-1-基础概述

  73. 【云原生进阶之数据库技术】第二章-Oracle-1-简介

  74. 【云原生进阶之数据库技术】第三章-PostgreSQL-1-综述

  《云原生进阶之容器》专题索引:

  1. 第一章Docker核心技术1.1节——Docker综述

  2. 第一章Docker核心技术1.2节——Linux容器LXC

  3. 第一章Docker核心技术1.3节——命名空间Namespace

  4. 第一章Docker核心技术1.4节——chroot技术

  5. 第一章Docker核心技术1.5.1节——cgroup综述

  6. 第一章Docker核心技术1.5.2节——cgroups原理剖析

  7. 第一章Docker核心技术1.5.3节——cgroups数据结构剖析

  8. 第一章Docker核心技术1.5.4节——cgroups使用

  9. 第一章Docker核心技术1.6节——UnionFS

  10. 第一章Docker核心技术1.7节——Docker镜像技术剖析

  11. 第一章Docker核心技术1.8节——DockerFile解析

  12. 第一章Docker核心技术1.9节——docker-compose容器编排

  13. 第一章Docker核心技术1.10节——Docker网络模型设计

  14. 第二章——Kubernetes概述

  15. 第二章Controller Manager原理剖析--2.1节Controller Manager综述

  16. 第二章Controller Manager原理2.2节--client-go剖析

  17. 第二章Controller Manager原理2.3节--Reflector分析

  18. 第二章Controller Manager原理2.4节--Informer机制剖析

  19. 第二章Controller Manager原理2.5节--DeltaFIFO剖析

  20. 第二章Controller Manager原理2.6节--Informer controller

  21. 第二章Controller Manager原理2.7节--Indexer剖析

  22. 第二章Controller Manager原理2.8节--Resync机制

  23. 第三章List-Watch机制3.1节-- List-Watch机制剖析

 注:本文主要转载自《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区域间路由汇总

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值