【汇总】超好玩的路由环路系列
一、前提知识
今天一起来探讨下RIP路由的收敛环路,先来看下前提知识:
1、RIP在IPV4上支持两个版本RIP v1 和RIP v2,RIP v2支持VLSM和路由手工汇总。
2、RIP有水平分割和毒素更新技术来防止环路的发生。
二、实验拓扑
说明
sysname R1
dhcp enable
#
interface GigabitEthernet0/0/0
ip address 192.168.10.1 255.255.255.0
dhcp select interface
#
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
#
rip 1
network 192.168.10.0
network 12.0.0.0
#
#R2的配置
sysname R2
dhcp enable
#
interface GigabitEthernet0/0/0
ip address 192.168.20.1 255.255.255.0
dhcp select interface
#
interface GigabitEthernet0/0/1
ip address 12.1.1.2 255.255.255.0
#
rip 1
network 192.168.20.0
network 12.0.0.0
#
#PC的配置
PC配置成DHCP自动获取地址,可以通过ipconfig验证地址,下面以PC1为例
PC>ipconfig
Link local IPv6 address………..: fe80::5689:98ff:fecf:a313
IPv6 address………………….: :: / 128
IPv6 gateway………………….: ::
IPv4 address………………….: 192.168.10.254
Subnet mask…………………..: 255.255.255.0
Gateway………………………: 192.168.10.1
Physical address………………: 54-89-98-CF-A3-13
DNS server……………………:
四、模拟路由收敛时环路
因为华为的RIP路由协议会默认打开水平分割的功能,水平分割会阻止环路产生,我们在接口上把水平分割关掉:
[R1]inter g0/0/1
[R1-GigabitEthernet0/0/1]undo rip split-horizon
[R2]inter g0/0/1
[R2-GigabitEthernet0/0/1]undo rip split-horizon
在R2上关闭连接电脑的接口,可以从两个角度上观察路由收敛及环路现象
1、在两台路由器上开启debug观察路由收敛,抓包
2、电脑上发起tracert、在链路上抓包验证环路
分析环路引起的原因
1、环路的起因
在路由器R1上开启debug
terminal debugging
debugging rip 1 packet
display debugging
在R2上关闭接口
sys
[R2]inter g0/0/0
[R2-GigabitEthernet0/0/0]shutdown
下面是R1上看到的日志,可以看到关于192.168.20.0/24的路由COST会变化(从2长到16),原因是R2在失去这条路由后,R1把它把过来发给R2,R2使用后把COST加1又发给了R1,这样COST就会一直涨直到涨到RIP定义的最大跳数16.
Sep 6 2013 13:20:57.953.3-05:13 R1 RIP/7/DBG: 6: 13527: Dest 12.1.1.0, Cost 1
Sep 6 2013 13:20:57.953.4-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.10.0, Cost 1
Sep 6 2013 13:20:57.953.5-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 2
Sep 6 2013 13:20:59.803.1-05:13 R1 RIP/7/DBG: 6: 13465: RIP 1: Receive response from 12.1.1.2 on GigabitEthernet0/0/1
Sep 6 2013 13:20:59.803.2-05:13 R1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd response, Length 24
Sep 6 2013 13:20:59.803.3-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 3
Sep 6 2013 13:21:03.953.1-05:13 R1 RIP/7/DBG: 6: 13456: RIP 1: Sending response on interface GigabitEthernet0/0/1 from 12.1.1.1 to 255.255.255.255
Sep 6 2013 13:21:03.953.2-05:13 R1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd response, Length 24
Sep 6 2013 13:21:03.953.3-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 4
Sep 6 2013 13:21:03.953.4-05:13 R1 RIP/7/DBG: 6: 13456: RIP 1: Sending response on interface GigabitEthernet0/0/0 from 192.168.10.1 to 255.255.255.255
Sep 6 2013 13:21:03.953.5-05:13 R1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd response, Length 24
Sep 6 2013 13:21:03.953.6-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 4
Sep 6 2013 13:21:07.763.1-05:13 R1 RIP/7/DBG: 6: 13465: RIP 1: Receive response from 12.1.1.2 on GigabitEthernet0/0/1
Sep 6 2013 13:21:07.763.2-05:13 R1 RIP/7/DBG: 6: 13476: Packet: Version 1, Cmd response, Length 24
Sep 6 2013 13:21:07.763.3-05:13 R1 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 5
………………………………………中间的省略………………………………………………………………………
Sep 6 2013 13:22:12.34.3-05:13 R2 RIP/7/DBG: 6: 13527: Dest 192.168.20.0, Cost 16
注意:在路由器上不停刷新路由表也可以看到这现象,
网络正常时后R1 R2的路由表,无环路
dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 1 D 12.1.1.2 GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/0]dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 Direct 0 0 D 192.168.20.1 GigabitEthernet0/0/0
关闭R2接口时,路由收敛期间R1 R2的路由表,不断刷新可以看到,路由器的路由表在不断变化
R1上关于192.168.20.0/24的路由是COST从3-5-7-……15变化,最后到16稳定后删除
R2上关于192.168.20.0/24的路由是COST从2-4-6-……14变化,最后到16稳定后删除
dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 3 D 12.1.1.2 GigabitEthernet0/0/1
dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 5 D 12.1.1.2 GigabitEthernet0/0/1
dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 7 D 12.1.1.2 GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/0]dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 2 D 12.1.1.1 GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/0]dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 4 D 12.1.1.1 GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/0]dis ip routing-table 192.168.20.0 24
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.20.0/24 RIP 100 6 D 12.1.1.1 GigabitEthernet0/0/1
仔细分析发现在收敛期间,两路由器上关于192.168.20.0/24是下一跳互为对方,所以引起了路由环路
抓包也可以看到路由互相更新的现象:
2、环路的现像
同样再打开R2 g0/0/0的接口,等路由恢复正常后,再关闭重模拟路由收敛。此时在电脑上或路由器上tracert 192.168.20.0/24的地址可以发现数据包的环路。
在路由器上测试
tracert 192.168.20.1
traceroute to 192.168.20.1(192.168.20.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 12.1.1.2 10 ms 10 ms 20 ms
2 12.1.1.1 10 ms 20 ms 10 ms
3 12.1.1.2 30 ms 30 ms 30 ms
4 12.1.1.1 30 ms 30 ms 30 ms
5 12.1.1.2 50 ms 40 ms 40 ms
6 12.1.1.1 50 ms 40 ms 40 ms
7 12.1.1.2 50 ms 60 ms 60 ms
8 12.1.1.1 50 ms 60 ms 60 ms
9 12.1.1.2 70 ms 80 ms 70 ms
10 12.1.1.1 80 ms 60 ms 100 ms
11 12.1.1.2 80 ms 70 ms 90 ms
12 12.1.1.1 90 ms 60 ms 90 ms
13 12.1.1.2 110 ms 80 ms 110 ms
14 12.1.1.1 100 ms 110 ms 90 ms
15 12.1.1.2 110 ms 120 ms 110 ms
16 12.1.1.1 100 ms 120 ms 110 ms
17 12.1.1.2 140 ms 150 ms 130 ms
18 12.1.1.1 150 ms 120 ms 120 ms
19 12.1.1.2 140 ms 140 ms 160 ms
20 12.1.1.1 140 ms 150 ms *
21 12.1.1.2 160 ms 160 ms 160 ms
22 12.1.1.1 150 ms 150 ms 140 ms
23 12.1.1.2 160 ms 170 ms 180 ms
24 12.1.1.1 180 ms 180 ms 150 ms
25 12.1.1.2 180 ms 180 ms 180 ms
26 12.1.1.1 180 ms 190 ms 180 ms
27 12.1.1.2 170 ms 210 ms 190 ms
28 12.1.1.1 220 ms 210 ms 200 ms
29 12.1.1.2 230 ms 220 ms 200 ms
30 12.1.1.1 220 ms 220 ms 220 ms
在电脑上测试
PC>tracert 192.168.20.100
traceroute to 192.168.20.100, 8 hops max
(ICMP), press Ctrl+C to stop
1 192.168.10.1 15 ms 16 ms 2 12.1.1.2 15 ms 16 ms 15 ms
3 12.1.1.1 16 ms 31 ms 15 ms
4 12.1.1.2 32 ms 46 ms 32 ms
5 *12.1.1.1 31 ms 31 ms
6 12.1.1.2 47 ms 47 ms 31 ms
7 12.1.1.1 47 ms 62 ms 31 ms
8 12.1.1.2 63 ms 46 ms 32 ms
注意:当路由收敛完成后,环路会消除,tracert会看不到该效果,此谓“路由收敛环路”
五、环路规避
1、不要关闭RIP的水平分割的功能
2、开启RIP的触发更新功能
关于博客资源下载说明
(1)第一种是书籍PDF与视频类,全部放在博客分享,觉得对大家学习有帮助的博主会收集好、然后以博主的经验整理分类后排序好分享出来。
(2)第二种是技术性文章与视频,全部放在公众号(网络之路博客)/B站(网络之路Blog)发布,以博主原创为主,主要分享系列为主,由浅入深的带大家了解工作中常用到的一些网络技术,当然也会分享一些比较经典的案例。
(3)分享资源有涉及到您的利益以及版权问题,请联系博主,24小时候内删除。

学习视频系列(总有您想要的)
Book与实验手册(从初级到高级)
数通系列(路由交换 无线、防火墙VPN等)
实战系列(最贴近企业需求的案例)
想第一时间收到最新更新内容吗,点击获取~~~