网络管理员的工作很辛苦。他们负责确保网络上所有用户、服务器和应用程序的连通性。他们的任务通常是在获得应用程序需求之前构建网络设计,这使得一个具有挑战性的项目更加困难。在这种情况下,网络管理员尝试找到一种理想的网络设计是合乎逻辑的,他们可以将其用于任何一组应用程序。
没有一种 “一刀切” 的网络解决方案能每次都奏效,每种设计也都有优缺点。在本文中,我们分析了三种可以被视为理想的网络设计类型。然后,我们根据现实世界的因素,描述每种方法的不足之处。
候选方法包括:
全三层设计
全二层设计
使用 VXLAN 和 EVPN
让我们开始吧。
全三层设计
许多具有前瞻性思维的架构师认为全三层(L3)是理想的设计,因为它简单且只依赖于一个协议栈。所有流量都在 L3 级别使用等价多路径路由分担,端点冗余通过内建的 Anycast 方式实现。它既简单又优雅。
许多大型网络规模的 IT 公司选择它是因为其卓越的运营效率。它还为他们提供了对应用程序环境的鲁棒控制,以设计在此环境中工作的应用程序。
依赖网络 Overlay 或纯路由的应用程序针对 L3 体系结构进行了优化。无论是使用基于容器的解决方案,利用路由作为其机制来提供对环境的访问,还是使用容器网络接口来封装容器到容器的通信,这些解决方案在这种体系结构上都非常有效。
SmartNICs 和 DPUs 的出现,通过提供基于主机的解决方案来减轻资源密集型任务(如存储路由表、执行数据包封装和进行 NAT)的负担,使得 L3 方案更加对用户友好。
L3 方案最大的缺点是它不允许架构内 L2 邻接的任何部署。随着时间的推移,大多数企业必须引入需要 L2 邻接的应用程序,无论是机架内部还是机架之间。从历史上看,开发人员在编写应用程序使用 L3 功能管理集群时一直不可靠。许多传统应用程序不使用 DNS 或其他 L3 发现过程,而是使用 L2 广播域来发现和检测加入集群的节点。纯 L3 解决方案很难为需要这种环境的软件提供服务,因为每个 L2 域仅限于一个节点或一台服务器。
全二层设计
只使用 L2 的解决方案与只使用 L3 的解决方案相反。L2 主要利用 VLAN 隔离其连接,并依赖 MLAG 和生成树协议(STP)等传统功能来提供分布式解决方案。只使用 L2 的解决方案在网络环境中仍有一席之地,通常是在不需要扩展的简单静态环境中。
人们对 L2 感到满意,因为它使用了大多数人熟悉的经过验证的技术。它的协议栈很简单,只基于 OSI 模型的前两层做出所有转发决策。此外,市场上大多数低成本网络设备都具备这些功能集。
然而,L2 在扩展规模和性能表现上存在差距。依靠跨越三级设备的 STP 来防止环路,会导致不必要的冗余路径。为了绕过生成树收敛中的这个限制,可以尝试部署背靠背 MLAG 。然而,MLAG 在处理设备故障和同步控制平面方面不如只使用 L3 的解决方案有效。L2 网络倾向于限制广播和多播流量。这些只是 L2 设计的一部分限制,它们会在部署仅限 L2 的设计时产生隐藏的拥有成本。
Overlay 设计:VXLAN 和 EVPN
企业数据中心最常见的设计是 VXLAN 作为传输层封装技术,EVPN 作为控制平面技术。这种体系结构提供了最大的灵活性,具有全三层设计解决方案的所有优点,并为网络管理员提供了支持需要 L2 功能的应用程序的适应性。
它在不引入 STP 和 MLAG 等低效协议的情况下提供了 L2 邻接的功能。利用 EVPN 作为 L2 控制平面,并提供 multihoming 作为 MLAG 的最佳替代方案,Overlay 解决方案解决了 L2 的许多低效问题。
像 VXLAN 和 EVPN 这样 “一刀切” 的解决方案可以被认为是理想的,但即使这样也有缺点。它的批评者指出,使其运行需要的多层协议。该解决方案需基于 支持 BGP 的底层网络,在隧道端点之间配置 EVPN 。VXLAN 隧道配置在 overlay 层之上,其复杂程度取决于租户的要求。这可能包括与 VRF 集成,引入用于子网间通信的 L3 VNI ,以及依赖边界叶节点通过 VRF 路由泄漏进行租户间通信。将所有这些技术结合起来,会产生一定程度的复杂性,使故障排除和操作变得困难。
结论
无论是为了网络的简单性而牺牲操作的复杂性,还是为了灵活性而牺牲应用程序的控制,一切都有权衡。接受没有完美的网络设计的好处是,你现在可以自由选择最适合你的网络的架构和工作流程。与应用程序和基础架构团队合作,确定服务器需求,优化工作流程,并为应用程序的需求选择最佳解决方案。
-
服务器
+关注
关注
12文章
9034浏览量
85211 -
网络设备
+关注
关注
0文章
309浏览量
29619 -
网络设计
+关注
关注
0文章
14浏览量
7767
发布评论请先 登录
相关推荐
评论