前言
当监控 Spanning-Tree PRotocol (STP)操作时,您可以关系到当看拓扑修 改计数器增加在统计数据日志时。拓扑更改是正常的在STP ,但太多他们能有对网络性能的影响。 本文解释此拓扑更改 机制的目的,什么触发器结构更改事件,和描述一些问题与拓扑更 改机制有关。
在您开始之前
惯例
欲知关于文件惯例的更 多信息,请参阅 Cisco技术提示惯例。
前提
此 文档没有非凡的先决条件。
使用的组件
本文不限于特定软件和硬件版本。
本文提供的信息在特定实验室环境里从设备被创建了 。用于本文的所有设备开始了以一个缺省(默认)配置。 假如在一个真实网络工作,保证您使用它以前了解所有命令 的潜在影响。
拓扑更改机制的目的
了解从帧它接受,网桥创建关联对端口主机的媒体访 问控制(MAC)地址可以通过此端口被到达的表。用于此表传送 帧直接地到他们的目的地端口因此避免泛滥。
此表的默认过期时间是300秒(5分钟) 。在主 机是静音的在五分钟之后,其条目从网桥的表消失。这是显 示示例我们为什么的可能希望此过期更加快速:
在此网络,请假设网桥B1阻拦其B4的链路。A 和B是有建立的连接的二个位置。数据流从A到B去B1、B2、B3 然后B4。 机制在此情况显示四个网桥了解的MAC 地址表:

现在,请假设B2和B3的之间链路未能。 中断A和B的 之间通信至少直到B1放置其端口对B4在转发方式(最多50秒带有默认 参数) 。但当时A想要发送帧到B,仍然B1有一个条目导致B2 并且信息包寄发到黑洞。当B想要到达A时,同样适用: 通信丢失在五分钟,直到条目为A和B MAC地址超龄。

网桥实现的转发数据库是非常高效的在一个 稳定网络,但有五分钟过期时间 其中问题的许多情况在网络的结构更改了之后。拓扑更改机 制是那的一个解决方法亲切问题。当网桥发现在网络上(基本 上一条链路的结构的一个变化断开或去的转发),做通告事件对整个 桥接网络。 我们在下个部分将看见这如何实际上被实施。 每个网桥然后被通知并且使过期时间降低到 forward_delay (15秒默认情况下)某一时期 (max_age + forward_delay)。它是更加聪明的减少过期时间 而不是简单收拾桌子因为当前激活主机,那有效传输数据流,没有 从表被清除。
如此,在我们的示例, 当网桥B2或B3 发现链路断开,他们发送拓扑更改通知。 非 常很快,所有网桥意识到事件并且使他们的过期时间降低到15秒。 因为B1在其导致B2的端口在15秒从B不收到任何信息包,在此 端口超龄条目为B。同样在导致B3 的端口在B4发生在条目为 A。然后,当时B1和B4的之间链路去转发,数据流在此链路立 即被充斥并且重学。
操作原理
此部分说明在网桥协议数据单元(BPDU) 级别网桥如 何做通告拓扑更改。
当网桥考虑它被 发现拓扑更改时,我们已经简要解释了。确切的定义是:
当是转发的端口断开例如(阻塞)。
当与转发和网桥的端口转换有 Designated Port。(这基本意味网桥不独立。)
这里真正的挑战是发送通知到所有 网桥在网络。这在二个步骤达到:
网桥通知生成树的根网桥。
根网桥"播放"信息到整个网络。
通知根网桥
在正常STP操作,网桥在 其根端口继续接受配置BPDU从根网桥,但从未派出BPDU往根网桥。 如此,为了达到那,介绍称为拓扑变化通知(TCN) BPDU的特 殊BPDU。因此,当时网桥需要发信号拓扑更改,它在其根端 口开始发送TCNs。指定的网桥接受TCN,承认它,并且生成另 外一个为其自己的根端口。 并且等等直到TCN击中根网桥。

TCN是不包含绝对信息的非常简单BPDU网桥派出每 hello_time秒钟(这是本地配置的hello_time,在配置BPDU指定的不 是hello_time)。指定的网桥通过立即退还正常承认TCN配置 BPDU与拓扑变化确认(TCA)位集。通知拓扑更改的网桥不会停 止发送其TCN直到指定的网桥承认了它,因此指定的网桥回答TCN即 使从其根不接受配置BPDU。
播放事件对网络
一旦根知道有一个结构更改事件在网络,开始派出其 配置BPDU与设置的拓扑变化(TC)位。这些BPDU在网络被每个 网桥传递与此位集,因此每一个网桥意识到拓扑更改情况并且可以 使其过期时间降低到forward_delay。
TC位将由支持设置每max_age的周期+ forward_delay秒钟,默认情况下是20+15=35秒钟。

该做什么当有许多拓扑更改在网 络
这是唯一可以由TCN生 成,跟随由一些信息关于怎样限制拓扑更改和查找从他们在哪里来 的少量问题。
假如有 show-tech support命令的输出 从您的Cisco设备,您能使用 Output Interpreter 显示潜在问题和修正。 使用 Output Interpreter ,您必须是一个 注册的用户,登录,并且安排javascript 被启用。
溢出流量
更多主机在网络,越高 获得拓扑更改的可能性。例如,当重新启动,一台直接地附 上主机将触发拓扑更改。在非常大(和平面的)网络,我们能 到达网络永久地其中在拓扑更改状态的点。实际上,这是好 象过期时间配置了到15秒,将导致泛滥的一高水平。这是发 生一致我们的用户进行若干服务器备份的最坏的情况。
因为造成非常大流量

问题在 ATM LANE桥接环境里
此案件比一次快速过期暗示的数据流正常泛滥重要。在一次 拓扑更改的收据为VLAN,Catalyst交换机将有其LAN仿真模块再确认 他们的LE arp表为对应的仿真LAN (ELAN)。 因为每个LANE前 端在ELAN同时将发出同一个请求,在LAN仿真服务器(LES)可能放置 一个高重点假如有再确认的很多条目。我们在此方案看了连 通性问题。假如网络对拓扑更改是区分的,真正的问题是没 有拓扑更改然而网络的设计。虽然,它实际上有道理尽量限 制TCN生成保存LES的CPU (至少)。请参阅以下部分限制TCN生 成。
避免 TCN生成用Portfast命令
portfast功能是在STP实施的上一个Cisco 专利的变 化。命令实施于特定端口并且有二个作用:
端口出现直接地在转发STP模式放置,而不是通过了 解的和监听的进程。注重STP在端口仍然运行与生成树协议增 强。
当为生成树协议增强配置的端 口断开或时,交换机从未生成TCN。
您在其中连接的主机该一非常可能上上下下带来他们的链路的端口 能然后启用生成树协议增强(典型地终端站常见用户重新启动)。 在导致集线器或其他网桥的端口应该确定地避免功能不应该 是必要的为服务器端口并且:直接地transitioning对转发状 态的端口在一条冗余链路引起临时桥接环路或能引起临时桥接环路 。
但切记拓扑更改可以是有用的, 因此请勿启用生成树协议增强在链路上升或发生故障一个重大活动 为网络的端口。
跟踪TCN的来源
本身,拓扑更改不是 一件坏事,而是作为一个好网络治理员,知道最好的他们何处来自 为了是确保的他们没有与一个真正的问题有关。识别发出拓 扑更改的网桥不是一项轻易的任务,虽然不技术上非常复杂。
仅多数网桥计数他们发出了或接受 TCNs 的数量。Catalyst 4000、5000及6000能显示端口和发 送最后拓扑更改他们接受网桥的ID。 从根开始,去下行创始 者网桥是然后可能的。欲知更多信息,请参阅信息关于命令 。
假如有 show spantree statistics命令的输出 从您的Cisco设备,您能使用 Output Interpreter 显示潜在问题和修正。 使用 Output Interpreter ,您必须是一个 注册的用户 ,登录,并且安排Javascript被启用。
结论
切记TCN不开始STP重 估。此惧怕来自事实TCNs经常同不稳定的STP环境联系在一起 ; TCNs是此的后果,不是原因。TCN 在过期时间只有 影响; 它不会更改结构亦不创建循环。
数量或拓扑更改的费率本身不是问题。问题将 了解什么拓扑更改意味着。 一个正常网络能体验拓扑更改的 高速率。然而,理想地,一次拓扑更改与一个重大活动有关 在网络类似服务器断开或或者链路transitioning。这在作为 他们的正常运行一部分,上上下下去的端口可以通过启用生成树协 议增强达成。