计网第四章(网络层)(八)(最短路径优先协议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分钟或者链路状态发生变化的时候,路由器都会发送链路状态更新分组,收到该分组的其余路由器会通过洪泛方式转发该分组。并给该路由器发回链路状态确认分组。

相关推荐
Jditinpc7 小时前
计算机网络抄手 运输层
计算机网络
橘猫云计算机设计7 小时前
基于SSM的《计算机网络》题库管理系统(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·python·计算机网络·毕设
小梁不秃捏10 小时前
HTTP 常见状态码技术解析(应用层)
网络·网络协议·计算机网络·http
learning-striving11 小时前
eNSP下载安装(eNsp、WinPcap、Wireshark、VirtualBox下载安装)
网络·计算机网络·华为·路由器·ensp·交换机
xiaolin033313 小时前
【复习】计算机网络
计算机网络
高hongyuan1 天前
计算机网络
linux·计算机网络
祐言QAQ1 天前
计算机网络之物理层——基于《计算机网络》谢希仁第八版
网络·网络协议·计算机网络
鸭鸭鸭进京赶烤1 天前
数学建模:解锁智能计算的密码!
人工智能·计算机网络·算法·数学建模·信息可视化·机器人·信息与通信
LUCIAZZZ1 天前
简单说一下什么是RPC
java·网络·网络协议·计算机网络·spring cloud·rpc
查理养殖场2 天前
计算机网络之TCP的可靠传输
网络·tcp/ip·计算机网络