Open vSwitch:開放虛擬交換
虛擬交換并不是一個新概念。VMware 開創了服務器虛擬化的先河,它允許虛擬交換機取代物理交換機,這意味著在托管 VM 的服務器上運行的軟件堆棧可以運行連接到虛擬或邏輯以太網端口的交換功能。Open vSwitch (OVS) 等虛擬交換機與 Linux 中包含的傳統虛擬 L2 網橋之間的主要區別在于,它們旨在處理高度動態的云環境,其中網絡狀態(配置和實時)可能需要在使用 vSwitch 實例的主機。
雖然有專有的虛擬交換機解決方案,例如 Cisco Nexus 1000V 和 VMware vSphere 分布式交換機 (vDS),但 Open vSwitch 既是最突出的開源替代方案,也是其他開源網絡項目越來越重要的固定裝置。OVS 適用于 Xen 和 KVM 等 Linux 虛擬機管理程序,是 Xen Cloud Platform 和 XenServer 6.0 中的默認設置,并集成到 OpenStack 中,我們將在本系列的后續部分中對其進行介紹。內核數據路徑模塊現在也直接包含在 Linux 中。
OVS 旨在通過 OpenFlow 實現網絡控制和通過 Open vSwitch 數據庫協議進行管理,它充當軟交換機,還能夠將數據平面處理卸載到網絡接口控制器 (NIC) 或外部硬件交換機上的交換芯片上。它的一些重要功能包括:
· 支持VXLAN、IPsec等隧道協議
· OpenFlow 兼容性,包括許多虛擬化擴展
·每個虛擬機接口的流量監管。
· 使用鏈路聚合控制協議 (LACP) 進行鏈路聚合
· 與 IPv6 的兼容性
Open vSwitch的設計
Open vSwitch 主要由一些存在于用戶空間中的控制平面組件以及處理實際數據平面功能的內核模塊組成。
· ovs-vswitchd:最重要的組件是運行交換機的Ovs-vswitchd。它通過 netlink 協議直接與 OVS 內核模塊對話。如果內核處理的出站數據包沒有決定如何轉發的緩存條目,內核會向 Ovs-vswitchd 發送消息,后者會在數據庫中查找與相關數據包匹配的流表條目。 轉發指令返回給內核,內核建立一個緩存條目。ovs-vswitchd 也可以與 OpenFlow 控制器通信。
· Ovs-dbserver:此服務器支持 Ovs-vswitchd 的管理平面功能,通常使用 OVS 的 OVSDB 模式存儲所有配置更改。它向用于配置交換機的外部 OVS 客戶端提供基于 JSON-RPC 的 OVSDB 協議。
與 Cisco Nexus 1000V 或 VMware 的解決方案不同,OVS 沒有本地 SDN 控制器。它被設計為與第三方控制器和云編排器一起使用,因此可以使用 OpenDaylight 或 OpenStack Neutron OpenFlow 和 OVSDB 插件。
開放 vSwitch 和 SDN
OVS 在 SDN 創新的進程中發揮了重要作用,因為它既開放又高性能。
“Open vSwitch 是OpenStack 部署中最受歡迎的網絡后端,并被廣泛接受為事實上的標準 OpenFlow 實現,”OVS 貢獻者 Justin Pettit、Ben Pfaff 和 Ethan Jackson 在 Network Heresy 的一篇文章中解釋道。“要使 Open vSwitch 取得成功,它不僅必須具有高度可編程性和通用性,還必須非常快。在過去的幾年里,我們的開發工作正是集中在這種緊張關系上——構建一個不會影響通用性或速度的軟件交換機。”
在過去的幾個版本中,OVS 的性能有了顯著提高。例如,允許內核向 ovs-vswitchd 發送更少異常的內核緩存 megaflow 支持(基于字段通配符)等功能,以及 ovs-vswitchd 中的分類器改進(如優先級排序、分階段查找和前綴跟蹤)顯著減少進入內核的兆流數量從數百萬增加到數十。OVS 2.0 還使 ovs-vswitchd 成為一個多線程進程,并能夠更好地分離實時和管理平面任務。
要點: Open vSwitch 是一個著名的基于 Linux 的虛擬交換機的開源項目。作為 Cisco 和 VMware 解決方案的替代方案,它是主要的創新平臺和公認的標準開放式交換機,可與 OpenFlow 一起使用。主要特性包括其對 OpenFlow 控制平面的利用、其用于管理平面的高度靈活的 OVSDB 協議、將數據平面處理卸載到硬件的能力,以及其高性能設計和隨時間推移的進步。
審核編輯:郭婷
-
Linux
+關注
關注
87文章
11296瀏覽量
209353 -
交換機
+關注
關注
21文章
2638瀏覽量
99546
發布評論請先 登錄
相關推薦
評論