您的当前位置:首页正文

有趣的广播风暴——使用eNSP模拟交换环路

2023-08-02 来源:个人技术集锦
 .

有趣的广播风暴——使用eNSP模拟交换环路

我们知道交换网络如果发生环路后果非常严重,轻者可以让终端上网变慢、重者可以全网瘫痪。工作的过程中有些故障产生是由于环路产生的,下面我先为大家讲解几种环路的可能性:

一、接入层设备连接终端,终端连线错误。如把IP电话的两个接口接入同一个接入层交换机上,交换机不支持生成树。

二、接入层交换机生成树被关闭,交换机自己接线接成环路。如交换机自身1接口接到5接口

三、接入层到核心层交换机生成树配置错误。如在级联接口上配置了BPDU过滤

四、交换机之间光纤连接出现单向通信故障。如一根光线中断或光模块有故障。

五、生成树不兼容或生成树协议报文被拥塞丢弃。如思科的PVRST+和H3C的RSTP就有兼容性问题

网络故障发生后,如何才能判断故障是由环路引发的呢?举个例子,如果网络访问速度变慢,ping外网有严重丢包,ping内网有延时很大,故障的原因可能有多种。怎么才能断定这个故障是环路引发的呢,有三个现象可以用来做诊断,分别是:

一、广播风暴:链路上的广播包可以占满带宽,100M约30000~50000/pps。

Word 资料

.

二、多帧复制:抓包可以抓到同一个帧的多个副本,只限广播帧和组播帧

三、MAC地址表抖动:交换机上可以周期性的看到MAC地址翻滚(flapping)的日志

下面的实验就为大家演示这三个现象,这个实验有两种做法:

一、所有交换机都关闭STP,环路自动发生,就可以做相关验证。

二、配置BPDU过滤,引发交换机STP计算错误造成环路。

我这里用的是第二种方法,顺便一起学习下BPDU过滤的功能。

好啦废话太多了,现在正式开始:

第一、如下搭建拓扑(第一次做该实验建议原样搭建,可以避免出错)

Word 资料

.

设备启动后以后,交换机和PC要做一个简单配置:

lsw1上的配置:

sysname sw1

stp mode stp

stp instance 0 priority 4096

lsw2上的配置:

Word 资料

.

sysname sw2

stp mode stp

stp instance 0 priority 8192

lsw3上的配置:

sysname sw3

stp mode stp

PC1上的配置:配置ip为1.1.1.1 mask 255.255.255.0

PC2上的配置:配置ip为1.1.1.2 mask 255.255.255.0

配置完成后,交换机会计算生成树,如下结果:

Word 资料

.

此时三台交换机可以看到除了LSW3的g0/0/1丢弃状态外,其它交换机全是转发状态:

[sw1]dis stp brief

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 DESI FORWARDING NONE

0 GigabitEthernet0/0/2 DESI FORWARDING NONE

Word 资料

.

0 GigabitEthernet0/0/3 DESI FORWARDING NONE

[sw2]dis stp brief

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 ROOT FORWARDING NONE

0 GigabitEthernet0/0/2 DESI FORWARDING NONE

0 GigabitEthernet0/0/3 DESI FORWARDING NONE

[sw3]dis stp brief

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 ALTE DISCARDING NONE

0 GigabitEthernet0/0/2 ROOT FORWARDING NONE

此时PC1 ping PC1 正常,无丢包

Welcome to use PC Simulator!

PC>ping 1.1.1.2

Word 资料

.

Ping 1.1.1.2: 32 data bytes, Press Ctrl_C to break

From 1.1.1.2: bytes=32 seq=1 ttl=128 time=78 ms

From 1.1.1.2: bytes=32 seq=2 ttl=128 time=47 ms

From 1.1.1.2: bytes=32 seq=3 ttl=128 time=47 ms

From 1.1.1.2: bytes=32 seq=4 ttl=128 time=16 ms

From 1.1.1.2: bytes=32 seq=5 ttl=128 time=31 ms

--- 1.1.1.2 ping statistics ---

5 packet(s) transmitted

5 packet(s) received

0.00% packet loss

round-trip min/avg/max = 16/43/78 ms

PC>

现在,我们来模拟交换环路的生成。方法是LSW2的g0/0/2的接口上开启BPDU过滤功能,讨论1:为何原因生成环路?

Word 资料

.

[sw2]inter g0/0/2

[sw2-GigabitEthernet0/0/2]stp bpdu-filter enable

此时等35秒后,交换环路发生,可以在交换机上看到所有接口为转发状态。讨论2:为何是35秒?

[sw1]dis stp brief

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 DESI FORWARDING NONE

0 GigabitEthernet0/0/2 DESI FORWARDING NONE

0 GigabitEthernet0/0/3 DESI FORWARDING NONE

[sw2]dis stp brief

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 ROOT FORWARDING NONE

0 GigabitEthernet0/0/2 DESI FORWARDING NONE

0 GigabitEthernet0/0/3 DESI FORWARDING NONE

Word 资料

.

[sw3]dis stp bri

MSTID Port Role STP State Protection

0 GigabitEthernet0/0/1 DESI FORWARDING NONE

0 GigabitEthernet0/0/2 ROOT FORWARDING NONE

此时PC1上再通信 PC2会严重丢包,如下所示:

PC>ping 1.1.1.2

Ping 1.1.1.2: 32 data bytes, Press Ctrl_C to break

From 1.1.1.2: bytes=32 seq=1 ttl=128 time=16 ms

Request timeout!

Request timeout!

Request timeout!

Request timeout!

--- 1.1.1.2 ping statistics ---

Word 资料

.

5 packet(s) transmitted

1 packet(s) received

80.00% packet loss

round-trip min/avg/max = 16/16/16 ms

下面我们分别观察环路的三个现象:

一、广播风暴:抓包

在三个交换机的任何一个接口上抓包都可以看到,我这里在交换机lsw2的g0/0/1上抓包,如下可以看到ARP广播很多

Word 资料

.

二、多帧复制:抓包

同时可以看到很多重复的数据帧

Word 资料

.

三、MAC地址表抖动:交换机上日志

在交换机上查看日志信息,发现环路的三个交换机都有这个输出

[sw2-GigabitEthernet0/0/2]

Dec 27 2012 10:22:20-08:00 sw2 L2IFPPI/4/MFLPVLANALARM:OID 1.3.6.1.4.1.2011.5.25

.160.3.7 MAC move detected, VlanId = 1, MacAddress = 000b-09cf-de68,

Word 资料

.

Original-Po

rt = GE0/0/3, Flapping port = GE0/0/1 and GE0/0/2. Please check the network acce

ssed to flapping port.

Dec 27 2012 10:28:33-08:00 sw2 L2IFPPI/4/MFLPVLANALARM:OID 1.3.6.1.4.1.2011.5.25

.160.3.7 MAC move detected, VlanId = 1, MacAddress = 000b-09cf-de68, Original-Po

rt = GE0/0/3, Flapping port = GE0/0/1 and GE0/0/2. Please check the network acce

ssed to flapping port. User interface con0 is available

不同时刻dis mac-add看到的变化如下:

[sw2]dis mac-address

MAC address table of slot 0:

-------------------------------------------------------------------------------

Word 资料

.

MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID

VSI/SI MAC-Tunnel

-------------------------------------------------------------------------------

000b-09cf-7c64 1 - - GE0/0/1 dynamic 0/-

000b-09cf-de68 1 - - GE0/0/1 dynamic 0/-

-------------------------------------------------------------------------------

Total matching items on slot 0 displayed = 2

[sw2]dis mac-address

MAC address table of slot 0:

-------------------------------------------------------------------------------

MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID

VSI/SI MAC-Tunnel

-------------------------------------------------------------------------------

Word 资料

.

000b-09cf-7c64 1 - - GE0/0/2 dynamic 0/-

000b-09cf-de68 1 - - GE0/0/1 dynamic 0/-

-------------------------------------------------------------------------------

Total matching items on slot 0 displayed = 2

会发现PC2的MAC 000b-09cf-7c64地址在交换机的两个接口上来回漂移变换,

00-0B-09-CF-DE-68 是PC1的MAC地址,本来应该在交换机lsw2的g0/0/3接口上才正确, 现在位于g0/0/1,所以交换机也不可以访问其它 网络。

现在的问题是……我们看到环路了……

讨论3:如何减少或阻止此类因配置错误导致的环路,有什么技术方案?

欢迎大家能做下这个实验并能积极讨论,交换里这个实验感觉还是很重要滴……

Word 资料

因篇幅问题不能全部显示,请点此查看更多更全内容