由于混合云与容器网络的出现,数据中心网络比以往任何时候都更加复杂。现在已经不再是遵循简单的原则,IT就容易成功的时代。现代的数据中心网络更加复杂,也更加的自动化。
在不久的将来,数据中心内的流量转发将会变得很简单。一个IP地址将会与另一个IP地址通话。这些地址都属于端点(结束点) ——裸机主机或虚拟机与其他裸机主机或虚拟机进行通信。
这些IP地址之间的路径被数据中心交换机知道为路由和桥接表中的条目。
如果一位工程师需要寻找两个IP端点之间的故障或一些异常的行为,最好是从查看构造这两条路径之间的一些表格查起。等成本多路径与multichassis链路聚合增加了这一过程的复杂性,但就整体而言,运营商还是可以找出合适的路径让任何数据中心之间都能建立路径,彼此对话。
数据中心/网络架构/IT
备注:Equal-cost multipath (ECMP):等成本多路径路由是一种路由策略,其中下一跳数据包转发到单个目的地可以发生在多个“最佳路径”上,这些路径在路由度量计算中位居榜首。多路径路由可以与大多数路由协议一起使用,因为它是一个限于单个路由器的每跳决策。它可以通过负载平衡多条路径上的流量来显着增加带宽。但是,在实际应用中可能会遇到重大问题。一般来说RFC 2991讨论了多路径路由。2014年,电气和电子工程师协会(IEEE)将等价多路径(ECMP)或IEEE标准802.1Qbp合并到IEEE 802.1Q-2014中以实现最短路径桥接。将最短路径桥接中用于单播和多播流量的前向和反向路径指定为确定性路径上的对称保险流,解决原始标准实施中的配置复杂性,管理功能和性能问题。
事实上,端点与端点之间的通信并没有什么复杂的。网络地址之间的转换、加密或数据挖掘很少出现。这些功能往往位于数据中心的边缘位置,与受信任范围之外的设备进行通信。
现代数据中心
随着业务需求的变化,现代数据中心的网络架构看起来跟以往的有些不同。比起过去设施相对单一的数据中心,现代的数据中心则是完整的、统一的基础设架构平台,在这个平台上运行着各种应用程序。数据中心被视为一个整体;它是应用程序交付的引擎。
越来越多的基础设施都在对应用程序的开发人员透明化。 完全现代化的基础设施对开发人员以及应用程序而言,似乎有些抽象,不够具体。 不过开发人员不必为此担忧,数据中心资源都是按需分配,平台会智能分配资源。
现代数据中心以一种分布式的方式处理安全问题,协调动态管理资源与卸载工作负载问题。而不再需要通过中央物理防火墙来强制执行安全策略。
比起构建中央安全策略,安全管理人员将该套软件的相关部分安装到受与之有关的主机、VM上,似乎是更容易操作、管理。不需要基础设施,也不需要路由需求来强制执行这样的政策。
在高层级上,我们一直在规划私有云架构,在这种方式下的物理基础设施,可以与公共云进行更简单的协作。因此,混合云架构越来越受欢迎,人们期望公共云工作与私有云能够具有相同的安全性和连接性。
层级
随着混合云架构成为新的常态,重要的是要注意这些趋势对网络的影响。数据中心不再像之前简单地一个IP地址与地与另一个IP地址进行对话,在遇到麻烦时,路由和桥接表可以进行协商。
现代数据中心灵活性的基础设施更加依赖于复杂的网络。推动这种复杂性的是工作负载隔离、服务策略实施和安全性的需要。因此,与其说是IP地址的海洋,倒不如说现代数据中心更像是一层蛋糕。
蛋糕底部是底层网络。这层网络是所有其他网络服务的基础。这也是网络工程师最熟悉的网络。当他们查看他们的路由和桥接表时,他们看到的是底层网络——数据中心的基础。
然而,底层网络本身不能提供混合云所需的一切。日益增长对网络的要求是将负载进行隔离,称为多租户。租户可以是应用程序、业务单元或者是客户。
租户的流量可以通过虚拟LAN(VXLAN)进行扩展,通过封装技术与其他流量隔离。 来自一个网段的流量被封装在一个VXLAN数据包中,通过网络传送到另一边的解封装。 VXLAN是第二层 - 覆盖层 - 位于底层之上。
它不仅可以提供流量分离,还可以通过VXLAN通过网络上的特定路径来路由流量。 假设数据中心需要通过特定的防火墙和负载均衡器转发流量。 在现代网络中,防火墙和负载均衡器可能作为虚拟化网络功能存在,可能位于数据中心的任何位置。 为了将流量精确地路由到需要去的地方,可以使用VXLAN封装将设备之间的流量通过隧道,直到遍历所有需要的设备。
防火墙规则在我们的覆盖底层蛋糕中形成另一层。 中央策略管理器按主机插入防火墙规则主机。 每个主机都有自己的一组规则来管理进出设备。 对已知负载进行分割,这是确保可扩展数据中心安全性的一种实用方法。
容器增加了更多网络复杂性的通配符。 容器网络是一种新兴的技术,受名称空间,代理服务器和网络地址转换的控制,使得容器能够相互通信,而外部工作又是另一层。
容器是一个简洁操作系统虚拟化方法,用于从其他服务在同一容器主机上运行的分隔应用程序或服务。 若要启用此功能,每个容器具有操作系统、 进程,文件系统、 注册表以及 IP 地址的视图。
容器类似于网络关于希望在虚拟机的功能。 每个容器已连接到哪些传入和传出的通信的虚拟交换机虚拟网络适配器。 强制容器同一台主机上的分隔,为每个 Windows Server 和 HYPER-V 容器容器该网络适配器安装到其中创建网络盒。 Windows Server 容器使用主机 vNIC 吸附到虚拟交换机用来。 HYPER-V 容器使用综合 VM NIC (不会受到实用程序 VM) 连接到虚拟交换机用来。
容器端点可以将附加到主机本地网络 (如 NAT)、 物理网络或通过 Microsoft 软件定义网络 (SDN) 堆栈创建覆盖虚拟网络。
运营商的困扰
现代数据中心网络架构所带来的复杂性是运营商面临的潜在问题。 大多数网络问题都与连接或性能有关。 应该能够连接但不能的两个端点是一种问题。 两个端点连接,但没有如预期的那样快速通信是另一个问题。
使用分组漫游方法解决连接问题。 从一个网络设备到另一个网络设备,遵循数据包到达目的地的路径。 当知道实际的IP端点时,这很简单。
在现代数据中心,底层用于传输VXLAN或其他覆盖数据包。最重要的是,我们添加防火墙规则,然后可能是网络地址转换或代理服务; 数据包丢失变得更加困难,充满细微差别。
为了诊断连接问题,运营商需要知道数据包的来源和目的地 - 包括容器,虚拟机或裸机主机,管理该数据包的防火墙策略,数据包封装和要遵循的服务链。
假设运营商了解应用程序流,并在没有任何障碍的IT组织中运行,看起来,这并不是那么糟糕。 当然,在实际条件下,这种情况并不多见。在桥接和路由表中查找媒体访问控制和IP地址只是更复杂的故障排除过程的一小部分。 加上现代基础设施往往是短暂的事实,运营商可以解决过去发生的,但不能重建问题。
事实上,性能方面的问题挑战更难以诊断。 接触给定对话的网络设备的数量可能涉及虚拟操作系统,管理程序软交换机,虚拟防火墙,架顶式交换机,主干交换机,然后一直到另一端点。
当一些工作负载在公共云中时,事情变得更加复杂。 将基础设施或平台作为服务放在等式中,意味着在我们的故障排除方面,添加高延迟等变量。
行业反应
我们坚持知识产权。 而且由于我们被困在IP中,同时又需要额外的功能,叠加在这里。 叠加使我们能够引导和隔离流量,而且功能非常重要。 有了它,我们可以将我们的基础设施视为资源池,随意添加和减少容量。 这个问题变成了管理我们添加到环境中的网络复杂性的问题之一。
网络行业已经在几个方面接受了这个挑战。 首先是接受。 如果我们同意复杂性在这里,那么我们将提供工具,使我们能够发现或可视化网络上发生的事情。 例如,思科为运营商提供增强的工具,以便在其以应用为中心的基础架构平台上解决端到端的连接问题。 VMware最近购买了一款可视化工具Arkin,该工具将工作负载与防火墙策略和VXLAN分割相关联,并与自然语言搜索引擎配对。
有效的故障排除和可视化工具正日益成为现代数据中心平台的优势。 但是,有些人通过创建转发方案来避免复杂性,如果可能的话,避免覆盖。
例如,Romana.io开放源代码项目依赖于分层IP寻址方案与基于主机的防火墙规则相结合来创建分段和中央安全策略。 开源项目Calico是相似的。 Romana.io和Project Calico都非常有趣,因为它们提供的转发方案可以扩展到大型数据中心,同时还能处理安全性和分段要求,而且不需要重叠。
也许目前遇到的 最大的问题不是如何处理网络复杂性问题,而是关于如何提供支持解决方案的工作人员。 有一个想法是,自动化将允许IT人员减少。 作为一名20年的IT基础设施老手,我不这么认为。 比如,遇到非常复杂网络问题,就需要经验丰富的IT人员及时解决问题。当自动化出现故障的时候,企业、组织不仅仅希望与他们的供应商保持联系。他们同时还希望有专业知识的专业人士随时准备解决问题。