- 路由信息协议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内各网络的最短距离和下一跳地址,称为收敛。
路由条目更新规则
C和D为相邻路由器,C周期性地将自己地路由信息封装到RIP更新报文中发送给路由器D,D路由器不在乎C路由表中地下一跳信息,所以这里写成?
- D收到C地路由信息后,将距离全部加1,下一跳全设为C
- 发现网络N2距离为5,下一跳也相同,更新
- 发现网络N3,自己这里没有,添加进去
- 从C过来的N6距离更小,更新
- 到达N8有距离相同的不同下一条,也添加进来,进行等价负载均衡
- N9从C过来有劣势,不更新
RIP存在坏消息传播得慢的问题
加入R1与N1直连,这条线路出现故障,R1就会把距离设为16,表示N1不可达,并等RIP更新周期到时,发送路由信息给R2,但是R2里的路由信息比较老,假如R2先发RIP报文,R2的路由信息先到R1,R2后收到R1的报文,R1就会后误导,认为可以通过R2到达N1,距离为3,并在RIP周期到的时候,把这条信息发给R2,之后两个路由器互相误导。
R1和R2之间就出现了路由环路。
- “坏消息传得慢”又称为路由环路或距离无穷技术问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现该问题的概率或减少该问题带来的危害。
- 限制最大路径距离为15(16表示不可达)
- 当路由表发生变化就立即发送更新报文(触发更新)
- 让路由器记录收到某特定路由信息的接口,而不让同一路由信息再通过此接口向反方向传送(水平切割)
- 采取上诉措施,也不能彻底避免路由环路问题