睿诚科技协会

OpenStack网络模式有哪些?各有什么区别?

核心概念

  1. 网络

    OpenStack网络模式有哪些?各有什么区别?-图1
    (图片来源网络,侵删)
    • 一个隔离的二层网络,类似于传统交换机,你可以创建多个网络,每个网络内的实例可以互相通信,但默认情况下不能与其他网络通信。
    • 可以指定网络类型,如 VLAN、VXLAN、GRE 等。
  2. 子网

    • 在网络之上定义的三层网络,包括 IP 地址范围(CIDR)、网关、DNS 服务器等。
    • 实例从这个子网获取 IP 地址。
  3. 路由器

    • 一个虚拟三层设备,用于连接不同的网络(包括私有网络和外部网络)。
    • 它负责在不同网络之间转发数据包,实现网络互通。
    • 路由器通常有一个“外部网关接口”,用于连接到外部网络(如物理网络或提供互联网访问)。
  4. 端口

    • 网卡在虚拟交换机上的一个虚拟接入点。
    • 每个虚拟机实例都有一个或多个端口,这些端口连接到某个网络。
    • 端口还包含安全组规则、绑定信息等。
  5. 安全组

    OpenStack网络模式有哪些?各有什么区别?-图2
    (图片来源网络,侵删)
    • 实例的虚拟防火墙,由一组“允许”和“拒绝”的入站/出站规则组成。
    • 默认情况下,安全组只允许 SSH (22) 和 ICMP 流量,其他所有流量都被拒绝。
    • 安全组是“有状态”的,意味着如果一个出站连接被允许,对应的入站回复流量也会被自动允许。
  6. 插件

    • Neutron 的核心架构是插件化的,插件负责实现特定的网络后端技术,如 Open vSwitch、Linux Bridge、ML2 等。
    • ML2 (Modular Layer 2) 是目前最主流的插件,它允许多种 L2 网络类型(如 VLAN, VXLAN)共存于一个云环境中。

主要的网络部署模式

根据网络隔离程度、是否使用外部网络以及规模,OpenStack 主要有以下几种常见的部署模式:

Provider (Provider) 网络 / Flat 网络

这是最简单、最直接的模式,适用于小型环境或快速部署。

  • 工作原理:
    • OpenStack 直接使用物理网络(即由外部网络管理员提供的 VLAN)。
    • Neutron 不创建虚拟网络,而是直接将虚拟机的虚拟端口桥接到物理网络接口(如 br-ex)上。
    • 虚拟机获得的 IP 地址由外部网络(如公司的 DHCP 服务器)分配,或者通过 Neutron 的 DHCP 服务分配。
  • 特点:
    • 优点: 配置简单,与现有网络环境集成容易,性能较高(因为少了一层虚拟化)。
    • 缺点: 网络隔离性差,所有虚拟机都在同一个物理广播域内,扩展性有限,难以实现多租户隔离。
  • 适用场景: 测试环境、小型私有云,或者当网络管理员希望完全控制网络时。

Self-Service (Tenant) 网络 / 私有网络

这是 OpenStack 最核心、最常用的模式,为租户(用户)提供完全隔离的私有网络。

OpenStack网络模式有哪些?各有什么区别?-图3
(图片来源网络,侵删)
  • 工作原理:
    1. 创建网络: 租户创建一个或多个私有网络(如 tenant-net)。
    2. 创建子网: 在私有网络上创建一个子网,并配置 IP 地址范围、网关和 DHCP 服务。
    3. 创建路由器: 创建一个虚拟路由器。
    4. 连接: 将路由器的接口连接到私有网络,同时将路由器的“外部网关”连接到 provider 网络(即物理网络)。
    5. 启动实例: 将实例连接到这个私有网络,实例会从子网获取私有 IP 地址。
  • 特点:
    • 优点: 高度隔离,每个租户的网络完全独立,互不影响,支持复杂的网络拓扑,如多层应用。
    • 缺点: 配置相对复杂,需要正确设置路由器才能访问外部网络。
  • 网络访问:
    • 内部通信: 同一个私有网络内的实例可以互相通信。
    • 外部通信 (North-South): 实例通过路由器和浮动 IP 访问外部网络(如互联网),或者被外部网络访问。
    • 跨网络通信: 不同租户的私有网络可以通过路由器进行互通(需要管理员配置)。
  • 适用场景: 大多数生产环境,特别是需要多租户隔离的场景。

VLAN 网络

这是一种特殊的 Self-Service 网络,它使用 VLAN 技术来提供二层隔离。

  • 工作原理:
    • 当租户创建一个 Self-Service 网络时,Neutron 会为其分配一个唯一的 VLAN ID。
    • 所有连接到这个网络的实例的流量都会被打上这个 VLAN 标签。
    • 物理网络交换机需要配置为 Trunk 模式,允许这些 VLAN ID 的流量通过。
  • 特点:
    • 优点: 提供了与物理网络 VLAN 相同级别的隔离,易于与现有网络策略集成。
    • 缺点: VLAN ID 的数量有限(通常最多 4094),在大规模多租户环境中可能会耗尽,物理交换机需要支持 VLAN。
  • 适用场景: 需要与现有物理网络 VLAN 策略严格对齐的企业环境。

Overlay 网络 (VXLAN / GRE)

这是目前大规模、多租户云环境中最主流的模式,它通过隧道技术在 IP 网络之上构建虚拟的 L2 网络。

  • 工作原理:
    • 当租户创建一个 Self-Service 网络时,Neutron 会为其分配一个唯一的 VXLAN 网络标识符(VNI)或 GRE 密钥。
    • 同一个网络内的实例之间通信时,虚拟机发送的原始以太网帧被封装在 UDP 包中(对于 VXLAN),并通过底层 IP 网络进行传输。
    • 目标主机解封装后,得到原始以太网帧。
  • 特点:
    • 优点:
      • 极高的可扩展性: VNI 的数量远多于 VLAN ID(数百万级别),支持海量租户。
      • 网络无感知: 底层网络可以是任何 IP 网络,无需支持 VLAN,简化了物理网络配置。
      • 灵活的部署: 可以跨越多个物理机架甚至数据中心。
    • 缺点: 相比 VLAN,多了一层封装,会带来轻微的性能开销(现代硬件可以很好地缓解这个问题)。
  • 适用场景: 大型公有云、超大规模私有云,需要极高可扩展性和灵活性的环境。

网络流量类型

理解了模式后,还需要了解 OpenStack 中流量的几种主要方向:

  1. East-West 流量: 指在云内部不同资源之间的流量。

    • 例子: 同一个私有网络内的两台虚拟机互相通信。
    • 特点: 通常不经过物理网络,在虚拟交换机内部完成,速度快。
  2. North-South 流量: 指云内部资源与外部网络(通常是互联网)之间的流量。

    • 例子: 虚拟机访问外部的网站,或者外部用户通过浮动 IP 访问虚拟机提供的服务。
    • 特点: 必须经过路由器和物理网络,速度相对较慢。
  3. 管理流量: OpenStack 各组件(如 Nova, Neutron, Cinder)之间通信所使用的网络。

    • 特点: 必须是稳定、可靠的网络,通常使用独立的物理网卡或 VLAN。

总结与选择建议

模式类型 核心特点 优点 缺点 适用场景
Provider 网络 直接使用物理网络 简单、高性能、易集成 隔离性差、扩展性有限 测试环境、小型云、网络管理员控制
Self-Service 网络 租户创建隔离的私有网络 高度隔离、灵活、支持复杂拓扑 配置稍复杂 生产环境主流选择
VLAN 网络 用 VLAN ID 隔离 Self-Service 网络 与物理网络策略兼容好 VLAN ID 有限、依赖物理交换机 需要与现有 VLAN 策略对齐的企业
Overlay 网络 (VXLAN) 用隧道技术封装 L2 流量 可扩展性极高、网络无感知 有轻微性能开销 大规模、多租户生产环境首选

如何选择?

  • 新手入门/快速测试: 从 Provider 网络 开始,最简单。
  • 构建真正的多租户私有云: Self-Service 网络 是基础,再根据规模选择 VLANVXLAN 作为其后端。
  • 大规模生产环境: 强烈推荐 ML2 + VXLAN 模式,它能提供最佳的扩展性和灵活性。
  • 与现有物理网络深度融合: 如果你的网络已经大量使用 VLAN,VLAN ID 足够,可以考虑 VLAN 网络

OpenStack 的网络设计非常灵活,这些模式并非互斥,可以在同一个云环境中同时部署,以满足不同业务的需求。

分享:
扫描分享到社交APP
上一篇
下一篇