跳到主要内容

4. Data Center Routing Overview (数据中心路由概述)

4. Data Center Routing Overview (数据中心路由概述)

本节概述了三种通用类型的数据中心协议设计 -- 纯二层, 混合二层/三层, 和纯三层。

4.1 L2-Only Designs (纯二层设计)

最初, 大多数数据中心设计使用最初在 [IEEE8021D-1990] 中定义的生成树协议 (STP) 来创建无环拓扑, 通常利用第 3.1 节中描述的传统 DC 拓扑的变体。当时, 许多 DC 交换机要么不支持三层路由协议, 要么需要额外的许可费用才能支持, 这在设计选择中起了作用。尽管通过在 [IEEE8021D-2004] 的最新修订版中引入快速生成树协议 (RSTP) 以及在 [IEEE8021Q] 中规定的多生成树协议 (MST) 进行了许多增强, 提高了更大拓扑中的收敛, 稳定性和负载均衡, 但该协议的许多基本原理限制了其在大规模 DC 中的适用性。STP 及其较新的变体使用主动/备用方式进行路径选择, 因此很难在第 3.2 节中描述的水平扩展拓扑中部署。此外, 运营商经历了许多由于不当布线, 配置错误或单个设备上有缺陷的软件引起的问题导致的大规模故障。这些故障经常影响整个生成树域, 并且由于协议的性质而很难排除故障。由于这些原因, 并且由于几乎所有 DC 流量现在都是 IP, 因此需要在网络边缘使用三层路由协议进行外部连接, 使用 STP 的设计通常无法满足大规模 DC 运营商的所有要求。对链路聚合协议 (如 [IEEE8023AD]) 的各种增强, 通常称为多机箱链路聚合 (M-LAG), 使得可以使用具有主动-主动网络路径的二层设计, 同时依赖 STP 作为环路预防的备份。这种方法的主要缺点是在大多数实现中缺乏线性扩展超过两个的能力, 缺乏基于标准的实现, 以及在设备之间同步状态时增加的故障域风险。

应该注意的是, 最近通过在 [RFC6325] 中引入透明互连大量链路 (TRILL) 协议, 可以在没有 STP 的情况下构建大型, 水平可扩展的纯 L2 网络。TRILL 解决了 STP 在大规模 DC 设计中存在的许多问题, 然而, 由于实现数量有限, 并且通常需要支持它的特定设备, 这限制了其适用性并增加了此类设计的成本。

最后, 基本 TRILL 规范和 M-LAG 方法都没有完全消除共享广播域的问题, 这对任何基于以太网的二层解决方案的操作都是如此有害。后来提出了 TRILL 扩展来解决这个问题陈述, 主要基于 [RFC7067] 中概述的方法, 但这进一步限制了可用于构建网络结构的可用可互操作实现的数量。因此, 基于 TRILL 的设计在满足 REQ2, REQ3 和 REQ4 方面存在问题。

4.2 Hybrid L2/L3 Designs (混合二层/三层设计)

运营商试图通过在网络的 Tier 1 或 Tier 2 部分实施路由协议并将二层域划分为众多较小的域来限制数据平面故障的影响并构建大规模拓扑。这种设计使数据中心能够扩展, 但代价是管理多个网络协议的复杂性。出于以下原因, 运营商在网络的接入 (Tier 3) 或接入和汇聚 (Tier 3 和 Tier 2) 部分保留了二层:

  • 支持可能需要直接二层邻接或使用非 IP 协议的传统应用程序。

  • 虚拟机的无缝移动性, 当虚拟机移动到不同的 Tier 3 交换机时需要保留 IP 地址。

  • 简化的 IP 地址分配 = 数据中心需要更少的 IP 子网。

  • 应用程序负载均衡可能需要直接二层可达性来执行某些功能, 例如二层直接服务器返回 (DSR)。参见 [L3DSR]。

  • L2 和 L3 兼容交换机之间持续的资本支出差异。

4.3 L3-Only Designs (纯三层设计)

利用 IP 路由直到网络 Tier 3 的网络设计也越来越受欢迎。这些设计的主要优点是由于限制 L2 广播域而提高了网络稳定性和可扩展性。通常, 内部网关协议 (IGP) 例如开放最短路径优先 (OSPF) [RFC2328] 在这种设计中用作主要路由协议。随着数据中心规模的增长, 服务器数量超过数万台, 这种完全路由的设计变得更具吸引力。

选择纯 L3 设计大大简化了网络, 有助于满足 REQ1 和 REQ2, 并且在大型二层邻接和更大的三层子网与网络可扩展性和稳定性相比不那么关键的网络中得到广泛采用。应用程序提供商和网络运营商继续开发新的解决方案, 通过使用各种覆盖或隧道技术来满足以前推动大型二层域的一些要求。