RIP(Routing Information Protocol,路由信息协议)是最典型的距离矢量路由协议。
每台RIP路由器都维护者一个RIP数据库(Database),其中的每条路由都包含目的网络地址/网络掩码、度量值、下一跳地址、老化计时器以及路由状态标识等信息。RIP数据库中的有效路由条目被加载到路由器的路由表中。
网络中每台路由器都拥有了到达全网络各个网段的路由。而且设备的路由表此时已经稳定,这个阶段被称为“网络中的路由已经完成收敛”。
RIP的工作过程:从直连路由器收到RIP路由更新,将路由加载到路由表;将路由通告给其他直连路由器。
度量值就是指到达目的网络所需的代价或成本。当两条路由都是通过同一种路由协议发现的,通常情况下度量值更优的那条路由会被优选,而度量次优的路由则作为备份,只有当最优路由失效时,次优路由才会被使用。
RIP以跳数(Hop Count)作为路由的度量值,当RIP路由器将一条路由通告出去时,路由的跳数被增加1跳,而收到这个路由更新的路由器将这条路由加载进路由表时度量值沿用该值。
RIP的协议报文采用UDP封装,报文的源目的端口均是UDP520端口。RIP定义了两种报文,它们分别是请求(Request)和响应(Response)报文。
RIPv1使用广播地址255.255.255.255作为协议报文的目的IP地址,而RIPv2则不同,它使用组播地址IP地址224.0.0.9作为协议报文的目的IP地址。
报文结构:
命令字段(Command):该字段用于标识RIP报文的类型。长度:8bit。值为1时该报文为Request报文,用于向直连路由器请求全部或部分路由信息。值为2时该报文为Response报文,用于发送路由更新,一个Response报文最多可携带25个路由条目。
版本字段(Version):8bit
地址族标识符(Address Family Identifier,AFI):值为2时表示IP协议,16bit,该报文为Response报文并且是用于向直连路由器请求其整张路由表,则该字段被设置为0,同时这个Request报文中包含一个路由条目,目的网络地址为0.0.0.0度量值为16。
IP地址(IP Address):路由的目的网络地址。
度量值(Metric):路由的度量值。
RIPv2:
路由标记(Route Tag):用于路由设置标记信息,缺省为0,。一条外部路由被引入RIP从而形成一条RIP路由时,RIP可以为该路由设置路由标记,当这条路由在整个RIP域内传播时,路由标记不会丢失。
网络掩码(Netmask):RIPv1无法支持VLSM(Variable Lenght Subnet Mask,可变成子网掩码),RIPv2能够支持。
下一跳(Next Hop):一般情况下,在路由器所发送路由更新中,路由条目的“下一跳”字段会被设置为0.0.0.0,此时收到该路由的路由器将路由条目且加载到路由表时,将路由的更新源视为到达目的网段的下一跳。
计时器:
更新计时器(Update Timer):该计时器的时间为RIP路由器周期性泛洪路由表(周期性在接口上发送Response报文)的时间间隔。以30s为周期缺省。为了避免同一时间网络中充斥着大量的RIP广播或RIP报文,路由器不严格以30s为周期发送RIP报文,而是在该时间的基础上关联一个随机的细小的偏移量(加/减0~5s)。
老化计时器(Age Timer):每一条RIP路由都关联两个计时器,其中之一就是老化计时器(也被称为超时计时器)。当一条路由被学习并加载到路由表中,路由器立即为该路由启动老化计时器(缺省180s)。若一条路由持续未被刷新并最终导致老化计时器超时,路由则变为不可用并从路由表中删除,但该路由依然保存在RIP数据库中(以便路由随时可以恢复)同时该路由的垃圾回收计时器也被立即启动。对于老化计时器已超时的失效RIP路由,依然会被包含在路由对外发送的Response报文中。不过度量值被设置为16跳,即不可达。
垃圾回收计时器(Garbage-Collect Timer)垃圾回收计时器缺省被设置为120s,在垃圾回收计时器计数的这段时间里,RIP路由器在泛洪路由更新时将该路由的度量值设置为16跳,以便告知其他路由器关于该网络的不可达情况。
rip 1
timers rip 35 190 200 更新时间间隔 老化时间 垃圾回收
Sikent-Interface(静默接口):一个接口一旦被指定为Silent-Interface,则该接口将不再发送RIP报文,而只是被动的接收RIP报文也就是只收不发。Silent-Interface接口仅仅是不向外泛洪Response报文,但它依然可以接收Response报文。
路由环路(Routing Loop)是一种在路由部署不恰当或者网络规划不合理的情况发生后,很容易引发的一类问题。
运行距离矢量的路由器并不谅解整个网络的拓扑结构,这个特点使得网络非常容易出现环路。RIP定义了路由器的最大跳数——15跳,也就是说RIP路由的最大可用跳数为15跳,当一条路由的度量值达到16跳时,该路由被视为不可用。
水平分割(Split Horizon):RIP路由器从某个接口收到的路由不会再从该接口通告出去。
中心到分支(也称为Hub&Spoke)的部分互联模型,PVC(Permanent Virtual Circuit,永久虚电路)关闭水平分割,在其接口上创建两个子接口,将连接R2及R3的两条PVC分别承载在这两个子接口上。
毒性逆转(Poison Reverse)是另一种防止路由环路的有效机制其原理是RIP从某个接口学的路由后,当它从该接口发送Response报文时会携带这些路由,但是这些路由度量值被设置为16跳(不可达)。
水平分割:到达某个网段的路由既然是你告诉我的那么我就不应该再说给你听。毒性路由:到达某个目的网段的路由是你告诉我的那么我主动告诉你这个网段从我这里走不通来杜绝你从我这儿走的可能。缺点:增加了Response报文的“体积”。
触发更新机制:当路由器感知拓扑发生变化的或RIP度量值变更时,它无需等待下一个更新周期到来即可发送Response报文。
毒性路由:当一个网络变为不可达时,发现这个变化的路由器立即触发一个16跳的路由更新来通知网络中的路由器——目标网络已经不可达,这种路由被称为毒性路由。
RIPv1路由器处于主类网络的边界,当它将一个主类网络的路由通告到另一个主类网络时会将前者自动汇总成主类路由进行通告。
RFC2453(RIP Version 2)描述了RIPv2,其改进点包括使用组播的方式发送RIP报文,支持无类路由选择,在Response报文携带的路由信息中增加目的网络掩码;支持报文认证;增加下一跳特性;增加路由标记功能;支持手工路由汇总。
RIP报文认证:认证信息会占用报文的第一个路由项(该路由项的地址族标识符为0xFFFF),此时一个Response报文可携带的最大路由条目数量从25条变为24条。
对于距离矢量路由而言,路由的通告者就被视为该路由下一跳。
在路由协议的边界设备上,将某种路由协议的路由信息引入另一种路由协议中这个操作被称为路由引入(Route Importation)或者路由重分发(Route Redistribution)
路由自动汇总指的是如果RIP路由器处于主类网络的边界,当它将一个主类网络的子网路由通告给另一个主类网络时,自动将该子网路由汇总成主类网络路由,只将主类网络路由通告给直连RIP路由器的行为。
RIPv2基础配置:
rip 1 创建一个rip路由进程ID为1
Version 2 版本为RIPv2
network 192.168.1.0 通告相应网络和接口启用RIP
display rip 1 interface 查看哪些接口激活了RIP
display rip 1 database 查看RIP进程1的数据库
Silent-Interface
silent-interface GigabitEthernet 0/0/1 将GE0/0/1接口配置为silent-interface,不会再从该接口发送Response报文
display ip routeing-table protocol rip
RIPv2支持路由自动汇总,在RIP的配置视图下使用Summary命令激活RIPv2的路由自动汇总。缺省已激活。
display rip 1 interface GigabitEthernet 0/0/1 Verbose 查看rip功能接口的详细信息。
int G0/0/1
undo rip split-horizon 关闭水平分割
可通告汇总路由
在RIP配置视图下,使用summary always命令可以使得路由器无论水平分割或毒性逆转是否激活,都执行路由汇总。
手工路由汇总 int G0/0/1
rip summary-address 172.16.0.0 255.255.252.0
报文认证:rip authentication-mode simple plain Hcnp simple 简单认证(明文)
rip authentication-mode simple cipher Hcnp 口令以密文的形式存储在配置文件中
MD5认证
int G0/0/1
rip authentication-mode md5 usual cipher HCNP@123
usual 通用报文格式(私有标准)
nonstandard 非标准报文格式(IETF标准)
接口附加度量值
acl 2000
rule permit source 192.168.5.0 0.0.0.0
q
int E0/0/0
rip metricin 2000 2 在E0/0/0接收到ACL2000匹配的路由时,度量值增加2跳。
RIP发布默认路由
ip route-static 0.0.0.0 200.1.1.2
rip 1
version 2
default-route originate cost 1 在RIP发布一条默认路由,cost关键字用于设置该路由度量值
default-route originate match defaule 只有当路由器的路由表中存在其他路由协议或其他RIP进程产生的默认路由时路由器才会向RIP发布默认路由。
路由标记
ip route-start 10.1.1.0 24 41.0.0.21 tag 10
增加路由标记方便以后的路由策略