《CCNP TSHOOT 300-135认证考试指南》——5.4节STP故障检测与排除

简介:

本节书摘来自异步社区《CCNP TSHOOT 300-135认证考试指南》一书中的第5章,第5.4节STP故障检测与排除,作者 【加】Raymond Lacoste , 【美】Kevin Wallace,更多章节内容可以访问云栖社区“异步社区”公众号查看

5.4 STP故障检测与排除
CCNP TSHOOT 300-135认证考试指南
如果STP运行异常,那么网络中将会产生环路,使得二层数据帧在网络中无限循环,该操作行为将会导致MAC地址表错误以及广播风暴等故障问题。本节将详细讨论由STP故障引起的相关问题及后果。

5.4.1 交换机的MAC地址表错误
第4章曾经说过,MAC地址表决定了交换机对帧的处理方式,因而MAC地址表必须做到准确无误。虽然交换机可以动态学习通过其端口可达的MAC地址情况,但是如果STP出现了故障,那么交换机的MAC地址表将会出现错误。下面以图5-4为例加以说明。PC1正在向PC2发送流量,等到PC1发送的帧到达网段A时,由于交换机SW1和SW2的Gig 0/1端口都能看到该帧,因而这两台交换机都向自己的MAC地址表添加一条表项(AAAA.AAAA.AAAA与端口Gig0/1关联)。由于STP工作异常,因而这两台交换机都将该帧转发给网段B,导致PC2收到该帧的两份副本。此外,交换机SW1看到该帧从交换机SW2的Gig0/2端口转发出来,由于该帧的源MAC地址是AAAA.AAAA.AAAA,因而交换机SW1错误地更新了其MAC地址表,将MAC地址AAAA.AAAA.AAAA与Gig0/2端口关联在一起。与此相似,交换机SW2看到该帧从交换机SW1的Gig0/2端口转发到网段B,因而交换机SW2也错误地更新了其MAC地址表,致使所有去往MAC地址AAAA.AAAA.AAAA的帧都将通过Gig0/2端口向外转发,从而无法到达PC1。


03d31cf6aabd9020c63ebbd9f038ccb5b3aa9aee

上面只是一个简单的MAC地址表错误案例,在实际应用中,由于帧不断地通过网络进行传播,因而不但会导致MAC地址表错误,而且还会导致MAC地址表不稳定,也就是说,一会儿在Gig0/1端口上学到MAC地址AAAA.AAAA.AAAA,一会儿又在Gig0/2端口上学到MAC地址AAAA.AAAA.AAAA,然后又在Gig0/1端口上学到MAC地址AAAA.AAAA.AAAA,再然后又在Gig0/2端口上学到MAC地址AAAA.AAAA.AAAA。

由于系统会生成Syslog消息,反映MAC地址在同一台交换机的不同端口之间来回翻动,因而可以很容易地识别该故障问题。下面的Syslog消息表明不断地在端口Gig0/1和Gig0/2上学到该MAC地址。出现该问题的唯一原因就是网络中存在环路,致使在多个接口上都能收到该帧:

%SW_MATM-4-MACFLAP_NOTIF: Host 0000.5e00.0114 in vlan 20 is flapping between port Gi0/1 and port Gi0/2
%SW_MATM-4-MACFLAP_NOTIF: Host 8049.7111.7e05 in vlan 502 is flapping between port Gi0/1 and port Gi0/2
%SW_MATM-4-MACFLAP_NOTIF: Host 0050.b60c.f21b in vlan 20 is flapping between port Gi0/1 and port Gi0/2

5.4.2 广播风暴
如前所述,交换机收到广播帧(即目的MAC地址为FFFF.FFFF.FFFF的帧)后,会将广播帧从所有端口向外泛洪(收到该广播帧的端口除外),对于未知的单播帧和组播帧来说也是如此。由于二层帧没有TTL字段,因而广播帧会在二层拓扑结构中无限循环下去,从而不断地消耗交换机及其所连接设备(如用户PC)的资源。

图5-5解释了STP工作异常时在二层拓扑结构中形成广播风暴的原因。


a2cc9e9fb34214e92640e9560644d87cab889781

1.PC1向网段A发送一个广播帧,该广播帧进入端口Gig 0/1上的每台交换机。

2.两台交换机都会从其端口Gig 0/2向外泛洪(即泛洪到网段B)该广播帧,导致PC2收到该广播帧的两份副本。

3.两台交换机又都在各自的端口Gig 0/2上收到该广播帧(来自网段B),并从各自的端口Gig 0/1向外泛洪(即泛洪到网段A)该广播帧,导致PC1也接收到该广播帧的两份副本。

以此往复,广播帧的副本将不断地在网络中循环。由于PC1和PC2不断地收到广播帧副本,因而设备性能将受到严重影响。

如果网络出现STP故障,那么将会同时收到多个网络用户提出的相同的故障报告“网络/互联网太慢了”。这是因为广播风暴会消耗大量二层网络资源,因而去往用户希望访问的资源的帧将无法到达目的地,或者经过很长时间才到达目的地(因为网络已经严重拥塞)。

相关文章
|
Kubernetes 调度 C++
Kubernetes vs Docker Swarm:容器编排工具的比较与选择
在当今云计算时代,容器技术的应用越来越广泛。而在众多容器编排工具中,Kubernetes和Docker Swarm是两个备受关注的竞争者。本文将深入比较这两个工具的特点、优势和劣势,帮助读者更好地选择适合自己的容器编排解决方案。
|
前端开发 安全 iOS开发
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
很久没碰iOS开发了,最近都在web前端持续输出,加了很多推文群,每次群发文章的时候都要受到这个最多只能选择9个聊天的限制。 很不爽,好歹我也曾是一名iOS开发者呀,弄它~
747 0
手把手教你做iOS逆向分析,突破微信的群发多选数量限制
|
Java Android开发
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
682 0
【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )(一)
|
人工智能 前端开发 物联网
使用 PAI X EasyPhoto 生成 AI 写真
AIGC生成专属双旦美图,节日氛围拉满基于 EasyPhoto X 人工智能平台 PAI,完成圣诞/新年主题个人AIGC写真生成。
|
移动开发 开发工具 Android开发
uniapp如何与原生应用进行混合开发?
uniapp如何与原生应用进行混合开发?
364 0
|
消息中间件 缓存 监控
小记 | 一周上线百万级高并发系统
本文是鱼皮在腾讯实习期间,从零开始一周紧急上线百万高并发系统的相关经验、思路及感悟,分享给大家。花 5 分钟阅读本文,你将收获:1. 加深对实际工作环境、工作状态的了解2. 学习高并发系...
806 0
|
机器学习/深度学习 弹性计算 人工智能
性能最高提升50%,ECS倚天实例深度学习推理性能实测
本次实测涵盖图像分类识别、图像目标检测、自然语言处理以及搜索推荐等四种常见的深度学习推理场景
性能最高提升50%,ECS倚天实例深度学习推理性能实测
|
存储 数据处理 数据库
通信子网和资源子网
通信子网和资源子网简述
2758 0
通信子网和资源子网
|
编解码
Google Earth Engine(GEE)——全球高程和基岩数据集(1855米分辨率)
Google Earth Engine(GEE)——全球高程和基岩数据集(1855米分辨率)
422 0
Google Earth Engine(GEE)——全球高程和基岩数据集(1855米分辨率)
|
机器学习/深度学习 计算机视觉
CVPR2021|一个高效的金字塔切分注意力模块PSA
在本文,将介绍另一个基于同样出发点的注意力模块,即Pyramid Split Attention (PSA)。PSA具备即插即用、轻量、简单高效的特点。该模块与ResNet结合,通过PSA替代ResNet的bottleneck中的3x3卷积,组成了EPSANet。
CVPR2021|一个高效的金字塔切分注意力模块PSA