0 引言
虛擬化技術已經改變了我們的計算方式,例如,許多數據中心完全虛擬化用以提供快速配置,基于虛擬化的
云計算可以更好的利用資源。通過虛擬化可以對包括基礎計算機設施、計算機系統和軟件等資源進行統一管理和抽象,以此來提供彈性可擴展的云服務。
隨著虛擬化技術的發展,一個新的網絡接入層被引入用以建立虛擬機內部的網絡連接,提供許多與物理層相同的功能。服務器虛擬化技術目前發展已經相對成熟,而虛擬化在網絡方面的進展才剛剛開始。特別是服務器虛擬化對網絡的可移動性,彈性擴展以及網絡隔離的要求遠遠超出了目前物理網絡的處理能力。
數據中心可以負載成百上千的虛擬機,因此多租戶之間的網絡隔離要求變的愈加重要。
網絡虛擬化還提供一些附加功能,使網絡管理更容易。例如,在虛擬化環境中,虛擬化層可以提供有關虛擬主機動態遷移的相關信息。
本文的其余部分安排如下:第一節描述了虛擬機內部的網絡結構;第二節描述了實際物理網絡與虛擬網絡環境的不同之處;第三節介紹軟件實現的虛擬交換層設計;第四節是虛擬交換機的主要應用場景。
1 基于流的虛擬交換技術
基于流的網絡交換技術提供了一個有效的網絡交換方案,采取用軟件定義網絡的方式,使得用戶可以忽略底層硬件的具體情況,直接對流量進行管理并設置數據報文以何種方式通過網絡。
用軟件來統一管理物理設備,借鑒網絡TCP/IP協議的數據鏈路層橋接原理和網絡層協議的設計思想,利用軟件實現和硬件實現結合的方式對現有的網絡結構予以重新定義,在系統上實現一個虛擬的交換層,除了具有高效的傳輸能力還可以為云基礎網絡提供智能的監控服務。
用軟件實現的方式具有強壯的伸縮性,靈活性和移動性,方便系統擴展。
2 流分組交換的層次結構
流分組交換分為兩層,物理設備虛擬化和網絡協議層虛擬化。
2.1物理設備虛擬化
物理設備虛擬化是指利用軟件來對網卡設備進行抽象,使用用戶層軟件對物理網卡實現邏輯劃分,劃分后的設備既可以實施流量控制和負載均衡策略又能高效的利用設備資源,虛擬化后的網卡設備具有和物理網卡一樣的功能,硬件實現的資源劃分不易動態擴展,軟件虛擬以后可以按照需求動態進行資源劃分。
通過虛擬技術將一臺或多臺獨占物理設備虛擬成至少一臺邏輯設備,供多個用戶進程同時使用,通常把這種經過虛擬的設備稱為虛擬設備。虛擬設備一定和實際的物理設備綁定才可以使用。
2.1.1虛擬設備模型
虛擬設備是建立在一個或者多個真實設備之上的抽象。合理使用虛擬設備可以在一個物理設備上構建多個邏輯上的虛擬設備,通過軟件的配置,這些虛擬設備可以實現硬件所具有的功能。虛擬設備和真實設備可能的模型有如下幾種,實際上應用可根據需求選擇其中幾種模式。
圖1-圖3
虛擬設備的建立和管理需要統一的虛擬軟件的支持。在虛擬軟件的控制下,物理設備可以根據上層需求靈活高效的配置組織出虛擬設備。這可以極大的提高硬件設備的利用率,在規模上可以化大為小又可以積少成多。
2.1.2虛擬設備的管理
虛擬設備管理分為兩個部分:用戶態虛擬平臺管理,可以用來配置和查看設備的狀態,用戶可以在用戶空間查看和修改虛擬設備的屬性文件。通過內核模塊編程管理,由內核直接管理,主要負責物理設備運行和數據通信。
2.2網絡協議層虛擬化
利用軟件抽象的靈活性重新定義數據鏈路層和網絡層結構,引入一個虛擬管理層來實現數據鏈路層和網絡層,把傳統定義的OSI七層協議的網絡層和物理鏈路層壓縮為虛擬網絡層。
圖4重新定義網絡層和物理鏈路層
這樣就可以把數據鏈路層和網絡層的數據整合成一個數據流,扁平化了網絡結構。每個經過虛擬網絡層的數據報文均被重新標記。這個數據報文既包含了鏈路層信息又包含了網絡層信息,基本可以對每個數據報文按照邏輯鏈路準確分類。網絡中的數據報文就可以組織成一個一個的數據流,組織成數據流的好處在于用戶可以根據需要對每個數據流進行屬性定義,比如QoS策略定制,數據報文的檢測和隔離,網絡負載均衡等等。
報文基于流分類,就不再需要在物理鏈路層運行生成樹協議,減少了數據報文的轉發延遲,降低了網絡的流量負載。
3 流分組交換
應用基于流分組交換技術對已有的網絡協議不用改動,所有的交換工作都在內核協議棧部分完成,大大增加數據交換效率,但是需要在內核協議棧數據結構上添加一些關于數據流控制相關信息用以標識當前處理的數據報文屬于哪個數據流。
圖5數據報文控制信息
經過標記后的邏輯數據報文頭部結構如下,邏輯報文的生存時間TTL是為了防止邏輯報文在網絡中過久滯留而導致網絡隊列太長而溢出,同時也能保證數據幀不會在成環的鏈路中被無限次轉發,這是實現兩點之間多路徑轉發的基礎。
圖6邏輯報文頭結構
虛擬機的虛擬網卡對每個發出的數據報文的控制信息進行標記,與之相連的交換節點接收到數據包后,會根據壘局控制器的數據建立一張虛擬連接表,交換節點根據數據報文的控制信息查找虛擬表然后將敬據報文轉發到目的端口完成一次數據報文交換。
每條虛擬連接可以包含多個虛擬端口.這些虛擬端口被劃分為一個邏輯組。有了這個邏輯組可以進行更復雜的交換功能,例如多路徑轉發,快速路由,鏈路集成,負載均衡,流量整形。例如圖x所示,每個數據流會根據流量使用多個端口,以加快數據報文的轉發,多個虛擬連接的數據流可以轉發到具有同樣操作需求的端口。
基于流的分組變換可以在虛擬機內部網絡通信時設定較大的MTU數據包來提高數據報文的轉發效率.因為在內核協議棧可以避免IP分組和重裝的過程,降低了數據報文的轉發延時。
對于每個虛擬端口和虛擬連接,可以自由配置匹配規則用以對數據報文進行匹配和過濾。比如某個端口限制IP地址為10.0.0.·的數據包發送,如果接收到類似的數據包,就拋棄掉。
圖7邏輯端口組
流分組交換需要維護一張虛擬連接表.每個表項唯一標識了一條數據流、應用在經過該數據流的報文需要執行的操作和該數據流的統計信息。
圖8級聯的虛擬連接表
虛擬連接表表項組成
匹配規則
這個域可以唯一的確定一條數據流,里面包含數據報文的物理地址,IP地址,虛擬局域網ID等等。虛擬連接計數器
該域定義了一組計數器,用來統計該虛擬連接接收和發送數據包總教,連接的端口總數等等。虐擬連接規定執行的操作
這個t定義了數據報文經過該虛擬連接時需要執行的操作,倒如,匹配規則的修改.數據報文轉發,數據報文丟棄等等,用戶可以自定義。
3.1流分組交換控制
流分組交換可以實現的重要前提就是流分組交換控制器。流分組交換控制器負責建立和移除虛擬連接表,虛擬連接表的規則設置,物理虛擬設備的參數配置,數據統計信息獲取,QoS設置,虛擬防火墻配置,VLAN劃分等等。
流分組變換控制器負責監控所有的虛擬連接表,這樣虛擬機內部網絡的流量狀況就可以全方位的被監測.憑借以前的物理設備這是做不到的。
圖9控制器
基于流交換的數據報文若不與外界通信,則數據報文就可以不用經過物理網卡而直接在內存中進行交換,這個機制也非常大的提高了變換的性能,提高了報文的轉發速度。
傳統的數據鏈路層需要運行生成樹協議來去除回環通路,MAC地址學習也占用了數目可觀的網絡流量,現在可以用控制器來為所有的虛擬設備維護一個全局的轉發路徑,這就省去了生成樹協議造成的數據幀轉發的延遲以及增加的額外網絡流量。
流交換分組控制器要根據配置文件生成虛擬連接表,創建或者移除虛擬連接.維護虛擬螭口和虛擬連接的存儲隊列,為虛擬連接和虛擬端口配置數據報文處理規則。
3.2流分組控制協議
流分組交換控制器通過Netlink套接字和內核進程通信通信,也是網絡應用程序與內核通信的最常用的接口。Netlink是一種異步通信機制,在內核與用戶態應用之間傳遞的稍息保存在socket緩存隊列中,發送消息只是把消息保存在接收者的socket的接收隊列,而不需要等待接收者收到消息。
流分組交換控制器和流分組交換模塊之間通過NetUnk建立一個普通的TCP連接,是一種基于進程問通信機制。流交換控制器和交換模塊之間信息交換采用自定義的一套協議。
協議頭結構:
圖10控制信息頭部結構
控制信息事務ID用以標識同一對流分組交換控制器和流交換模塊之間的配置過程,例如本次A發送給B的控制信息,B必須要用同一個事務ID來回復A的請求,以區分A發送給B的另外的控制信息。
控制信息類型:
控制信息大致分為下列幾種:
圖11控制信息分類
配置信息主要是通知流分組交換模塊端口配置數據,端口隊列配置數據等等。流分組交換控制器通過控制協議獲取各個交換模塊和內置的虛擬端口信息,可以對虛擬連接表進行全局性操作,又可以高效的檢測網絡的狀態,未來的工作還會實現根據網絡監控結果自動化的調節各個交換節點的配置信息。
4 結論
利用虛擬網絡設備的特性以及軟件抽象的靈活,構建虛擬交換機來實現可擴展的數據鏈路層。虛擬化技術在一般的網絡基礎設施本身方面還有很多工作要做。旨在獲得虛擬化的優勢,如隔離性,靈活性和流動性。可實現彈性、安全、自適應以及易管理的云計算基礎網絡。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.hanmeixuan.com/
本文標題:基于虛擬設備的虛擬交換機設計
本文網址:http://m.hanmeixuan.com/html/support/11121510233.html