Chinaunix

标题: 【誉天教育|解忧杂货店】RIPv1和RIPv2的收发路由规则--华为数通R&S实验漫载(9) [打印本页]

作者: 誉天    时间: 2018-07-26 11:54
标题: 【誉天教育|解忧杂货店】RIPv1和RIPv2的收发路由规则--华为数通R&S实验漫载(9)


前言
      上一章我们给大家介绍了RIPv2的配置,从配置的角度来讲,RIPv2的基础配置还是比较简单的,那么我们这一章就主要给大家讲一下RIPv1和RIPv2在收发路由时需要遵循的规则,因为大家通过之前的一章RIPv1和RIPv2的理论知识应该已经知道了RIPv1和RIPv2的报文中携带路由时是不一样的,因为RIPv1是不携带路由的掩码信息的,所以路由的掩码的计算是什么样的呢?这就需要我们通过实验去验证,我们依然选择华为eNSP模拟器验证,使用版本为390。
RIPv1发送路由规则
      如下图所示,在R1和R2之间运行RIPv1,并将R1和R2直连网段以及R1上的loopback接口通告进RIP,其中使用多个loopback接口进行实验测试,具体拓扑和配置如下:

R1的配置:
interface GigabitEthernet0/0/0
ip address 10.1.12.1 24
interface LoopBack0
ip address 10.1.1.1 32
interface LoopBack1
ip address 192.168.1.1 25
interface LoopBack2
ip address 10.1.2.1 24
interface LoopBack3
ip address 10.1.3.1 25
#
rip 1
version 1
network 10.0.0.0
network 192.168.1.0
R2的配置:
interface GigabitEthernet0/0/0
ip address 10.1.12.2 24
#
rip 1
version 1
network 10.0.0.0

      配置完成后,在R1和R2之间的链路使用wireshark工具抓包(右键路由器->数据抓包,选择接口即可),测试输出如下所示:


      如图可以看到RIPv1路由更新报文确实是广播发送的,在该路由更新报文中可以看到携带了5条路由信息,符合我们的配置,其中包括4个loopback接口和一个物理直连接口。但是在我们的印象中RIPv1是一个有类路由协议,并且在路由更新报文中是没有子网掩码信息的,所以在RIPv1的路由更新报文中只会携带路由的前缀信息,并且应该都是主类的前缀,比如:192.168.1.0、10.0.0.0、172.16.0.0这样的,但是从抓包我们可以看到既有10.0.0.0又有10.1.1.1,那么这是什么情况呢?
      实际上这和发送接口所在网段和掩码有关系,RIPv1发送路由时遵循以下规则,需要将发送网段和接口所在网段掩码进行比较:
      这样的发送规则记忆起来非常复杂,口诀给大家:双同主机发明细,其余情况发主类。希望大家能够记住。
      那么此时路由前缀就根据这些规则发送到了对端R2,但是R2在接收这些路由时缺少了一个非常重要的东西,就是掩码,没有掩码,不成方圆,一条路由不光要有前缀,也要有掩码,但是,这些接收的路由的掩码从何而来呢?接下来我们就来看一下R2是怎么把这些路由加上掩码的。
RIPv1接收路由规则
      如下图所示为R2的通过RIP学习到的路由表,我们发现这些路由都有了响应的掩码。


      如上图所示,每条路由都加上了响应的掩码,原因就是跟入接口的网段掩码有关系,需要比较接受路由的前缀和入接口所在网段和掩码,所以R2在接收路由时遵循了如下的规则:
      这规则记忆起来还是太复杂了,口诀给大家:收入同主类,以入掩码,收入不同主类,以注掩码,主机路由不变。
      根据以上收发路由的规则,我们就发现了虽然RIPv1是一个有类路由协议,并不支持CIDR和VLSM,但是通过设备协议自身的一些优化机制,使得其可以支持一部分无类的网络,这样做也是使得RIPv1能够有更高的性能。但是实际上RIPv1还是不能够更好的支持CIDR的场景,所以,在现网中不会再出现,因为RIPv2就是一个无类的路由协议了,所以我们接下来就看一下RIPv2是怎么支持CIDR的。

RIPv2发送/接收路由规则
      由于RIPv2是支持VLSM和CIDR的无类路由协议,所以在发送路由时可以直接携带掩码,所以也就没有了RIPv1那样的优化机制,所以比如对于192.168.1.0/25这样的路由可以直接发送192.168.1.0/25并且可以直接接收使用。
      但是由于RIPv2是支持自动聚合的,所以如果开启了自动聚合的话,就需要考虑到自动聚合主类路由的发送情况。在华为设备上自动聚合默认开启(RIP进程视图下summary命令默认配置),会将明细路由聚合为主类网络,但是我们实际在使用RIPv2时并没有出现聚合的情况,是因为自动聚合和水平分割同时开启时,自动聚合是不生效的,所以路由器依然会发送明细路由,但是可以通过在RIP进程下配置summary always命令强制开启自动聚合,强制开启的自动聚合会将明细路由聚合为主类网络,但是仅限于和出接口不在同一主类网络的路由。所以要想对所有路由都配置自动聚合需要我们关闭水平分割(在接口下使用命令undo split-horizon)。
      RIPv2接收路由很简单,因为路由本身就可以携带掩码了,所以直接以接收路由的掩码进行使用就可以了。
总结
      本章主要介绍了RIPv1和RIPv2在发送路由和接收路由时需要遵循的规则,从这些规则我们可以看出来,RIPv1主要是因为不支持无类网络,所以有更多的规则去优化,所以这样的协议在现网中不常见,已经被淘汰了,RIPv2由于其可以在路由中携带掩码信息可以支持CIDR,所以会被更多的运用在网络中,但是由于在华为设备上有自动聚合和水平分割等规则,所以我们在实际部署时需要考虑到这些因素。
      下一章我们会主要给大家介绍如何在RIPv2中选路,因为对于路由协议来说,选路是非常重要的!希望大家支持我们的技术公众号!


作者: 夏尾鱼    时间: 2018-08-01 14:36
谢谢楼主分享




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2