網(wǎng)絡(luò)可編程性有哪一些辦法實現(xiàn)
哪怕是最苛刻的IT專業(yè)人員,有一個詞也會很吸引他注意:節(jié)約成本。當市場中出現(xiàn)白盒交換機時——即一種預(yù)安裝第三方網(wǎng)絡(luò)操作系統(tǒng)的消費類交換機硬件,網(wǎng)絡(luò)工程師一般首先聽到或了解到的是這種新方法有可能節(jié)約成本。
但是,隨著網(wǎng)絡(luò)可編程性的概念變得越來越受到關(guān)注,節(jié)約成本已經(jīng)不是白盒交換機中最受關(guān)注的方面了。除了節(jié)約金錢,它們還可以增加網(wǎng)絡(luò)自動化、可編程性和靈活性,這些改進也有其實際價值。
根據(jù)波士頓Doyle Research首席分析師Lee Doyle的觀點,包含軟件和硬件在內(nèi)的白盒交換機市場預(yù)計將在2018年增長到5億美元。但是,現(xiàn)在仍然是軟件定義網(wǎng)絡(luò)(SDN)的發(fā)展早期,因為白盒交換機與網(wǎng)絡(luò)操作系統(tǒng)市場目前還很小。Doyle指出,作為對比,像Cumulus Networks和Big Switch Networks這樣的白盒交換機供應(yīng)商現(xiàn)在的“收益可能只有200萬美元”。
他補充說,目前主攻白盒交換機的公司主要有三類:有資源部署和維護這些交換機的互聯(lián)網(wǎng)級別公司、更多考慮綠地部署風(fēng)險的數(shù)據(jù)中心運營商和一些基于云但未達到互聯(lián)網(wǎng)級別的公司。然而,大多數(shù)企業(yè)和服務(wù)提供商并不滿足于任何一個網(wǎng)絡(luò)操作系統(tǒng)。對于大多數(shù)公司而言,他們的操作系統(tǒng)選擇最終取決于作出采購決策的負責(zé)人的專業(yè)技術(shù)背景。
Gartner公司杰出分析師Joe Skorupa說:“服務(wù)人員會選擇Cumulus Networks或Pica8,而網(wǎng)絡(luò)人員則會選擇Big Switch或Pica8。Cumulus Networks有適用于數(shù)據(jù)中心的白盒交換機。人們通常會用它來支持SDN堆疊網(wǎng)絡(luò),但是它本身并不是SDN?!?/p>
下面將針對這個特點來介紹三個使用拍盒交換機實現(xiàn)網(wǎng)絡(luò)可編程性的用例。
像管理服務(wù)器一樣管理交換機
DreamHost LLC是洛杉磯一家網(wǎng)站托管公司和云提供商,它在白盒交換機上使用Cumulus Networks的Cumulus Linux網(wǎng)絡(luò)操作系統(tǒng)來高效地擴展和管理自己的開源多租賃公共云服務(wù):DreamCompute。
DreamHost負責(zé)云的副總裁Jonathan LaCour說:“由于運行著Cumulus Linux網(wǎng)絡(luò)操作系統(tǒng),所以我們將交換機看作是另一種Linux服務(wù)器。我們也用相同的團隊、工具和流程去管理我們的Linux服務(wù)器上的Cumulus Linux?!?/p>
這與DreamHost的遺留交換機有很大的區(qū)別,后者運行著預(yù)安裝的私有軟件和工具,與IT團隊用于管理和監(jiān)控計算與存儲設(shè)備的Linux工具完全不同。
LaCour說:“Cumulus Linux幫助我們將一種特殊的網(wǎng)絡(luò)環(huán)境變成一種不那么特殊的通用環(huán)境?!?/p>
Cumulus白盒交換機采用的方法將來自大型傳統(tǒng)交換機供應(yīng)商的私有交換機接口更換為所有Linux服務(wù)器管理員都能理解的通用Linux接口。
在白盒交換機上運行Cumulus Linux可以幫助DreamHost提升Linux平臺的性能和實現(xiàn)網(wǎng)絡(luò)可見性,同時讓它的工程師能夠使用現(xiàn)有的Linux服務(wù)器管理工具實現(xiàn)網(wǎng)絡(luò)自動化。采用與Linux服務(wù)器自動配置安裝過程的相同方法,除了一些小更新和修改之外 ,完全不需要更多的特殊考慮,Cumulus Linux控制器會自動配置其白盒交換機安裝設(shè)置,以滿足DreamHost的網(wǎng)絡(luò)要求。這個網(wǎng)絡(luò)包括客戶Pod(自包含硬件單元,表示DreamHost云的一個可用域)和用于管理用途的命令與控制Pod,它們運行著Cumulus Linux和40GbE葉脊架構(gòu)。
LaCour說:“雖然網(wǎng)絡(luò)工程師現(xiàn)在可以通過自動化、CPI(命令行接口)和API編程控制交換機,Cumulus Linux的特別之處是它的CLI和API與每一位系統(tǒng)工程師和云工程師長期使用的Linux工具完全相同,如路由器命令和ipconfig等。他們完全不需要學(xué)習(xí)新東西,所有東西都由硬件加速?!?/p>
Linux服務(wù)器與運行Cumulus Linux的交換機之間并沒有很大的差別——主要差別就是每一臺設(shè)備上的端口數(shù)量。一個Linux服務(wù)器可能只有2~4個2層和3層連接以太網(wǎng)端口,而Cumulus白盒交換機則有48個10GB端口。
DreamHost使用DevOps工具Opscode Chef實現(xiàn)服務(wù)器與網(wǎng)絡(luò)編制。由于每一個交換機都運行著版本2和版本3的開放最短路徑優(yōu)先(Open Shortest Path First)協(xié)議,因此從配置到故障修復(fù)等所有網(wǎng)絡(luò)操作都變得非常簡單。DreamHost工程師根據(jù)Chef手冊和秘訣(一組可重用配置說明)編程實現(xiàn)Cumulus Linux交換機的目錄管理和配置。它的IT團隊使用基于Python編寫的工具Graphite來監(jiān)控交換機。
交換機會出現(xiàn)故障,而當它們出現(xiàn)故障時,Cumulus Linux會讓DreamHost的網(wǎng)絡(luò)保存路由數(shù)據(jù)并保持正常運行,直到交換機完成更換,即從網(wǎng)絡(luò)移除故障交換機,然后使用剩余交換機自動重建網(wǎng)絡(luò)結(jié)構(gòu)。然后,控制器會配置新交換機,然后自動將它添加到網(wǎng)絡(luò)中。這樣就可以將平均修復(fù)時間從幾小時減少為幾分鐘。
但是,與所有網(wǎng)絡(luò)平臺一樣,Cumulus Linux也不是完美的。
LaCour說:“在一些復(fù)雜特性上,網(wǎng)絡(luò)操作系統(tǒng)仍然無法與傳統(tǒng)交換機架構(gòu)相媲美。但是,這與我們的情況沒有關(guān)系,因為我們更愿意保持底層網(wǎng)絡(luò)的簡單性,同時在SDN堆疊網(wǎng)絡(luò)上添加白盒交換機所缺少的更多特性?!?/p>