ospf协议_计算机网络基础(十一)网络层OSPF协议

文章内容概览cad927b229a61945cb5d78413e889477.png

链路状态(LS)协议

链路状态协议特点
  • 「特点一」:向所有的路由器发送消息(一传十,十传百,最终把消息传递到整个网络中去。在前边的文章中有说到rip协议,「rip协议只和相邻的路由器交换信息」)0400a3963511f39b807015d98cb96e3e.png

  • 「特点二」:这个消息描述该路由器与相邻路由器的「链路状态」(链路状态就包括与相邻路由器的「距离」「时延」「带宽」等,这些可以描述链路状态的一些指标,这些指标可以更加客观的描述该路由器和相邻路由器的链路状态)

  • 「特点三」:只有「链路状态发生变化时」,才发送更新消息(这个也是和RIP协议是不一样的,「RIP协议是每隔30s交换路由信息」)

RIP协议缺点

前边文章中有提到RIP协议的缺点

  • 随便相信“隔壁老王”(不管是B还是C,如果说B得到了C的路由信息,它将会无条件的相信C。同样,如果是C,他也会无条件相信B,因此就会导致循环,直到跳数为16,才发现不可达)
  • “自己不思考”、“视野不够”(对于RIP协议,每一个路由器只看到相邻路由的信息,看不到更远的信息)

对比上边介绍的链路状态协议,可以发现该协议没有RIP协议的这些缺点

OSPF协议过程

  • OSPF(Open Shortest Path First:开放最短路径优先)
  • OSPF协议的核心是「Dijkstra算法」
  • OSPF协议是链路状态协议的一种实现(也就是链路状态协议定义了一个规则,OSPF协议实现了这个规则)

既然OSPF协议是实现了链路状态协议的规则,那么逐一看一下每个规则的具体过程

「(1)向所有的路由器发送消息」

那么每个路由器就可以获取网络中的所有消息,通过这个所有的消息,那么每个路由器就可以得到「网络的完整拓扑」。因为每个路由器都能够得到网络的完整拓扑,因此每个路由器的消息都是完整的,对于网络的完整拓扑,有一个官方的称呼叫:「链路状态数据库」,它保存的就是网络中的每一跳的状态是什么样的。「链路状态数据库是全网一致的」,这个是因为每一个消息都会广播到网络中的每一个路由器。「因为每一个路由器都有完整的网络拓扑,所以每一个路由器都可以运行迪杰斯特拉算法」,通过该算法,每一个路由器自己就能够找到自身到某一个顶点的最短路径是什么。因此,链路状态协议的【「向所有的路由器发送消息」】这一特点,使得「Dijkstra算法」可以成功在每个路由器中运行起来

「(2)消息描述该路由器与相邻路由器的链路状态」

上边也提到了,链路状态包括:与相邻路由器的距离、时延、带宽等等,这就使得OSPF协议更加的客观、更加先进。RIP协议只能根据跳数这个指标去描述连接的质量

「(3)只有链路状态发生变化时,才发送更新消息」

这个也是使得OSPF协议可以比RIP更快的收敛,因为它减少了数据的交换,整个过程会更加通畅

OSPF协议的五种消息类型

「(1)问候消息」

问候消息的消息长度非常短,这个消息主要是维护该路由到相邻路由器的可达性。在实际的运行中,每一个路由器,都会给相邻的路由器发送问候消息,以此确认它与相邻路由器是否真正可达

「(2)链路状态数据库描述信息」

这个消息是用于向相邻路由器发送自己的链路状态数据库的所有链路状态的简单消息

「(3)链路状态请求信息」

该类型的消息是为了向相邻路由器请求链路状态数据库

「(4)链路状态更新信息」

这个消息是OSPF协议中非常频繁的一个消息,对于状态更新消息,每个路由器都会广播到整个网络中去

「(5)链路状态确认消息」

对链路状态更新的确认

OSPF协议的整个过程

首先「路由器接入网络」,接入网络之后,「路由器向相邻路由器发出问候消息」,以此确认可达性。确认之后,他们就可以相互的「交流当前的链路状态信息」,他们首先会发出数据库链路描述信息,向隔壁路由器介绍自己的链路状态的简要消息,然后对它们不同的链路状态进行同步,以此达到一致的状态。与相邻路由器达到一致的状态是不够的,它们还需要与网络中的其它路由器达到一致的状态。因此,此时「路由器会广播更新的消息到网络中,以及接收更新」,以此来更新本地的链路状态数据库,这个就是OSPF协议的整个过程

对比RIP协议和OSPF协议
497411a5c62ba753c4ca6d39347ef417.png

往期文章

操作系统基础(十五)---使用fork系统调用创建进程

进程同步之共享内

时间复杂度和空间复杂度

IP协议详解

IT猿圈

不做开始爱好者

1951cbdafd1e71bf76426487ea1e3096.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值