OSPF中的SPF计算

article/2025/10/23 15:42:23

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,然后是掩码

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


http://chatgpt.dhexx.cn/article/fvPUyGe2.shtml

相关文章

聊一聊有限体积法

导读:有限体积法的工作原理。 一、求解对象 首先提一下我们的主角Navier-Stokes方程: 为了能够通过SIMPLE算法求解Navier-Stokes方程,我们需要将该方程改写为下列矩阵形式的方程: 其中为了系数矩阵,是每个网格未知…

IDEA中新导入的项目找不到maven project解决办法

刚导入的项目,导入进来之后,找不到maven project,idea打开view ->tool windows下也没有maven模块。查看了setting下plugins中maven插件也在。最后发现项目在导入过程中,因为选择的原因,没有指定位maven工程&#xf…

win10删除文件提示'找不到该项目'

win10系统下删除文件时出现了"找不到该项目"问题 遇到一个问题: win10系统下删除文件时出现了"找不到该项目"问题 百度搜索后得到 DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 这两行dos命令 创建(.txt)文件后写入这两行命令,保存,修改(.txt)至(.bat) 最后…

IDEA项目下不显示target目录或者target目录不完整没有新添加的资源

1.首先解决不显示target目录的问题 需要知道:如果不是maven工程,是没有target目录的,其次编译后才会生成target目录. 普通项目会生成out目录 a>如果设置过隐藏target目录 只需要找到settings-->Editor-->File Type-->Ignore Files and Folder删除该项 b>如果…

项目启动报错,找不到文件

java.io.FileNotFoundExceptionE:\software\apache-maven-3.6.1-bin\apache-maven-3.6.1\localrepository\xalan\xalan\2.7.0\xercesImpl.jar (系统找不到指定的文件。) java.io.FileNotFoundExceptionE:\software\apache-maven-3.6.1-bin\apache-maven-3.6.1\localrepository\…

idea项目类存在却找不到

这种情况,我真是奇了怪了,服了。我试了一下,试出了解决方案:将这个类移到同级另一个包,看见不报错了,再移回去。属于给idea虚晃一枪,再运行…emmmmm也还是报错的。于是不断的删iml文件&#xff…

Windows 删除”找不到该项目”文件夹

问题根源: 使用不可显示ASCII字符或采用UNICODE字符方法创建的文件或文件夹; 名称中含有..等特殊符号文件或文件夹名称不符合Windows命名规范或建立空格目录名创建的文件或文件夹; 使用下载工具创建的文件夹,在未下载完成前自行删除文件或…

idea找不到项目目录

有时候idea拉取项目时出现没有目录,src.main等等,下面就来带大家找到项目目录并显示出来 首先我们打开文件(在左上角——找到项目结构) 然后我们找到模块——点击左边那个加号,然后选择自己的项目目录。再选择一下jdk版本&#x…

【常见问题】vs 找不到导入的项目,请确认import声明

问题描述 当复制人家的vs项目文件到自己电脑上进行调试,重新生成解决方案失败,并报如下错误。 解决方法 1.分析报错内容,出现问题文件为vcxproj文件。 2.找到vcxproj文件,用记事本打开。 3.CTRLF搜索“Import”&#xff0c…

无法删除提示找不到该项目,该项目不在C:\users\?win10无法强力删除文件?

无法删除提示找不到该项目,该项目不在C:\users\?win10无法强力删除文件? 新建个TXT ,把下边的代码粘贴过去: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 保存之后把名字改成:Delete.bat 然后把要删除的文件夹拖到这个文件上,即可删…

git拉取项目报错:找不到项目 Repository not found

这段时间换了新公司,不想每天背着电脑跑来跑去了,就用了公司配发的电脑,前两天想用Git拉取公司的项目的时候却碰见问题了,无论是Git命令行拉取还是使用idea拉取,都会报错找不到项目 但是在浏览器使用链接是可以访问到项…

问题:找不到该项目,该项目不在指定目录下.......请确认位置......

参考网址:http://bbs.kafan.cn/thread-1398433-1-1.html 1.把下面的代码复制粘贴到一新建的txt记事本文档中,并另存为del.bat文件(或者你喜欢的名字),注意扩展名为批处理文件bat; DEL /F /A /Q \\?\%1 RD …

windows删文件:找不到该项目,该项目不在xx中,请确认位置,然后重试 的解决方案

起因是手贱 打错了 搞得生成了一个 以.结尾的文件,删又删除不了,莫名其妙,然后 git push 也出问题; 删除就弹出类似下面的提示;删除上层文件夹也没用; 网上搜了一堆解决办法,说什么建立一个 ba…

找不到项目 该项不在计算机中,删除文件夹提示找不到该项目怎么删除?“找不到该项目”强删方法(图文)...

在使用电脑的过程中,尤其是办公,去创建一些文档,但是在删除的时候就删除不了了,系统提示“找不到该项目”,那么Win7删除文件夹找不到该项目怎么删除?下面云狐网分享一下删除文件或者文件夹提示“找不到该项目”强删方法,不会的来学习一下。uK5电脑_数码_手机应用问题解决…

出现“找不到该项目”的错误提示解决方法

在使用Windows7系统删除文件或者文件夹的时候,会出现“找不到该项目”的错误提示,可能再次“重试”也无济于事,今天就为大家简单概括一下出现该问题的原因及解决方法。 针对出现该问题的不同原因对应的解决办法: 第一&#xff1a…

Windows下删除文件夹提示找不到该项目,请确认该项目的位置,然后重试。

解决方法: 1,在桌面新建一个文件,里面输入以下内容: DEL /F /A /Q \\?\%1 RD /S /Q \\?\%12,保存文件,然后将后缀名txt改为bat 3,将不可删除的文件夹拖拽到这个文件上面,会发现…

电脑删除文件找不到该项目怎么解决

文件明明就在桌面,想删除但就是删不掉,强迫症表示真的很难受 这时你可以这样 1.桌面新建一个TXT文本文档,重命名为“删除”(你想命名为其他的也可以) 2.打开该文件,输入 DEL /F /A /Q \\?\%1 RD /S /…

win10系统下删除文件夹失败,提示“找不到该项目”

问题场景:win10系统下删除文件夹失败,提示“找不到该项目”。 删除一个解压失败的目录时,一直提示上述问题。磁盘自检无异常,文件系统正常 删除时要么提示“找不到该项目”,要么提示需要xx用户权限。 后者更改此文件…

【奇奇怪怪的bug】删除文件显示「找不到该项目」怎么办

从网盘下载的文件,复制、改文件名或删除时总是提示找不到该项目,刷新重启都没用!! 尝试了各种方法后,终于解决了! ①下载7-zip ②使用管理员权限打开 7-zip ③找到文件所在的位置 ④选择压缩该文件并删…

找不到该项目(无法删除文件)

win10桌面新建文件提示“找不到该项目,该项目不在C:\users\**中。请确认该项目的位置,然后重试”的原因是系统错误导致的,具体解决方法步骤如下: 1、首先新建一个txt文件(为了方便txt文件建在跟目标文件供一个目录下&…