(文\乌毕力格)
视频教程:
https://edu.csdn.net/course/detail/30858
视频教程:
https://edu.csdn.net/course/detail/31400
文章每日实时更新
实验目的
了解动态路由协议的概念;
了解 RIP 的工作机制;
了解路由汇总的概念及 RIP 自动汇总、手工汇总机制。
配置及实现
所有的设备完成基本配置(hostname、接口 IP 等)
R1 的配置如下:
Router> enable
Router# configure terminal
Router(config)# hostname R1
R1(config)# interface serial0/0
R1(config-if)# ip address 192.168.12.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# interface fastEthernet1/0
R1(config-if)# ip address 172.16.1.254 255.255.255.0
R1(config-if)# no shutdown
R2 的配置如下:
Router> enable
Router# configure terminal
Router(config)# hostname R2
R2(config)# interface serial0/0
R2(config-if)# clock rate 64000
R2(config-if)# ip address 192.168.12.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)# interface serial0/1
R2(config-if)# clock rate 64000
R2(config-if)# ip address 192.168.23.2 255.255.255.0
R2(config-if)# no shutdown
R3 的配置如下:
Router> enable
Router# configure terminal
Router(config)# hostname R3
R3(config)# interface serial0/0
R3(config-if)# ip address 192.168.23.3 255.255.255.0
R3(config-if)# no shutdown
R3(config-if)# exit
R3(config)# interface loopback1
R3(config-if)# ip address 172.16.32.1 255.255.255.0
R3(config)# interface loopback2
R3(config-if)# ip address 172.16.33.1 255.255.255.0
R3(config)# interface loopback3
R3(config-if)# ip address 172.16.34.1 255.255.255.0
PC1 的配置如下:
Router> enable
Router# configure terminal
Router(config)# hostname PC1
PC1(config)# no ip routing
PC1(config)# ip default-gateway 172.16.1.254
PC1(config)# interface fastethernet 0/0
PC1(config-if)# ip address 172.16.1.1 255.255.255.0
PC1(config-if)# no shutdown
R1、R2、R3 运行 RIPv2
R1 的配置如下:
R1(config)# router rip #创建 RIP 进程
R1(config-router)# version 2 #将 RIP 设置为版本 2
R1(config-router)# network 192.168.12.0 #在 S0/0 口上激活 RIPv2
R1(config-router)# network 172.16.0.0 #在 F1/0 口上激活 RIPv2
R2 的配置如下:
R2(config)# router rip
R2(config-router)# version 2
R2(config-router)# network 192.168.12.0
R2(config-router)# network 192.168.23.0
R3 的配置如下:
R3(config)# router rip
R3(config-router)# version 2
R3(config-router)# network 192.168.23.0
R3(config-router)# network 172.16.0.0
值得注意的是 RIP 在使用 network 命令指定网段时,只支持通告主类网络。
R3 有三个Loopback 接口,将这三个接口激活 RIP 时,只需 network 172.16.0.0 即可,实际上即使你输入诸如 network 172.16.32.0 这样的命令,系统也会按 network 172.16.0.0 生效。配置完成后,可做检查一下路由协议的运行情况:
R1#show ip protocols
Routing Protocol is “rip”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Sending updates every 30 seconds, next due in 12 seconds
Invalid after 180 seconds, hold down 180, flushed after 240
Redistributing: rip
Default version control: send version 2, receive version 2
Interface Send Recv Triggered RIP Key-chain
Serial0/0 2 2 !! 两个接口激活 RIPv2
FastEthernet1/0 2 2
Automatic network summarization is in effect !! 自动汇总功能默认开启
Maximum path: 4
Routing for Networks:
172.16.0.0
192.168.12.0
Routing Information Sources:
Gateway Distance Last Update
192.168.12.2 120 00:00:26
Distance: (default is 120) !! 管理距离 120
现在,我们尝试让 PC1 ping 一下 R3 的 loopback 接口,发现 ping 不通。那么为什么不通呢?
此刻我们需要做的就是保证沿途的每一跳路由器上,都有到达目的地的路由,并且回程的数据
也要能顺利的返回到 PC1。因此我们在 R1 上查看路由表:
R1# show ip route
C 192.168.12.0/24 is directly connected, Serial0/0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, FastEthernet1/0
R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:23, Serial0/0
R1 已经学习到 R2-R3 互联网段的路由 192.168.23.0/24,奇怪的是并没有看到 R3 Loopback接口的路由,我们再去 R2 上看一下:
R2# show ip route
C 192.168.12.0/24 is directly connected, Serial0/0
R 172.16.0.0/16 [120/1] via 192.168.23.3, 00:00:15, Serial0/1
[120/1] via 192.168.12.1, 00:00:01, Serial0/0
C 192.168.23.0/24 is directly connected, Serial0/1
R2 出现了一个奇怪的现象,路由表显示它从 R1 及 R3 都学习到了 172.16.0.0/16 路由,而且很显然,R2 将这两条路由都装载进了路由表里,进行“等价负载均衡”。这个现象将造成什么问题呢?R2 会认为,到达 172.16.0.0 网络即可从 R1 走又可以从 R3 走,那么问题来了,R2要去往 172.16.1.0/24,也就是 R1 下联的网段,如果从 R3 走就肯定无法走通了,这就是问题所在了。为什么会造成这样的问题呢?其实这是 RIPv2 的自动汇总机制使然。由于 R1、R3都处于“主类网络边界”,拿 R1 来说,有直连网络 192.168.12.0/24 及 172.16.1.0/24,因此R1 就是两个主类网络的边界,RIPv2 在将子网路由 172.16.1.0/24 通告给 192.168.12.0/24 网络时,会将其进行自动汇总,汇总成 172.16.0.0/16,R3 也是类似的动作,就造成了 R2 路由表的诡异现象。
其实自动汇总的本意是为了减小路由条目,优化路由表,减小设备资源的损耗,但是在这个拓扑中却带来了这个问题,因为 172.16.0.0/16 网络的子网分处 R1、R3 两个地方。那么怎么解决呢?办法很简单,就是关闭自动汇总。
R1 的配置如下:
R1(config)# router rip
R1(config-router)# no auto-summary
R2 的配置如下:
R2(config)# router rip
R2(config-router)# no auto-summary
R3 的配置如下:
R3(config)# router rip
R3(config-router)# no auto-summary
如此一来,明细路由就都被放出来了:
R1 的路由表如下:
C 192.168.12.0/24 is directly connected, Serial0/0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.32.0 [120/2] via 192.168.12.2, 00:00:03, Serial0/0
R 172.16.33.0 [120/2] via 192.168.12.2, 00:00:03, Serial0/0
R 172.16.34.0 [120/2] via 192.168.12.2, 00:00:03, Serial0/0
C 172.16.1.0 is directly connected, FastEthernet1/0
R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:03, Serial0/0
我们看到,R1 学习到了全网的明细路由,R2、R3 的路由表大家也可以自行查看。这样一来
PC1 就能 ping 通 R3 的所有 Loopback 接口了。
优化路由(手工汇总)
我们在 R1、R2、R3 上关闭自动汇总后,每台路由器就能学习到全网明细路由,满足前面提到的数据访问的需求。但是这也带来了一个新的问题,在关闭自动汇总后,R3 将下联的所有Loopback 明细路由都放出来了,这对网络中的其他设备而言是一种负担,这个动作丢失了路由汇总原有的利好。怎么办?我们可以用手工汇总,将 172.16.32.0/24、172.16.33.0/24、172.16.34.0/24 这三个子网进行精确汇总,根据我们的计算,得到汇总路由:172.16.32.0/22,这个汇总地址刚好将三个明细子网囊括。在 R3 上增加的配置如下(注意 RIP 的手工汇总,是配置在接口上的):
R3(config)# interface Serial0/0
R3(config-if)# ip summary-address rip 172.16.32.0 255.255.252.0
需要注意的是,RIP 的手工汇总不支持 CIDR。现在,我们再来看一下 R1 的路由表:
C 192.168.12.0/24 is directly connected, Serial0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
R 172.16.32.0/22 [120/2] via 192.168.12.2, 00:00:01, Serial0/0
C 172.16.1.0/24 is directly connected, FastEthernet1/0
R 192.168.23.0/24 [120/1] via 192.168.12.2, 00:00:01, Serial0/0
我们看到,R1 从 R2 学习到了 192.168.23.0/24 路由,也学到了 R3 发布的手工汇总的路由。
再强调一下,RIP 的手工汇总,需要 RIP 版本 2 的支持,另外需要先在 RIP 进程中 no autosummary 关闭自动汇总功能,然后再在接口上配置手工汇总命令,注意,该命令配置在汇总路由欲对外发布的那个接口上。
视频教程:
https://edu.csdn.net/course/detail/30858
视频教程:
https://edu.csdn.net/course/detail/31400
文章每日实时更新