云提供商應(yīng)用OpenFlow指南
編者注:在這本云提供商OpenFlow指南中,網(wǎng)絡(luò)專家Tom Nolle解釋了OpenFlow如何成為提供商的競爭優(yōu)勢,并指出在網(wǎng)絡(luò)中測試協(xié)議的數(shù)個步驟。
軟件定義網(wǎng)絡(luò)(SDN)以及其最清晰可見的協(xié)議OpenFlow已經(jīng)引發(fā)了熱烈的討論。幾乎每一個主要的路由器和以太網(wǎng)交換機(jī)廠商都宣布“支持”OpenFlow,引出了數(shù)個會議的召開和初創(chuàng)公司的成立。作為主要的云運(yùn)營商,比如谷歌和威瑞森(Verizon)已經(jīng)測試和部署OpenFlow,其他的網(wǎng)絡(luò)運(yùn)營商和提供商急于知道在所有的興奮點(diǎn)之下,是否有實(shí)體產(chǎn)生,尤其是這個實(shí)體有哪些本質(zhì)的好處。
在這本OpenFlow指南中將這些不確定因素放到一邊:OpenFlow會成為云的競爭優(yōu)勢,云提供商需要了解。
為什么使用OpenFlow?
從技術(shù)層面看,OpenFlow和SDN是相當(dāng)直接的概念。二者背后的理念就是為網(wǎng)絡(luò)行為創(chuàng)建一個簡單、集中控制面板。取代了以太網(wǎng)和IP中使用的分布式、自適應(yīng)模型。
并不是讓網(wǎng)絡(luò)中的每一個設(shè)備根據(jù)網(wǎng)絡(luò)拓?fù)浜瓦B接適應(yīng)其轉(zhuǎn)發(fā)表,SDN模型規(guī)定所有設(shè)備可以從一個中央控制器收到的具體轉(zhuǎn)發(fā)規(guī)則。理論上,這樣簡化了網(wǎng)絡(luò)流量管理,減少故障轉(zhuǎn)移周期,甚至潛在的改善了安全性。中央控制器模型就是SDN是什么,OpenFlow就是SDN適用交換機(jī)到控制器協(xié)議實(shí)現(xiàn)的原則。
集中控制是OpenFlow的長處也是短處。優(yōu)勢在于,中央控制器意味著可以更快的用預(yù)設(shè)故障轉(zhuǎn)移路由從宕機(jī)中恢復(fù),更好的安全性,更穩(wěn)定的服務(wù)質(zhì)量(QoS)以及一種更快的應(yīng)用網(wǎng)絡(luò)到應(yīng)用需求的手段。另一方面,集中控制很明顯在服務(wù)于數(shù)十億用戶的網(wǎng)絡(luò)中無法擴(kuò)展,比如互聯(lián)網(wǎng)。
OpenFlow是SDN單一策略?
OpenFlow的早期試驗(yàn)展示了兩個變量,這兩個變量對于加強(qiáng)協(xié)議優(yōu)勢以及最瞎話其限制性很關(guān)鍵:一個是中央控制器軟件的容量,另一個是找到最佳的“邊界”點(diǎn),也就是OpenFlow和傳統(tǒng)網(wǎng)絡(luò)設(shè)備相遇的地方。
與流行看法相反,OpenFlow就其本身而言并不是一個完整的SDN戰(zhàn)略。OpenFlow控制器允許交換機(jī)集中控制,但是協(xié)議本身也不提供任何模板或者方法這道這個過程。基礎(chǔ)軟件規(guī)定通過應(yīng)用程序接口(API)用于垂直整合其他分配路由和決定連接策略的工具。運(yùn)營商可能采用或者自主開發(fā)這些工具,一些OpenFlow廠商提供了解決具體應(yīng)用的應(yīng)用,包括云服務(wù)。
基于OpenFlow的應(yīng)用可以創(chuàng)建虛擬網(wǎng)絡(luò),描述云資源或者客戶云,超越數(shù)據(jù)中心擴(kuò)展虛擬化模型。傳統(tǒng)網(wǎng)絡(luò)廠商,比如思科,也宣布虛擬網(wǎng)絡(luò)戰(zhàn)略,與現(xiàn)有協(xié)議共同運(yùn)作。也出現(xiàn)了云分配和整合工具,但是重申一次,這些工具不依賴于是否是OpenFlow或者其他協(xié)議控制網(wǎng)絡(luò)轉(zhuǎn)發(fā)路徑。
OpenFlow指南:如何測試OpenFlow
作為這本云提供商OpenFlow指南的一部分,我們還會關(guān)注運(yùn)營商如何從現(xiàn)有網(wǎng)絡(luò)提取連接信息,并使用這個信息來驅(qū)動轉(zhuǎn)發(fā)變更。這也是谷歌已經(jīng)部署的模型,也解釋了上面提到的OpenFlow邊界點(diǎn)問題。
不管OpenFlow部署在更大的IP網(wǎng)絡(luò)核心,還是在云內(nèi)部用來連接虛擬網(wǎng)絡(luò)或者資源池,在某種情況下,很可能會同傳統(tǒng)協(xié)議交互,向用戶擴(kuò)展連接性。協(xié)議間沒有這種交互,可擴(kuò)展性問題可能會限制OpenFlow在小型網(wǎng)絡(luò)中應(yīng)用。通過捕捉來自合作伙伴的拓?fù)湫畔?,谷歌的案例中用互?lián)網(wǎng)協(xié)議(IP),OpenFlow可以在傳統(tǒng)網(wǎng)絡(luò)中創(chuàng)建一種分區(qū),可以靈活連接虛擬服務(wù)器,增加利用率,改善流連管理并穩(wěn)定QoS。
幾乎毫無疑問,OpenFlow會成為云的主要因素;谷歌決定在主干網(wǎng)中部署OpenFlow就足以證明這一點(diǎn)。云提供商需要試水OpenFlow,也意味著要遵循下面的基本步驟:
在云網(wǎng)絡(luò)中為OpenFlow找一個任務(wù)??纯创髮W(xué)和谷歌這樣的運(yùn)營商已經(jīng)完成的一些工作,對于選擇一個測試或者部署來匹配本地需求很有幫助。
集合所需組件進(jìn)行測試。包括接受OpenFlow概念的路由器和交換機(jī),基本的交換機(jī)控制軟件和其他所需的軟件組件,用來管理拓?fù)浜蛻?yīng)用連接需求。不要忘了涵蓋任何需要的軟件,來處理控制包,這個控制包可以生成OpenFlow和其余網(wǎng)絡(luò)之間的邊界。
鏈接組件。通過API連接設(shè)備和軟件,或者外包給一個集成商。確保找到一個具體的OpenFlow體驗(yàn)方式。
為連接應(yīng)用到網(wǎng)絡(luò)設(shè)計規(guī)則。通過OpenFlow控制器軟件,在OpenFlow應(yīng)用和拓?fù)鋵幼鲞@件事。這也是“常規(guī)”流量工程和失敗模式布局做事的地方。
檢查結(jié)果。運(yùn)行一個小范圍多結(jié)點(diǎn)的原型,隨后按照應(yīng)用邏輯擴(kuò)展,拓?fù)浜徒粨Q機(jī)控制軟件測試。
確保OpenFlow是最佳選擇。回顧其他網(wǎng)絡(luò)虛擬化和基于應(yīng)用的轉(zhuǎn)發(fā)選擇,包括各種虛擬私有網(wǎng)絡(luò)(VPN)、虛擬LAN(VLAN)和隧道協(xié)議,確保這些策略不會增大使用或者甚至取代OpenFlow。OpenFlow在哪里被替代,就要監(jiān)控標(biāo)準(zhǔn)流程,確保這種加強(qiáng)不會起決定性作用。
沒有一項(xiàng)網(wǎng)絡(luò)技術(shù)是基于炒作就應(yīng)該部署的,也不應(yīng)該被簡單的駁回,因?yàn)樗砹艘环N傳統(tǒng)之外的新選擇。SDN幾乎必然是未來云的一種方式,OpenFlow是一種轉(zhuǎn)發(fā)控制標(biāo)準(zhǔn),在SDN中同這個過程緊密相連。就像任何其他事物一樣,它的強(qiáng)項(xiàng)和局限性會決定它位于運(yùn)營商網(wǎng)絡(luò)的哪個部分。