目录
一、实验一:简单RIPv1
实验难度 | 1 |
实验复杂度 | 1 |
1.实验拓扑
2.实验步骤
1.搭建上图所示的网络拓扑;
2.初始化各路由器;
3.配置相应的IP地址,测试直连网络的连通性;
4.配置RIPv1,在各个路由器上查看相应的路由表;
5.在路由器上测试非直连的网络。
3.实验过程
1.搭建上图所示的网络拓扑;
略。
2.初始化各路由器;
略。
3.配置相应的IP地址,测试直连网络的连通性;
R1:
R2:
R3:
测试直连网络的连通性:
4.配置RIPv1,在路由器R2上查看相应的路由表;
R1:
R2:
R3:
查看路由信息:
R1:
R2:
R3:
我们在查看路由表时发现路由器R1没有R2的172.16.2.0/24的网络,而R2也是没有R1的172.16.1.0/24的网络,但是在R2的路由表上却同时发现有172.16.0.0/24的两条路径。那么这对我们的网络连通是否有影响呢?我们在下面验证一下。
5.在路由器上测试非直连的网络。
在R1上测试:
在R2上测试:
在R3上测试:
通过测试,我们发现即使通告了相应的接口出去网络也是不能连通的,这是为什么呢?原因在于RIPv1版本是有类路由协议,而有类路由协议发送的路由更新信息是不包含子网掩码的,比如在R1上它收到R3发送过来的172.16.0.0/16这个主类的网络更新信息,首先它发现自己都存在这个网络的明细路由了,所以它会忽略掉这条路由。这就是R1没有R3的环回口172.16.2.0/24这个路由信息的原因。同理,在R2上它在不同的接口上同时收到172.16.0.0/16这个主类网络路由,而且路径都是一样的,所以它显示负载均衡现象,但是这样它是不能通信的。
二、实验二:简单RIPv2
实验难度 | 2 |
实验复杂度 | 1 |
1.实验拓扑
2.实验步骤
1.搭建如图所示的网络拓扑;
2.初始化设备;
3.配置IP地址,测试直连网络的连通性;
4.开启路由器R2的rip的debug功能,把所有的路由器接口都添加rip路由进程,查看debug信息与路由表;
5.关闭RIP的自动汇总功能,查看R2的路由表,测试R2与R1、R3环回口IP地址的通信;
6.删除R3的RIP路由信息,在R3上配置RIPv1版本,查看R2的RIP Debug信息
7.在R2连接R3的接口上配置接收与发送V1/V2版本的RIP路由信息,查看R2的Debug信息。
3.实验过程
1.搭建如图所示的网络拓扑;
略。
2.初始化设备;
略。
3.配置IP地址,测试直连网络的连通性;
R1:
R2:
R3:
测试直连网络的连通性:
4.开启路由器R2的rip的debug功能,把所有的路由器接口都添加rip路由进程,查看debug信息与路由表;
(1)开启路由器R2的ripdebug功能:
(2)把所有的路由器接口都添加rip路由进程:
(3)查看debug信息与路由表
我们在查看到RIP的debug信息时,发现rip发送的路由信息都是主类网络的,也即是没有子网掩码的,所以在R2的路由表中可以看出实现负载均衡的两条路由。
5.关闭RIP的自动汇总功能,查看R2的路由表,测试R2与R1、R3环回口IP地址的通信;
(1)关闭RIP的自动汇总功能
(2)查看R2的路由表与RIP的debug信息
在R2的路由表中我们发现R1与R3的环回口的明细路由(包含子网掩码信息),在Debug信息也可以看出RIP发送的是明细路由信息,而且接收的是V2版本的路由信息。注意一下,现在还可以看到负载均衡的汇总路由,实际上它是不生效的了,只是刷新时间没有到,所以它还存在这里,等一下,再看一下路由表就会发现它消失了,只有两条明细路由。
(3)测试R2与R1、R3环回口IP地址的通信
6.删除R3的RIP路由信息,在R3上配置RIPv1版本,查看R2的RIP Debug信息
(1)删除 R3的RIP路由信息
(2)在R3上配置RIPv1版本
(3)查看R2的RIP Debug信息
我们在R2的RIP debug信息中发现路由器认为R3发送的V1版本是非法的,所以忽略这个V1版本的数据包,那么我们可以同时接收或发送V1/V2版本的数据包吗?
7.在R2连接R3的接口上配置接收与发送V1/V2版本的RIP路由信息,查看R2的Debug信息。
R2:
R3:
查看R2的Debug信息:
在R2的Debug信息这里我们发现路由器R2可以接收到R3的路由更新信息了,那么,它可以与R3的172.16.2.1和R1的172.16.1.1这两个IP地址通信吗?我们来验证一下:
(1)查看 R2的路由表
(2)测试R2与R3、R1环回口IP地址的通信
三、实验三:RIP的连续子网与非连续子网汇总
实验难度 | 3 |
实验复杂度 | 2 |
1.实验拓扑
2.实验步骤
1.搭建如图所示的网络拓扑;
2.初始化各个路由器;
3.配置如图所示的IP地址,测试直连网络的连通性;
4.配置RIP路由协议,关闭RIP的自动汇总,查看R1的路由表;
5.为了减轻路由器的负担,分别在R3与R4的出口进行路由汇总,查看R1与R2的路由表;
6.R1作为主干路由器,它的路由表必须得尽可能的少路由条目,所以在R2连接R1的接口进行路由汇总。
3.实验过程
1.搭建如图所示的网络拓扑;
略。
2.初始化各个路由器;
略。
3.配置如图所示的IP地址,测试直连网络的连通性;
R1:
R2:
R3:
R4:
测试网络连通性:
通过测试,现在直连网络都是可以通信的了。
4.配置RIP路由协议,关闭RIP的自动汇总,查看R1的路由表;
(1)配置RIP路由协议
R1:
R2:
R3:
R4:
(2)查看 R1的路由表
在R1路由器上可以看到许多条172.16.0.0/16的子路由。
5.为了减轻路由器的负担,分别在R3与R4的出口进行路由汇总,查看R1与R2的路由表;
(1)路由汇总
(2)查看R1与R2的路由表
为了消除缓存路由的影响,这里清除整个路由表数据
注意:这个路由汇总是为了减少路由表的条目,减轻路由器的负担那么该如何汇总呢?首先我们来看看R3的路由是如何汇总的,路由汇总就是把多条明细路由汇总为一条网络范围更大的路由条目,R3需要汇总的IP地址为172.16.0.1、172.16.1.1、172.16.2.1、172.16.3.1,我们找到他们的共同网络范围就可以了。前2个字节为172.16,都是相同的,所以这段范围是需要的,后面的不同点在第三个字节0,1,2,3,那么把它转换为二进制就是0000 0000、0000 0001、0000 0010、0000 0011,相同的网络范围我使用红色字体标记出来了,一共占用了六位,加上已经选取的16位,所以子网掩码一共为22位,即为255.255.252.0.同理,得出R4汇总的路由为172.16.0.0/20.
6.R1作为主干路由器,它的路由表必须得尽可能的少路由条目,所以在R2连接R1的出接口进行路由汇总。
(1)在R2连接R1的出接口进行路由汇总:
(2)查看R1的路由表
在这里可以看出,最后到达R1的172.16.0.0/16网络的汇总路由只有一条,这大大减轻了路由器的负担。
四、实验四:RIP的被动接口与触发更新
实验难度 | 3 |
实验复杂度 | 3 |
1.实验拓扑
2.实验步骤
1.搭建如图所示的网络拓扑;
2.初始化各个路由器设备;
3.配置如图所示的IP地址,测试直连网络的连通性;
4.配置RIP路由协议,使得整个网络的各设备都可以通信;
5.在R3的F0/0配置172.16.0.0/24这个网络的汇总路由,在R1与R2路由器上查看它们的路由表;
6.在R1路由器上开启RIP的debug功能,然后把R1的S1/1设置为被动接口,查看RIP的debug信息;
7.关闭R1路由器的Debug功能,取消R1的被动接口,开启R1出接口的触发更新功能,查看R2的路由表,关闭R1的环回口1(192.168.1.1/24),观察R2的路由表。
3.实验过程
1.搭建如图所示的网络拓扑;
略。
2.初始化各个路由器设备;
略。
3.配置如图所示的IP地址,测试直连网络的连通性;
R1:
R2:
R3:
4.配置RIP路由协议,使得整个网络的各设备都可以通信;
(1)配置RIP路由协议
R1:
R2:
R3:
(2)查看路由表信息:
(3)测试:
5.在R3的F0/0配置172.16.0.0/24这个网络的汇总路由,在R1与R2路由器上查看它们的路由表;
(1)R3的汇总路由:
(2)查看路由表:
6.在R1路由器上开启RIP的debug功能,然后把R1的S1/1设置为被动接口,查看RIP的debug信息;
(1)开启debug功能
从RIP的debug信息可以看出,现在R1路由器是会从S1/1接口发送路由更新的,而且也会接收其他路由器的更新信息。
(2)设置被动接口
(3)查看RIP的debug信息
(4)查看一下路由表的信息:
从这个debug信息与路由表中可以看到,路由器R1不会从这个S1/1接口发送路由更新信息,但是会从这个接口接收到其他路由器的路由更新信息。RIP的被动接口就是不会发送路由更新信息,但是可以接收路由更新,通常是用于不需要接收路由更新信息的末节路由器(网络最后的节点)。
7.关闭R1路由器的Debug功能,取消R1的被动接口,开启R1出接口的触发更新功能,查看R2的路由表,关闭R1的环回口1(192.168.1.1/24),观察R2的路由表。
(1)关闭R1路由器的Debug功能:
(2)取消R1的被动接口
(3)开启R1出接口的触发更新功能
(4)查看R2的路由表
(5)关闭R1的环回口1(192.168.1.1/24);
(6)观察R2的路由表。
在这里我们可以发现,当我们关闭R1的loopback1时,R1会马上发送路由更新信息给R2了,所以可以立刻看到R1的路由更新信息,在路由更新信息中少了192.168.1.0/24这条路由条目。通过实验可证,RIP的触发更新是实时的,路由器发现网络拓扑发生了变化会马上发送路由更新信息给其他路由器。
五、实验五:RIP的默认路由
实验难度 | 5 |
实验复杂度 | 5 |
1.实验拓扑
2.实验步骤
1.搭建如图所示的网络拓扑;
2.初始化各个路由器设备;
3.配置IP地址,测试直连的网络连通性;
4.在内网区域配置RIP路由协议,在R2上写一条默认路由出去;
5.使用default-information originate进入注入默认路由;
6.配置PAT,使得内网可以访问外网;
7.删除default-information originate配置,配置指向null0的默认路由+路由汇总0.0.0.0,在R2上创建一个loopback0,IP地址为2.2.2.2/32,把它添加入RIP路由进程中;
8.删除上一个RIP的默认路由配置,使用ip default-network方法配置;
9.删除上一个RIP的默认路由配置,使用配置一条指向null0的路由+宣告这个null0接口的方法配置RIP默认路由;
10.删除上一个RIP的默认路由配置,使用配置默认路由+重分布的方式配置RIP默认路由。
3.实验过程
1.搭建如图所示的网络拓扑;
略。
2.初始化各个路由器设备;
略。
3.配置IP地址,测试直连的网络连通性;
R1:
R2:
R3:
测试:
直连网络可以相互通信。
4.在内网区域配置RIP路由协议,在R2上写一条默认路由出去;
(1)配置RIP:
(2)配置默认路由
5.使用default-information originate进入注入默认路由;
效果:
我们在查看R1的路由表时,发现有注入的RIP默认路由,*表示默认路由,R表示RIP协议,这里存在默认路由了,那么是否可以达到外网的60.120.130.1呢?答案是可以的,但是R1的数据包可以到达R3的环回口,却不能返回,因为R3没有回程的路由。为了解决这个问题,我们不得不提前使用一种NAT技术(现在也不需要掌握哈,后面会有详细介绍的)
6.配置PAT,使得内网可以访问外网;
(1)配置PAT
(2)测试R1与外网60.120.130.1/30的通信
7.删除default-information originate配置,配置指向null0的默认路由+路由汇总0.0.0.0,在R2上创建一个loopback0,IP地址为2.2.2.2/32,把它添加入RIP路由进程中;
(1)删除default-information originate配置
(2)配置指向null0的默认路由
(3)在R2的S1/1接口路由汇总0.0.0.0
(4)在R2上创建一个loopback0,IP地址为2.2.2.2/32,把它添加进路由进程
(5)查看R1的路由表,并且测试R1与外网60.120.130.1的通信
8.删除上一个RIP的默认路由配置,使用ip default-network方法配置;
(1)删除上一个RIP的默认路由配置
(2)清除R1的路由表缓存信息
(3)在R3上配置一个环回口0,IP地址为192.168.10.1/24,ip default-network,缺省的IP地址为192.168.10.0/24
配置环回接口的IP地址,配置ip default-network的缺省IP网络为192.168.10.0,把这个接口的主类网络接口添加进RIP进程
查看R1的路由表
这里看到的只有192.168.10.0/24的路由,不是我们希望看到的的RIP的默认路由注入,我们明明配置好了,怎么会这样呢?因为我们先配置了默认路由公网去了,现在配置就会出现这种情况的,怎么解决?先配置这些命令,最后在配置出去的默认路由就可以了。
删除默认路由
清空R1R路由表,并查看R1的路由表
注意:这里需要清除多几遍,不然有可能没有成功的,我之前就试过。
重新把默认路由配置上,然后在R1上测试是否可以访问外面的60.120.130.1这个IP地址
现在R1就可以访问外网的IP地址了
注意:
(1)ip default-network后面跟着的是必需是主类网络,它将生成一条默认路由;
(2)删除路由器的RIP默认路由是使用no ip default-network命令的,若使用no ip route命令,出现没有匹配路由的提示;
(3)ip default-network后面的IP网络必须是路由器存在的,这个地址可以随意起来,没有实际作用的。
9.删除上一个RIP的默认路由配置,使用配置一条指向null0的路由+宣告这个null0接口的方法配置RIP默认路由;
(1)删除RIP的默认路由配置
(2)使用配置一条指向null0的路由+宣告这个null0接口
(3)在R1上查看路由表
注意:这里若需要访问60.120.130.1这个主机IP地址,则需要重新配置一条默认路由,这里我就不配置了。
10.删除上一个RIP的默认路由配置,使用配置默认路由+重分布的方式配置RIP默认路由。
(1)删除 RIP的默认路由配置
(2)配置默认路由+重分布
(3)查看RIP的路由表
代码解析:
R3(config)#router rip //配置并进入RIP路由进程
R3(config-router)#version 2 //定义RIP的V2版本
R3(config-router)#network 23.0.0.0 //把23.0.0.0这个相应的物理接口添加进RIP路由进程
R3(config-router)#no auto-summary //关闭RIP的自动汇总功能
R1(config)#do clear ip route * //清除路由表的所有路由条目
R1(config-router)#do show ip route rip //只查看RIP的路由信息
R3(config)#no router rip //删除所有的RIP路由信息
R3(config-if)#ip rip receive version 1 2 //在这个接口上接收V2/V2版本的RIP路由更新信息
R3(config-if)#ip rip send version 1 2 //在这个接口上发送V2/V2版本的RIP路由更新信息
R2(config)#ip default-network 192.168.10.0 //生成一条192.168.10.0的缺省(默认)路由
R1(config)#do ping 172.16.1.1 source 192.168.1.1 //使用本路由的192.168.1.1这个接口去ping172.16.1.1这个IP地址
R2(config-router)#default-information originate //把默认路由注入到RIP路由进程中
R2(config)#ip route 0.0.0.0 0.0.0.0 null0 //配置一条指向null0接口的默认路由,这个null0是不存在的,使用它只是为了生成一条默认路由,没有其他的意义的。
R2(config-router)#redistribute static //把静态路由重分布进RIP路由进程中
总结
今天我们学习了这几个RIP的实验,实验难度与复杂度都不一,有的实验难度是1,有的是5,那么这个难度是如何界定的呢?从这篇文章开始,所有的实验都会提供实验难度与复杂度参考,难度最大为5,难度最小为1,复杂度的范围也是如此。若某个实验的复杂度是5,那么说明,在我看来,新手是很难理解与彻底掌握这个实验的,其中的实验过程要么涉及后面的技术内容、要么涉及很多细小的技术内容(来容易掌控的那些)。若某个实验的复杂度是1,那么就表示这个是最容易掌握的技术内容,不需要掌握太多的知识都可以理解。若定义一个实验的复杂度为5的话,表示相对于新手来说,整个实验非常复杂,看得眼都花那种,1的话就表示可以轻松接受,一目了然。当遇到复杂度与难度是为5的实验,个人建议先避开这个实验,后面再来掌握。好了,这篇文章的实验比较多,足有5个,需要多花时间来掌握哈。当然,在下一个文章还得写这个RIP的实验,因为比较重要的实验没有写完(实验太多,一个篇章写完的话让人觉得心累,干脆分两个篇章来写)。 我们在下一个章节再见,加油1