一、路由选择协议

概述

image.png

分类

路由 - 图2

路由器

image.png

  1. 路由器端口一般都有输入和输出的功能,上图只是为了展示方便,将输入和输出端口拆分开来
  2. 路由器中有输入和输出缓冲区,主要用来暂存暂时还来不及处理的数据
  3. 转发表是根据路由表信息得来。

二、路由信息协议RIP

Routing Information Protocol
RIP使用跳数作为度量,来衡量到目的网络的距离

  • 路由器到直连网络的距离定义为1
  • 路由器到非直连网络的距离定义为所经过的路由器数量加1
  • 允许一条路径最多只能包含15个路由器。距离为16时,表示为不可达

基本工作原理

  • RIP协议认为距离短的路由,就是好的路由
  • 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡
  • RIP协议包含以下三个要点
    • 仅和相邻路由器交换信息
    • 交换的是自身的路由表
    • 一般采用的是周期性交换信息,比如每30秒交换一次

“坏消息传播慢”的问题

RIP交换路由表并更新
image.png
image.png
image.png

三、开放最短路径有限OSPF协议

  • 基于Dijkstra提出的最短路径算法SPF
  • OSPF协议基于链路状态的,而不是像RIP那样基于距离向量的
  • OSPF不限制网络规模,更新效率高,收敛速度快
  • 链路状态:本路由器和哪些其他路由器相邻,以及响应链路的代价(费用、距离、时延、带宽等等)

基本原理

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

  • Hello分组被封装在IP数据报中。
  • 发送周期为10s
  • 在40s内收到来自邻居路由器的Hello分组,就重置对应的“死亡”倒计时
  • 如果在40s内没有收到来自于邻居路由器的Hello分组,那么就认为该邻居路由器是不可达的。

使用OSPF协议的每一个路由器都会产生链路状态通告LSA(Link State Advertisement)
其中,包含以下内容

  • 直连网络的链路状态信息
  • 相邻路由器的链路状态信息

LSA被封装在链路状态更新分组LSU中,并采用洪泛法进行发送。

洪泛法:在本自治系统中,会通过所有路由器的所有接口将数据转发出去,从而传递给自治系统中的每一个路由器

image.png
两个路由器R1和R2通过互相发送问候分组来建立和维护邻居关系。
互相交换数据库描述分组:描述分组中有自身链路状态数据库的粗略数据。
R1收到R2的数据库描述分组后,如果发现自身缺少部分信息,可以向R2发送链路状态请求分组
R2收到来自R1的链路状态请求分组后,将R1需要的链路状态的详细信息封装成链路状态更新分组发送给R1
R1收到更新分组后,更新自身的链路状态数据库,并向R2发送链路状态确认分组
最终,链路状态数据库一致。

image.png
由于使用的是洪泛法进行分组的发送,因此如果自治系统中的路由器数量过大,那么就会造成占用大量网络资源进行转发的情况。
为了使OSPF协议能够用于很大规模的网络,OSPF把每一个自治系统再划分为若干个更小的范围,即区域

区域内路由器IR:只在某一个区域内部 区域边界路由器ABR:在两个区域的边界部分 主干路由器BBR:在主干区域内的路由器 自治系统边界路由器ASBR:处于两个自治系统边界的路由器(在主干区域中,必须有一个路由器和另外一个自治系统相连接)

image.png