网络

为什么没有理想的数据中心网络设计

网络管理员的工作很辛苦。他们负责确保网络上所有用户、服务器和应用程序的连通性。他们的任务通常是在获得应用程序需求之前构建网络设计,这使得一个具有挑战性的项目更加困难。在这些场景中,网络管理员尝试找到一种理想的网络设计是合乎逻辑的,他们可以将其用于任何一组应用程序。

没有一种“一刀切”的网络解决方案每次都能奏效,每种设计都有优缺点。在本文中,我们分析了三种可以被视为理想的网络类型。然后,我们根据现实世界的因素,描述每种方法的不足之处。

候选人包括:

  • 纯 3 层
  • 仅限第二层
  • 覆盖 VXLAN 和 EVPN

准备好的让我们开始吧。

纯 3 层设计

许多具有前瞻性思维的架构师认为纯第 3 层( L3 )是理想的设计,因为它简单且只依赖于一个协议栈。所有流量都在 L3 级别使用同等成本的多路径路由和平衡,端点冗余通过本机功能的选播地址解决方案实现。它既简单又优雅。

许多大型网络规模的 IT 公司选择它是因为其卓越的运营效率。它还为他们提供了对应用程序环境的鲁棒控制,以设计在此设计中工作的应用程序。

依赖网络覆盖或纯路由的应用程序针对 L3 体系结构进行了优化。无论是使用基于容器的解决方案,利用路由作为其机制来提供对环境的访问,还是使用容器网络接口来封装容器到容器的通信,这些解决方案在这种体系结构上都非常有效。

SmartNICsDPUs 的出现,通过提供基于主机的解决方案来减轻资源密集型任务(如存储路由表、执行数据包封装和进行 NAT )的负担,使得 L3 更加用户友好。

L3 最大的缺点是它不允许第二层( L2 )邻接的任何分布。随着时间的推移,大多数企业必须引入需要 L2 邻接的应用程序,无论是机架内部还是机架之间。从历史上看,开发人员在编写应用程序以使用 L3 功能处理集群时一直不可靠。许多传统应用程序不使用 DNS 或其他 L3 发现过程,而是使用 L2 广播域来发现和检测加入集群的节点。纯 L3 解决方案很难为需要这种环境的软件提供服务,因为每个 L2 域仅限于一个节点或一台服务器。

仅限第二层设计

只有 L2 的解决方案与纯 L3 相反。 L2 主要利用 VLAN 隔离其连接,并依赖 MLAG 和生成树协议( STP )等传统功能来提供分布式解决方案。仅限 L2 的解决方案在网络环境中仍有一席之地,通常是在不需要扩展的简单静态环境中。

人们对 L2 感到满意,因为它使用了大多数人熟悉的经过验证的技术。它在协议栈中很简单,只基于 OSI 模型的前两层做出所有转发决策。此外,市场上大多数低成本网络设备都具备这些功能集。

然而,二语在规模和表现上存在差距。依靠三层 STP 来防止环路,会导致效率低下的冗余路径。为了绕过生成树收敛中的这个限制,可以尝试部署背靠背 MLAG 。然而, MLAG 在处理设备故障和同步控制平面方面不如纯第三层解决方案有效。 L2 网络倾向于限制广播和多播流量。这些只是一些限制,它们会在部署仅限 L2 的设计时产生隐藏的拥有成本。

覆盖设计: VXLAN 和 EVPN

企业数据中心最常见的设计是 VXLAN 作为传输层封装技术, EVPN 作为控制平面技术。这种体系结构提供了最大的灵活性,具有纯第 3 层解决方案的所有优点,并为网络管理员提供了支持需要 L2 功能的应用程序的适应性。

它在不引入 STP 和 MLAG 等低效协议的情况下提供了 L2 邻接的好处。利用 EVPN 作为 L2 控制平面和 multihoming 作为 MLAG 的最佳替代方案,覆盖解决方案解决了 L2 的许多低效问题。

像 VXLAN 和 EVPN 这样一刀切的解决方案可以被认为是理想的,但即使这样也有缺点。它的批评者指出,使其运行所需的多层协议。该解决方案基于启用 BGP 的参考底图,在隧道端点之间配置 EVPN 。 VXLAN 隧道配置在覆盖层之上,其复杂程度取决于租赁要求。这可能包括与 VRF 集成,引入用于子网间通信的 L3 VNI ,以及通过 VRF 路由泄漏依赖边界叶进行租户间通信。将所有这些技术结合起来,会产生一定程度的复杂性,使故障排除和操作变得困难。

结论

无论是为了网络的简单性而牺牲操作的复杂性,还是为了灵活性而牺牲应用程序的控制,一切都有权衡。接受没有完美的网络设计的好处是,你现在可以自由选择最适合你的网络的架构和工作流程。与应用程序和基础架构团队合作,确定服务器需求,优化工作流程,并为应用程序的需求选择最佳解决方案。

了解 NVIDIA 网络解决方案


Tags