距离矢量路由协议

具有分散性,路由器只掌握物理相连的邻居及链路费用

RIP协议

RIP是一种分布式的基于距离向量的路由选择协议,是互联网的标准协议,最大的特点是简单。
RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离(即一组距离)。距离,通常为“跳数”,即从源端口到目的端口所经过的路由个数,经过一个路由器跳数+1。特别的,从一路由器到直接连接的网络距离为1,RIP允许一条路由最多只能包含15个路由器,因此距离为16表示网络不可达。

特点
1.和相邻路由器交换信息。
2.交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
3.按固定的时间间隔交换路由信息,例如,每隔 30 秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息。若超过180秒没收到邻居路由器的通告,则判定邻居没了,并更新自己的路由表。

工作过程
路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为 1)。它的路由表是空的。
以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。
经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。
RIP 协议的收敛过程较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。

算法实现过程
image.png
image.png

RIP协议报文格式
image.png
RIP报文由首部和路由部分组成。
RIP报文中的路由部分由若干个路由信息组成。每个路由信息需要用 20 个字节。地址族标识符(又称为地址类别)字段用来标志所使用的地址协议。
路由标记填入自治系统的号码,这是考虑使 RIP 有可能收到本自治系统以外的路由选择信息。
再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离

RIP 协议优缺点
优点
实现简单,开销较小。

缺点
1.RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
2.路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
3.“坏消息传播得慢”,使更新过程的收敛时间过长。

RIP 存在的一个问题:当网络出现故障时,要经过比较长的时间 (例如数分钟) 才能将此信息传送到所有的路由器。
image.png
image.png
image.png
image.png

链路状态路由协议

具有全局性,所有路由器掌握完整的网络拓扑和链路费用信息

开放最短路径优先OSPF

概述
“开放”标明OSPF协议不受某一厂商控制,而是公开发表的;“最短路径优先”是因为使用了最短路径算法SPF
注:OSPF 只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。

OSPF最主要的特征是使用分布式的链路状态协议。

OSPF三个要点
1、使用洪泛法向自治系统内所有路由器发送信息,即路由器通过输出端口向所有相邻的路由器发送信息,而每一个相邻路由器又再次将此信息发往其所有的相邻路由器。
2、发送的信息就是与本路由器相邻的所有路由器的链路状态(本路由器与哪些路由器相邻,以及该链路的度量/代价—费用、距离、时延带宽等)
3、只有当链路状态发生变化时,路由器才向所有路由器洪泛发送此消息。
最后,所有路由器都能建立一个链路状态数据库,即全网拓扑图,它在全网范围内是一致的(这称为链路状态数据库的同步)。OSPF的链路状态库能较快地进行更新,是各个路由能及时地更新路由表。

OSPF的更新过程收敛得快是其重要的特点。当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。

OSPF的区域
为使OSPF能够用于规模很大的网络,OSPF将一个自治系统再划分为若干更小的范围,称为区域。
划分区域的好处是,将利用洪泛法交换链路状态信息的范围局限于每个区域而非整个自治系统,减少了整个网络上的通信量。
在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。
这些区域也有层次之分。处在上层的域称为主干区域,负责连通其他下层的区域,并且还连接其他自治域。
image.png

OSPF直接用IP数据报传送
OSPF 不用 UDP 而是直接用 IP 数据报传送。
OSPF 构成的数据报很短。这样做可减少路由信息的通信量。
数据报很短的另一好处是可以不必将长的数据报分片传送。但分片传送的数据报只要丢失一个,就无法组装成原来的数据报,而整个数据报就必须重传。

OSPF的分组
image.png

OSPF的五种分组类型
类型1,问候 (Hello) 分组。
类型2,数据库描述 (Database Description) 分组。
类型3,链路状态请求 (Link State Request) 分组。
类型4,链路状态更新 (Link State Update) 分组,用洪泛法对全网更新链路状态。
类型5,链路状态确认 (Link State Acknowledgment)分组。

状态链路路由算法
image.png

比较

在距离-向量路由算法中,每个结点仅与它的直接邻居交谈,它为它的邻居提供从自己到网络中所有其他结点的最低费用估计。
在链路状态路由算法中,每个结点通过广播的方式与所有其他结点交谈,但它仅告诉它们与它直接相连的链路的费用。
相较之下,距离-向量路由算法有可能遇到路由环路等问题。