一、路由选择协议
概述
分类
路由器
- 路由器端口一般都有输入和输出的功能,上图只是为了展示方便,将输入和输出端口拆分开来
- 路由器中有输入和输出缓冲区,主要用来暂存暂时还来不及处理的数据
- 转发表是根据路由表信息得来。
二、路由信息协议RIP
Routing Information Protocol
RIP使用跳数作为度量,来衡量到目的网络的距离
- 路由器到直连网络的距离定义为1
- 路由器到非直连网络的距离定义为所经过的路由器数量加1
- 允许一条路径最多只能包含15个路由器。距离为16时,表示为不可达
基本工作原理
- RIP协议认为距离短的路由,就是好的路由
- 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡
- RIP协议包含以下三个要点
- 仅和相邻路由器交换信息
- 交换的是自身的路由表
- 一般采用的是周期性交换信息,比如每30秒交换一次
“坏消息传播慢”的问题
三、开放最短路径有限OSPF协议
- 基于Dijkstra提出的最短路径算法SPF
- OSPF协议基于链路状态的,而不是像RIP那样基于距离向量的
- OSPF不限制网络规模,更新效率高,收敛速度快
- 链路状态:本路由器和哪些其他路由器相邻,以及响应链路的代价(费用、距离、时延、带宽等等)
基本原理
路由器之间通过交互问候(Hello)分组,建立和维护邻居关系
- Hello分组被封装在IP数据报中。
- 发送周期为10s
- 在40s内收到来自邻居路由器的Hello分组,就重置对应的“死亡”倒计时
- 如果在40s内没有收到来自于邻居路由器的Hello分组,那么就认为该邻居路由器是不可达的。
使用OSPF协议的每一个路由器都会产生链路状态通告LSA(Link State Advertisement)
其中,包含以下内容
- 直连网络的链路状态信息
- 相邻路由器的链路状态信息
LSA被封装在链路状态更新分组LSU中,并采用洪泛法进行发送。
洪泛法:在本自治系统中,会通过所有路由器的所有接口将数据转发出去,从而传递给自治系统中的每一个路由器
两个路由器R1和R2通过互相发送问候分组来建立和维护邻居关系。
互相交换数据库描述分组:描述分组中有自身链路状态数据库的粗略数据。
R1收到R2的数据库描述分组后,如果发现自身缺少部分信息,可以向R2发送链路状态请求分组
R2收到来自R1的链路状态请求分组后,将R1需要的链路状态的详细信息封装成链路状态更新分组发送给R1
R1收到更新分组后,更新自身的链路状态数据库,并向R2发送链路状态确认分组
最终,链路状态数据库一致。
由于使用的是洪泛法进行分组的发送,因此如果自治系统中的路由器数量过大,那么就会造成占用大量网络资源进行转发的情况。
为了使OSPF协议能够用于很大规模的网络,OSPF把每一个自治系统再划分为若干个更小的范围,即区域
区域内路由器IR:只在某一个区域内部 区域边界路由器ABR:在两个区域的边界部分 主干路由器BBR:在主干区域内的路由器 自治系统边界路由器ASBR:处于两个自治系统边界的路由器(在主干区域中,必须有一个路由器和另外一个自治系统相连接)