RIP综述
特性:
- 使用最广泛的距离矢量路由选择协议,由UDP封装,属于应用层协议。
- 路由选择度量标准为到达目的网络的跳数。
- 最大跳数为15,超过15的跳数即为不可达。
- 默认的路由更新周期为30s,超时计时器为180s,同时支持触发更新,使用UDP的520端口。
- 管理距离为120.
- 支持等价路径(等价路径上负载均衡),默认4条,最大6条。
缺点:
- 使用跳数作为度量标准,会选出非最优路由。
- 最大条数为15,限制了网络的规模。
- 接收来自任何设备的更新,可靠性差。
- 收敛速度慢,容易造成路由环路。
- 发送路由表全部信息,占用带宽大。
工作流程:
- RIP启动时,初始数据库只包含本路由器声明的直连路由。
- RIP启动后以广播或多播的形式每30s发送RIP请求报文。
- 邻居路由器的RIP从某接口接受到请求报文后,根据自己的RIP数据库,形成RIP更新报文,向该接口对应的网络广播。
- RIP接收到更新报文后,重新生成自己的RIP数据库。
运行距离矢量的路由器就关心两样事情:
1、将路由通过广播或组播的形式发送给所有配置了该协议的接口。
2、从接口接收邻居路由器发来的路由信息,并根据距离和矢量的组合放入到路由表中。
距离矢量的路由更新是一跳一跳发生的,每个路由器就是一跳.
路由器接收到广播更新后就会查看更新,并将该信息与它当前的路由表进行比较。
到新网络的路由或者到已知网络并有更好度量值的路由都将被安装到路由表中,然后继续向外广播它已更新过的路由表。
RIP计时器:
- 更新计时器30s:将自己的路由表发给邻居
- 超时计时器180s:超时则认为和邻居路由器断开,标记邻居路由表信息无穷大
- 刷新计时器60-240s:清除超时计时器标记的邻居路由表信息
- 抑制计时器180s:防止路由环路
RIP使用HOP(跳数)作为度量值。
而IGRP使用带宽、延迟、负载、可靠性、MTU的组合作为度量值;
缺省(默认)只使用带宽和延迟。
带宽:使用到达目的网络所经过路径中的最小带宽。
延迟:是到达目的网络所经过路径所用时间的总和。
延时种类:发送延时、传播延时、处理延时、排队延时。
负载:单位时间内所担负的工作量。
度量值参数和延时之间的关系
- 跳数:经过路由器个数少可以减少处理时延和发送时延
- 带宽:带宽越大发送时延越小
- 负载:负载越小,排队时延越小。
- 可靠性:数据包重传概率越小,时延越小
- MTU(最大传送单元):MTU越大,转发次数越少,处理时延越小
路由环路:就是数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。
解决路由环路方法:
- 定义最大值,如RIP约定16跳为无穷大值
- 水平分割:路由器的某个接口接收到的路由信息不能再从这个接口反向再发送出去。
- 路由中毒:在路由器通告这条损坏的路由时,明确告诉邻居这条路由已经坏了,不需要计数到无穷,加快了收敛的时间。
- 反向路由中毒:邻居路由收到毒抑路由后,反向发给路由器我已经知道了,从而确保链路上相连的设备都知道毒抑路由的消息,确保正确性。
路由毒抑超越水平分割,也就是说水平分割对毒抑路由不起作用。 - 触发更新:当路由表发生变化时,更新信息立即广播给邻居路由器,然后进行扩散,而无需等待30秒的周期,同时不清零自己的计时器。
- 控制更新时间:一个路由条目失效后,一段时间内这条路由处于抑制状态,即在一个特定时间段内不再接收关于这条路由的任何路由更新。
然而在下列情况下,抑制时间解除:
1,抑制计时器超时。
2,收到一个更好度量值的路由更新(小于原来的度量值)。
3,刷新时间到时。
RIP负载均衡最多16条,默认4条。
RIP管理距离120。
RIPv1和RIPv2的对比:
v1 | v2 | |
---|---|---|
类:IP地址分类 | 有类路由 | 无类路由 |
是否支持变长子网掩码 | 不支持 | 支持 |
路由更新是否发送掩码 | 不发送 | 发送 |
更新目的地址 | 广播 | 组播地址:224.0.0.9 |
是否支持手动汇总 | 不支持,自动汇总 | 支持手动汇总 |
是否支持认证 | 不支持 | 支持 |
RIPv1有类路由选择协议
RIPv1有类路由选择:直连的子网络
- 在路由表中没有发现与目的地址网络号相匹配的条目,则丢弃。
- 在路由表中有和目的地址网络号相匹配的条目,但是子网条目不匹配,则丢弃。
- 在路由表中有和目的地址网络号相匹配的条目,而且子网条目也匹配,则转发该数据包。
如果目的地址是一个和路由器直接相连的主网络的成员,那么该网络的路由接口上配置的子网掩码将被用来确定目的地址的子网。
主网络中所有子网的子网掩码必须相同。
如果目的地址不是一个和路由器直接相连的主网络的成员,那么路由器将仅仅尝试去匹配目的地址对应于A类B类或C类的主网络号。
基本配置
- 使用router rip命令启动RIP进程
Router(config)#router rip - 使用network命令指定每一个需要运行RIP协议的主网络
Router(config-router)#network 192.168.12.0 - 配置被动接口
如果一个路由器接口和启动RIP协议的网络的子网相连,则路由器就会在该子网上发出RIP广播
如果为了阻止这样的RIP广播,则在路由器的RIP协议配置中需增加一条passive-interface命令。
Router(config)#router rip
Router(config-router)#passive-interface f1/0 - 配置单播更新
如果有多个路由器连接在同一个以太网上,但是只希望其中的部分路由器之间交换路由信息,则需要配置单播更新。
例如:路由器R2、R5、R6连接在一个以太网上,只希望R5和R6之间交换路由信息,R2和R5以及R2和R6之间不交换路由信息,则需要配置单播更新
R5(config)#router rip
R5(config-router)#passive-interface f0/0
R5(config-router)#neighbor 192.168.12.67 - 修改链路上的默认metric值
当我们希望路由经过非默认路径时,可以通过修改链路的默认metric来实现。
Router(config)#0.0.255.255
Router(config)#router ripaccess-list 1 permit 10.33.0.0
Router(config-router)#network 10.00.0.0
Router(config-router)#offset-list 1 in 2 serial 0 - 不连续子网
在两个不同路由器上配置了同一个网络号下的不同子网,但这两个路由器之间的所有通路中并没有属于该网络号的链路,则称为不连续子网。
例如:路由器R1和路由器R7上都有网络10.0.0.0下的子网,但是R1和R7之间的唯一链路,即经过R2的链路上的网络地址为192.168.83.0和192.168.12.0
解决办法:给经过的链路接口上添加第2IP地址,使不连续子网变成连续子网。
RIPv2配置
- 基本配置:
router rip
version 2
network 172.16.0.0(网络号)
network 192.168.1.0 - RIPv2关闭自动汇总
Router(config)#router rip
Router(config-router)#no auto-summary - RIPv2手动汇总
Router(config)#interface f0/0
Router(config-if)# ip summary-address rip 10.33.16.0 255.255.240.0 - RIPv2认证步骤
定义一个带名字的钥匙链
Router(config)#key chain xcu
定义在钥匙链上的钥匙
Router(config-keychain)#key 1
Router(config-keychain-key)#key-string cisco
在接口上启动认证并指定使用的钥匙链
Router(config-if)#ip rip authentication key-chain xcu
指定这个接口使用明文认证还是MD5认证
Router(config-if)#ip rip authentication mode md5
可选地配置钥匙的管理
路由实验步骤:
- 给接口配置IP地址
- 查看所有配置路由器的接口信息:show ip int brief,删除配置的ip地址信息,进入要删除的接口:no ip address
(1)、配置的接口是否正确
(2)、配置的ip地址是否正确
(3)、查看接口是否开启 - 在每个路由器上ping直连接口,看是否能ping通。
若ping不通,可能是接口配置错误。 - 查看路由表,作为对比:show ip route
- 配路由协议
R1(config)#router rip //使用router rip命令启动RIP进程
R1(config-router)#verson 1 //版本1
R1(config-router)#network +网络号 //使用network命令指定每一个需要运行RIP协议的主网络