已废弃:网络
(重定向自 Networking)
网络概述
此主题的实时笔记可能在此处记录: http://etherpad.openstack.org/Networking
Nova 实现
当前实现
- 私有网络和 VPN
- 实例连接到分离的 VLAN 标记桥接
- IP 地址分配由 API 处理
- DHCP 服务器分配地址
attachment:NovaNetworkingDiagram.png
实例启动网络步骤
- 在网络节点上
- 如果 VLAN 不存在
- 为项目创建 VLAN 和桥接
- 运行桥接到 VLAN 的 DHCP 服务器
- 如果 VLAN 不存在
- 生成 MAC 地址
- 如果为 cloudpipe 实例
- 为实例分配特定 IP
- 如果为 cloudpipe 实例
- 否则
- 查找空闲的私有 IP
- 使用 MAC 和 IP 配置 DHCP 服务器
- 在计算节点上
- 如果 VLAN 不存在
- 为项目创建 VLAN 和桥接
- 如果 VLAN 不存在
- 生成 VM 和带有指定 MAC 地址的网卡
- 将 VM 网卡桥接到项目 VLAN
卷创建网络步骤
- 卷节点创建 LVM
- 卷节点使用 vblade-persist 暴露 LVM
卷附加网络步骤
- 计算节点发现卷
- 计算节点将卷作为 PCI 设备附加到 VM
IP 关联
- 查找空闲的公共 IP
- 将 IP 与公共接口关联
- 设置 iptables 规则以转发到私有 IP
未来实现
- 可插拔网络实现
- 支持扁平网络模型
- 支持 IP 注入
- 网络是其自身的工作进程并使用队列
- 支持专用网络硬件
Rackspace 实现
当前实现
- 扁平网络设计
- 网络配置注入到实例中,或通过 Guest Agent 拉取
- IP 从每个网络组的集群控制器拉取。
- 实例受到各种 IPTables、Ebtables、Arptables 规则的保护
- 保护实例免受 IP/MAC 地址欺骗
- 保护实例免受 ARP 欺骗攻击
- 主机连接三个数据中心网络:公共网络、服务网络、管理网络
- 管理网络用于从控制器到主机的通信。
- 实例连接到每个网络(公共网络、服务网络)的单个桥接
- 带宽限制。
未来实现
- 添加主机网络桥接,用于实例之间的内部通信。
- 需要超visor 无感知的通信,在主机和 Guest 之间。(我们不能仅仅依赖 XenStore)
- IP 通过本地主机网络上的 DHCP 分配。
- 这是额外的 Guest 网络接口,还是 piggy back 现有接口?
- Open vSwitch
- 实例网络保护规则可以推送到 vSwitch 中。
IPv6
IPv6 应该具有一流的支持,我们可以从 IPv6 到 IPv6 映射空间和配置选项中派生 IPv4 地址绑定。