单向链路问题是指链路上的两条传输路径中,有一条出现了问题,但并不是两条同时出现问题。这可能是因为线缆错误、切断了一条光纤线缆、拔掉了一根管线、GBIC问题,或其他问题。因为STP会监控入向BPDU,以便知道何时重新收敛网络,单向链路两端的邻接交换机可能都会成为转发状态,从而造成环路,如图所示。
上图显示了SW1和SW2之间两根线缆的光纤链路。SW2一开始为阻塞状态,但因为SW1传输路径故障,SW2无法从SW1那里收到Hello。SW2随后转为转发状态,现在所有交换机上的所有链路都是转发状态。即使SW1的传输光纤有故障,数据帧也会逆时针在网络中循环。
在Catalyst交换机上,有几种机制可以用来检测和避免由单向链路造成的问题。这些机制包括UDLD、STP环路防护、网桥保障和RSTP/MST争议机制。
单向链路检测(Unidirectional Link Detection,UDLD)是Cisco私有的二层消息协议,是用于一对设备之间的响应机制。使用UDLD消息,每台交换机作为消息的生成者,通告自己的身份和端口标识符对,以及它从相同网段上获知的邻居交换机/端口对列表。通过使用这个信息,UDLD可以通过以下现象来检测单向链路。
  • 来自邻居的UDLD消息中不包含自己的交换机/端口对。这说明邻居没有收到自己的消息(比如切断的光纤),或邻居发送这些UDLD消息的端口与邻居收到自己发出的UDLD消息的端口不同(比如Tx光纤被插到Rx光纤之外的不同端口)。
  • 来自邻居的UDLD消息中包含的交换机/端口生成者对,与自己使用的交换机/端口生成者对相同。表示这是一个自环端口。
  • 交换机只检测到了一个邻居,但邻居UDLD消息表示它检测到的邻居列表中包含多于一对的交换机/端口对。这表明共享介质互连性能有问题,不能提供所有连接设备间的完全可见性。
若检测到上述任意现象,UDLD就会声明这条链路是单向的,并将端口置为err-disable状态。
此外,在端口没有关闭的情况下,如果丢失了所有的入向UDLD消息,也表明有单向链路问题。然而这种现象并不总是表示单向链路的可靠迹象。例如,假设两台交换机之间使用一对金属/光纤介质转换器互连。如果一台交换机已关闭,另一台交换机并不会发生链路关闭事件;只是发现不再收到UDLD消息。这时候如果认为链路已经成为单向的,就不对了。
因此UDLD对于突然无法收到UDLD消息,有两种操作模式。在正常模式中,如果不再收到UDLD消息,交换机会尝试与邻居重连(8次),如果尝试失败,UDLD不采取操作。特别是,不再收到UDLD消息的端口会保持启用状态。在激进模式中,如果不再收到UDLD消息,交换机会进行8次尝试与其邻居重连,如果尝试失败,UDLD会将端口置为err-disable状态。正常和激进模式之间的区别在于交换机对于突然丢失入向UDLD消息所作出的响应,这种现象隐含暗示了可能出现单向链路的情况。注意如果明确检测到前文描述的三种单向链路现象,正常和激进模式都会将端口置为err-disable状态。
工程师可以在全局启用UDLD,或基于端口启用UDLD,两台互连设备上都需要启用。全局UDLD配置只应用于光纤端口;基于端口的UDLD配置无论介质如何都可以启用。UDLD在全局使用udld {enable | aggressive} 命令启用,enable关键字表示正常模式,而aggressive关键字表示激进模式。在端口上,使用udld port [aggressive] 命令启用UDLD。如果省略了aggressive关键字,就表示使用正常模式。UDLD的运行状态中包含端口信息、检测到的邻居,以及邻居状态,工程师可以使用命令show udld 和show udld neighbors进行查看。如果UDLD在检测到单向链路条件后,将端口置为了err-disable状态,除了关闭再启用外,工程师也可以在特权EXEC模式中使用udld reset命令重置端口。
STP环路防护是一项附加逻辑,与点到点链路上的根端口和替换端口接收BPDU有关。在单向链路上,这些端口可能会从根端口或替换端口变为指定端口,进而创建交换环路。STP环路防护特性认为在根端口和替换端口收到BPDU后,在一个正常工作的网络中,这些端口不可能在不关闭的前提下突然停止接收BPDU。根端口和替换端口突然无法收到入向BPDU,表明可能出现了单向链路的情况。

遵循此逻辑.STP坏路防护机制能够防止根端口和替换端口由于不再收到入向BPDU而变为指定端口。如果这些端口不再收到BPDU.当端口上保存的BPDU超时后.坏路防护特性会将其置为坏路不一致的阻塞状态。再次开始接收BPDU后•端口将自动移出此状态。
工程师可以在全局启用环路防护特性.也可以基于端口启用.这是一种本地保护机制(即不要求其他交换机也配置坏路防护)。如果工程师使用全局命spanning-tree loopguard default來激活坏路防护特性.它会自动保护交换机上点到点链路类型的所有根端口和替换端口。全局配置的环路防护特性并不保护共享类型链路上的端口。工程师也可以使用命令spanning-tree guard loop基于端口配置.此时可以将该特性应用于共享链路上的端口。
网桥保障只适用于RPVST+和MST.且只用于点到点链路.是坏路防护特性所用理念的进一步的扩展。网桥保障特性修改了发送BPDU的规则。端口上启用了网桥保障特性时,端口总是以Hello间隔发送BPDU.无论它是根端口、指定端口、替换端口.还是备用端口。BPDU实际上成为了一对互连交换机之间的Hello机制。网桥保障机制一一被保护的端口必须要能够接收BPDU。如果收不到BPDU的话,端口将被置为BA不一致阻塞状态.直到再次开始接收BPDU。除了单向链路.当交换机发生故障.不再参与RPVST+/MST (完全停止处理和发送BPDU).而是完全开启它们的端口时.网桥保障特性也能够在这种时刻预防坏路的生成。在本书写作时.特定的Catalyst 6500和Nexus「000平台能够支持网桥保障特性。在Catalyst 6500系列设备匕配置该特性时,要求既要在全局使用命令spanning-tree bridge assurance进行配置.也要在连接其他交换机的STP点到点链路类型的端口上使用 接口命令spanning-tree portfast network來激活。邻居设备上必须也配置使用网桥保障特性。
争议机制是另一种用来检测单向链路的标准化方式。它使用RST标志字段和MSTBPDU中编码的信息,即转发BPDU的那个端口的角色和状态。操作原则非常简单:如果端口从声明为指定学习状态或指定转发状态的端口上收到了一个次优BPDU,它自己将进入丢弃状态。Cisco也在RPVST+中应用了争议机制。传统的STP/PVST+不支持争议机制,因为这些STP版本没有将端口角色和状态编码到BPDU中。争议机制是RSTP/MST的组成部分,无须配置。

转载于:https://www.cnblogs.com/swefii/p/10964862.html

STP-17-对抗单向链路问题相关推荐

  1. 数据结构和算法-09.单向链路-重学(自写)-01

    # CY3761 | 2021-12-06 10:27# 实现单向链表功能, 先看视频约 2.5小时课时 记录相关要点 # 连续的顺序空间, 如果存满了就需要扩容, 申请一片更大的内存空间并把原有数据 ...

  2. 公寓宽带服务器无响应,利用RLDP协议解决网络环路故障

    在接入网络中,终端用户水平参差不齐,特别是在学生公寓中私接乱拉的情况比较普遍,很容易产生环路,造成局部网络瘫痪.虽然通过生成树协议能够解决部分环路的问题,但是受设备功能等其他方面制约,依然存在一些弊端 ...

  3. STP端口状态特点、STP端口角色特点、链路状态发生变化,STP如何重新收敛? TCN何时发?uplinkfast技术、Portfast技术、backbonefast技术、常见的STP调整命令:

    目录 STP端口状态: STP端口角色: 链路状态发生变化,STP如何重新收敛? 概述: 图解: --------------------------------------------------- ...

  4. h3c 交换机 s5048PV5-EI stp配置

    1 生成树协议概述 1.1 STP简介 1.1.1 STP的协议报文 1.1.2 STP的基本概念 1.1.3 STP的拓扑计算过程 1.1.4 STP算法实现举例 1.1.5 STP的BPDU传递机 ...

  5. 测试两个主机之间的连通性_UCloud 全链路大规模网络连通性检测系统详解

    虚拟网络排查问题困难,传统的 traceroute 等工具很难起到太大作用,大部分情况下都需要到宿主机.混合云网关上抓包来 troubleshooting,耗时又费力.有些场景中包的传送路径比较长(如 ...

  6. 分析一次STP无法生效的故障

    今天下午,突然间收到通知,下面某个分点的故障报告:由于机房线路整改,网络突然中断.所有工作站无法连接服务器. 由于事关重要,领导要求立即赶往现场进行技术支援.路途中我经过多次与分点技术人员进行交流,整 ...

  7. c语言 判断一个图是否全连通_基于云平台的全链路大规模网络连通性检测系统详解...

    虚拟网络排查问题困难,传统的traceroute等工具很难起到太大作用,大部分情况下都需要到宿主机.混合云网关上抓包来troubleshooting,耗时又费力.有些场景中包的传送路径比较长(如跨域. ...

  8. STP的收敛及高级特性

    签:STP BPDU GUARD STP安全特性 STP高级特性 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://tangfang ...

  9. STP/RSTP协议(二)

    STP协议详解:https://blog.csdn.net/qq_40741808/article/details/105744865 RSTP 一.RSTP的端口角色 边缘端口的特点 二.RSTP的 ...

最新文章

  1. 【Manning新书】Kafka实战
  2. 以下可以采用python语言保留字的是-以下选项中,不是Python语言保留字的是_学小易找答案...
  3. 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...
  4. windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。
  5. 集成学习-Bagging集成学习算法随机森林(Random Forest)
  6. java计算并显示学生的成绩_Java开学测试-学生成绩管理系统
  7. 【nodejs】安装browser-sync 遇到错误提示
  8. 浅谈 Spark 的多语言支持
  9. 数据库系统原理设计题和综合体
  10. java后台实现弹窗提示_java后台代码弹窗
  11. 苦才是人生的经典美言
  12. HTML中span标签使用详解含多种实例(转)
  13. 微信小程序中base64转换成图片
  14. 怎么用python编写个apk_【android】如何利用python做Android项目自动化构建,并一键实现构建结果发送到钉钉通知以及通过二维码下载apk或者其他处理等功能...
  15. linux 扫描磁盘柜,Linux下做磁盘阵列和各种热备份
  16. 离子交换树脂过滤重金属
  17. RK3399 Android7.1修改安兔兔等第三方软件读到的内核版本信息
  18. 麦克风阵列声源定位解决方案
  19. 华为鸿蒙os英语,华为正式发布HarmonyOS鸿蒙操作系统
  20. 2021年度个人心目中的三张最佳专辑

热门文章

  1. 快速远程桌面控制公司电脑远程办公
  2. 电阻的主要作用及应用电路
  3. 【业务数据分析】——Excel公式与函数(三)
  4. 这才是做生意的正确方法,360行,行行出状元,摆摊也能赚大钱
  5. Fortran IF语句
  6. of介词短语作定语_介词短语作定语附翻译版
  7. 媒体文件信息查看工具 MediaInfo
  8. javascript的冒泡与捕获、定时器
  9. c语言根据窗口姓名获取句柄,win32 API窗口句柄的获得
  10. java 设置excel格式为单元格格式为数值,不是坑爹的自定义