跳转到: 导航, 搜索

Neutron/OFAgent/ComparisonWithOVS

两个 Neutron 代理,Open vSwitch 和 OFAgent,以不同的方式实现大部分相同的功能。

  • 有什么相同之处?
    • 基本架构
      • 代理运行在每个计算/网络节点上。
      • 它控制节点上的 OpenFlow 交换机。
  • 有什么不同之处?
    • 以下是差异的总结。
    • 注意:此列表旨在显示设计和开发方向上的差异。其中一些条目(标记为“计划中”)尚未在 Neutron master 中实现。
openvswitch ofagent
优点 可能能够使用 Open vSwitch (OVS) 特定的高级功能(如 Nicira Extensions (NX) 和 patch 端口)实现更好的性能。 更易于移植到其他非 OVS 交换机。由于它是一个功能齐全的 OpenFlow 控制器,因此更容易处理异步消息。
OpenFlow 版本 OpenFlow 1.0 + NX 不带厂商扩展的 OpenFlow 1.3
如何组合流? ovs-ofctl 命令行参数(纯文本) 使用 Ryu ofproto 库(python 对象)
如何将流安装到交换机? 调用 ovs-ofctl 命令 嵌入在代理中的 OpenFlow 控制器向交换机发送 OpenFlow 消息
支持的交换机 仅 OVS 包括 OVS 在内的 OpenFlow 1.3 交换机 (计划中)
Neutron 插件 openvswitch 插件 (计划弃用) 或 ML2 插件 ML2 插件
端口监控 通过 ovs-vsctl 命令进行 ovsdb 监控 OpenFlow 端口统计信息。接受异步消息以监控更改 (计划中)
管理协议(例如隧道端口创建) 通过 ovs-vsctl 命令进行 ovsdb 在适当的情况下使用标准协议,如 OF-Config。否则,使用子驱动程序 (计划中)
设备 ID Neutron 端口 ID (UUID) 存储在 ovsdb 中 端口名称作为 linuxbridge
“internal” VLAN 802.1q 标记的 VLAN OpenFlow 元数据
本地 ARP 响应器 为每个 FDB 条目安装 NX 流。目前仅隧道网络类型。 嵌入的 OpenFlow 控制器处理数据包传入并发送回 ARP 响应。已为所有网络类型实现。
多个桥接 考虑 按功能划分的桥接 为了可移植性,使用单个桥接。
安全组 / 防火墙驱动程序 使用 NX。例如 tcp_flags NXM、learn action 或未来的 conntrack 支持 (计划中) 可能仅使用纯 OpenFlow 实现部分规则
租户网络中的标记 VLAN 不支持 支持
XenAPI(代理在单独的域中) 使用特殊的 rootwrap 支持 不支持
L2population 可选 强制
DVR 支持 不支持