在SDN的初期階段,各種可能性大量存在。這樣的想法讓從業(yè)者非常興奮,并且吸引了大批的開發(fā)人員。OpenFlow就是早期的一顆SDN明星,這 個出自斯坦福大學(xué)的驗證概念指出了規(guī)劃網(wǎng)絡(luò)的一種全新的方法。很多人甚至將SDN與OpenFlow混為一談,好像除此之外SDN就沒有其他可能性存在 了。
情況當然并非如此,但在SDN初期的炒作階段,這種想法也是可以理解的。OpenFlow進展神速,因為有開放網(wǎng)絡(luò)基金會(ONF)在后面推動,很快便連續(xù)發(fā)布了已迭代多次的OpenFlow主規(guī)范版本。
然而最近一段時間,OpenFlow的進展似乎陷入了停滯。業(yè)界對它的熱情也在逐漸減退。ONF發(fā)布OpenFlow主規(guī)范的步伐也已放緩。這些天來,就連廠商自己舉辦的SDN發(fā)布會,也不再強調(diào)OpenFlow有多么多么神奇了。
SDN已經(jīng)用多個品類的產(chǎn)品創(chuàng)造出了屬于自己的行業(yè),其中一些產(chǎn)品根本沒有用到OpenFlow。而在今年春季于美國紐約召開的開放網(wǎng)絡(luò)用戶組會議 上,OpenFlow也不再是一個主要的討論話題。有些廠商對在自己的產(chǎn)品中增加對OpenFlow的支持興趣不高,甚至表現(xiàn)出厭惡情緒——這其中就包括 大牌廠商思科和Juniper。不過另一些廠商,像惠普和博科,則依然將OpenFlow視為其生態(tài)系統(tǒng)的重要組成部分。
OpenFlow似乎已走到了一個十字路口。從用戶的角度來看,這種情形似乎頗讓人驚訝,也引發(fā)了一個疑問:長期來看,OpenFlow在SDN的發(fā)展中究竟還能不能發(fā)揮重要作用?
這個問題的答案在于要理解OpenFlow究竟是什么。簡單來說,OpenFlow其實就是為網(wǎng)絡(luò)設(shè)備編程轉(zhuǎn)發(fā)表的一種工具而已。
可是……事實就是如此。OpenFlow就是一個工具。但也不要因此而貶低OpenFlow。OpenFlow的確是一個工具,但它是一個有用的強大的工具。OpenFlow可提供的功能有如下一些:
●一個標準化的界面,可將廠商特定的硬件抽象出來。而可與OpenFlow對話的控制器則可針對支持OpenFlow的設(shè)備進行編程。
●一種對網(wǎng)絡(luò)進行集中編程的方法。
●一種可進行“例外編程”的簡易方法,用于處理網(wǎng)絡(luò)中不能遵循正常最佳路徑的例外流量。
一直在使用OpenFlow的廠商自然會指出,OpenFlow并未完全標準化。從某種意義上說,一些廠商為其添加了很多附加功能,對其做了擴展。 事實的確如此,不過值得指出的是,這些廠商(包括Big Switch、NEC和VMware)正在與ONF合作,力圖將這些擴展納入到OpenFlow的標準中去。這樣的進程頗類似于過去其他廠商處理擴展與標 準的情形。要說業(yè)界要完全拋棄OpenFlow似乎不太可能。一直在使用OpenFlow的廠商則試圖與業(yè)界同行盡量保持一致。
有些廠商可能會認為OpenFlow貶低了硬件的作用,OpenFlow作為一個標準化的界面不可能完全展現(xiàn)出硬件芯片所具備的所有功能。畢竟像思 科和Juniper這類廠商是希望用其硬件芯片來實現(xiàn)差異化的。這樣做并沒錯,但卻改變不了所有網(wǎng)絡(luò)都擁有一個與流量轉(zhuǎn)發(fā)和訪問控制相關(guān)的通用功能根集合 的事實。這一點的確是與芯片無關(guān)的。
那么,假如OpenFlow只是一個工具,又有什么特殊的理由要強調(diào)其重要性呢?
在SDN的初期,業(yè)界為這些新工具而興奮也屬正常,因為如果沒有這些工具,SDN就無法將其想法變?yōu)楝F(xiàn)實。作為一個行業(yè)來說,我們已經(jīng)開始了超越工 具而進入這些工具給網(wǎng)絡(luò)所帶來的現(xiàn)實階段。因此,關(guān)注的重點也開始向各種用例、產(chǎn)品和SDN的運營轉(zhuǎn)移。換句話說,普通的網(wǎng)絡(luò)消費者不會去買SDN或者 OpenFlow,而是會在SDN逐漸成為主流時,去購買這些工具所帶來的各種功能。
廠商如何使用OpenFlow
我們現(xiàn)在知道SDN不僅僅意味著OpenFlow。我們也知道,網(wǎng)絡(luò)的軟件編程就是不用OpenFlow也能完成任務(wù)。OpenFlow只是很多工 具中已被證明對于軟件定義范式很有用的一種而已。但我們也不能犯輕易放棄OpenFlow或者將其已有影響貶低到一文不值的錯誤。所以,有些廠商已開始在 自己的幾款商用產(chǎn)品中用到了OpenFlow。下面就是一些實例。
●惠普在其多款產(chǎn)品中用到了OpenFlow?;萜盏腣AN控制器利用OpenFlow,可以在一些應(yīng)用如網(wǎng)絡(luò)優(yōu)化器中對交換機進行編程。該優(yōu)化器可為微軟Skype商用版(即Lync)提供動態(tài)QoS編程能力。
●博客的Vyatta控制器運行OpenDaylight代碼,并可將OpenFlow作為編程選項之一。
●就連思科也在其為數(shù)有限的幾款交換機平臺上提供一些OpenFlow支持。
●別忘了,OpenFlow還是Open vSwitch中的重要工具,而后者正在持續(xù)普及中。
我們還可舉出更多的例子來,但關(guān)鍵是要認識到很多廠商要么是在應(yīng)用中使用OpenFlow的,要么是在某個硬件平臺上對其提供支持的。 OpenFlow還遠未達到無所不在的程度。作為行業(yè)來說,我們尚未達到可以假定任何一個交換機平臺都具備OpenFlow功能的地步。即便 OpenFlow成了一種標配,我們也不能確定哪些具體功能獲得了支持,或者得到支持的功能是否能用于規(guī)?;瘮U展。
為了解決這些問題,并讓OpenFlow在未來具有更多的可預(yù)見性,ONF專門成立了各種工作組、社區(qū)和提案組。
其中一個工作組是轉(zhuǎn)發(fā)抽象工作組(FAWG)。FAWG正在制定描述OpenFlow功能的一種方法,目的是為了便于硬件抽象層(HAL)的編寫者們更容易在其芯片中實現(xiàn)OpenFlow。
FAWG的一個重要關(guān)注點就是表類型范式(TTP)。FAWG的主席Curt Beckmann稱,“TTP的一個(可選)用途就是分清兩件事:在給定的上下文中如何使用轉(zhuǎn)發(fā)功能,以及如何通過OpenFlow來控制轉(zhuǎn)發(fā)功能。”總 之,TTP的目的就是要為更便捷地使用復(fù)雜的OpenFlow指令鋪平道路,因為在OpenFlow 1.0版之后,有些指令內(nèi)容會變得越來越具挑戰(zhàn)性。
FAWG是一個例證,說明ONF正在與行業(yè)合作(+微信關(guān)注網(wǎng)絡(luò)世界),力圖讓越來越復(fù)雜的OpenFlow功能更便于使用。這樣的合作需要時間,但已經(jīng)有了一些初期的成果。
例如領(lǐng)先的以太網(wǎng)芯片供應(yīng)商博通就已在2014年12月發(fā)布了“下一代”開放交換機傳輸規(guī)范,稱為OF-DPA 2.0。OF-DPA 2.0采用了TTP,還有OF 1.3.1中可以找到的很多豐富的功能。關(guān)鍵之點在于,這一進展正在讓OpenFlow這一具有強大能力的網(wǎng)絡(luò)編程工具變得更容易使用,更能夠清晰地表達 出復(fù)雜的應(yīng)用需求。
OpenFlow的未來看上去一片光明。本文作者在研究了SDN的很多企業(yè)用例之后發(fā)現(xiàn),普遍來說,企業(yè)正在轉(zhuǎn)向可以進行流量操控、流量安全和實現(xiàn)網(wǎng)絡(luò)虛擬化的技術(shù)。更有趣的是,在大多數(shù)情況下,上述分類中的很多解決方案都將OpenFlow作為了編程工具。
而OpenFlow的互操作性也已成為廠商們嚴肅討論的話題。例如NEC最近就宣布了與阿朗企業(yè)集團的合作,在這一合作中,NEC早已存在的ProgrammableFlow控制器將采用OpenFlow對阿朗企業(yè)的交換機硬件編程。
正因為有了這些進展,我才敢說OpenFlow的未來的確是一片光明的。OpenFlow已經(jīng)在準備成為一個杰出的平均器——成為不斷成長的開放網(wǎng)絡(luò)運動中的一個關(guān)鍵性要素。
我說“杰出的平均器”,意思是指OpenFlow可用于消費芯片上復(fù)雜而豐富的各種功能,而且是在跨多個硬件平臺的規(guī)模化擴展中使用,如此一來,垂 直集成的堆棧就會變得不那么重要了。網(wǎng)絡(luò)業(yè)者一般所用的網(wǎng)絡(luò)硬件都配有自帶的芯片、與之相伴隨的CLI(命令行接口)以及某種特殊類型的API(應(yīng)用接 口),這些組件一般都是緊密集成在一起的。假如OpenFlow最終能夠變得無處不在,那么交換平臺本身也會變得不那么重要了,至少不會比在其上運行的應(yīng) 用更重要了。
這將在開放網(wǎng)絡(luò)的解耦進程中發(fā)揮很好的作用,企業(yè)或服務(wù)提供商可以選擇白盒交換機來運行他們自行選定的可兼容的網(wǎng)絡(luò)操作系統(tǒng)。這將為他們提供多種運營選擇、降低廠商鎖定風險,并有可能帶來成本節(jié)約。
OpenFlow能與這些價值觀很好地吻合,為SDN控制器的開發(fā)人員提供一種可預(yù)測的方式來對硬件編程。一旦網(wǎng)絡(luò)業(yè)進入這個開放的世界,爆發(fā)式的 創(chuàng)新就會發(fā)生。一旦一個可預(yù)測的、抽象的網(wǎng)絡(luò)平臺能夠投入使用,那么面向SDN應(yīng)用、運營靈活性以及提升整體IT效率的市場就將被打開。
OpenFlow或許正處在一個十字路口,但它不會迷路,更不會消失。我個人的強烈感覺是,OpenFlow最好的未來還沒有到來。