摘要:近年SDN甚嚣塵上,号稱可以颠覆網絡格局,引得各大公司和創業公司争推解決方案,各大流派你方唱罷我登場。而以簡化網絡為目标的SDN,卻日趨複雜化,原因何在?@程式員雜志 作者@jiyifeng-nj 帶你一起理性看待SDN。
在SDN的浪潮面前,你能Hold住嗎?近年SDN甚嚣塵上,号稱可以颠覆網絡格局,各大公司和創業公司紛紛推出解決方案:有基于OpenFlow的SDN,有基于業務驅動的SDN,有基于雲和IT的SDN,還有基于光傳輸的SDN,有企業級SDN,有營運商級SDN,又來了個SD存儲,各大流派你方唱罷我登場,好不熱鬧。以簡化網絡為目标的SDN,近來形勢卻趨向複雜化,很反常。
“當你談及技術的未來時,真正有意義的是人們想要什麼?一旦能夠描繪出這一點,剩下的事情就是如何大規模地生産它,并使它足夠便宜,以便人們能夠在不犧牲另外也想要的東西的同時獲得它。除此以外,沒有任何事情是真正有意義的。”Linus Torvalds如是說。
一切不能給使用者帶來價值的技術都是毫無意義的。隻有能給使用者帶來價值的技術,才有生命力。目前,SDN的現狀有點浮躁,好多裝置廠商完全違背SDN的意志和精髓,意圖建立封閉系統。華為任正非早先說過,封閉系統必将自我衰竭。國家如此,公司如此,技術也是如此,以太網技術就是以低廉和相容并蓄,才得以優勝劣汰了ATM。
問題一:廠商鎖定
SDN使用者面臨的廠商鎖定是一個很大的問題,這也是ONF成立的原因。廠商鎖定必定給裝置商帶來高額利潤,形成封閉和反應遲鈍的生态系統。ONF成立的目的就是避免廠商鎖定,防止廠商控制SDN的前途和命運。ONF的董事會中隻有使用者和營運商。他們負責做出所有的重要決定,真正控制着SDN前進的方向。一旦在控制平面和轉發平面之間有了标準的通信接口,任何一家廠商都無法控制使用者。有部分廠商在控制平面和轉發平面之間建立它們自己的私有協定。這一做法會造成廠商鎖定既定事實,并讓廠商鎖定長期存在下去。通過接口标準化,允許每一家公司存在差異的實作方式,讓其提升自身業務競争力,SDN成為了一種能夠讓使用者從廠商鎖定中解放出來的解決方案。
問題二:網絡投資占比低于10%
再了解一下網絡在使用者總體投資建設的比重,中國移動釋出的2013年投資規劃,提到TD-LTE投資将達417億元人民币,其中在PTN裝置上投資50億元。Google的網絡裝置占資料中心總投資7%。據可靠消息,阿裡網絡投資隻相當于伺服器的10%,風火水電布線可比網絡要貴很多,省點電費和寬帶費就可将網絡投資收回。總體上看,阿裡網絡投資占比與Google相當,百度的情況也類似,OTT們在網絡方面的投資全都低于10%。兩者對比,從另一個角度看,中移動的PTN裝置采購再打8折才有希望趕上OTT們的業務創新效率。沒辦法,這就是沒有研發能力被廠商鎖定的後果。
傳統企業業務三大件——伺服器:存儲:網絡投資比重約為5:4:1。也就是說,網絡也隻占總盤子的10%。對老闆來說,買伺服器上業務賺錢更實在、更直接。如果要上SDN,最好先跟老闆講清楚,上了SDN可以怎樣更多快好省地創新業務賺錢,否則老闆不會簽字。另一個隐含的意思是,隻許花10%的錢把網絡搞好,如果SDN裝置的價格超過傳統路由交換n倍,老闆絕不會簽字購買。關鍵在于能否說服你的老闆把SDN網絡裝置的投資占比提高到20%?是以全地球都在熱炒SDN,就指望把傳統網絡裝置技術更新到SDN,使其投資占比提升到20%。但這與SDN初衷“足夠便宜”又背離了。
問題三:伺服器市場前車之鑒
目前伺服器市場完全被Intel控制着,而Intel近來日子有點緊,就把CPU賣給了白牌機廠商。這樣,惠普和戴爾的結局一下子就有目共睹了。伺服器市場就是被如Google之類的OTT大鳄業務驅動演進如此的。而網絡市場被Broadcom控制着,目前是混亂的、壟斷的,與PC市場标準化完全不一樣,各家做各的。一旦被SDN理順,也會出現伺服器市場的格局。假設Broadcom的生意也像intel一樣走下坡路,必然會把晶片銷售向白牌機傾斜。由此可見,網絡裝置商的結局也是可預期的。是以目前第一要緊的事是把SDN的水攪渾,搞複雜。中國電信韋樂平高瞻遠矚提出“去電信化”的口号,就是受不了現在的裝置功能複雜不實用和昂貴。雖然與Google的思路是一樣的,但差別是一個先做後說,另一個是隻說沒做。
SDN作為一種新型網絡創新架構,通過将網絡裝置控制面與資料面分離,進而實作了網絡流量的靈活控制,為系統及應用的創新提供了良好的平台。這也是邁向雲計算不可或缺的演進步驟。SDN所處的政治環境如上所述,而就SDN技術本身而言,還有哪些問題呢?
SDN功能齊備,性能堪憂
将SDN裝置扒開一看,無非有基于ASIC、基于NP和基于CPU三種。ASIC和NP基于Pipeline模式的傳統做法,對網絡封包的轉發和處理可以達到很高的性能。但OpenFlow的n元組查找和處理仍然是個大問題,盡管有比TCAM便宜的DRAM+FPGA低成本實作方案(詳情可向FPGA廠商了解)。SDN祖師爺斯坦福大學的Nick McKeown曾在Cisco做過路由器,對路由器了如指掌,即将發表一篇關于新型通信處理器的文章。原型設計中解析引擎首先分析正在不斷擴充的封包頭,然後将封包送至相比對的執行單元流水線并執行操作,隻需增加15%的矽面積和功耗,便可以處理目前或者将來的任意協定。據可靠資訊,包括初創公司xPliant及TI、Cavium、Mellanox等都在研發此類晶片。仔細觀察,便能發現這基本都是CPU廠商。
Nick預期,那些大型路由器與交換機廠商,在十年之内就會以該類晶片取代ASIC,并轉型為軟體公司。也就是說,那個時候才是真正的SDN時代,現在還不是。
OpenFlow 1.3版還有一個測試套件,也有望在今年下半年公布。ONF成立了首個獨立測試實驗室。在OpenFlow中,使用可變長度的n元組封包頭(例如IP和TCP協定中的那些)轉發會造成性能損失。而使用固定長度header來轉發,傳統路由交換機完全勝任。這意味着目前OpenFlow不太可能完全取代傳統網絡裝置,而是作為需要先進的VM或會話管理的應用程式的輔助功能,需要以犧牲資料包轉發性能為代價。
如果SDN的先驅們,能考慮一下利用現有的晶片能力和轉發方式,集中精力在控制層面上,或許能有更好的創新,OpenFlow隻是SDN南向接口的一個标準而已,這類技術被網絡産品的革命者(如新興晶片廠商、白牌機廠商和控制器廠商)所吹捧。但在目前的形勢下,網絡裝置廠商盡管口頭上号稱支援OpenFlow,但大家也處于有限觀望狀态,等待更好的OpenFlow晶片出現。但換個邏輯,假如使用目前的L2/L3甚至于L4的轉發,而不采用流表的方式,也能實作OpenFlow所能描述的功能的話,OpenFlow恐怕也僅僅止步于先驅者的角色上。
SDN應用層能力弱,營運商陣營提出NFV
NFVISG即将公布L4-7功能虛拟化的指南。例如負載均衡案例:OpenFlow交換機發送了大量會導緻網絡擁塞的封包,随後應用關注這一情況并會檢視伺服器的擁塞狀況。當需要資料流表請求時,應用會簡單地評估一下網絡和伺服器的擁塞情況,然後增加多條虛拟路徑以負載均衡。
OpenFlow協定針對的是Layer2 、Layer3和2.5等的報頭字段。這是因為商業ASIC套片特别關注的是這兩個部分。SDN對網絡架構影響的讨論主要集中在2-3層。具體來說,目前SDN主要用于網絡層(2-3層),是以尚無法解決應用層(4-7層)的問題,包括可用性、優化和應用安全等在内的挑戰。NFV的思想是基于海量的、歸一化的伺服器和交換機,通過軟體實作多種多樣的網絡功能,如虛拟的營運級NAT、虛拟的廣域網優化、虛拟的企業接入路由器,以此達到降低成本、加快業務部署、資源彈性伸縮、建構創新生态鍊的目的。
NFV使用了大量資料中心和安全領域内的既有技術,目标可以基于非SDN(OpenFlow)的機制而實作,也就是說NFV自立門戶完全可行。如果套用SDN所提出的将控制平面和資料平面分離的思路,就能進一步加速現有的部署且簡化互操作性,減輕營運和維護的負擔。NFV和SDN的攜手合作可以解決整個網絡中複雜的應用傳遞管理問題,而這種結合應用有望在電信領域率先實作,可使用标準的伺服器和白牌交換機來低成本實作。
話說回來,假如使用目前已有的網絡虛拟化技術,而不貼上NFV的标牌,也能實作NFV所能實作的功能的話,NFV恐怕也僅僅止步于先驅者的角色上。
SDN控制器性能問題
絕大多數的SDN控制器卻工作在2-3層,這與4-7層的服務需求是不比對的,應用層的SDN要求更強的智能、動态控制和可程式設計性。這有助于企業在資料中心中靈活部署和創新業務。盡管SDN正推動着開放标準接口給業務為主導的控制器,但目前它還不具備在大規模網絡中迅速切換流量的能力。在某些案例中,即使是精心設計的雙主或者主備SDN控制器,也無法實作實時容錯切換、擁塞處理。是以,這是SDN需要改善的領域。今天,很多控制器還隻在産品層面做些小規模的測試。相反,傳統的網絡裝置,還在全球大規模部署,還依然是世界上大部分關鍵雲業務所依賴的網絡基礎。
軟硬體技術進步推動SDN發展
SDN可以利用網絡流量的可視化及靈活的編排,将流量導入特定的業務伺服器、防火牆或者IDS/IPS裝置,進而確定應用程式以及流量的正确流向及安全。除此之外,借助網絡虛拟化(如VXLAN)及控制器插件,網絡管理人員可以将應用及其屬性随着虛拟機遷移到其他實體裝置上去,應用可以直接指揮流量。
SDN離不開一個能提供進階語言網絡程式設計、開放的API接口、标準協定的作業系統,核心也成為更高處理能力的瓶頸,将包處理、包轉發、記憶體管理和處理器排程功能從核心中拿出來做成應用,讓核心回歸Unix時代設計的初衷:不處理資料,隻做純粹的管理平台。目前,這一技術也被程式員熟練掌握。而在硬體水準飛速發展和性能不斷提升的同時,現有作業系統的核心架構已無法高效利用相應資源,未來的多核、衆核處理器呼喚着下一代作業系統。
CPU以Intel為主的流派,通過純軟體方式實作網絡業務的轉發和傳送。在特定的應用場景下,這是可行的,DPDK使用者态轉發的确把封包轉發的性能提升了一大截。但如果放到高頻交易的應用場景下,我估計華爾街的老闆會把方案提供商的腦袋敲破。每種技術方案都有合适的應用場景與之對應,沒有絕對的,隻有合适的。華爾街就有一個用低延時網絡裝置減少高頻交易1ms延時,價值1000萬美金的故事。但如何将4-7層服務部署和配置設定到SDN架構模型中去,目前還面臨一些挑戰:因為SDN意味着網絡與應用的融合,通過應用讓網絡變得簡單智能,這也意味着未來的SDN應用場景必須高度專業化和定制化。
神奇的闆藍根???
目前還是SDN初級階段。不管是SDN,還是NFV,都是一句空洞的廣告語,作用跟偉大中醫神奇的闆藍根一樣,包治百病。就實作而言,NFV更容易實作,目前廠商無不精通此道。NFV通常用CPU實作。一旦NFV大行其道,Intel不就把網絡的那可憐的10%市場佔有率也搞定了?這值得廣大系統設計者思考,x86可不便宜,10%的投資限額内要滿足原有的轉發性能還得加上NFV,網絡業者的壓力不比惠普和戴爾小,甚至更大。通過對SDN和NFV的造勢,如果能忽悠投資人将網絡裝置的投資比重提升到20%,那是一件幸事。
實作SDN的必由之路:開源和白牌機
在守住10%的投資占比紅線的前提下,白牌機扣除了裝置廠商的品牌溢價後,可以做為一個采購選項。白牌機的概念将繼SDN之後掀起另外一場革命。白牌機廠商是要像做PC一樣去做網絡裝置。一旦網絡裝置标準化了,廠商便可以提供硬體和boot loader,還可提供驅動和作業系統供其選配使用。最終使用者可以像挑選PC一樣挑選網絡裝置,然後自行安裝作業系統和應用程式,招募程式員程式設計來控制裝置轉發行為,實作自營業務的快速部署和創新。
現狀是,在營運商那裡能程式設計的程式員相當少,而在OTT那兒,是一大把。SDN的運維以及北向接口的程式設計在營運商那邊是個大問題。營運商一旦上了SDN,網絡運維托管就會成為一個大生意,這又是程式員的用武之地。
網絡使用者和新興小廠商對變革有着原始驅動力,是它們而不是大裝置商來驅動網絡創新。SDN将垂直整合的産業結構變成了水準分割,将惡性競争彼此封閉變成了産業協作。
廠商也意識到開源的重要性,OpenDaylight就是一個由廠商組成的團隊,以ONF制訂的規範為基礎研發産品。用開源方式建立執行個體,測試、疊代,驗證方案,并從中總結經驗教訓,最終将産品應用到實際部署中去。
學習Google和Facebook的SDN案例
來圍觀一下Google的SDN大裝置,使用商用套片和開源的路由堆棧,沒有多餘的特性。可見,SDN天然“去電信化”屬性,完全為程式員而生。程式員可以自己寫程式管控網絡行為,這就是革命,也應了ONF執行董事Dan Pitt剛在Interop 2013上說的話,讓使用者自己來主導SDN。
前段時間,Facebook上司的開放計算項目宣布了網絡交換機計劃,這可能帶來白盒SDN交換機的新時代。Facebook的Casemore也表示,SDN仍然處于非常早期的階段。未來令人期待。
軟體定義資料中心促進SDN發展
在PC體系中,需求确定後,軟體系統也就确定了,硬體隻能在标準接口的限制下發展。但資料中心給了我們一個機會,去重新考慮整套軟硬體體系的建構,隻要能滿足最終的應用需求,相容性和既有标準都已不再重要。這是一個相當開放的時代,一切标準和規範都落後于業務發展的需求。SDN的需求來之于生産環境,來自程式員的代碼中。
在開源精神下,程式員自己程式設計管理自己的網絡,為端到端的通信提供了一個開放的、應用驅動的、可程式設計的網絡路徑,進而加快業務創新速度。由此看來,勢必會蠶食商業大鳄的領地,并颠覆之。一個軟體定義的資料中心已經在醞釀之中。網絡承載複雜的應用,将這些應用貫通到SD伺服器(如ARM伺服器)、SD存儲、SDN、智能終端中去将需要相當多的重新編碼。人活着,一定要做有意義的事情。SDN就是一件有意義的事情,值得程式員們去做。
本文作者系獨立觀察員,自由撰稿人。新浪微網誌:@jiyifeng-nj
更多SDN文章,請見《程式員》2013年6月刊。
原文連結:http://www.csdn.net/article/2013-06-08/2815714