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