• 路由信息协议RIP(Routing Information Proto)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058
  • RIP要求自治系统AS内每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这一组距离,称为距离向量D-V(Distance-Vector)
  • RIP使用跳数作为度量来衡量到达目的网络的距离
    • 路由器到直连网络的距离定义为1
    • 路由器到非直连网络的距离定义为所经过的路由器数加1
    • 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达,因此RIP只适用于小型互联网
    • 有些厂商并未按照标准文档来,思科路由器中的RIP,将路由器到直连网络的距离定义为0。
  • RIP认为好的路由就是距离短的路由,也就是通过路由器最少的路由。
  • 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡
  • RIP包含以下三个要点:
    • 和谁交换信息: 仅和相邻路由器交换信息
    • 交换什么信息自己的路由表
    • 何时交换信息: 周期交换

RIP的基本工作过程

  • 路由器刚开始工作时,只知道自己到直连网络的距离为1。路由表中只有直连主机的信息
  • 每个路由器仅和相邻路由器周期性地交换并更新路由信息
  • 若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛

路由条目更新规则

image.png
C和D为相邻路由器,C周期性地将自己地路由信息封装到RIP更新报文中发送给路由器D,D路由器不在乎C路由表中地下一跳信息,所以这里写成?

  • D收到C地路由信息后,将距离全部加1,下一跳全设为C
  • 发现网络N2距离为5,下一跳也相同,更新
  • 发现网络N3,自己这里没有,添加进去
  • 从C过来的N6距离更小,更新
  • 到达N8有距离相同的不同下一条,也添加进来,进行等价负载均衡
  • N9从C过来有劣势,不更新

image.png

RIP存在坏消息传播得慢的问题

image.png
加入R1与N1直连,这条线路出现故障,R1就会把距离设为16,表示N1不可达,并等RIP更新周期到时,发送路由信息给R2,但是R2里的路由信息比较老,假如R2先发RIP报文,R2的路由信息先到R1,R2后收到R1的报文,R1就会后误导,认为可以通过R2到达N1,距离为3,并在RIP周期到的时候,把这条信息发给R2,之后两个路由器互相误导。
image.png
R1和R2之间就出现了路由环路。

  • “坏消息传得慢”又称为路由环路距离无穷技术问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现该问题的概率或减少该问题带来的危害。
    • 限制最大路径距离为15(16表示不可达)
    • 当路由表发生变化就立即发送更新报文(触发更新)
    • 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(水平切割
    • 采取上诉措施,也不能彻底避免路由环路问题