我們從問題的高層次開始探索,然后深入到Linux構建和支持的網絡虛擬化各種方法。
在傳統環境中(見圖 1 ),一系列物理服務器支持所需的應用程序設置。為了實現服務器間的通信,每個服務器都包含一個或者多個網絡接口卡(NICs),它們連接到一個外部網絡設 施上。帶有網絡軟件棧的 NIC 通過網絡設施支持端點間的通信。正如圖 1 所示,這個在功能上表示為一個交換機,它支持參與其中的端點間的高效數據包通信。
圖 1. 傳統網絡基礎架構
服務器合并背后的關鍵改革是物理硬件的抽象,允許多操作系統和應用程序共享硬件(見圖 2)。這一改革名為 hypervisor (或者 virtual machine [VM] monitor)。 每個 VM(一個操作系統和應用程序設置)視底層硬件為非共享的,一個完整機器,即使它們部分可能并不存在,或者被多個 VM 共享。虛擬的 NIC(vNIC)就是一個例子。管理程序為每個 VM 創建一個或者多個 vNICs。這些 NICs 對 VM 可以作為物理 NICs,但是它們實際上只表示 NIC 的接口。管理程序也允許虛擬網絡的動態構建,由虛擬交換機完成,支持可配置的 VM 端點間的通信。最后,管理程序還允許和物理網絡基礎架構的通信,通過將服務器的物理 NICs 連接到管理程序的邏輯設施,允許管理程序中 VMs 間高效的通信,以及和外部網絡的高效通信。
圖 2. 虛擬的網絡設施
虛擬網絡設施還支持其他有趣的革新,比如虛擬設備。除了虛擬網絡的元素以外,我們還關注這些內容,作為該探索的一部分。
虛擬交換機
虛擬網絡設施的關鍵開發之一就是虛擬交換機的開發。虛擬交換機連接 vNICs 到服務器的物理 NICs,并且 —更重要的是—它將 vNICs 連接到服務器中的其他 vNICs,進行本地通信。這之所以有趣是因為在一個虛擬交換機中,所受限制和網絡速度無關,而是和內存帶寬有關,它允許本地 VMs 間的高效通信,并且最小化網絡設施的開銷。這個節省是源自物理網絡只用于服務器間的通信,服務期間的跨 VM 通信被隔離。
但是,因為 Linux 已經在內核中包含一個 2 層交換機,所以有人可能會問,為什么會需要虛擬交換機?答案包括多個屬性,但是最重要之一的是由這些交換機類型的新分類定義的。新的類名為 分布式虛擬交換機,它采用使底層服務器架構更透明的方法,支持跨服務器橋接。一個服務器中的虛擬交換機能夠透明地和其他服務器中的虛擬交換機連接(見 圖 3),使服務器間(以及它們的虛擬接口)的 VM 遷移更簡單,因為它們可以連接到另一個服務器的分布式虛擬交換機,并且透明地連接到它的虛擬交換網絡。
圖 3. 分布式虛擬交換機
在這期間最重要的項目之一名為 Open vSwitch, 接下來本文會探討這部分內容。
在服務器中隔離本地流量的一個問題就是流量不是外部可視的(例如,對網絡分析員)。實現通過各種計劃解決了這一問題,例如 OpenFlow,NetFlow 和 sFlow,它們還用于輸出遠程訪問來控制和監控流量。
Open vSwitch
分布式虛擬交換機的早期實現已經結束,并且受限于管理程序專有設置的操作。但是在今天的云環境中,支持多管理程序共存的異構環境是很理想的。
Open vSwitch 是一個多層的虛擬交換機,在 Apache 2.0 許可下可用作為開放資源。截止 2010 年 5 月,Open vSwitch 已有版本 1.0.1 可用,并且支持一系列有用的功能。Open vSwitch 支持領先的開源管理程序解決方案,包括基于內核的 VM(KVM),VirtualBox,Xen 和 XenServer。它還是當前 Linux 橋模塊的下拉替換。
Open vSwitch 由交換機守護,管理基于流的交換機的配套內核模塊組成。還存在各種其他的守護程序和實體,用于管理交換機(特別是從 OpenFlow 方面)。您可以在用戶空間完全運行 Open vSwitch,但是這么做會導致性能的下降。
除了為 VM 環境提供一個生產品質的交換機,Open vSwitch 還有令人印象深刻的功能路線圖,和其他相似的、專有的解決方案競爭。
網絡設備虛擬化
NIC 硬件的虛擬化以各種形式已經存在了一段時間 — 在虛擬交換機出現之前。本節將說明實現和硬件加速的部分內容,它們可用于改善網絡虛擬化的速度。
QEMU
雖然 QEMU 是一個平臺模擬器,但它還提供各種硬件設備的軟件模擬,包括 NICs。此外,QEMU 還提供了用于 IP 地址分配的內部 Dynamic Host Configuration Protocol 服務器。QEMU 和 KVM 一起運作,提供平臺模擬和獨立的設備模擬,為基于 KVM 的虛擬化提供平臺。
virtio
virtio 是一個 Linux 的輸入/輸出(I/O)準虛擬化框架,它簡化并加快了 VM 到管理程序的 I/O 通信。virtio 創建了 VM 和用于虛擬塊設備,通用的外圍組件互連(PCI)設備,網絡設備等的管理程序間 I/O 的標準化傳輸機制。
TAP 和 TUN
虛擬化在網絡棧中實現已經有一段時間了,允許 VM 訪客網絡棧訪問主機網絡棧。計劃之二就是 TAP 和 TUN。TAP 是一個虛擬網絡內核驅動,該驅動實現 Ethernet 設備,并在 Ethernet 框架級別操作。TAP 驅動提供了 Ethernet “tap”,訪客 Ethernet 框架能夠通過它進行通信。TUN(或者網絡“通道”)模擬網絡層設備,并且在 IP 數據包的較高層進行通信,這些數據包提供一些優化,因為底層 Ethernet 設備能夠管理 TUN 的 IP 數據包的 2 層框架。
I/O 虛擬化
I/O 虛擬化來自在硬件層上支持加速虛擬化的 PCI-Special Interest Group(SIG)的標準化計劃。特別是,Single-root IOV(SR-IOV)提供一個接口,通過它獨立的 PCI Express(PCIe)卡能夠作為多 PCIe 卡出現在眾多用戶面前,允許多個獨立的驅動連接到 PCIe 卡,無需相互了解。SR-IOV 通過將虛擬功能擴展到各種用戶來實現,這是作為 PCIe 空間的物理功能,但是在卡中作為共享功能表示。
SR-IOV 帶給網絡虛擬化的好處就是性能。比起實現物理 NIC 共享的管理程序,卡自身實現復合,允許從訪客 VM I/O 接口直接到卡的通路。
Linux 今天包含對 SR-IOV 的支持,這對 KVM 管理程序很有好處。Xen 也包括對 SR-IOV 的支持,允許它高效地向訪客 VMs 顯示 vNIC。對 SR-IOV 的支持在 Open vSwitch 的路線圖上。
虛擬 LANs
雖然相關,但是虛擬 LANs(VLANs)是網絡虛擬化的物理方法。VLANs 提供創建跨分布網絡的虛擬網絡的能力,這樣就會出現不同的主機(在獨立的網絡上),如果它們是相同廣播域的一部分。VLANs 通過使用 VLAN 信息標記框架完成這個,用來識別特定 LAN(按照 Institute of Electrical and Electronics Engineers [IEEE] 802.1Q 標準)的成員關系。主機和 VLAN 交換機一起運作,進行物理網絡虛擬化。然而,雖然 VLANs 提供獨立網絡的假象,但它們共享同一個網絡以及可用帶寬,影響阻塞帶來的結果。
硬件加速
許多針對 I/O 的虛擬化加速開始出現,尋址 NICs 和其他設備。Intel® Virtualization Technology for Directed I/O(VT-d)提供隔離 I/O 資源的功能來獲得改進的可靠性和安全性,它包括重映射直接內存訪問(使用多級頁表)和設備相關的中斷重映射,支持未修正的和虛擬化感知的訪客。Intel Virtual Machine Device Queues(VMDq)還通過硬件中的嵌入排序和智能排序,加速了在虛擬化設置中的網絡通信流,實現了管理程序較低的 CPU 利用率和總體系統性能的更大程度改善。Linux 包含對兩者的支持。
網絡虛擬設備
目前為止,本文探討了 NIC 設備和交換機的虛擬化,當前實現的部分內容,通過硬件加速虛擬化的部分方法?,F在,我們將這個討論擴大到通常的網絡服務。
虛擬化范圍內的有趣革新之一就是從服務器整合演化而來的生態系統。比起將應用程序投入到特定的硬件版本,服務器的一部分和服務器內擴展服務的強大 VM 相隔離。這些 VMs 被稱為 虛擬設備, 因為它們關注一個特定的應用程序,被部署用于虛擬化設置。
虛擬設備通常連接到管理程序 — 或者有管理程序的良好網絡設置— 來擴展特定的服務。這個之所以獨特是因為,在合并服務器中,處理功能的部分(例如核)和 I/O 帶寬能夠為虛擬設備動態地配置。這個功能使它更成本有效(因為一個獨立的服務器并不會為它而被隔離),并且您能夠根據在服務器上運行的其他應用程序的需 求,動態地改變它的功能。虛擬設備還能更易于管理,因為應用程序被綁定在操作系統中(在 VM 內)。無需特殊配置,因為 VM 是作為整體進行預配置的。這對于虛擬設備來說是個值得考慮的好處,這也是今天它一直發展的原因。
虛擬設備已經為許多企業軟件進行了開發,并且包括 WAN 優化,路由器,虛擬專用網,防火墻,防止/檢測入侵的系統,郵件分類和管理等等。除了網絡服務以外,虛擬設備還用于存儲,安全,應用程序框架以及內容管理。
讀到這里,這篇“Linux中的虛擬網絡是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注本站行業資訊頻道。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(資料圖)關于銀行存折丟了怎么辦的知識大家了解嗎?以下就是小編整理的關于銀行存折丟了怎么辦的介紹,希望可以給到大家一些參考,一起來了解下吧!銀行存折不小心不知道遺忘在了哪里,應當怎么辦?到銀行辦理掛失。帶上本人的有效證件(身份證),回憶自己存折里面的存款余額等相關信息。在柜臺辦理掛失時,要用到的哦!柜臺掛失是有時效的,一般是7個工作日左右?;丶夷托牡却,F在也不用擔心自己財產會有損失。到銀行補辦新...
由中國高爾夫媒體聯盟主辦的“2022中國高爾夫年度人物及年度事件評選活動”照常在當年年底啟動,評選結果在2023年立春之際揭曉?!?0后”丁獲得2022年中國高爾夫球先生。他在第74屆美國青少年高爾夫業余錦標賽上獲得冠軍,創造了歷史。2022中國高爾夫年度賽事聚焦中國高爾夫人的一系列公益行動。高爾夫進校園,幫助社會弱勢群體,球友用實際行動反哺社會;但是2022 空中國高爾夫年度人物的獎項卻不見了。...
(相關資料圖)最近這段時間總有小伙伴問小編河蚌怎么養是什么,小編為此在網上搜尋了一些有關于河蚌怎么養的知識送給大家,希望能解答各位小伙伴的疑惑。目前河蚌養殖方式多采用吊養和籠養,吊養方法有單個吊養和串養在一根線上吊養兩只蚌以上,籠養數量依籠(網籠、網夾)的大小而定,一般以每只蚌都能接觸籠底為適宜。育珠河蚌一般畝養殖池塘為800-1200只,外蕩為600-800只,養殖密度具體視體重肥度,水體流動,...