10.5. 使用 VLAN 和隧道的 L2 隔离

OpenStack 网络可以对每个项目/网络组合使用两种不同的机制进行流量分隔:VLAN (IEEE 802.1Q 标记)或使用 VXLAN 或 GRE 封装的 L2 隧道。OpenStack 部署的范围和扩展决定了您应该用于流量隔离或隔离的方法。

vlan

VLAN 在一个特定物理网络中以数据包的形式实现,它包括 IEEE 802.1Q 头,其中带有一个特定的 VLAN ID (VID) 字段值。共享同一物理 netw ork 的 VLAN 网络在网络的 L2 层相互隔离,它们甚至可以有重叠的 IP 地址空间。支持 VLAN 网络的每个不同的物理网络都被视为一个单独的 VLAN 中继 k,不同的空间为 VID 值。有效的 VID 值为 1 到 4094。

VLAN 配置复杂性取决于您的 OpenStack 设计要求。要允许 OpenStack 网络更有效地使用 VLAN,您必须分配一个 VLAN 范围(每个项目对应一个),并将每个 Compute 节点物理交换机端口转换为 VLAN 中继端口。

隧道

网络隧道将每个项目/网络组合与唯一的 tunnel-id 封装在一起,用于识别属于该组合的网络流量。项目的 L2 网络连接独立于物理本地或底层网络设计。通过在 IP 数据包内封装流量,流量可以跨第 3 层边界,从而消除预配置 VLAN 和 VLAN 中继的需求。隧道为网络流量流量添加了一个模糊处理层,从监控角度减少各个项目流量的可见性。

OpenStack 网络目前支持 GRE 和 VXLAN 封装。提供 L2 隔离的技术取决于要在部署中创建的项目网络的范围和大小。