軟件定義環(huán)境中的Hyper-V網(wǎng)絡(luò)策略
對(duì)于IT專(zhuān)家來(lái)說(shuō),在未來(lái)的五年內(nèi),軟件定義網(wǎng)絡(luò)將會(huì)成為最為重要的技術(shù)之一。現(xiàn)在是時(shí)間該對(duì)軟件定義網(wǎng)絡(luò)進(jìn)行基本了解了,特別是它和Hyper-V網(wǎng)絡(luò)相關(guān)聯(lián)。
軟件定義網(wǎng)絡(luò)被設(shè)計(jì)用來(lái)解決網(wǎng)絡(luò)管理員現(xiàn)在面臨的兩個(gè)重要挑戰(zhàn)。第一個(gè)挑戰(zhàn)是多租戶(hù)。很明顯,服務(wù)提供商擁有多租戶(hù)網(wǎng)路,但是現(xiàn)在企業(yè)級(jí)網(wǎng)絡(luò)甚至也開(kāi)始轉(zhuǎn)變?yōu)槎嘧鈶?hù)模式,因?yàn)樵絹?lái)越多的組織采納了私有云模型,允許虛擬機(jī)(VM)的自助服務(wù)配置。管理員需要一種方法來(lái)阻止租戶(hù)訪問(wèn)其他租戶(hù)的網(wǎng)絡(luò),并且不允許他們?cè)L問(wèn)核心網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
另外一個(gè)挑戰(zhàn)是,事實(shí)上,在許多組織中,數(shù)據(jù)中心已經(jīng)不再局限于四面墻當(dāng)中。傳統(tǒng)網(wǎng)絡(luò)已經(jīng)逐漸被混合云取代,或者地理上相互隔離的故障轉(zhuǎn)移數(shù)據(jù)中心實(shí)現(xiàn)了相互連接。
軟件定義網(wǎng)絡(luò)通過(guò)在物理網(wǎng)絡(luò)上建立一系列的邏輯網(wǎng)絡(luò)來(lái)解決這兩個(gè)挑戰(zhàn)。從某種形式上來(lái)說(shuō),這種方式并不新奇:虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)已經(jīng)存在了十多年,通過(guò)類(lèi)似的技術(shù)來(lái)對(duì)穿過(guò)Internet的數(shù)據(jù)建立隧道從而實(shí)現(xiàn)安全傳輸。
從其基本特征的角度來(lái)看,軟件定義網(wǎng)絡(luò)的工作方式和VPN十分相似。兩種技術(shù)都使用包封裝方式路由物理網(wǎng)絡(luò)中的流量。這種封裝允許在保持私有性的情況下,和其他虛擬網(wǎng)絡(luò)共存。對(duì)于軟件定義網(wǎng)絡(luò)來(lái)說(shuō),這意味著客戶(hù)地址段還可以保持獨(dú)立和私有(這對(duì)于多租戶(hù)來(lái)說(shuō)十分重要),意味著邏輯上的子網(wǎng)可以橫跨多個(gè)物理網(wǎng)絡(luò)。
單獨(dú)的地址段使得整個(gè)架構(gòu)變?yōu)榭赡?。在主機(jī)層,IP地址被作為一個(gè)提供商地址。提供商地址就是分配給單獨(dú)Hyper-V主機(jī)的IP地址,按照每個(gè)虛擬機(jī)一個(gè)的原則進(jìn)行分配。因?yàn)槊總€(gè)客戶(hù)或租客都擁有在軟件層定義的單獨(dú)的虛擬地址,對(duì)于多租客來(lái)說(shuō)使用相同的客戶(hù)地址就變得可以接受了。實(shí)際上,租客甚至可以使用重疊的MAC地址,因?yàn)檐浖x網(wǎng)絡(luò)之間是完全相互隔離的。
當(dāng)然,創(chuàng)建相互之間完全隔離的虛擬網(wǎng)絡(luò)是一件事情,但是在現(xiàn)實(shí)環(huán)境中,位于虛擬網(wǎng)絡(luò)當(dāng)中的系統(tǒng)通常需要訪問(wèn)外面的網(wǎng)絡(luò)。同樣,外部客戶(hù)也需要對(duì)位于虛擬網(wǎng)絡(luò)中的主機(jī)提供的服務(wù)進(jìn)行訪問(wèn)。微軟的解決方案是通過(guò)使用通用路由封裝網(wǎng)絡(luò)虛擬化(NVGRE)網(wǎng)關(guān)。NVGRE網(wǎng)關(guān)可以實(shí)現(xiàn)多個(gè)重要功能。
首先,網(wǎng)關(guān)提供了路由功能。 對(duì)于物理網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)之間的通信,網(wǎng)關(guān)是必需的。需要注意的是一個(gè)單租戶(hù)可能在臺(tái)多Hyper-V主機(jī)上都擁有虛擬機(jī)。對(duì)于位于不同主機(jī)間的虛擬機(jī)通信,不需要使用NVGRE網(wǎng)關(guān);其只用于物理機(jī)和虛擬機(jī)之間的通信。
這帶來(lái)了一個(gè)問(wèn)題,當(dāng)使用軟件定義網(wǎng)路時(shí),位于一臺(tái)Hyper-V主機(jī)上的虛擬機(jī)相互間如何進(jìn)行通信呢?當(dāng)一臺(tái)虛擬機(jī)需要和位于其他主機(jī)上的虛擬機(jī)進(jìn)行通信時(shí),Hyper-V需要知道所發(fā)送封裝包的目的地址。而解決方案是使用系統(tǒng)中心虛擬機(jī)管理器來(lái)管理各種Hyper-V主機(jī)。這樣做允許虛擬機(jī)管理器創(chuàng)建和維護(hù)一張Hyper-V查找表,用來(lái)記錄哪個(gè)虛擬機(jī)位于哪臺(tái)主機(jī)上。因?yàn)槊總€(gè)單獨(dú)的主機(jī)都和虛擬機(jī)服務(wù)器相關(guān)聯(lián),從而實(shí)現(xiàn)了所有主機(jī)可以定位任何一臺(tái)虛擬機(jī)。
NVGRE網(wǎng)關(guān)還可以作為一個(gè)網(wǎng)絡(luò)地址轉(zhuǎn)換組件,將應(yīng)用程序服務(wù)器發(fā)布到Internet上,盡管這些服務(wù)實(shí)際上位于軟件定義網(wǎng)絡(luò)的虛擬服務(wù)器當(dāng)中。這允許軟件定義網(wǎng)絡(luò)中的虛擬機(jī)可以作為公共Web服務(wù)器或者提供其他面向Internet的服務(wù)。
如你所見(jiàn),軟件定義網(wǎng)絡(luò)是一個(gè)十分重要的概念,特別隨著原有網(wǎng)絡(luò)正在向私有或者混合云遷移。需要記住雖然現(xiàn)在微軟已經(jīng)擁有其軟件定義Hyper-V網(wǎng)絡(luò)機(jī)制,但是軟件定義網(wǎng)絡(luò)和NVGRE的概念并不是微軟的私有技術(shù),而是行業(yè)標(biāo)準(zhǔn)。