单向链路问题是指链路上的两条传输路径中,有一条出现了问题,但并不是两条同时出现问题。这可能是因为线缆错误、切断了一条光纤线缆、拔掉了一根管线、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的组成部分,无须配置。
 
 
 
 
 
 
 
 
 
 
 

STP-17-对抗单向链路问题的更多相关文章

  1. 1.二层常用技术-STP

    1.STP定义: STP(Spanning Tree Protocol)是生成树协议的英文缩写.STP在IEEE 802.1D文档中定义,该协议的原理是按照树的结构来构造网络拓扑,消除网络中的环路,避 ...

  2. 计算机网路中CDP,LLDP,STP的详解

    CDP,LLDP,STP知识详解 (1) CDP CDP(Cisco Discovery Protoco:Cisco发现协议)是Cisco专有的用来发现邻接点的协议 ,所有的Cisco产品都支持CDP ...

  3. 【交换机】交换机RLDP(环路检测&链路检测)功能介绍及配置说明

    功能简介RLDP 全称是Rapid Link Detection Protocol,是锐捷网络自主开发的一个用于快速检测以太网链路故障的链路协议.一般的以太网链路检测机制都只是利用物理连接的状态,通过 ...

  4. Spanning Tree Protocol (STP) in NetScaler Appliance

    Spanning Tree Protocol (STP) in NetScaler Appliance 来源 https://support.citrix.com/article/CTX112341 ...

  5. STP

    生成树协议  spanning-tree protocol     网络中额外添加的链路连接着路由器和交换机 会引起流量的环路   当一个交换机的连接丢失时 另一条链路能快速地取代失败的链路  并且不 ...

  6. eNSP——STP配置和选路规则

    原理: STP是用来避免数据链路层出现逻辑环路的协议,使用BPDU传递网络信息计算出一根无环的树状网络结构,并阻塞特定端口. 在网络出现故障的时候,STP能快速发现链路故障,并尽快找出另外一条路径进行 ...

  7. 什么是STP

    简介 了解STP 配置STP 相关信息 简介 STP(Spanning Tree Protocol)是运行在交换机上的二层破环协议,环路会导致广播风暴.MAC地址表震荡等后果,STP的主要目的就是确保 ...

  8. STP详解-STP、RSTP、MSTP

    STP详解 01 冗余链路中存在的问题 如图所示LSW1和LSW2之间有两条线路相连,它们之间任何一条链路出现故障另外一条线路可以马上顶替出现故障的那条链路,这样可以很好的解决单链路故障引起的网络中断 ...

  9. MSTP故障处理手册

    H3C核心交换机常见故障定位手册.pdf MSTP故障处理手册.pdf 目 录 1 MSTP故障处理 1.1 广播风暴故障处理 1.1.1 故障描述 1.1.2 故障处理流程 1.1.3 故障处理步骤 ...

随机推荐

  1. JSTL1.0 知识回顾与总结

    JSTL1.0,由四个定制标志库(core,format,xml和sql) 和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV )组成. 1.基本输出设置操 ...

  2. RTSP 协议分析 (一)

    RTSP 协议分析1.概述: RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学.网景和RealNetwor ...

  3. 闪回之 回收站、Flashback Drop (table、index、trigger等)

    一: Flashback Drop 操作流程 模式一:drop table 后未新建同名表 SQL> create table flashdrop as select * from user_o ...

  4. Java程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

  5. 微服务理论之四:SOA

    1.什么是SOA? SOA代表了面向服务的架构. SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构,这些服务可以通过编排连接在一起以实现特定的功能. 2.SOA特点 以下是服务的SOA的主要特 ...

  6. HDFS中hsync方法介绍

    HDFS中hsync方法介绍 原创文章,转载请注明:博客园aprogramer 原文链接:HDFS中hsync方法介绍 1. 背景介绍 HDFS在写数据务必要保证数据的一致性与持久性,从HDFS最初的 ...

  7. 安装pyenv版本管理

    系统:Centos7.4 安装pyenv是为了更好的管理python的版本. 在进行安装操作之前,首先使用普通用户test,进行操作,如下: #安装之前先安装依赖的库 [test@localhost ...

  8. ML 徒手系列 最大似然估计

    1.最大似然估计数学定义: 假设总体分布为f(x,θ),X1,X2...Xn为总体采样得到的样本.其中X1,X2...Xn独立同分布,可求得样本的联合概率密度函数为: 其中θ是需要求得的未知量,xi是 ...

  9. web安全之同源策略

    为什么使用同源策略?一个重要原因就是对cookie的保护,cookie 中存着sessionID .如果已经登录网站,同时又去了任意其他网站,该网站有恶意JS代码.如果没有同源策略,那么这个网站就能通 ...

  10. 关于login/interactive/no-interactive shell和profile/bash_profile/bashrc

    login shell:第一次登录进系统时的shell,一般是指本机启动时的控制台shell或者ssh远程登录时的shell. interactive shell:登录以后,再打开控制台时运行的she ...