| |
|
开发:
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计算
左边是拓扑图,右边是最终结果,不是五台吗,你怎么多了两台啊,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地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年12日历 | -2024/12/28 5:53:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |