【2022争霸赛*干货满满】OSPF(Open Shortest Path First)域内路由解析讲解分享
  

山东_朱文鑫 863

{{ttag.title}}
本帖最后由 山东_朱文鑫 于 2022-10-15 23:24 编辑

大家好,我是大白, 以诚感人者,人亦诚而应。优质的帖子也在尽力中提供,也希望各位道友多多支持,让我引劫渡劫成功哈哈哈。

大白队口号就是:砸锅卖铁我最行,拼死拼活就要赢!!!!!!!!!!!!

今天继续完成OSPF的知识分享,今天分享的是开放式最短路径优先OSPF(Open Shortest Path First)路由协议解析讲解除基础知识的第一个模块OSPF(Open Shortest Path First)域内路由分享,OSPF本身路由协议复杂且相对比较重要,建议没有完成OSPF基础篇的小伙伴完成基础篇再进行本模块的学习会更加容易理解。

本贴主要介绍OSPF如何计算区域内路由,内容主要包括如何使用Router-LSA和Network-LSA描述拓扑信息和路由信息,以及如何构建最短路径树。

Router-LSA描述P2P网络:





每台OSPF路由器使用一条Router-LSA描述本区域内的链路状态信息。LSA头部的三个字段含义如下:

       Type:LSA类型,Router-LSA是一类LSA。

       LS id:链路状态ID。

       Adv rtr:产生此Router-LSA的路由器Router ID。

一条Router-LSA可以描述多条链接,每条链接描述信息由Link ID,Data,Link Type和Metric组成,其关键字含义如下:

       Type:链接类型(并非OSPF定义的四种网络类型),Router LSA描述的链接类型主要有:

      Point-to-Point:描述一个从本路由器到邻居路由器之间的点到点链接,属于拓扑信息。
       TransNet:描述一个从本路由器到一个Transit网段(例如MA网段或者NBMA网段)的链接,属于拓扑信息。
       StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的链接,属于路由信息。
      Link ID:此链接的对端标识,不同链接类型的Link ID表示的意义也不同。
       Data:用于描述此链接的附加信息,不同的链接类型所描述的信息也不同。
       Metric:描述此链接的开销。

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的连接关系及开销,没有网络号/掩码及共享链路上其他路由器的任何信息。

Network-LSA描述MA网络或NBMA网络:



MA共享网段或NBMA共享网段中的网络号/掩码及路由器间的链接关系,通过Network-LSA来呈现。

       在Network-LSA中关键字的含义如下:

       Type:LSA类型,Network-LSA是二类LSA。
       LS id:DR的接口IP地址。
       Adv rtr:产生此Network-LSA的路由器Router ID,即DR的Router ID。
       Net mask:该网段的网络掩码。
       Attached Router:连接到该网段的路由器列表,呈现了此网段的拓扑信息。

       基于上述字段表达的信息,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


OSPF区域内LSDB:







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


SPF算法:

       在一类LSA和二类LSA中,包括了拓扑信息和路由信息。

       OSPF将依据SPF算法和各类LSA进行最短路径树的计算:



Phase 1:依据一类LSA中的Point to Point,TransNet以及二类LSA,构建SPF树。


Phase 2:依据一类LSA中的Stub以及二类LSA,计算最优路由。

构建SPF树:



       OSPF路由器将分别以自身为根节点计算最短路径树

以RTA为例,计算过程如下:

       RTA将自己添加到最短路径树的树根位置,然后检查自己生成的Router-LSA,对于该LSA中所描述的每一个连接,如果不是一个Stub连接,就把该连接添加到候选列表中,分节点的候选列表为Link ID,对应的候选总开销为本LSA中描述的Metric值和父节点到达根节点开销之和

       根节点RTA的Router-LSA中存在TransNet中Link ID为10.1.12.2 Metric=1和P-2-P中Link ID为3.3.3.3 Metric=48的两个连接,被添加进候选列表中。

       RTA将候选列表中候选总开销最小的节点10.1.12.2移到最短路径树上,并从候选列表中删除




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

如图所示,在Attached Router部分:

       节点1.1.1.1被忽略,因为1.1.1.1已经在最短路径树上。

       将节点2.2.2.2,Metric=0,父节点到根节点的开销为1,所以候选总开销为1,加入候选列表。

       候选节点列表中有两个候选节点,选择候选总开销最小的节点2.2.2.2加入最短路径树并从候选列表中删除。





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

       第一个TransNet连接中,Link ID为10.1.12.2,此节点已经在最短路径树上,忽略。

       第二个TransNet连接中,Link ID为10.1.235.2,Metric=1,父节点到根节点的开销为1,候选总开销为2,加入候选列表。

       第三个P-2-P连接中,Link ID为4.4.4.4,Metric=48,父节点到根节点的开销为1,候选总开销为49,加入候选列表。
       候选节点列表中有三个候选节点,选择候选总开销最小的节点10.1.235.2加入最短路径树并从候选列表中删除。





       DR被加入到SPF中,接下来检查Ls id为10.1.235.2的Network-LSA。

如图所示,在Attached Router部分:

       节点2.2.2.2被忽略,因为2.2.2.2已经在最短路径树上

       将节点3.3.3.3,Metric=0,父节点到根节点的开销为2,候选总开销为2,加入候选列表。(如果在候选列表中出现两个节点ID一样但是到根节点的开销不一样的节点,则删除到根节点的开销大的节点。所以删除节点3.3.3.3 累计开销为48的候选项)。

       将节点5.5.5.5,Metric=0,父节点到根节点的开销为2,候选总开销为2,加入候选列表。

       候选节点列表中有三个候选节点,选择候选总开销最小的节点3.3.3.3和5.5.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的节点已经在最短路径树上,忽略。

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



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<50,所以子节点4.4.4.4的父节点选择2.2.2.2。

       至此,再通过命令display ospf lsdb router 4.4.4.4发现,LSA中的连接所描述的相邻节点都已经添加到了SPF树中

       此时候选列表为空,完成SPF计算,其中10.1.12.2和10.1.235.2是虚节点(DR)

计算最优路由:



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

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

       1.1.1.1(RTA)的Router LSA中,共1个Stub连接,网络号/掩码10.1.13.0/24,Metric=48;

       10.1.12.2(DR)的Network LSA中,网络号/掩码10.1.12.0/24,Metric=1+0=1;

       2.2.2.2(RTB)的Router LSA中,共1个Stub连接,网络号/掩码10.1.24.0/24,Metric=1+0+48=49;

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

       3.3.3.3(RTC)的Router LSA中,共1个Stub连接,网络号/掩码10.1.13.0/24,已在RTA上,忽略;

       5.5.5.5(RTE)的Router LSA中,共1个Stub连接,网络号/掩码10.1.45.0/24,Metric=1+0+0+1+48=50;

       4.4.4.4(RTD)的Router LSA中,共2个Stub连接,网络号/掩码10.1.24.0/24,已在RTB上,忽略;网络号/掩码10.1.45.0/24,已在RTE上,忽略。



查看OSPF路由表:



       经历上述两个阶段的计算,RTA生成的OSPF路由如上图所示。

       经过OSPF优选后的路由并不一定会安装进系统路由表,因为路由器还可以通过其他协议获得路由,通过不同方式获得的路由需要进行优先级比较。

查看OSPF邻居状态:



以上就是本次的OSPF(Open Shortest Path First)域内路由解析讲解分享,OSPF的基本知识点已经完成分享,如果对于本片学习的同学仍觉晦涩难懂,建议多看几遍前两基础篇的分享,后续开始分享OSPF的域内路由‘感谢大佬们的参阅,此贴先到这里后续会带上更加实用的帖子,感谢大家!



励志分享超清壁纸语句~~:



奋斗的路上,时间总是过得很快,目前的困难和麻烦是很多,但是只要不忘初心,脚踏实地一步一步的朝着目标前进,最后的结局交给时间来定夺。


好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

339015 发表于 2022-10-17 23:21
  
感谢楼主分享,文章介绍了OSPF协议有关原理,比较全面,图文并茂,期待更多优秀的分享
tianjt 发表于 2022-10-16 11:59
  
图文并茂,分析详细,对OSPF域内路由讲解很到位,受教了!
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
干货满满
技术笔记
新版本体验
产品连连看
GIF动图学习
技术咨询
自助服务平台操作指引
标准化排查
2023技术争霸赛专题
功能体验
通用技术
秒懂零信任
信服课堂视频
社区帮助指南
答题自测
安装部署配置
上网策略
运维工具
SANGFOR资讯
设备维护
技术晨报
每日一记
用户认证
项目案例
玩转零信任
深信服技术支持平台
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人