Networking concepts

云环境从根本上改变了网络提供的和使用方式。在做出架构决策时,理解以下概念和决策至关重要。有关网络概念的详细信息,请参阅 OpenStack Networking Guide

网络区域

云网络被划分为多个逻辑区域,以支持网络流量流的需求。我们建议至少定义四个不同的网络区域。

底层

底层区域定义为连接存储、计算和控制平台的物理网络交换基础设施。有大量的潜在底层选项可用。

叠加层

叠加层区域定义为云组件之间的任何 L3 连接,可以采用 SDN 解决方案(如 neutron 叠加层解决方案)或第三方 SDN 解决方案的形式。

边缘

边缘区域是网络流量从云叠加层或 SDN 网络过渡到传统网络环境的位置。

外部

外部网络定义为提供对云资源和工作负载访问所需的配置和组件,外部网络定义为云边缘网关之外的所有组件。

流量流

云基础设施内有两种主要的流量流类型,网络技术的选择受预期负载的影响。

东西向 - 云内部工作负载之间的内部流量,以及计算节点和存储节点之间的流量都属于东西向类别。通常这是最繁忙的流量,并且由于需要满足存储访问需求,因此需要尽可能减少跳数和低延迟。

南北向 - 工作负载与所有外部网络之间的流量,包括客户端和远程服务。此流量流高度依赖于云中的工作负载和提供的网络服务类型。

层网络选择

在决定是使用 Layer 2 网络架构还是 Layer 3 网络架构时,需要考虑几个因素。有关 OpenStack 网络概念的更多信息,请参阅 OpenStack Networking Guide 中的 OpenStack Networking 部分。

使用 Layer-2 网络的优势

有几个原因导致网络设计基于 Layer-2 协议而不是基于 Layer-3 协议。尽管使用桥接来执行路由器的网络角色存在困难,但许多供应商、客户和服务提供商选择在网络的尽可能多的部分中使用以太网。选择 Layer-2 设计的优势是

  • 以太网帧包含所有网络必需品。这些包括但不限于全局唯一的源地址、全局唯一的目的地址和错误控制。

  • 以太网帧可以携带任何类型的包。Layer-2 网络与 Layer-3 协议无关。

  • 向以太网帧添加更多层只会降低网络处理速度。这被称为节点处理延迟。

  • 您可以像 IP 网络一样轻松地向以太网添加辅助网络功能,例如服务质量 (CoS) 或多播。

  • VLAN 是隔离网络的简单机制。

大多数信息始于以太网帧并以其结束。如今,这适用于数据、语音和视频。该概念是,如果从源到目的地的信息传输采用以太网帧的形式,网络将从以太网的优势中受益更多。

虽然它不能替代 IP 网络,但 Layer-2 网络可以成为 IP 网络的一个强大的补充。

Layer-2 以太网的使用比 Layer-3 IP 网络的使用具有额外的优势

  • 速度

  • 降低了 IP 层次结构的开销。

  • 无需跟踪系统移动时的地址配置。

虽然 Layer-2 协议的简单性在拥有数百台物理机的机房中可能效果很好,但云数据中心还必须跟踪所有虚拟机地址和网络。在这些数据中心,一个物理节点支持 30-40 个实例的情况并不少见。

重要提示

帧级别网络说明了数据包级别是否存在 IP 地址。网络中的所有端口、链路和设备以及所有源和目的主机仍然具有 IP 地址。继续需要 IP 地址的原因有很多。其中最大的是需要管理网络。没有 IP 地址的设备或链路通常对大多数管理应用程序不可见。包括远程访问进行诊断、配置和软件的文件传输以及类似应用程序的实用程序也无法在没有 IP 地址以及 MAC 地址的情况下运行。

Layer-2 架构的局限性

Layer-2 网络架构有一些局限性,当在传统数据中心之外使用时会变得明显。

  • VLAN 的数量限制为 4096。

  • 存储在交换机表中的 MAC 数量是有限的。

  • 您必须适应维护一组 Layer-4 设备以处理流量控制的需求。

  • MLAG 通常用于交换机冗余,是一种专有解决方案,无法扩展到两个设备之外,并强制进行供应商锁定。

  • 在没有 IP 地址和 ICMP 的情况下,对网络进行故障排除可能很困难。

  • 在大型 Layer-2 网络上配置 ARP 可能会很复杂。

  • 所有网络设备都需要了解所有 MAC,甚至实例 MAC,因此 MAC 表和网络状态会随着实例的启动和停止而不断变化。

  • 将 MAC(实例迁移)迁移到不同的物理位置可能是一个问题,如果您没有正确设置 ARP 表超时时间,则会出现此问题。

重要的是要知道 Layer-2 具有非常有限的网络管理工具集。很难控制流量,因为它没有管理网络或整形流量的机制。网络故障排除也很麻烦,部分原因是网络设备没有 IP 地址。因此,没有合理的方法来检查网络延迟。

在 Layer-2 网络中,所有设备都了解所有 MAC,即使它们属于实例。主干网络中的网络状态信息会在实例启动或停止时发生变化。由于此原因,主干交换机上的 MAC 表中变化过多。

此外,在大型 Layer-2 网络上,配置 ARP 学习可能会很复杂。交换机上 MAC 地址计时器的设置至关重要,如果设置不正确,可能会导致严重的性能问题。因此,当迁移 MAC 到不同的物理位置以支持实例迁移时,可能会出现问题。例如,Cisco 默认 MAC 地址计时器时间非常长。因此,交换机维护的网络信息可能与实例的新位置不同步。

使用 Layer-3 网络的优势

在 Layer-3 网络中,路由将实例 MAC 和 IP 地址从网络核心中移除,从而减少状态变化。只有在 Top of Rack (ToR) 交换机发生故障或主干网络中的链路发生故障时,才会发生路由状态变化。使用 Layer-3 架构的其他优势包括

  • Layer-3 网络提供与互联网相同的弹性和可扩展性水平。

  • 使用路由指标控制流量非常简单。

  • 您可以配置 Layer-3 使用边界网关协议 (BGP) 联合,以实现可扩展性。这样,核心路由器拥有的状态与机架的数量成比例,而不是与服务器或实例的数量成比例。

  • 有各种经过良好测试的工具,例如 Internet 控制消息协议 (ICMP),用于监视和管理流量。

  • Layer-3 架构支持使用 服务质量 (QoS) 来管理网络性能。

Layer-3 架构的局限性

Layer-3 网络的的主要局限性是没有内置的隔离机制,可以与 Layer-2 网络中的 VLAN 相媲美。此外,IP 地址的层次结构意味着实例与其物理主机位于同一子网中,这使得迁移出子网变得困难。出于这些原因,网络虚拟化需要使用 IP 封装和端主机上的软件。这是为了隔离虚拟层中的寻址与物理层中的寻址。Layer-3 网络的其他潜在缺点包括需要设计 IP 寻址方案,而不是依赖交换机自动跟踪 MAC 地址,以及在交换机中配置内部网关路由协议。

网络服务 (neutron)

OpenStack Networking (neutron) 是 OpenStack 的组件,它提供网络服务 API 和实现软件定义网络 (SDN) 解决方案的参考架构。

网络服务为租户提供对虚拟网络资源创建的完全控制。这通常以隧道协议的形式完成,这些协议通过现有的网络基础设施建立封装的通信路径,以隔离租户流量。此方法因具体实施而异,但一些更常见的方法包括通过 GRE 隧道传输、使用 VXLAN 封装和 VLAN 标签。