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