讲起RIP路由协议,难免会有轻视之心,因为他配置命令简单,容易上手,只要是学习过网络技术的朋友,几乎没有不会RIP协议的基本配置的。然而,当深入到RIP协议的一些关键问题的时候,却发现原来RIP也有很深的门道,比如说:RIPv1在什么情况下会携带子网掩码进行路由的更新?RIPv2又如何在汇总掩码小于主类网络的掩码的时候进行手工的汇总?
今天我却要对RIP协议解析进行深度的剖析,揭开RIP中v1和v2两个兄弟的神秘面纱。
首先,明确几个关键的问题:
一 RIP V1 V2分属有类网络和无类网络?他们的区别在哪里?
二 RIP属于距离矢量路由协议?它又和链路状态路由协议有和区别?
三 RIPv1在什么情况下会携带子网掩码进行路由的更新?(我将会以实验做验证)
四 RIPv2又如何在汇总掩码小于主类网络的掩码的时候进行手工的汇总?(同样的以实验作为验证)
注:所有的实验,我均会以TXT文本的方式提供下载,以方便大家交流学习。
问题一: RIP V1 V2分属有类网络和无类网络?他们的区别在哪里?
有类网络协议在路由信息的更新过程中仅发送网络地址,不发送子网掩码的信息不支持CIDR和VLSM
无类网络协议在路由信息的更新过程中既发送网络地址,又发送子网掩码的信息支持CIDR和VLSM
(VLSM技术对于有效的分配IP地址和缩减路由表的大小起着至关重要的作用;VLSM是CIDR的具体表现)
问题二:RIP属于距离矢量路由协议?它又和链路状态路由协议有和区别?
最大的区别在于:认识网络的方式不一样。
距离矢量路由协议从网络邻居的角度了解网络(复制完整的路由表:完整更新)
链路状态路由协议从自身的拓扑图了解网络(仅将链路变化部分传送到其他路由器:增量更新)
问题三: RIPv1在什么情况下会携带子网掩码进行路由的更新?(我将会以实验做验证)
首先,我们必须清楚,
RIP V1发送路由更新的原则:
a.要发送的子网信息和路由器更新接口所处的网络属于不同的主类网络,则发送主类网络汇总信息;
b.要发送的子网信息和路由器更新接口所处的网络属于相同的主类网络,而且网络掩码的长度相同,则发送明细路由。
RIP V1接受路由更新的原则:
a.如果收到的路由更新和其接受接口属于不同的主类网络,则以接受接口的子网掩码作为路由条目的掩码;
a.如果收到的路由更新和其接受接口属于相同的主类网络,则以该网络的主类掩码作为路由条目的掩码;
(以实例做说明)拓扑图如下:
我们以R2和R3为例来分别讲解RIP V1携带子网掩码和不携带子网掩码的不同情况。
R2上的RIP路由条目:
结论:R2上收到的都是明细路由的条目。
RIP V1是有类路由协议,而且R2处于主类网络的边缘,虽然默认开启自动汇总,但是不连续的网络是不能通过RIP V1来收敛的。
(何为不连续的网络?是指不处于同一个子网的网络号,比如:172.31.12.0/24 172.31.1.1/24是不连续的子网而172.31.12.0/24和172.31.12.1/24则是连续的网络)
(何为自动汇总?是指处于主类网络边界的网络会自动汇总成主类网络,以便加快路由表的查找过程)
原因在于:
1)当R1向R2发送路由更新的时候
要发送的子网是172.31.1.0 ,路由器更新接口R1的s0/0口所处的网络为172.31.12.0,属于相同的主类网络地址172.31.0.0/16,而且网络掩码的长度相同/24,所以R1向R2发送的路由更新是明细路由条目。
2)R3 R4向R2发送路由更新的时候(情况与1)大致相似,依然是明细路由,这里不做赘述!)
R3上的RIP路由条目:
结论:R3上收到了汇总的路由条目172.31.0.0/16via 172.16.23.2,还收到了明细路由条目172.16.4.0/24 172.16.24.0/24。
原因在于:
1)当R2向R3发送路由更新的时候
第一条:172.31.12.0/24与s0/1所处网络172.16.23.0/24属于不同的主类网络,因此R2发送的是汇总的路由条目172.31.0.0/24。
第二条:172.16.24.0/24与s0/1所处网络172.16.23.0/24属于相同的主类网络,因此R2发送的是明细的路由条目172.31.23.0/24。
2)当R4向R3发送路由更新的时候(三条路由都是明细路由,这里请依据上述自行推理!)
检验试验:
更改R1的环回口IP地址172.17.1.1/24,观察路由条目的变化。
显然,由于172.17.0.0与172.31.0.0 分属不同的主类网络,所以发送汇总路由条目!该结果验证了上述试验的正确性!
问题四: RIPv2又如何在汇总掩码小于主类网络的掩码的时候进行手工的汇总?
我们来观察RIP v2对于传递CIDR的功能表现:R3上路由
我们来观察RIP v1对于传递CIDR的功能表现:R4上路由
结论:v2能够传递CIDR,v1不能够传递CIDR
更改环回口地址,观察汇总结果:
解决方案:将汇总路由设置成为静态路由
R1:
Ip route192.168.1.0 255.255.252.0 null 0
Routerrip
Redistributestatic
No net192.168.0.0
No net192.168.1.0
No net192.168.2.0
No net192.168.3.0(注意:此时不能在R4上运行Rip v1否则不能传递
或者同时将对端接口同时ip rip send ver 1 2
ip ripreceiver ver 1 2
)