4.1. L2-Only Designs (仅 L2 设计)
4.1. L2-Only Designs (仅 L2 设计)
最初, 大多数数据中心设计使用 [IEEE8021D-1990] 中最初定义的 Spanning Tree Protocol (STP, 生成树协议) 来创建无环拓扑, 通常使用第 3.1 节中描述的传统 DC 拓扑的变体。当时, 许多 DC 交换机要么不支持 Layer 3 路由协议, 要么以额外的许可费用支持它们, 这在设计选择中发挥了作用。尽管通过在 [IEEE8021D-2004] 的最新修订版中引入 Rapid Spanning Tree Protocol (RSTP, 快速生成树协议) 和 [IEEE8021Q] 中指定的 Multiple Spanning Tree Protocol (MST, 多生成树协议) 进行了许多增强, 从而提高了较大拓扑中的收敛性、稳定性和负载平衡, 但该协议的许多基本原理限制了其在大规模 DC 中的适用性。STP 及其较新的变体使用主动/备用方法进行路径选择, 因此很难在第 3.2 节中描述的水平扩展拓扑中部署。此外, 运营商在由于单个设备上的布线不当、配置错误或有缺陷的软件引起的问题而导致的大型故障方面有许多经验。这些故障通常会影响整个生成树域, 并且由于协议的性质而很难排除故障。由于这些原因, 并且由于几乎所有 DC 流量现在都是 IP, 因此需要在网络边缘使用 Layer 3 路由协议进行外部连接, 因此使用 STP 的设计通常无法满足大规模 DC 运营商的所有要求。对链路聚合协议 (如 [IEEE8023AD]) 的各种增强 (通常称为 Multi-Chassis Link-Aggregation, M-LAG, 多机箱链路聚合) 使得可以使用具有主动-主动网络路径的 Layer 2 设计, 同时依靠 STP 作为环路预防的备份。这种方法的主要缺点是在大多数实现中无法线性扩展超过两个, 缺乏基于标准的实现, 以及在设备之间同步状态的额外故障域风险。
值得注意的是, 最近通过在 [RFC6325] 中引入 Transparent Interconnection of Lots of Links (TRILL) 协议, 可以在没有 STP 的情况下构建大型、水平可扩展的仅 L2 网络。TRILL 解决了 STP 在大规模 DC 设计中存在的许多问题, 但是由于实现数量有限, 并且通常需要支持它的特定设备, 这限制了其适用性并增加了此类设计的成本。
最后, 基本 TRILL 规范和 M-LAG 方法都不能完全消除共享广播域的问题, 这对任何基于 Layer 2、Ethernet 的解决方案的操作都是非常有害的。后来提出了 TRILL 扩展来解决这个问题陈述, 主要基于 [RFC7067] 中概述的方法, 但这进一步限制了可用于构建结构的可互操作实现的数量。因此, 基于 TRILL 的设计在满足 REQ2、REQ3 和 REQ4 方面存在问题。