计网第四章(网络层)(八)(最短路径优先协议OSPF)

在第七节(计网第四章(网络层)(七)_永无魇足的博客-CSDN博客)我们总结了路由信息协议RIP。在最后我们提到了RIP协议有坏消息传的慢的问题,这是距离向量算法的本质决定的,所以这种问题无法彻底避免。

既然基于距离向量无法彻底避免产生路由环路,那么就不基于它了。

一、最短路径优先协议OSPF

"最短路径"是因为使用了最短路径算法Dijkstra提出的最短路径算法SPF。

OSPF是基于链路状态的,由于采用SPF算法计算路由,所以从算法上就保证了不会产生路由环路问题。

在第七节我们提到,RIP协议只适合小规模网络。但是OSPF算法不限制网络规模,更新效率高,收敛速度快。

1.链路状态:

指本路由器与都与哪些路由器相邻,以及相应链路的"代价"("代价"用来表示费用、距离、时延、带宽等,这是由网络管理人员决定的)。

2.基本工作原理

(1)Hello分组

OSPF相邻路由器之间通过交互问候(Hello)分组,建立和维护邻居关系。

Hello分组封装在IP数据报中,发往组播地址224.0.0.5。

发送周期为10秒。

如果40秒没有收到邻居路由器的Hello分组,就认为该邻居路由器不可达。

每个路由器都有一张邻居表。表里每一条条目都包括邻居ID,接口和"死亡"倒计时。在"死亡倒计时"到达0之前,如果再次收到来自条目对应的路由器传来的Hello分组,就会重启该条目的40秒倒计时。

(2)链路状态LSA

使用OSPF的每个路由器都会产生链路状态通告LSA,LSA包括直连网络的链路状态信息和邻居路由器的链路状态信息。

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送(就是之前提到过的泛洪,路由器收到分组后,除了接收到该分组的接口,其余接口都转发)。

(3)链路状态数据库LSDB

使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA(链路状态通告)。

就好像路由表一样,现在表成了LSDB,里面的条目变成了LSA。

通过各路由器洪泛发送装有自己的LSA的LSU分组,各路由器的LSDB最终达到一致。

使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他路由器的最短路径。

3.五种分组

(1)问候分组

即前面提到的Hello分组,用来发现和维护邻居路由器的可达性。

(2)数据库描述分组

向邻居路由器给出自己LSDB中的所有链路状态项目的摘要信息。

(3)链路状态请求分组

向邻居路由器发送某些链路状态项目的详细信息。

(4)链路状态更新分组

路由器使用这种分组将其链路状态进行洪泛发送,

(5)链路状态确认分组

对链路状态更新分组的确认分组。

4.基本工作过程

如图:(1)相邻的两个路由器之间周期性地发送问候分组。以便建立和维护邻居关系。

(2)建立邻居关系后,给邻居路由器发送数据库描述分组。里面就有自己LSDB里面的所有链路状态的摘要信息。

(3)假设B收到来自A的数据库描述分组后,发现自己缺少其中某些链路状态项目。 便会向A发送链路状态请求分组。

(4)A收到请求分组后,将B所需的链路状态项目的详细信息封装到链路状态更新分组中 ,然后发送给B。

(5)B收到后,将这些链路状态项目的详细信息 添加到自己的LSDB中,随后向A发送链路确认分组。

同样地,A也会经历类似的上述过程获取到B中自己所缺的链路状态项目的详细信息。

最后,就实现了各路由器的LSDB达到一致。

需要注意的是:每30分钟或者链路状态发生变化的时候,路由器都会发送链路状态更新分组,收到该分组的其余路由器会通过洪泛方式转发该分组。并给该路由器发回链路状态确认分组。

相关推荐
-qOVOp-9 小时前
408第三季part2 - 计算机网络 - ip分布首部格式与分片
网络协议·tcp/ip·计算机网络
-qOVOp-13 小时前
408第三季part2 - 计算机网络 - ip地址II
计算机网络
珹洺16 小时前
计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
网络·tcp/ip·计算机网络
ChicagoTypewriter1 天前
计算机网络中的常用表项梳理
网络·计算机网络·智能路由器
摘取一颗天上星️2 天前
后端密码加密:守护用户数据的钢铁长城
计算机网络·哈希算法·加密算法
Félix2513 天前
计算机网络笔记(不全)
网络·计算机网络
Absinthe_苦艾酒3 天前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
Cachel wood13 天前
Spark教程6:Spark 底层执行原理详解
大数据·数据库·分布式·计算机网络·spark
papership13 天前
【入门级-基础知识与编程环境:3、计算机网络与Internet的基本概念】
计算机网络·青少年编程
杭州杭州杭州13 天前
计算机网络笔记
笔记·计算机网络