IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> OSPF中的SPF计算 -> 正文阅读

[网络协议]OSPF中的SPF计算

OSPF域内路由计算:SPF计算

  • 在1类LSA和2类LSA中,包括了拓扑信息路由信息
  • Phase 1 :根据1LSA中的P2PTransNet2LSA,构建SPF
  • Phase 2:根据1LSA中的Stub2LSA,计算最优路由

左边是拓扑图,右边是最终结果,不是五台吗,你怎么多了两台啊,DR会在拓扑里面存在的,所以这里面有七个节点

当我们五台路由器数据库同步以后,我们计算路由啊,是自己计算的,所以我们现在以R1做例子,看R1是怎么把图画出来,计算出路由的

首先R1啊,这是他的数据库,首先R1以自己为根,所以他得知道他自己周边有哪些邻居吧,所以他先看一下自己产生的LSA(display ospf lsdb router self-originate这条命令的意思就是查看自己产生的router LSA)有三条链路信息,stubNet不是路由信息吗,这是第一个路由前缀,咱们先看邻居的,因为这是一类LSA,这两个表示我们拓扑信息,我有个邻居3.3 有个邻居12.2,虽然这是12.2是DR的地址,3.3是route-id,但这表示我的对端邻居,R1在这边,下面连着3,右边连着2,但你要知道不是直接连的2,他连的是DR,这是DR的地址,所以他现在有个候选表格,他会将非路由类型的link加入到候选列表中,把这个ID加入到候选列表中,这就表示我们两个邻居信息 ,一个只不过是route-id,一个只不过是接口信息。我发现我有两个邻居,假如我两条线都画,那他们万一最终连起来,那不就环路了嘛,所以我肯定要先画一个无环的拓扑,怎么画呢?咱们把开销最小的先挑出来,到这边的DR开销是1,到下面的点到点开销是48,所以我们先挑DR,因此我们就把图画出来了(上图第二点)

候选列表我们到时候是要清空的,所以我们现在把两个Link信息放里面,但是我挑了一个开销最小的,开销最小的挑出去以后,我就把图画出来的,注意我连的是DR 不是R2,DR会告诉我,他连着1.1和2.2,所以现在我还不知道,因为我要看二类我才知道,我现在只知道我连着DR开销是1,好,这是第一步啊,这个候选列表里没有选中的,先放着

接下来因为我选了DR这条路了,所以接下来我去看DR的LSA信息了,他是不是DR啊,所以接下来就去看二类的啊,DR不是会产生二类的LSA嘛,那我就要去看他二类的LSA

二类里面写的很清楚,DR连了两个人,一个是10.0.2.2,一个是10.0.1.1,红色部分忽略,因为是我自己啊,然后是不是还连着10.0.2.2,所以我把新的信息加到候选列表里,然后黄色部分是路由啊,不用管他先,就是我会把路由信息先挑出来,一会再往里面加,先看蓝色的,所以我就把蓝色部分放入候选列表中,和前面做个开销的对比,一个开销是1 ,一个开销是48,我还是挑你,所以我就连到了R2了(上图)注意啊,10.0.2.2是Route-id啊,我就知道了,你连着我又连着他,注意DR到达R2开销是0的,因为DR在R2身上,所以这开销是0,我要加的啊,加完开销才对比的。所以我们把R2接上来

既然我到了这个Route-id,我就去找这个Route-ID发的一类LSA,我选了他了,那我就要去根据他的信息再去看他的连着谁,所以我们每次挑一个最优的,并将候选列表中最优的清空

接下来我们就去看R2的一类LSA

所以R2的类型1的LSA,他把这些挑出来,他看到这边有个235的MA网络,他还看到跟R4有个点到点网络,把这些东西放入候选列表以后,如果我通过你到达这边的MA的DR开销是1+0+1,到达R4是1+0+48,所以这三是不是就做对比了,再挑出最好的,235是最好的,所以我就把你连的DR画出来(上图)

DR连接着几个人?查二类

在查DR的二类,连着几个人?哦,连着三个人,然后发现2已经有了(忽略),连着3和5,然后把3和5都放进来,注意啊,这时候就出现开销一样的了,那如果开销一样怎么办,这两个连的235,开销都一样,这个时候就把他俩都放进来,所以这两个都在候选列表里删除,所以这俩个都放在拓扑图里面,然后注意啊,第一个条10.0.3.3也删了,因为我已经选完了到R3的最佳路由了啊,所以第一个就清掉了啊,第一个这条路我就不会走了啊。

是不是到3和5了,所以你就继续去查R3和R5的1类LSA

查完R3发的一类后,发现R3的一类都忽略了,因为R3的这些链路咱都有了

然后再去查R5发的一类,R5连着4,先放入候选列表,两个到10.0.4.4的路径开始比较,5到4优,还是2到4优,他发现2到4优,所以说我选第一条,然后又因为我已经选完了到达R4的最佳路径,所以我就把和到达R4相关的路径信息都删除掉了,候选列表就没东西了

然后我们是不是到R4了,没完了,到4还要查4的啊,所有都查一遍,再查4的,发现4里面的东西都有了,好,结束

然后最后再计算路由,路由就简单了,因为前面不是挑出来路由前缀了嘛,什么掩码啊,前缀啊,开销啊,所以我们就把这些路由挂在这些节点上不就行了吗。

OSPF域内LSA总结

一类每台路由器都会产生,描述自己身上的直连接口的信息,这个信息有不同的类型的,有stubnet,p2p,transit

而二类呢,只有DR的网络,那我就会产生二类,DR的二类很简单,DR的地址以及所连的设备的Router-id,然后是掩码

两个都有拓扑信息和路由信息

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 13:08:02  更:2022-10-17 13:09:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:39:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码