背景的概述:
RIP 从 Xerox 开发的早期协议 - 网关信息协议 (GWINFO) 演变而来。
RIPv1的特征和消息格式:
RIP 主要有以下特征:
l RIP 是一种距离矢量路由协议。
l RIP 使用跳数作为路径选择的唯一度量。
l 将跳数超过 15 的路由通告为不可达。
l 每 30 秒广播一次消息。
消息格式:
RIP 消息的数据部分封装在 UDP 数据段内,其源端口号和目的端口号都被设为 520。在消息从所有配置了 RIP 的接口发送出去之前,IP 报头和数据链路报头会加入广播地址作为目的地址。
RIP 消息格式:RIP 报头:RIP 报头长度为四个字节,这四个字节被划分为三个字段,命令字段指定了消息类型,版本字段设置为 1,表示为 RIPv1。第三个字段被标记为必须为零。“必须为零”字段用于为协议将来的扩展预留空间。
RIP 消息格式:路由条目:消息的路由条目部分包含三个字段,其内容分别是:地址类型标识符(设置为 2 代表 IP 地址,但在路由器请求完整的路由表时设置为 0)、IP 地址以及度量。路由条目部分代表一个目的路由及与其关联的度量。一个 RIP 更新最多可包含 25 个路由条目。数据报最大可以是 512 个字节,不包括 IP 或 UDP 报头。
RIP的工作方式:
RIP 请求/响应过程:
RIP 使用两种类型的消息(在“命令”字段中指定):请求消息和响应消息。每个配置了 RIP 的接口在启动时都会发送请求消息,要求所有 RIP 邻居发送完整的路由表。启用 RIP 的邻居随后传回响应消息。响应后将发送更新路由表!
IP 地址类和有类路由:RIP 是有类路由协议。您可能已经从前面的消息格式讨论中发现 RIPv1 不会在更新中发送子网掩码信息。因此,路由器将使用本地接口配置的子网掩码,或者根据地址类应用默认子网掩码。
管理距离:RIP 的默认管理距离为 120。可以通过show ip route和show ip protocols命令查看!
RIPv1的基本配置:
R2#conf t //进入全局配置模式
R2(config)#router rip //进入RIP路由协议
R2(config-router)#network 192.168.2.0 //在192.168.2.0这个网络启动RIP
R2(config-router)#no network 192.168.2.0 //关闭192.168.2.0网络的RIP功能
R2(config-router)#exit //推出RIP配置模式
R2(config)#no router rip //删除RIP的所有配置
(注意:RIPv1是不支持VLSM的如果在network输入的是VLSM的地址它会自动转为有类的网络地址)
network 命令的作用如下:
l 在属于某个指定网络的所有接口上启用 RIP。相关接口将开始发送和接收 RIP 更新。
l 在每 30 秒一次的 RIP 路由更新中向其它路由器通告该指定网络。
可以使用以下的命令来验证。
show ip protocols //查看是否有您宣告的网段
show ip interface brief //查看接口是否双UP
show ip route //检验从 RIP 邻居处接收的路由是否已添加到路由表中.(代号R)
解读 show ip route 输出:
例子:
R 192.168.5.0/24 [120/2] via 192.168.2.2, 00:00:23, Serial0/0/0
R 的意思就是RIP
192.168.5.0/24就是目的网络
120 是AD管理距离
2是度量值,因为RIP把条数作为度量值,所以就是2跳的意思。
192.168.2.2 就是下一跳的地址。
00:00:23 距离上一次更新的时间。
Serial0/0/0 就是送出的接口。
被动接口:
不必要的 RIP 更新会影响网络性能,在 LAN 上发送不需要的更新会在以下三个方面对网络造成影响:
1. 带宽浪费在传输不必要的更新上。因为 RIP 更新是广播,所以交换机将向所有端口转发更新。
2. LAN 上的所有设备都必须逐层处理更新,直到传输层后接收设备才会丢弃更新。
3. 在广播网络上通告更新会带来严重的风险。RIP 更新可能会被数据包嗅探软件中途截取。路由更新可能会被修改并重新发回该路由器,从而导致路由表根据错误度量误导流量。
停止不需要的 RIP 更新
使用 passive-interface 命令,该命令可以阻止路由更新通过某个路由器接口传输,但仍然允许向其它路由器通告该网络。配置的方法如下:
Router(config-router)#passive-interface interface-type interface-number
验证的方法:
Show ip protocols 查看更新接口已经没有那个接口了,但Routing for Networks下还有这个网络。
边界路由器和自动汇总:
处理 RIPv1 更新的规则:
以下两条规则控制着 RIPv1 更新:
l 如果某条路由更新及其接收接口属于相同的主网,则在路由更新中对该网络应用该接口的子网掩码。(就是说路由更新信息与接口属于相同的主网,子网掩码就用接口的子网掩码)
l 如果某条路由更新及其接收接口属于不同的主网,则在路由更新中对该网络应用网络的有类子网掩码。(就是说路由更新信息与接口不属于相同的主网,子网掩码就用有类的)
发送RIP更新:
当发送更新时,边界路由器会在更新中包含网络地址和相关度量。对于更新中的路由条目而言,如果发往的主网与其所属的主网不同,则路由条目中的网络地址将总结为有类网络地址(或称主网地址)。
对于更新中的路由条目,如果更新与接口属于相同主网中传递,则使用送出接口的子网掩码来确定要通告的网络地址。使用接口的子网掩码确定要通告的子网地址。
自动总结的优点:
l 可以使发送和接收的路由更新较小,从而使路由更新占用较少的带宽。
l 使用单条路由可加快路由器对路由表的查找过程。
自动总结的缺点:
RIPv1 有类路由协议的主要缺点 - 不支持不连续网络。网络在主网边界间自动总结,因此接收路由器无法确定路由的掩码。这是因为接收接口的掩码可能与划分了子网的路由不同。
不连续拓扑结构不能通过 RIPv1 收敛:
RIPv1 配置是正确的,但它却无法确定不连续拓扑结构中的所有网络。原因是:对于不属于待通告路由所在网络的接口,路由器只能从该接口发出主网地址通告。
例子:
R1 不会将 172.30.1.0 或 172.30.2.0 通过 209.165.200.0 网络通告给 R2。R3 不会将 172.30.100.0 或 172.30.200.0 通过 209.165.200.0 网络通告给 R2。但 R1 和 R2 会将主网地址 172.30.0.0(即总结路由)通告给 R3。
结果会是什么?由于在路由更新中不包含子网掩码,所以 RIPv1 无法通告具体的路由信息来让路由器为 172.30.0.0/24 子网提供正确的路由。