为加速网络融合并解决与生成树和虚拟 LAN ( VLAN )交互相关的地址可扩展性限制的问题, IEEE 开发了在 802.1w 中定义的快速生成树协议( RSTP )和在 802.1s 中定义的多生成树协议( MST )。这篇由思科的 Chiara Regale 撰写的文章介绍了 IEEE 802.1w 和 802.1s 的主要特性,讨论了与传统生成树协议的互操作性, 并提供了一些协议移植准则。
关键词:
网桥协议数据单元( BPDU ),思科多实例生成树协议( MISTP ), IEEE 802.1D , IEEE 802.1s , IEEE 802.1w ,多生成树协议( MST ),快速生成树协议( RSTP ),生成树协议( STP ), VLAN
深入阅读
有关生成树、 RSTP 和 MSTP 的具体信息,请阅读以下白皮书:
- 配置生成树
- 了解快速生成树协议 802.1w
- 了解多生成树协议 802.1s
功能强大、可靠的网络需要有效地传输流量,提供冗余和故障快速恢复功能。在第二层网络中,路由协议不可用,生成树协议通过从网格化物理拓扑结构而构建一个无环路逻辑转发拓扑结构,提供了冗余连接,消除了数据流量环路的威胁。原始生成树协议 IEEE 802.1D 通常在 50 秒内就可以恢复一个链接故障 [ 融合时间 = ( 2xForward_Delay ) +Max_Age] 。当设计此协议时,这种停机还是可接受的,但是当前的关键任务应用(如语音和视频)却要求更快速的网络融合。
为加速网络融合并解决与生成树和虚拟 LAN ( VLAN )交互相关的地址可扩展性限制的问题, IEEE 委员会开发了两种新标准:在 IEEE 802.1w 中定义的快速生成树协议( RSTP )和在 IEEE 802.1s 中定义的多生成树协议( MST )。
本文介绍了 802.1w 和 802.1s 的主要特性、与传统生成树协议的互操作性,并提供了一些协议移植准则建议。
IEEE 802.1w 快速生成树协议
IEEE 意识到原始 802.1D 生成树协议的融合特性与现代化的交换网络和应用相比是有差距的,为此设计了一种全新的 802.1w 快速生成树协议( RSTP ),以解决 802.1D 的融合问题。 IEEE 802.1w RSTP 的特点是将许多思科增值生成树扩展特性融入原始 802.1D 中,如 Portfast 、 Uplinkfast 和 Backbonefast 。(浏览这些思科特性的 具体信息 )通过利用一种主动的网桥到网桥握手机制取代 802.1D 根网桥中定义的计时器功能, IEEE 802.1w 协议提供了交换机(网桥)、交换机端口(网桥端口)或整个 LAN 的快速故障恢复功能。通过将生成树“ hello ”作为本地链接保留的标志, RSTP 改变了拓扑结构的保留方式。这种做法使原始 802.1D fwd-delay 和 max-age 计时器主要成为冗余设备,目前主要用于备份,以保持协议的正常运营。
除了下面章节中列举的新概念外, RSTP 引入了新的 BPDU 处理和新的拓扑结构变更机制。每个网桥每次“ hello time ”都会生成 BPDU ,即使它不从根网桥接收时也是如此。 BPDU 起着网桥间保留信息的作用。如果一个网桥未能从相邻网桥收到 BPDU ,它就会认为已与该网桥失去连接,从而实现更快速的故障检测和融合。
在 RSTP 中,拓扑结构变更只在非边缘端口转入转发状态时发生。丢失连接――例如端口转入阻塞状态,不会像 802.1D 一样引起拓扑结构变更。 802.1w 的拓扑结构变更通知( TCN )功能不同于 802.1D ,它减少了数据的溢流。在 802.1D 中, TCN 被单播至根网桥,然后组播至所有网桥。 802.1D TCN 的接收使网桥将转发表中的所有内容快速失效,而无论网桥转发拓扑结构是否受到影响。相形之下, RSTP 则通过明确地告知网桥,溢出除了经由 TCN 接收端口了解到的内容外的所有内容,优化了该流程。 TCN 行为的这一改变极大地降低了拓扑结构变更过程中, MAC 地址的溢出量。
端口作用
RSTP 在端口状态(转发或阻塞流量)和端口作用(是否在拓扑结构中发挥积极作用)间进行了明确的划分。除了从 802.1D 沿袭下来的根端口和指定端口定义外,还定义了两种新的作用(见图 1 ):
图 1
• 备份端口 ――用于指定端口到生成树树叶的路径的备份,仅在到共享 LAN 网段有 2 个或 2 个以上连接,或 2 个端口通过点到点链路连接为环路时存在
• 替代端口 ――提供了替代当前根端口所提供路径、到根网桥的路径
这些 RSTP 中的新端口实现了在根端口故障时替代端口到转发端口的快速转换。下面的例子中详细解释了此过程。
端口状态
端口的状态控制转发和学习过程的运行。
RSTP 定义了 3 种状态:放弃、学习和转发。根或指定端口在拓扑结构中发挥着积极作用,而替代或备份端口不参与主动拓扑结构。在稳定的网络中,根和指定端口处于转发状态,替代和备份端口则处于放弃状态。
快速融合概述
如前所述, RSTP 旨在尽快地将根端口和指定端口转成转发状态,以及将替代和备份端口转成阻塞状态。为防止生成转发环路, RSTP 在网桥间采用了明确的“握手”功能,以确保端口作用在网络中分配的一致性。
图 2
图 2 介绍了将端口转换成转发前达成的协定 / 建议握手。当链接激活时,“ P1 ”和“ P2 ”都成为处于放弃状态的指定端口。
在这种情况下,“ P1 ”将向交换机 A 发送一个建议 BPDU 。收到新 BPDU 后,交换机 A 将确认根交换机有较优根成本。因为 BPDU 包含较高的根优先级,交换机 A 在将新的根端口“ P2 ”转入转发状态前,会先启动同步机制。如果一个端口处于阻塞状态或是一个边缘端口(位于网桥 LAN 边缘或连接到终端工作站),该端口与根信息同步。
端口 3 (“ P3 ”)已满足上述要求,因为它已经是阻塞的。因此,不会对该端口采取任何行动。但是,“ P4 ”是一种指定端口,需要阻塞。一旦交换机 A 上的所有接口处于同步状态,“ P2 ”就会承认从前从根接收的建议,并可以安全地转入转发状态。在收到交换机 A 的认可后,根交换机将立即将“ P1 ”转入转发。建议 / 协定信息的类似传送波将从“ P4 ”传播至网络枝叶部分。
由于这种握手机制不依赖计时器,因此它可以快速地传播至网络边缘,并在拓扑结构变更后迅速恢复连接。如果协定并未复制建议信息,端口会转换成 802.1D 模式,并通过传统听学顺序转入转发状态。需要说明的是, 802.1w 协议只适用于点到点链接。在媒体共享的情况下, 802.1w 协议将转换成 802.1D 运行。
多生成树协议
在 Cisco MISTP[ 多实例生成树协议 ] 的推动下, MST 通过将一些基于 VLAN 的生成树汇聚入不同的实例,并且每实例只运行一个(快速)生成树,从而改进了 RSTP 的可扩展性。为确定 VLAN 实例的相关性, 802.1s 引入了 MST 区域概念。每台运行 MST 的交换机都拥有单一配置,包括一个字母数字式配置名、一个配置修订号和一个 4096 部件表,它与潜在支持某个实例的各 4096 VLAN 相关联。作为公共 MST 区域的一部分,一组交换机必须共享相同的配置属性。重要的是请记住,配置属性不同的交换机会被视为位于不同的区域。
为确保一致的 VLAN 实例映射,协议需要识别区域的边界。因此,区域的特征都包括在 BPDU 中。交换机必须了解它们是否像邻居一样位于同一区域,因此会发送一份 VLAN 实例映射表摘要,以及修订号和名称。当交换机接收到 BPDU 后,它会提取摘要,并将其与自身的计算结果进行比较。为避免出现生成树环路,如果两台交换机在 BPDU 中所接收的参数不一致,负责接收 BPDU 的端口就会被宣布为边界端口。
IEEE 802.1s 引入了 IST (内部生成树)概念和 MST 实例。 IST 是一种 RSTP 实例,它扩展了 MST 区域内的 802.1D 单一生成树。 IST 连接所有 MST 网桥,并从边界端口发出、作为贯穿整个网桥域的虚拟网桥。 MST 实例( MSTI )是一种仅存在于区域内部的 RSTP 实例。它可以缺省运行 RSTP ,无须额外配置。不同于 IST 的是, MSTI 在区域外既不与 BPDU 交互,也不发送 BPDU 。 MST 可以与传统和 PVST+ 交换机互操作。思科实施定义了 16 种实例:一个 IST (实例 0 )和 15 个 MSTI ,而 802.1s 则支持一个 IST 和 63 个 MSTI 。
与传统生成树的互操作性
RSTP 和 MSTP 都能够与传统生成树协议互操作。但是,当与传统网桥交互时, 802.1w 的快速融合优势就会失去。
为保留与基于 802.1D 网桥的向后兼容性, IEEE 802.1s 网桥在其端口上接听 802.1D 格式的 BPDU 。如果收到了 802.1D BPDU ,端口会采用标准 802.1D 行为,以确保兼容性。例如,在图 3 中,交换机 A 上的“ P4 ”一旦在至少两倍的“ hello time ”中检测到 PVST+ BPDU ,它就会发送 PVST+ BPDU 。要说明的是,如果 PVST+ 网桥从网络中删除后,交换机 A 就无法发现拓扑结构变更,需要人工重启协议移植。
图 3
图 3 介绍了应用于 VLAN 2000 的转发拓扑结构,它映射至 RSTP/MSTP 区域中的 MST #2 。用于 IST 和 MST #2 的根交换机驻留于 RSTP/MSTP 区域内。 MSTI BPDU 并未发送至边界端口“ P4 ”外,只有 IST BPDU 是如此。通过在 PVST+ 域所有现用 VLAN 上复制 ISTP BPDU , MST 区域模拟了 PVST+ 邻居。然后, PVST+ 域接收 IST 上发送的 BPDU ,并选择交换机 B 作为 VLAN 2000 的根交换机(注:交换机 B 是 IST 的根。)
如果 PVST+ 域中出现拓扑结构变更,在传统云中生成的相应的拓扑结构变化通知( TCN ) BPDI 将由 IST 在 MST 域中处理,不致影响 MST 转发拓扑结构。为了避免可能导致环路的错误配置,强烈建议为 MST 域中的 PVST+ 实例(即 IST 根)配置根交换机。
主要定义
IEEE 802.1D ―― IEEE 建议,在整个第二层域中定义单一无环路拓扑结构。由于 802.1D 无虚拟 LAN ( VLAN )感知功能,因此转发拓扑结构是唯一的,独立于网络中现用的 VLAN 。这种方案从计算开支的角度是可扩展的,但在配置多个 VLAN 的情况下,无法为冗余链接提供负载均衡功能 。
PVST+ ――思科生成树为每个 VLAN 构建了一个不同的逻辑拓扑结构。这种方案通过允许每个 VLAN 拥有不同的转发链接,实现了负载均衡,但它却是 CPU 密集型的――网桥协议数据单元( BPDU )是根据各个 VLAN 生成并处理的。
CHIARA REGALE 是思科城域以太网部的技术营销工程师。她主要从事城域以太网领域的解决方案设计和修正工作。从意大利 Politecnico of Turin 获得电信工程理学硕士学位后, Regale 加盟 Cisco Catalyst 6000 生成树协议开发团队,负责设计和实施特性,以改进生成树性能。她的联系方式为 [email protected] 。有关一些交换机转发拓扑结构的移植策略和样本配置,请参考 Packet Online 。