《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 再思考SDN(一)
再思考SDN(一)
來源:cnw.com.cn
作者:中興通訊中心研究院系統(tǒng)架構(gòu)部總工 汪軍 
摘要: ONF成立兩年之際,SDN開始得到業(yè)界的廣泛認同,尤其是從IT真正走入了CT,而CT的網(wǎng)絡類型五花八門,這使得SDN的應用場景急劇增長,大有無所不能之勢。
Abstract:
Key words :

 ONF成立兩年之際,SDN開始得到業(yè)界的廣泛認同,尤其是從IT真正走入了CT,而CT的網(wǎng)絡類型五花八門,這使得SDN的應用場景急劇增長,大有無所不能之勢。

 
業(yè)界目前所推的SDN無非兩種,方式一是原生的斯坦福/ONF推崇的OpenFlow完全控制的網(wǎng)絡架構(gòu),方式二是部分廠商推出的設備可編程的架構(gòu),兩者的核心區(qū)別在于后者設備的本地控制面仍然要運行傳統(tǒng)的協(xié)議,可編程是附加的能力,當應用崩潰后,原有設備/網(wǎng)絡仍然可以繼續(xù)正常運行。這一架構(gòu)的優(yōu)點看起來很明顯,避免了控制面本身故障的問題,但是問題也同樣明顯,首先設備本身的復雜度實際上是增加了,門檻繼續(xù)加高,不利于新興的設備廠商的參與;其次既然部分由傳統(tǒng)控制面控制,部分由應用程序控制就需要額外的控制仲裁規(guī)則,比如基于OpenFlow Hybrid模式下端口的劃分、路由器RIB的合成規(guī)則或者增加額外的流分類器等等,這使得可編程性受到限制,客戶未必能夠操縱所有的轉(zhuǎn)發(fā)面狀態(tài),使得其實際上更適合于特定的應用優(yōu)化;
 
而方式二其優(yōu)點是轉(zhuǎn)發(fā)面可以徹底簡單化,受控轉(zhuǎn)發(fā),在全局的控制面控制下可以做到完全自動化部署、配置和維護,缺點也有很多:1)目前的硬件不能很好地支持OF1.1+的抽象模型,只能由控制面適配ASIC本身的能力,業(yè)務支持受限于特定硬件,所以Nicira選擇在vSwitch上支持OpenFlow。2)集中控制面的問題,控制面本身的可靠性可以通過分布式技術解決,主要是控制平面本身的時延、可靠性問題,時延隨距離增加線性增加,而可靠性則下降更為迅速,關鍵設備必須要通過雙網(wǎng)雙平面的方式保證,這使得控制本身的成本大大增加。我們有理由相信Pure OpenFlow的方式更適合于地理上相對較近的網(wǎng)絡,比如企業(yè)網(wǎng)、數(shù)據(jù)中心和運營商接入網(wǎng)絡。地理跨度更大的網(wǎng)絡往往用基于網(wǎng)管接口的方式更加合適。
 
我們再考察轉(zhuǎn)發(fā)設備芯片,目前速度最快的ASIC到NP、FPGA、多核以及純軟轉(zhuǎn)發(fā)的x86均有,其處理單元組織可以分為Pipeline和SMP/NUMA兩種形式,pipeline結(jié)構(gòu)分工明確、可以按Pipeline環(huán)節(jié)的功能設計進行優(yōu)化,同樣的芯片面積可以做到更高的轉(zhuǎn)發(fā)速度,問題是需要分解轉(zhuǎn)發(fā)邏輯到相應的流水線上,靈活度受限;SMP方式編程簡單、靈活,但開銷稍高。說到底,靈活和成本是互換的。對于Switch ASIC這樣的流水線長度、鍵值類型和操作都固化特定的芯片而言,控制面很難統(tǒng)一控制不同的設備,比如說我按業(yè)務分解到查目的MAC表打上MPLS標簽,但是ASIC MAC表只支持打VLAN標簽,那么就玩不轉(zhuǎn)了。比較理想的模式是轉(zhuǎn)發(fā)面Match和Action最好都是可以由控制面定義的,比如在數(shù)據(jù)中心中,主要是端口分類表、MAC轉(zhuǎn)發(fā)表、L3交換表和L3前綴表,那么我就初始化成4個Flowtable,三個HASH的,一個BST或TCAM的即可(此處為說明簡化成4張表),那么在運營商網(wǎng)絡可能需要增加MPLS、IPv6等表,而這些表對Action的支持是均質(zhì)的,那么控制器軟件就不需要分別和多家多種設備做兩兩互通測試,真正做到產(chǎn)業(yè)鏈的開放。在這種芯片結(jié)構(gòu)下,大的TCAM不是必須的,除非應用要求進行大量通配表查找,比如大量包含通配的流調(diào)度。Nick Mckeown ONS 2013上演講所提的芯片就是此種類型,其聲稱增加芯片面積、功耗不到15%,如果屬實,那么其一旦商用,將對產(chǎn)業(yè)產(chǎn)生真正的顛覆作用,所謂SDN將轉(zhuǎn)發(fā)設備簡化、開放化的愿景主要依賴于此種芯片。
 
其實可編程和可配置之間的界限是比較模糊的,如果采用NetFlow統(tǒng)計流量,用NetConf、命令行下配置策略實現(xiàn)流量工程到底是叫配置還是編程?我個人認為這一點區(qū)別并不重要,關鍵是轉(zhuǎn)發(fā)面正常運行是否依賴于外部實體的實時響應,如果是,則外部實體(控制面)的可靠性就是和設備處于同一標準,可以稱之為控制面,否則就是網(wǎng)管。在完全控制和部分可編程之間也不存在絕對的界限,比如可以將傳統(tǒng)控制面路由協(xié)議全部關閉,外部由應用控制RIB,當然這和pure OpenFlow方案相比多花了一些冤枉錢。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。