一.RIP
协议简介:RIP是一种距离矢量路由协议,使用基于跳数的度量值。
RIP最大跳数16跳,适用于小型网络。
RIP协议报文封装于UDP,端口号520。
RIP分RIPv1和RIPv2两个版本:
{1}RIPv1只传递路由网段信息,不传递掩码,只支持定长子网划分网络。
{2}RIPv2传递路由网段和掩码信息,支持变长子网划分网络。
RIP不可靠性:RIP路由学习是不可靠的
RIP是通过周边路由器告知自己路由的,并不知道目标的实际状况,存在还是不存在,链路UP还是Down,全然不知。
只要周边路由器通告路由,RIP就收下,并不去落实可不可达,俗称传言路由。
二.RIP路由传播过程(工作原理)
- 路由传播
路由器启动RIP后,会发现直连路由,并周期性地广播或组播路由信息。
每30秒发送一次完整路由表。
- 路由更新
(1)当前路由表中没有的目的网段
跳数小于16跳就学习到路由表+当前路由表中已有的目的网段
{1}下一跳相同(来源相同)
度量值等于原来的度量值,更新计时器
度量值小于原来的度量值,更新度量值
度量值大于原来的度量值,更新度量值(学习)
{2]下一跳不同(来源不同)
度量值等于原来的度量值,加入路由表,与原来路由一起形成等价路由
度量值小于原来的度量值,学习,覆盖原来的路由
度量值大于原来的度量值,作为备份路由,不学习到全局路由表
- 报文类型
请求报文:刚启动时请求路由。
响应报文:用于回复请求和定期更新。
RIP报文结构:

RIP发送路由更新:
每个路由器发送始发路由,跳数为1;发送学到的路由,跳数加1。
下一跳默认为0.0.0.0,即响应报文的源IP地址。
RIP定期更新发送自己的整个RIP路由表,但遵循水平分割原则。
水平分割:从该接口上学到的路由不再从该接口发送出去。
包括学习到的路由、本地发现的直连路由。
更新计时器:定期路由更新的时间间隔,默认30秒。
失效计时器:失效计时器内未收到更新,路由失效,默认180秒。
清除计时器:清除计时器内未收到更新,路由清除,默认240秒。
三.RIPv1 vs RIPv2
|-----------|-------|---------------|
| 特性 | RIPv1 | RIPv2 |
| 子网掩码 | 不支持 | 支持 |
| 认证 | 不支持 | 支持明文/MD5 |
| 发送方式 | 广播 | 组播(224.0.0.9) |
| 自动汇总 | 强制开启 | 可关闭 |
| VLSM/CIDR | 不支持 | 支持 |
RIPv2报文结构:

四、RIP防环机制
RIP环路问题:网络收敛,路由表正确------链路故障,路由条目删除------错误更新,产生路由环路(数据转发环路)------更新无止境,路由环路扩大化(路由更新环路)
RIP防环机制:
{1}无穷大计数:RIP无穷大计数为16跳,任何大于等于16跳的路由都视为无效。
{2}抑制计时器:收到下一跳的跳数增大的路由,启动抑制计时器进行失效抑制。
{3}水平分割:从该接口上学到的路由不再从该接口发送出去。
{4}路由毒化:链路断开或路由失效,向外通告16跳无效路由以通知周边路由器。
{5}触发更新:不必等待更新周期,马上进行路由通告。
{6}毒性逆转(又称毒性逆转水平分割):从该接口上学到的路由以无效路由通告出去。
五.RIP配置案例