Open vSwitch: 簡稱 OVS,中文為「開放虛擬交換器」
隨手寫寫,僅供參考
1. Open vSwitch,或簡稱 OVS,中文為「開放虛擬交換器」,
官網 http://openvswitch.org/
2. Open vSwitch 基本上為 L2/L3 Virtual Switch (虛擬交換器) ,
有人已經提出可擴充至 L4-L7 Service Aware Switch 概念
IEEE: http://xor.tw/+4n2if
3. 所謂的 Virtual Switch (虛擬交換器) 就是裝於「實體 Host」「VM 中 」(甚至 VM 中的 VM),100% 純軟體的 Switch。
通常可 Standlone 執行,也可配合 SDN Controller 執行。 或者配合執行於 OpenFlow/OVS 的 Switch IC 之上。
4. Apache 2.0 License, C 語言, 主要驗證於 Linux,但移植於 BSD/Windows 應該沒問題。
5. Pure Open vSwitch (Or, Pure Virtual Switch) 的普及化?
預測 CPU 效能或相關加速技術達到一定滿足點/甜蜜點,
足以提供 OVS 或其他 Virtual Switch 一定程度的 Throughput 和 Latency,
一般非 Critical Application 的 Data Center 或者一般企業 Non Real-Time Transaction 流量的應用
(如 Backup, Snapshot 等等 Bottom-Half Batch Processing)可能就用 Whitebox Linux Server + NIC + OVS + iSCSI Storage
就一次解決。
6. 功能
代碼:
6.1 透過 NetFlow, sFlow(R), IPFIX, SPAN, RSPAN, and GRE-tunneled mirrors 達成 VM-VM 通訊
6.2 支援 LACP (IEEE 802.1AX-2008)
6.3 標準 802.1Q VLAN + trunking
6.4 BFD and 802.1ag link monitoring
6.5 支援 STP (IEEE 802.1D-1998)
6.6 支援 QoS
6.7 支援 HFSC qdisc
6.8 Per VM interface traffic policing
6.9 NIC bonding with source-MAC load balancing, active backup, and L4 hashing
6.10 支援 OpenFlow
6.11 支援 IPv6
6.12 支援 GRE, VXLAN, IPsec, GRE and VXLAN over IPsec 等 tunneling 協定
6.13 除了 Openflow 之外,還支援遠端設定協定 (C/Py)
6.14 支援 kernel / user-space forwarding
6.15 Multi-table forwarding pipeline with flow-caching engine
6.16 Forwarding layer abstraction to ease porting to new software and hardware platforms
7. 目前 OVS 可能的缺點
(7.a) 效能:不論是 Throughput 或者 Latency 看起來都還有進步空間;
所有才會有 Intel DPDK-OVS or NTT Lagopus 的存在,
透過 DPDK 的技術加速 Virtual Switch。
@ Intel DPDK-OVS: https://github.com/01org/dpdk-ovs
@ NTT Lagopus: https://github.com/lagopus (非 OVS,為 NTT re-factor 過的 Virtual Switch)
(7.b) 和 Kernel 的整合度: 每個版本或多或少有挑 Linux Kernel。這情況有逐漸改善。
(7.c) 和 Distro 的整合度: 舉例,某版本有到 Upstream (e.g. Ubuntu 14.04) 但是根本不能用! 原因理由同 (7.b)
(7.d) Open Source Project 相關的缺點,當然都有 (e.g. Bug/Issue Support)
|