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