Professional Documents
Culture Documents
https://learningnetwork.cisco.com/community/connections/china
本章包括下列主题:
· 利用生成树避免环路;
· 生成树收敛;
· 快速生成树协议;
· 理解多生成树;
· 单向链路检测。
第10 章
实施和调整生成树
本书第 1 章“局域网交换技术基础”讨论了生成树算法
的基础理论。本章将详细讨论生成树的复杂问题,其中包括
如何利用诸多 Cisco 专有特性避免网络环路。因为应用和某
些网络协议的敏感本质,所以要求网络能够快速收敛。基于
上述原因,也就要求 STP (Spanning Tree Protocol,生成树协
议)能够快速而有效地处理收敛问题。为了能够解决第 2 层
快速收敛和可扩展性问题,先后出现了 RSTP ( Rapid
Spanning Tree Protocol , 快 速 生 成 树 ) 和 MST ( Multiple
Spanning Tree ,多生成树)技术。
10.1 利用生成树避免环路
10.1.1 PortFast
PortFast 特性能够跳跃生成树状态的多个阶段,并且能
够使得阻塞状态的端口立即进入转发状态。采用 PortFast 特
性的两个原因分别是:首先,正常的生成树状态转换会产生
一定的延迟,它会引起启动故障。例如,某个用户正在试图
登录主机,但因为端口正在经历生成树的几种状态,所以就
会导致用户登录屏幕超时退出。端口大约需要 30s 才能转换
到转发状态。当端口处于转换过程的时候,如果Windows软
件
试图登录服务器,那么因为主机尚未建立完整的网络连接,所以会导致登录过程失败。对于
采用 Novell 客户端的用户,这种问题就非常普遍。
采用 PortFast 特性的第二个原因是:当主机连接或脱离端口的时候,它不会产生
TCN( Topology Change Notification ,拓扑变更通告)。这个原因是非常重要的。如果在主
机端口禁用 PortFast ,那么一旦用户重新启动或关闭计算机,交换机就会产生TCN,并且在
网桥的根端口上转发,如图10-1所示。
图 10-1 TCN 更新
例 10-1 启用 PortFast 特性
(待续)
一、PortFast BPDU 防护
例 10-3 启用 BPDU 防护
二、PortFast BPDU 过滤
例 10-5 启用 BPDU 过滤
图 10-2 BPDU 过滤
10.1.2 根防护
例 10-6 启用根防护
注意:根防护与环路防护不兼容,本章稍后将介绍环路防护。
(待续)
例 10-8 因为新增根而导致端口状态转换
10.1.3 环路防护
通过单向链路检测,环路防护特性能够避免出现生成树环路。通过采用单向链路,链
路伙伴一侧的端口能够工作在“ up” 状态并发送数据。与此同时,链路伙伴的另外一侧也能
够正常地工作。如例10-9所示,通过在参与生成树的端口上启用环路防护,能够提供第 2 层
冗余。当交换机的根端口或阻塞端口停止接收 BPDU 时,它将把端口转换到“不一致环路”
状态。如果发生上述情况,它们会失去通道化( channeling )所带来的冗余性,并且也不是
人们所期望的结果。
例 10-9 启用环路防护
阻塞端口转换为转发状态。如果端口状态发生上述变更,那么就会产生逆时针方向的单向环
路。环路防护不需要人工干预。如果交换机从端口 3/5 重新接收到 BPDU ,那么交换机将把
该端口转换回阻塞状态。
10.2 生成树收敛
生成树收敛问题已经成为网络管理员需要解决的挑战之一。根据第 2 层网络规模的不
同,生成树收敛问题可能非常复杂。实际上,与传统 STP 方法相比, RSTP 的主要卖点之一
就是它具有更好的收敛能力。如本书第 1 章所述, Cisco 交换机能够支持用于调整特定生成
树计数器的多种命令。本章将深入讨论这些命令。此外,为了加快第 2 层网络的收敛速度,
Cisco 交换机还支持其他一些特性,如 BackboneFast 和 UplinkFast 等。
10.2.1 生成树计时器
生成树收敛是非常复杂的问题。我们建议应当尽可能保持第 2 层网络的简单性。通过
采用生成树默认计时器所进行的大量测试、网络设计认证和安装等工作,我们建议保留计时
器的默认值。
生成树支持多种计时器,主要包括如下三种:
· Hello 时间—— Hello 时间是根发送两个配置 BPDU 之间的时间, Hello 时间的默
认值是2s。
set spantree hello interval [vlan]
· 转发延迟——转发延迟是监听状态和学习状态的时间间隔,它不是监听和学习状态
的时间之和,转发延迟的默认值为 15s 。
set spantree fwddelay delay [vlan]
· 最大寿命——最大寿命是交换机保存配置 BPDU 的时间长度。在发生间接故障的时
候,最大寿命计时器能够承担重要的角色,最大寿命的默认值为 20s 。
set spantree maxage agingtime [vlan]
网络直径能够决定上述参数配置的灵活性。通常情况下, Hello 时间和转发延迟保持
默认值。在某些情况下,还要修改最大寿命计时器。
图10-4给出发生间接链路故障后端口从阻塞状态转换到转发状态的时间。
下列步骤概述最大寿命计时器的工作过程:
第1步 交换机 1 和交换机 3 之间的连接发生故障;
第2步 交换机 3 向交换机 2 产生次级配置 BPDU ;
第3步 在 20s (最大寿命计时器)内,交换机 2 将忽略来自交换机 3 的这些
BPDU ;
4
第 步 在最大寿命计时器到期之后,交换机 2 将把端口从阻塞状态转换到转发状态,
这个过程需要额外的 30s 时间;
第5步 交换机 2 将来自根(交换机 1 )的配置 BPDU 转发给交换机 2 ;
Cisco Learning Network China (思科网络学习空间)
https://learningnetwork.cisco.com/community/connections/china
Cisco Learning Network China (思科网络学习空间)
https://learningnetwork.cisco.com/community/connections/china
最大寿命计时器由两个要素所组成:第一个要素是两台主机之间的交换机直径,通常,
两台主机之间不应当超过 7 台交换机,它也是最多丢失 3 个配置 BPDU 的基本要求:
直径 = ((丢失的 BPDU+1 ) *Hello 时间) + (延迟 * (直径-1))
= (( 3+1 )*2) + (1*( 7-1 ))=14s
第二个要素是最大寿命高估值。每台交换机都将最大寿命字段增加1s,并且将其作为
BPDU 穿过交换机的时间。这个1s是被交换机夸张的结果。实际上,交换机能够远在1s之内
就可以转发 BPDU :
最大寿命高估值 = (直径-1) * 延迟
= ( 7-1 ) *1=6s
最后,这两部分数值汇总成为最大寿命计时器的默认值( 20s ):
最大寿命 = 直径 + 最大寿命高估值
=14+6=20s
例如,如果两台主机的直径是 3 台网桥或交换机,那么最大寿命就是
12( 10+2 ) s :
直径 = (( 3+1 )*2) + (1*( 3-1 ))=10s
最大寿命高估值 = ( 3-1 ) *1=2s
10.2.2 BackboneFast
例 10-10 启用 BackboneFast 特性
10.2.3 UplinkFast
UplinkFast 是有助于解决收敛问题的另外一种特性。为了能够启用 UplinkFast 特性,
要求接入交换机和上行交换机之间必须存在冗余的物理链路,如图10-7所示。其中一条链路
用于流量转发,而另外一条链路用于备份功能。当转发链路发生故障时,备份链路将开始工
作并转发流量。通过上述过程,收敛时间能够降低到 2 ~3s。为了帮助建立新链路的 CAM
表,交换机将记录所有与故障链路相关的 MAC 地址,并且将以150pps的速度进行宣告,它
所采用的哑组播地址是01-00-0C-CD-CD-CD。
图 10-7 UplinkFast
(待续)
例 10-12 启用 UplinkFast 特性