SDN+白盒 是賭博還是革命?
博主想借這篇文章瞎子摸象,聊聊white box,目的是拋磚引玉。回顧2014年SDN領(lǐng)域的重大事件,Juniper的OCX應(yīng)該排得進(jìn)前三,它非常強烈的向市場傳遞出一個信號:white box的大潮真的來了。如何讓這個大潮來得更猛烈,如何讓我們這些押注SDN+white box的賭徒們分得一杯羹,是一個十分讓人興奮的話題。
首先明確一下這篇文章里所說的white box是指bare metal switch + ONIE,不預(yù)裝其他任何軟件。用戶可以選擇在交換機上安裝怎樣的操作系統(tǒng)。用服務(wù)器做類比就是裸機+BIOS,上面可以跑windows也可以跑linux。這里還請大家不要糾纏于定義的細(xì)節(jié)。另外,本文也不會討論virtual switch,只討論physical switch。
按照SDN宏偉藍(lán)圖最初的構(gòu)想,在SDN+white box的產(chǎn)業(yè)鏈上本來應(yīng)該有這樣四個關(guān)鍵的環(huán)節(jié):交換芯片,交換機硬件軟件,控制器,應(yīng)用開發(fā)。但SDN發(fā)展這么多年,根本沒有發(fā)展成這個樣子。博主觀察到的現(xiàn)有企業(yè)大概是這樣幾類:1) 交換芯片,2) 交換機硬件 and/or 交換機軟件, 3) 交換機軟件 + 控制器,4) 控制器。博主在這里斗膽預(yù)測:單純的控制器廠商會越來越無足輕重,第3類廠商會從第1、2類廠商那里獲得越來越多的話語權(quán),并逐步成為整個產(chǎn)業(yè)鏈的核心。至于為什么不會有真正意義上做SDN應(yīng)用的廠商存活下來,博主在之前的文章中已經(jīng)有所涉及(當(dāng)然,系統(tǒng)集成商會永遠(yuǎn)存在)。那些錢多任性的大鱷當(dāng)然什么都做啦。
博主做出以上預(yù)測的理由從本質(zhì)上來說只有兩點,第一:在現(xiàn)階段,掌握交換機硬件比掌握控制器有更大的話語權(quán)。第二:只有將控制器和交換機軟件進(jìn)行整體設(shè)計和施工才能讓SDN真正落地。
第一點不難理解。交換芯片和交換機是硬件,控制器是軟件。不管控制器多么復(fù)雜,它的研發(fā)成本和周期比起交換芯片和交換機來說都不在一個數(shù)量級上。單就這一點而言,新一代開源控制器的出現(xiàn)對整個行業(yè)的影響力遠(yuǎn)遠(yuǎn)不及新一代轉(zhuǎn)發(fā)芯片的出現(xiàn)。
更重要的是,不管哪家客戶膽大到樂意去嘗試SDN,他們在貨比三家時一定會在三個問題內(nèi)問道:你家的SDN方案有哪些硬件交換機支持?這些硬件交換機用的什么芯片和CPU?靠譜不?對SDN控制平面的關(guān)心反倒在次要的位置上。這也是為什么所有SDN解決方案提供商都會在最顯眼的地方把“Hardware Compatibility List”列出來,并且這個list里面每增加一款硬件設(shè)備,都會請媒體做一次報道。于是這個市場里面就產(chǎn)生了這樣四個陣營:
1)那些主流的交換機大廠。他們根本不屑于與任何SDN控制器廠商合作出方案,而是索性自己把控制器和解決方案都做了,不過這個控制器只能控制他們自家的交換機。只是他們會砸錢在多種渠道上打造開放的公關(guān)形象。
2)控制器廠商和第二梯隊的交換機廠商合作推出完整的SDN解決方案。之所以強調(diào)完整,是因為如果你的解決方案中有一個環(huán)節(jié)還需要客戶自己想辦法的話,這個生意八成會黃掉。這個陣營是推動是SDN發(fā)展的中堅力量,其中的交換機廠商是這樣pitch客戶的:我們的交換機支持張三李四等控制器廠商的datacenter/WAN/TAP解決方案。如果你不用那些解決方案,也沒問題,因為我們采用的是最主流的交換芯片+ONIE,上面可以裝載任何廠家的操作系統(tǒng)和南向API agent??刂破矫婵梢杂肧DN控制器也可以跑傳統(tǒng)的2/3層協(xié)議。控制器廠商會這樣pitch客戶:我們有完善的datacenter/WAN/TAP解決方案,可以和王五趙六等數(shù)家廠商的交換機兼容,有開放南向接口和行業(yè)通用的北向接口。這樣的合作至少給20年不變的網(wǎng)絡(luò)界帶來兩個東西:開放和競爭。博主真心認(rèn)為這種模式是SDN繼續(xù)發(fā)展壯大的正途。
3)第二梯隊的交換機廠商。這些交換機廠商硬件研發(fā)流程成熟,往往會根據(jù)重復(fù)出現(xiàn)的應(yīng)用案例定制自己的交換機軟件甚至是交換芯片,并且能夠取得一定的市場份額。這類企業(yè)目前面臨的最大問題恐怕是沒有完整的解決方案,需要客戶在他們的交換機基礎(chǔ)之上,進(jìn)行控制器的深度定制開發(fā)。但實際情況是絕大多數(shù)SDN控制器廠商都在努力完善與datacenter/WAN/TAP相關(guān)的解決方案。與控制器廠商合作轉(zhuǎn)型到第二個陣營,會讓這個陣營的交換機廠商獲得快速的壯大。
4)單純的控制器提供方。他們的客戶絕大多數(shù)是科研機構(gòu)和學(xué)校。大多數(shù)需求是控制mininet或者由openflow交換機搭成的小規(guī)模testbed。對于這個陣營的企業(yè),如果不和交換機廠家聯(lián)合推出完整的SDN解決方案并轉(zhuǎn)型進(jìn)入第二個陣營,要有大作為會十分困難。
接下來,博主會簡要討論一下為什么SDN控制器和交換機軟件一定要整體設(shè)計和施工才會讓SDN落地。具體的分析會細(xì)分成不同的話題在之后的文章中陸續(xù)討論。SDN中心控制的思路確實極大的簡化了網(wǎng)絡(luò)管理的復(fù)雜程度,不過博主愚鈍,曾經(jīng)天真的以為可以將所有的網(wǎng)絡(luò)控制邏輯都放在控制器里面,交換機只負(fù)責(zé)轉(zhuǎn)發(fā)和packet-in就好了。但這種極端的想法讓博主四處碰壁,很久之后才幡然悔悟:要根據(jù)具體的問題來決定究竟將控制邏輯放在控制器里還是offload到交換機上。比如之前博主講到的ARP,將2層的ARP控制邏輯放在控制器上(主要是“種樹”),而將3層的ARP控制邏輯offload到交換機上(主要是default gateway),目前看來就是一個不錯的選擇。需要認(rèn)真作出取舍的設(shè)計決定還有很多: ICMP, DHCP, LLDP, LACP, NAT,動態(tài)路由協(xié)議等等?,F(xiàn)在面對每一個控制平面甚至是數(shù)據(jù)平面的feature,博主都會問自己:究竟該把這個feature放在控制器上還是offload到交換機上會帶來更多的repeatable use cases?這個思維訓(xùn)練讓博主受益匪淺。
總結(jié)一下博主的觀點:控制器廠商和交換機廠商合作推出完整的SDN解決方案是white box革命的關(guān)鍵;交換機軟件和控制器整體設(shè)計和施工是SDN落地的關(guān)鍵。