【汇总】超好玩的路由环路系列
一、前提知识
1、在路由收敛的过程中计算路由错误引起环路
2、配置参数不当环路直接引起的稳定环路
这个实验讲的是收敛环路,为了简化讲解,我这里配置的是双点单向重分发(华为说法也为称“双点单向路由引入”),如果配置成双点双向重分发,一样可以看到类似的效果。
二、实验拓扑
三、基础配置
#
sysname R1
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 14.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.0
#
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 12.1.1.1 0.0.0.0
network 14.1.1.1 0.0.0.0
#
R2的配置
#
sysname R2
#
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 23.1.1.1 255.255.255.0
#
ospf 1
area 0.0.0.0
network 12.1.1.2 0.0.0.0
#
ospf 2
import-route ospf 1
area 0.0.0.0
network 23.1.1.1 0.0.0.0
R3的配置
#
sysname R3
#
interface GigabitEthernet0/0/0
ip address 23.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 34.1.1.1 255.255.255.0
#
ospf 2
area 0.0.0.0
network 23.1.1.2 0.0.0.0
network 34.1.1.1 0.0.0.0
R4的配置
#
sysname R4
#
interface GigabitEthernet0/0/0
ip address 34.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 14.1.1.2 255.255.255.0
#
interface NULL0
#
ospf 1
import-route ospf 2
area 0.0.0.0
network 14.1.1.2 0.0.0.0
#
ospf 2
area 0.0.0.0
network 34.1.1.2 0.0.0.0
#
四、测试环路
在R1上把loopback接口0的IP取消,模拟网段故障:
[R1-LoopBack0]undo ip address
稍等片刻后,在R3上tracert路由1.1.1.1发现数据包在4台路由器之间打环(方向为2-1-4-3-2……)
[R3]tracert 1.1.1.1
traceroute to 1.1.1.1(1.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 23.1.1.1 50 ms 10 ms 10 ms 此为R2
2 12.1.1.1 40 ms 20 ms 20 ms 此为R1
3 14.1.1.2 30 ms 20 ms 30 ms 此为R4
4 34.1.1.1 10 ms 20 ms 10 ms 此为R3
5 23.1.1.1 20 ms 30 ms 20 ms 此为R2
6 12.1.1.1 30 ms 40 ms 40 ms 此为R1
7 14.1.1.2 30 ms 30 ms 30 ms 此为R4
8 34.1.1.1 30 ms 20 ms 40 ms 此为R3
9 23.1.1.1 50 ms 40 ms 30 ms 省略……
10 12.1.1.1 50 ms 60 ms 60 ms
11 14.1.1.2 50 ms 50 ms 40 ms
12 34.1.1.1 40 ms 30 ms 40 ms
13 23.1.1.1 60 ms 60 ms 60 ms
14 12.1.1.1 80 ms 60 ms 70 ms
15 14.1.1.2 60 ms 70 ms 50 ms
16 34.1.1.1 70 ms 60 ms 60 ms
17 23.1.1.1 70 ms 70 ms 60 ms
18 12.1.1.1 60 ms 90 ms 70 ms
19 14.1.1.2 70 ms 70 ms 90 ms
20 34.1.1.1 60 ms 60 ms 60 ms
21 23.1.1.1 100 ms 70 ms 80 ms
22 12.1.1.1 110 ms 80 ms 100 ms
23 14.1.1.2 90 ms 100 ms 90 ms
24 34.1.1.1 110 ms 90 ms 90 ms
25 23.1.1.1 100 ms 90 ms 100 ms
26 12.1.1.1 110 ms 100 ms 100 ms
27 14.1.1.2 110 ms 100 ms 100 ms
28 34.1.1.1 110 ms 90 ms 110 ms
29 23.1.1.1 100 ms 110 ms 120 ms
30 12.1.1.1 120 ms * 130 ms
五、环路原因分析
我们先看下网络正常时四台路由器的路由表
——————————————————————————
[R1]dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
——————————————————————————
dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 1 D 12.1.1.1 GigabitEthernet0/0/0
——————————————————————————
[R3]dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 1 D 23.1.1.1 GigabitEthernet0/0/0
——————————————————————————
dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 1 D 14.1.1.1 GigabitEthernet0/0/1
再来看下环路发生时四台路由器的路由表(红色是变化的路由,绿色的不变)
——————————————————————————
dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 1 D 14.1.1.2 GigabitEthernet0/0/1
——————————————————————————
dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 1 D 12.1.1.1 GigabitEthernet0/0/0
——————————————————————————
[R3]dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 1 D 23.1.1.1 GigabitEthernet0/0/0
——————————————————————————
dis ip routing-table 1.1.1.1
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 O_ASE 150 1 D 34.1.1.1 GigabitEthernet0/0/0
此时R4上有去向1.1.1.1的5类LSA,由R2发出
dis ospf lsdb
OSPF Process 1 with Router ID 14.1.1.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 14.1.1.2 14.1.1.2 1076 36 80000009 1
Router 12.1.1.2 12.1.1.2 1411 36 80000006 1
Router 12.1.1.1 12.1.1.1 362 60 80000023 1
Network 14.1.1.1 12.1.1.1 1070 32 80000005 0
Network 12.1.1.1 12.1.1.1 620 32 80000004 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 23.1.1.0 14.1.1.2 1064 36 80000001 1
External 34.1.1.0 14.1.1.2 1078 36 80000003 1
OSPF Process 2 with Router ID 14.1.1.2
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 14.1.1.2 14.1.1.2 1064 36 8000000E 1
Router 23.1.1.2 23.1.1.2 1069 48 8000000E 1
Router 12.1.1.2 12.1.1.2 1021 36 8000000E 1
Network 34.1.1.1 23.1.1.2 1069 32 80000002 0
Network 23.1.1.1 12.1.1.2 1021 32 80000005 0
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 14.1.1.0 12.1.1.2 1079 36 80000003 1
External 12.1.1.0 12.1.1.2 1357 36 80000002 1
External 1.1.1.1 12.1.1.2 1050 36 80000003 1
原因分析:当R1失去自己的直连路由时,R4把自己LSDB里的5类通告(上述红线标记的)算成一个外部路由,其下一条指向R3的34.1.1.1,另外通过我们在R4的配置的import ospf 2 把这条路由通告给R1,R1就算出来去向1.1.1.1的下一跳为R4,于是路由就算成一个环了。
六、环路的规避
路由域A重分发到路由域B的路由不允许再重分发回来,A引入B打一个特定tag ,等B引入A时匹配该tag时把路由拒绝掉。
该例子中配置如下可防止环路:
R2上的配置
route-policy settag permit node 10
apply tag 100
ospf 2
import-route ospf 1 route-policy settag
R4上的配置
route-policy denytag deny node 10
if-match tag 100
#
route-policy denytag permit node 20
ospf 1
import-route ospf 2 route-policy denytag
最后来测试下,发现链路故障时不会再引起环路了:
[R1]inter LoopBack 1
[R1-LoopBack1]undo ip address
PING 1.1.1.1: 56 data bytes, press CTRL_C to break
Request time out
— 1.1.1.1 ping statistics —
1 packet(s) transmitted
0 packet(s) received
100.00% packet loss
traceroute to 1.1.1.1(1.1.1.1), max hops: 30 ,packet length: 40,press CTRL_C to break
1 * * *
2 * * *
关于博客资源下载说明
(1)第一种是书籍PDF与视频类,全部放在博客分享,觉得对大家学习有帮助的博主会收集好、然后以博主的经验整理分类后排序好分享出来。
(2)第二种是技术性文章与视频,全部放在公众号(网络之路博客)/B站(网络之路Blog)发布,以博主原创为主,主要分享系列为主,由浅入深的带大家了解工作中常用到的一些网络技术,当然也会分享一些比较经典的案例。
(3)分享资源有涉及到您的利益以及版权问题,请联系博主,24小时候内删除。

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