所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S5700生成树协议问题及相关设计注意事项

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
S5700生成树协议问题及相关设计注意事项

S5700生成树协议问题及相关设计注意事项

简介

本文档介绍了生成树协议STP失效的一些常见原因以及为查明问题来源而要寻找的信息,同时也介绍了如何设计易于排除STP故障的网络类型。

生成树协议失效的原因

STP协议中定义了根桥(Root Bridge)、根端口(Root Port)、指定端口(Designated Port)、路径开销(Path Cost)等概念,目的就在于通过构造一棵树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。用于构造这棵树的算法称为生成树算法STA(Spanning Tree Algorithm)。

要实现上述功能,网桥之间通过BPDU报文进行信息的交互。BPDU报文是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。该报文的数据区里携带了用于生成树计算的所有有用信息。STP报文是逐跳传递的,因此不支持STP协议的网桥的端口,接收到STP报文会直接丢弃报文。

在某些情况下,比如网络设计不合理,会导致STP协议失效,STP协议失效一般会导致网络环路。下面介绍导致STP协议失效的原因。

双工模式不匹配

点对点链路上双工模式不匹配是很常见的配置错误。如图1-1所示,SwitchA为根桥,SwitchA上的Port1双工模式为半双工,SwitchB上的Port2双工模式为全双工,这种情况下,很容易产生环路。由于Port2配置为全双工,因此Port2可以同时接收和发送数据,即使Port1已经在发送数据,Port2也会开始发送数据。

这样会出现如下问题:由于SwitchA的Port1处于半双工模式,Port1任意时刻只能接收数据或者发送数据,因此SwitchA发送的数据有可能遭遇延迟或冲突,并最终被丢弃。

从STP的角度来看,由于SwitchB不再从SwitchA接收BPDU,因此SwitchA的根桥地位已丢失,SwitchB与SwitchC之间的Port1不再为阻塞状态,从而形成环路。

图1-1 双工模式不匹配组网图

单向链路

单向链路是发生环路的常见原因。如图1-2所示,假设SwitchA和SwitchB之间的链路是单向的,流量只能从SwitchB到SwitchA。假设在链路变为单向之前,SwitchB的Port1被阻塞。但是,只有从具有更高优先级的设备接收到BPDU时,端口才能阻塞。在这种情况下,由于来自SwitchA的所有BPDU都丢失了,因此SwitchB最终将Port1放开阻塞,过渡到转发状态并向SwitchA转发流量,这样会产生环路,STP无法正确收敛。

为了在产生环路之前检测到单向链路,华为交换机支持DLDP协议。如果发现单向链路存在,DLDP会根据用户配置,自动关闭或通知用户手工关闭相关接口,以防止发生问题。在STP网络中,可以使用DLDP协议用来检测是否为单向链路。

有关DLDP的详细信息,请参考产品文档《DLDP配置》。

图1-2 单向链路组网图

数据包损坏

电缆有缺陷或者电缆长度不正确可能会导致数据包损坏,数据包损坏也会导致STP协议失效。

CPU占用率高

CPU占用率高会对STA的算法造成影响,从而影响生成树协议的计算。

STP定时器和直径调整不合理

STP中有三种定时器:Hello Time、Max Age和Forward Delay,这三种定时器的缺省值分别为:2秒、20秒和15秒。通常情况下,不建议直接调整定时器,建议使用stp bridge-diameter命令配置网络直径,交换设备会自动根据网络直径计算出Hello Time、Forward Delay以及Max Age三个时间参数的较优值。

软件问题

多种不同的因素会导致软件Bug,从而对生成树收敛造成影响。

如何排除生成树故障

在排查故障之前,您至少需要了解以下内容:

  • STP网络的拓扑
  • 根桥的位置
  • 阻塞端口和冗余链路的位置

检查是否出现环路

出现环路有可能是STP故障造成的,关于如何检查是否出现环路,请参考维护宝典中的《故障处理:二层环路》。

快速恢复连接

环路会对STP网络造成极为严重的后果。管理员一般没有时间寻找产生环路的原因,因此更愿意尽快恢复连接。这种情况下解决问题的简单方法是手动禁用在网络中提供冗余的每个端口。如果能确定网络中受影响最大的部分,则禁用该区域中的端口或者禁用最初应该阻塞的端口。每次禁用端口时,请检查是否已恢复了网络中的连接。在禁用端口解决了环路之后,需要进一步定位产生环路的原因。

检查端口

检查阻塞端口是否收到BPDU

执行命令display stp检查阻塞端口和根端口是否能定期收到BPDU。执行多次该命令,查看端口是否收到BPDU报文,下面回显中的BPDU Received代表接收的BPDU。

<HUAWEI> display stp instance 0 interface gigabitethernet 1/0/1
-------[CIST Global Info][Mode MSTP]-------
CIST Bridge         :32768.00e0-fc0e-a421
Config Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times        :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC      :32768.00e0-fc0e-a421 / 0 (This bridge is the root)
CIST RegRoot/IRPC   :32768.00e0-fc0e-a421 / 0 (This bridge is the root)
CIST RootPortId     :0.0
BPDU-Protection     :Disabled
TC or TCN received  :0
TC count per hello  :0
STP Converge Mode   :Normal
Share region-configuration :Enabled
Time since last TC  :0 days 23h:9m:30s
Number of TC        :1
Last TC occurred    :GigabitEthernet1/0/1
----[Port3(GigabitEthernet1/0/1)][FORWARDING]----
 Port Protocol       :Enabled
 Port Role           :Designated Port
 Port Priority       :128
 Port Cost(Legacy)   :Config=auto / Active=19
 Designated Bridge/Port   :32768.00e0-fc0e-a421 / 128.1229
 Port Edged          :Config=disabled / Active=disabled
 Point-to-point      :Config=auto / Active=true
 Transit Limit       :3 packets/hello-time
 Protection Type     :None
 Port STP Mode       :MSTP
 Config-digest-snoop :snooped=false
 Port Protocol Type  :Config=auto / Active=dot1s
 BPDU Encapsulation  :Config=stp / Active=stp
 PortTimes           :Hello 2s MaxAge 20s FwDly 15s RemHop 0
 TC or TCN send      :0
 TC or TCN received  :0
 BPDU Sent           :147
          TCN: 0, Config: 0, RST: 0, MST: 147
 BPDU Received       :0
          TCN: 0, Config: 0, RST: 0, MST: 0 

检查是否有双工模式不匹配的情况

执行命令display interface interface-type interface-number查看接口信息,下面回显中的Duplex代表接口工作的双工模式,其中FULL代表全双工模式,HALF代表半双工模式。如果双工模式不匹配,请修改配置。

<HUAWEI> display interface gigabitethernet 1/0/1
GigabitEthernet 1/0/1 current state : UP                                       
Line protocol current state : UP                                              
Description:                                                                   
Switch Port, Link-type : access(negotiated),  
PVID :    1, TPID : 8100(Hex), The Maximum Frame Length is 9216    
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 0025-9ef4-abcd 
Last physical up time   : -
Last physical down time : 2016-01-15 15:58:32 UTC-01:00
Current system time: 2012-06-05 18:56:41                                        
Port Mode: COMMON FIBER, Transceiver: 1000_BASE_SX_SFP                                                         
Speed : 1000,   Loopback: NONE                                                   
Duplex: FULL,   Negotiation: ENABLE                                              
Mdi   : -, Flow-control: DISABLE                                                                  
Last 300 seconds input rate 0 bits/sec, 0 packets/sec                           
Last 300 seconds output rate 0 bits/sec, 0 packets/sec                          
Input peak rate 0 bits/sec, Record time: -                                      
Output peak rate 0 bits/sec, Record time: - 

检查接口利用率是否过高

接口带宽利用率过高可能导致接口无法传输BPDU,执行命令display interface brief查看接口接收方向和发送方向最近一段时间的带宽利用率。下面回显中InUti字段表示入方向上的带宽利用率,OutUti字段表示出方向上的带宽利用率。接口入方向或出方向最近一段时间的带宽利用率接近100%的接口可能利用率过高。

<HUAWEI> display interface brief
PHY: Physical                                                                   
*down: administratively down                                                    
#down: LBDT down                                                   
(l): loopback                                                                   
(s): spoofing                                                                   
(E): E-Trunk down   
(b): BFD down                                                                   
(e): ETHOAM down                                                                
(dl): DLDP down                                                                 
(lb): LBDT block                                                                
(ms): MACsec down
InUti/OutUti: input utility/output utility                                      
Interface                   PHY   Protocol InUti OutUti   inErrors  outErrors   
GigabitEthernet0/0/1        up    up       0.06%   100%          0   21217388   
GigabitEthernet0/0/2        up    up        100%   100%          0          0   
GigabitEthernet0/0/3        up    up          0%   100%          0          0

检查数据包是否损坏

执行命令display interface interface-type interface-number查看接口信息,下面回显中的Total Error代表接口在物理层检测时发现的错误报文总数目。

<HUAWEI> display interface gigabitethernet 1/0/1
GigabitEthernet 1/0/1 current state : UP                                       
Line protocol current state : UP                                              
Description:                                                                   
Switch Port, Link-type : access(negotiated),  
PVID :    1, TPID : 8100(Hex), The Maximum Frame Length is 9216    
IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 0025-9ef4-abcd 
Last physical up time   : -
Last physical down time : 2016-01-15 15:58:32 UTC-01:00
Current system time: 2012-06-05 18:56:41                                        
Port Mode: COMMON FIBER, Transceiver: 1000_BASE_SX_SFP                                                         
Speed : 1000,   Loopback: NONE                                                   
Duplex: FULL,   Negotiation: ENABLE                                              
Mdi   : -, Flow-control: DISABLE                                                                  
Last 300 seconds input rate 0 bits/sec, 0 packets/sec                           
Last 300 seconds output rate 0 bits/sec, 0 packets/sec                          
Input peak rate 0 bits/sec, Record time: -                                      
Output peak rate 0 bits/sec, Record time: -                                     

Input:  0 packets, 0 bytes                                                      
  Unicast:                          0,  Multicast:                           0  
  Broadcast:                        0,  Jumbo:                               0  
  Discard:                          0,  Pause:                               0  
  Frames:                           0  

  Total Error:                     0 
  CRC:                              0,  Giants:                              0  
  Jabbers:                          0,  Fragments:                           0  
  Runts:                            0,  DropEvents:                          0  
  Alignments:                       0,  Symbols:                             0  
  Ignoreds:                         0

Output:  0 packets, 0 bytes                                                     
  Unicast:                          0,  Multicast:                           0  
  Broadcast:                        0,  Jumbo:                               0  
  Discard:                          0,  Pause:                               0  

  Total Error:                     0                                           
  Collisions:                       0,  ExcessiveCollisions:                 0  
  Late Collisions:                  0,  Deferreds:                           0  
  Buffers Purged:                   0                

    Input bandwidth utilization threshold : 80.00%                             
    Output bandwidth utilization threshold: 80.00%                             
    Input bandwidth utilization  :    0%                                        
    Output bandwidth utilization :    0% 

检查CPU占用率是否过高

CPU占用过高会对STA算法造成影响。隔几秒连续执行display cpu-usage命令,观察CPU Usage字段是否持续保持较高百分比。一般情况下,交换机长时间运行时CPU占用率不超过80%,短时间内CPU占用率不超过95%,可认为交换机状态是正常的。

<HUAWEI> display cpu-usage
CPU Usage Stat. Cycle: 10 (Second)
CPU Usage         : 88% Max: 92%
CPU Usage Stat. Time : 2010-12-18  15:35:56
CPU utilization for five seconds: 68%: one minute: 60%: five minutes: 55%.
Max CPU Usage Stat. Time : 2015-01-27 10:08:10. 

TaskName        CPU  Runtime(CPU Tick High/Tick Low)  Task Explanation           
VIDL                 82%         8/ 4c8b1ff       DOPRA IDLE                     
OS                   12%         1/2c684bff       Operation System  
……

关于如何处理CPU占用率高的问题,请参考维护宝典中的《故障处理:CPU占用率高》。

关闭不必要的功能

关闭不必要的功能有助于简化网络结构,并且便于发现问题。通常情况,配置尽可能简单可以更容易地排除故障。

如何设计STP避免生成树问题

合理选择根桥的位置

在网络设计时,需要合理部署根桥的位置。一般情况下,选择位于网络中央位置、而且功能较强的交换设备。如果将根桥放在网络中央,直接连接到服务器和路由器,通常能缩短客户端到服务器和路由器的平均距离。

图1-3所示,选择SwitchA为根桥的原因如下:

  • 如果SwitchB是根桥,则阻塞点为SwitchA的Port2或SwitchC的Port1。假设阻塞点为SwitchC的Port1,PC1通过2跳可以访问服务器和路由器,PC2通过3跳可以访问服务器和路由器,因此平均距离是2跳半。
  • 如果网桥SwitchA是根桥,则阻塞点为SwitchB的Port1或SwitchC的Port2。假设阻塞点为SwitchB的Port1, PC1和PC2都是通过2跳可以访问服务器和路由器。
图1-3 合理选择根桥组网图

了解冗余的位置

可以执行命令stp cost调整端口路径开销以决定需要阻塞的端口。如果采用分层设计而且根桥所在的位置恰当,那么一般不需要调整该参数。

了解冗余的位置有助于发现偶然产生的桥接环路及其原因。此外,了解受阻端口的位置可确定发生故障的位置。

将阻塞端口的数量减到最小

STP采取的一项重要举措就是阻塞端口。只要有一个阻塞端口过渡到转发状态,就可能使网络瘫痪。避免产生风险的一个好办法就是尽量减少STP网络中受阻端口的数量。

  • 修剪不使用的VLAN

    在桥接网络中,两个节点之间不需要二条以上的冗余链路。但是,此类配置很常见:

    图1-4 未修剪不使用的VLAN组网图

    图1-4所示,接入交换机Switch2、Switch3分别连接到核心交换机CoreA和CoreB,CoreA和CoreB之间允许所有VLAN通过。接入交换机和核心交换机之间的链路类型都为Trunk。Switch2 上连接的用户都位于 VLAN 2 中,Switch3 连接 VLAN 3 中的用户。默认情况下,VCMP是使能的,因此Switch2、Switch3都允许VLAN2、VLAN3通过,那么 CoreA 与 CoreB 之间就会有三条冗余路径。这种冗余设置会导致许多端口被阻塞,形成环路的机率也更高。

    VCMP可以同步VLAN的配置,但在网络的核心层中没有必要使用此功能。因此需要在核心层设备上去使能VCMP功能。

    图1-5所示,在CoreA和CoreB上去使能VCMP后,只使用了一个接入层 VLAN 将接入层交换机连接到核心层。在此设计中,每个 VLAN 只阻塞了一个端口。此外,对于此设计,如果关闭 CoreA 或 CoreB,那么只需一步即可消除所有冗余链路。

    图1-5 去使能VCMP组网图
  • 使用第三层交换

    第三层交换表示以接近交换的速度进行路由。路由器执行两项基本工作:

    • 路由器构建转发表,路由器一般通过路由协议与对端设备交换信息。

    • 路由器接收数据包,并根据目的地址将其转发到正确的接口。

    图1-6 使用第三层交换组网图

    图1-6所示,CoreA 和 CoreB为三层交换机。Core A 和 Core B 之间只允许VLAN10通过,因此不可能形成 STP 环路。

    • 上述设计冗余仍然存在,但现在依靠的是第三层路由协议,此设计确保三层路由协议收敛比 STP 的收敛要快。

    • STP 不会再阻塞任何单个端口。因此,不可能再产生桥接环路。

    此设计只有一个缺点,如果想使用此类设计方案,一般需要重新规划网络。

即使STP暂时用不到,也不要禁用STP功能

即使成功地从网络消除了所有受阻端口,并且没有任何物理冗余,也不要禁用 STP。STP 一般不会占用大量的CPU。此外,每条链路发送的 BPDU 极少,不会显著降低可用带宽。

如果网络管理员操作失误导致环路,而网络中并没有使能STP,网络在几分之一秒内就可能瘫痪。所以,通常情况下,不推荐去使能STP。

翻译
下载文档
更新时间:2019-06-29

文档编号:EDOC1100088152

浏览量:726

下载量:176

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页