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