第二章RIP

2.1 RIP的基本概念
Routing Information Protocol,路由信息协议。
是最新得到广泛应用的IGP协议,现有面向IPv4的RIPv1、RIPv2和面向IPv6的RIPng。

2.1.1 RIP路由更新与接收

工作过程:
每台RIP路由器都维护着一个RIP数据库(数据库中的信息有目的网络、下一跳地址、掩码、度量值、老化计时器、路由状态标识等),数据库中的有效路由信息将会被加载到路由表中。每台RIP路由器会周期性的把自己的路由表通告出去,当收到的路由信息中有自身没有的有效路由信息,会加载到自己的路由表中,同时设置下一跳和度量值。
在这里插入图片描述

1、 初次交换路由信息
以上图的R2为例,当启动RIP协议后,R2会将自己路由表的信息通过激活了RIP协议的GE0/0/0和GE0/0/1通告出去(RIPv1使用广播地址为目的IP地址,RIPv2使用组播地址),协议报文发送之前R2会将度量值加1跳。当R3收到此报文后,发现本地路由表没有目的网段为192.168.12.0/24的路由,于是会将此路由加载到自己的路由表中,并将出接口设置为本地的GE0/0/0,下一跳地址为更新源192.168.23.2,度量值不作处理,为1。

2、 路由完成收敛
在经过初次交换路由信息后,R1,R2,R3分别学习到了邻居的直连路由,到下一个更新周期时,R1会学习到来自R2的3.0.0.0/8网段的路由,此时度量值为2;R3同理。

2.1.2 RIP路由更新与路由表
在这里插入图片描述
由上图所示,起初R1和R3之间是没有ISP的,这四个路由器通过RIP进行路由更新。随后R1和R3之间增加了一条高带宽链路,并希望R1和R3两个路由器之间通过ISP来通信。因为RIP只能收到来自直连路由器的RIP更新,所以R3只能写一个静态路由,目的网段是R1所在网段,下一跳指向ISP的静态路由,因为静态路由的优先级60小于RIP的优先级100,所以此时R3通过ISP向R1发送数据,但此时R4无法通过R3来学习到R1的路由。

2.1.3 度量值
度量值指的是到达目的网络所需的代价或成本。在RIP中,度量值为到达目的网络的跳数,因此在有些网络环境中可能造成选路不佳。

2.1.4 报文类型及格式
RIP报文采用UDP封装,端口520,当路由器端口激活RIP协议后,会立即发送一个Request报文和Response报文,并开始侦听RIP协议报文。当路由器收到Request报文后,会用Response回应,其中携带着对方请求的路由信息。

1、报文类型
Request报文:向邻居请求全部或部分RIP路由信息。
Response报文:携带者路由信息,可以做为Request的回应,也可以是路由器主动发送。一条报文最多携带25条路由条目。

2、报文格式

在这里插入图片描述
命令:值为1,是Request报文;值为2,是Response报文。
版本:RIPv1的值为1。
地址族标识符:当为2时,表示IP协议;当为0时,表示此报文为Request报文,并是向直连路由请求整张路由表,此时IP地址只有一个为0.0.0.0,度量值是16。
在这里插入图片描述
命令:同上。
版本:RIPv2的值为2。
地址族标识符:同上。
路由标记:默认值为缺省0,如果路由条目是通过外部路由协议进入RIP中的,则会设置路由标记值。
下一跳:默认为0.0.0.0,特殊情况下被设置为别的值,可以避免次优路径现象。

2.1.5 计时器
1、更新计时器:默认30s,每个周期会向附近路由器洪泛路由表。为了避免多个接口同时洪泛而导致网络拥堵,会在30s的基础上随机产生0-5s的偏移量。

2、老化计时器:默认180s,当再次受到此条路由的更新,计数器刷新;若计时器超时,此条路由会从路由表中删除,但是依然存在于RIP数据库中。也会在Response中携带此条路由,但度量值为16(不可达)。

3、垃圾回收计时器:默认120s,当老化计时器超时,垃圾回收计时器开始计时,若超时,则将此条路由从RIP数据库中删除。

2.1.6 Silent-Interface(静默接口)
当路由器的接口连接的是PC时,可将此接口设置为静默接口。路由器不会通过静默接口发送Response,但依然可以接收Request报文,另外因为此端口打开了RIP协议,其他路由器也会学习到此端口网段的路由。
这样就会节省PC因为解析Response而浪费的资源。

2.2 RIP的防环机制

2.2.1 环路的产生
在这里插入图片描述

R1和R2开启了RIP,R2通过R1学到了1.0.0.0/8网段的路由,这时R1直连的1.0.0.0/8网段突然断开了,R1立即在路由表中路由表中删除了此条路由,但此时R2的更新时间到了,R1收到R2的更新后发现1.0.0.0/8网段可以通过R2到达,度量值为2,就将此条路由加载到了自己的路由表中,环路产生。

另外,R1会在下一个更新周期洪泛1.0.0.0/8这条路由,度量值为3,R2收到后会将本地的度量值改为3,一直如此的循环往复。

2.2.2 定义最大跳数
RIP协议定义了最大跳数为15跳,超过15跳会被认为路由不可达。这个机制有效的防止了环路产生,但也限制了RIP的工作域,也没有从根本上解决环路的产生。

2.2.3 水平分割
水平分割是指路由器从这个接口接收到的路由条目不会再从这个接口通告出去。
在这里插入图片描述

R1和R2,R1和R3分别采用帧中继连接,三个路由器都开启了RIP。R1可以收到2.0.0.0/8和3.0.0.0/8的路由,但是因为水平分割机制的存在,导致R2无法学习到3.0.0.0/8网段的路由,R3也无法学习到2.0.0.0/8的路由。在本拓扑中解决方案是在R1上面开放两个端口供R1和R3连接,或者在R1的Serial 1/0/0端口上面关闭水平分割机制。

2.2.4 毒性逆转
水平分割机制通俗讲就是从此口进不从此口出,毒性逆转打破了水平分割机制,但是从此口出的路由的度量值是16,在RIP协议中也就是不可达。

R2通过R1学到了一条路由,如果R1的这个网段突然断开,R2会立即发送一个携带这条路由的Response报文,在这个报文中这条路由的度量值为16,R2收到后会立即从自己的RIP数据库中删除这条路由,避免了环路的产生。

2.2.5 触发更新
当路由器感知到拓扑变更或者路由度量值变更时,不再等待周期更新,立即发送Response报文通知邻居。

2.2.6 毒性路由
当一个网段变为不可达时,路由器感知到后会立即向邻居发送本网段路由,度量值为16。

2.3 RIPv2
2.3.1 RIPv1和RIPv2
RIPv1是一个典型的有类路由协议,在通告路由条目时并不携带网络掩码,默认是主类掩码。这就限制了RIPv1的工作环境。而RIPv2是无类路由协议,消除了RIPv1的这个弊端。

2.3.2 报文发送方式
RIPv1采用广播的形式向外发送报文,对于广播域中没有开启RIP协议的设备,如主机和服务器而言,它们需要将数据包拆封到目的端口号才发现本地没有监听520端口,浪费了设备资源。RIPv2是采用组播的形式向外发送报文,以223.0.0.9为目的IP地址发送报文,只有所有的RIPv2设备才会侦听该地址,这就减少了其他设备的资源浪费。

2.3.3 报文认证
默认条件下,路由器收到Response报文时,只会判断源IP地址和接口IP是否为同一网段。这是不安全的,如下图所示,攻击者如果想网段内发送大量的垃圾路由,会严重影响到其他两个路由器的正常运行。
在这里插入图片描述

RIPv2提供了报文认证的功能,报文认证开启后,认证信息会占用报文的第一个路由项(该路由选项的地址族标识为0xFFFF),Response可携带路由条目变成24条,通过在两个端口上面配置相同的认证口令来进行认证,口令匹配成功才会被人为是有效的,否则报文会被丢弃。
在这里插入图片描述

2.3.4 下一跳字段
在这里插入图片描述

在Response报文中的下一跳字段默认为0.0.0.0,但是如上图所示,R2不运行RIP,R1为了能到达2.0.0.0/8在本地写了一条静态路由,下一跳为192.168.123.2,并引入到RIP中。R3通过R1学到了2.0.0.0/8的路由,但是默认下一跳是192.168.123.1,造成了次优路径现象,如果R3收到的2.0.0.0/8这条路由的下一跳地址为192.168.123.2,就能解决次优路径的现象,这就是下一跳字段的意义。

2.3.5 路由标记
如果这条路由来自RIP域内,路由标记字段默认为0,如果为重发布的路由,则会加以标记,在次条路由传递的过程中,此标记不会消失。

2.3.6 路由汇总
RIPv1路由汇总缺省已被激活,并不能被关闭。
RIPv2路由汇总缺省已被激活,但可以被关闭。
在RIPv2中,路由汇总分为自动汇总和手动汇总,自动汇总是按照主类掩码进行汇总,汇总精度差,而且容易出错;而手动汇总可以解决精度差的问题。
另外,以下图为例,如果R1关闭了自动汇总,那么R2在向R3发送通告前也会将172.16.10.1.0/24,172.16.2.0/24,…….172.16.31.0/24进行汇总。
在这里插入图片描述

如上图所示,如果在R1,R3开启自动汇总,R2会把所有去往172.16.0.0/16的流量在左右两个接口上面负载分担,导致流量的丢失。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值