本节书摘来自异步社区《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。


上面只是一个简单的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工作异常时在二层拓扑结构中形成广播风暴的原因。


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

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

  1. 《CCNP安全防火墙642-618认证考试指南》——1.4节防火墙技术

    本节书摘来自异步社区<CCNP安全防火墙642-618认证考试指南>一书中的第1章,第1.4节防火墙技术,作者[美]David Hucaby , Dave Garneau , Anthon ...

  2. 《CCNP安全Secure 642-637认证考试指南》——第8章 配置与实施路由式数据面安全...

    本节书摘来自异步社区<CCNP安全Secure 642-637认证考试指南>一书中的第8章 配置与实施路由式数据面安全,作者[美]Sean Wilkins , Trey Smith,更多章 ...

  3. 《CCNP安全Secure 642-637认证考试指南》——2.3节入侵者动机

    本节书摘来自异步社区<CCNP安全Secure 642-637认证考试指南>一书中的第2章,第2.3节入侵者动机,作者[美]Sean Wilkins , Trey Smith,更多章节内容 ...

  4. 《CCNP安全Secure 642-637认证考试指南》——8.8节填空

    本节书摘来自异步社区<CCNP安全Secure 642-637认证考试指南>一书中的第8章,第8.8节填空,作者[美]Sean Wilkins , Trey Smith,更多章节内容可以访 ...

  5. 《CCNP安全Secure 642-637认证考试指南》——2.2节安全漏洞

    本节书摘来自异步社区<CCNP安全Secure 642-637认证考试指南>一书中的第2章,第2.2节安全漏洞,作者[美]Sean Wilkins , Trey Smith,更多章节内容可 ...

  6. 《CCNP TSHOOT 300-135认证考试指南》——2.2节故障检测与排除及网络维护工具箱

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第2章,第2.2节故障检测与排除及网络维护工具箱,作者 [加]Raymond Lacoste , [美]K ...

  7. 《CCNP TSHOOT 300-135认证考试指南》——5.1节“我已经知道了吗?”测试题

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第5章,第5.1节"我已经知道了吗?"测试题,作者 [加]Raymond Lacost ...

  8. 《CCNP TSHOOT 300-135认证考试指南》——6.4节SVI故障检测与排除

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第6章,第6.4节SVI故障检测与排除,作者 [加]Raymond Lacoste , [美]Kevin ...

  9. 《CCNP TSHOOT 300-135认证考试指南》——5.10节定义关键术语

    本节书摘来自异步社区<CCNP TSHOOT 300-135认证考试指南>一书中的第5章,第5.10节定义关键术语,作者 [加]Raymond Lacoste , [美]Kevin Wal ...

最新文章

  1. Config Sharepoint 2013 Workflow PowerShell Cmdlet
  2. rbpf粒子滤波slam matlab程序_学习笔记(优达学城)- 车辆定位之粒子滤波器(整合版)...
  3. centos7安装python模块_Linux-Centos7----安装Python的psutil模块插件
  4. php求平均值的函数_国二常用函数(二)
  5. 性能瓶颈分析整体思路
  6. CMDB功能分析与实现方案
  7. TIBCO BusinessWorks 6和Container Edition与BW5的比较
  8. Bundle Identifier
  9. C语言里if语句变量作为判断条件,C语言教学(九-上)if else判断语句
  10. python写选择排序_如何快速掌握python选择排序算法?
  11. 谷歌招聘主管公开八大求职秘诀
  12. 心理学家、实验与效应
  13. vue中使用flexible.js并配合px2rem-loader实现移动端布局
  14. 浅谈IDEA Scratch files万能的临时文件功能
  15. Ubuntu16 下载软件Aria2 全局配置方法(最全组合)
  16. a36.ansible 生产实战案例 -- 基于kubeadm安装kubernetes v1.23 -- 集群部署(一)
  17. ctf的flask模板注入config、current_app、url_for和get_flashed_messages(转自浩哥)
  18. 2021年多媒体技术圈年终事件大回顾
  19. OPPO 12系统 无TalkBack设置 功能锁定 手撕
  20. Python-openpyxl之二次封装

热门文章

  1. Java并发编程:线程的生命周期是个怎样的过程?
  2. 在物理机上用u盘安装linux遇到的问题
  3. Java泛型解析(02):通配符限定
  4. 《OpenGL编程指南》一第2章 着色器基础
  5. Bootstrap-table学习笔记(二)——前后端分页模糊查询
  6. 说说JS中的浅拷贝与深拷贝
  7. Jquery为DIV添加点击事件,Jquery为a标签超链接添加点击事件
  8. bat批处理重命名问题
  9. HDU 1269 移动城堡 联通分量 Tarjan
  10. 太阳能控制器原理图_太阳能人体感应壁灯的电路设计