互聯(lián)網(wǎng)采用了一種“端到端透明”的設(shè)計(jì)理念,即在基礎(chǔ)協(xié)議TCP/IP等的設(shè)計(jì)中,把與通信相關(guān)的部分與高層應(yīng)用分離,最大限度地簡化網(wǎng)絡(luò)(IP)的設(shè)計(jì),將盡可能多的復(fù)雜性和控制放在終端(TCP)上。這里的終端,既指用戶終端,也指服務(wù)器。
IP技術(shù)有兩大基本功能:在控制面,每臺(tái)路由器彼此學(xué)習(xí)路由信息,建立各自的路由轉(zhuǎn)發(fā)表。在數(shù)據(jù)面,每臺(tái)路由器收到一個(gè)IP包后,根據(jù)自己的路由轉(zhuǎn)發(fā)表做IP轉(zhuǎn)發(fā)。
IP路由有三個(gè)基本特點(diǎn):路由學(xué)習(xí)是分布式的,沒有路由控制中心點(diǎn),每臺(tái)路由器之間的地位彼此對(duì)等;IP轉(zhuǎn)發(fā)是“Best Effort”的,IP包傳遞過程中可能出現(xiàn)延遲、亂序、丟失甚至重復(fù)等;控制面和轉(zhuǎn)發(fā)面不分離,是“隨路信令”。
歷史上與TCP/IP競爭的還有X.25等技術(shù)。X.25是電信業(yè)主導(dǎo)設(shè)計(jì)的,具有很多電話網(wǎng)技術(shù)的影子,包括路由的集中控制等。TCP/IP是計(jì)算機(jī)行業(yè)主導(dǎo)設(shè)計(jì)的,更像一個(gè)放大版的計(jì)算機(jī)操作系統(tǒng)。無論是電話網(wǎng)技術(shù)、X.25還是TCP/IP都設(shè)計(jì)用于雙向通信,核心是點(diǎn)到點(diǎn)的連接技術(shù),都不太適合點(diǎn)到多點(diǎn)的分發(fā)業(yè)務(wù)。
到了1990年代初,基于圖形瀏覽器的WWW(World Wide Web)開始興起。WWW服務(wù)器通過網(wǎng)絡(luò)向N多用戶提供瀏覽、搜索等服務(wù),這不僅導(dǎo)致IP網(wǎng)絡(luò)流量激增,也使得流量的傳播方式從點(diǎn)到點(diǎn)的連接模式為主,變成了點(diǎn)到多點(diǎn)的分發(fā)模式為主。隨著用戶和流量的增加,中心化的WEB服務(wù)器就成了最大瓶頸。90年代中后期,WWW也被戲稱成World Wide Wait,這時(shí)CDN誕生了。
CDN將緩存服務(wù)器分布到用戶訪問相對(duì)集中的地區(qū)或網(wǎng)絡(luò)中。在用戶訪問網(wǎng)站時(shí),利用負(fù)載均衡技術(shù),將用戶的訪問指向距離最近的緩存服務(wù)器上,由緩存服務(wù)器就近響應(yīng)用戶的請求。
CDN彌補(bǔ)了TCP/IP設(shè)計(jì)中的一些固有缺陷,直接導(dǎo)致CDN作為獨(dú)立業(yè)務(wù)的興起,第三方CDN服務(wù)商的興起。IP是點(diǎn)到點(diǎn)通信的(IP層組播一直沒成功),CDN滿足了門戶、搜索和電商等的“組播”需求。CDN拉近了內(nèi)容和用戶的距離。CDN服務(wù)器“破壞”了互聯(lián)網(wǎng)端到端的透明性,可以抵御DDOS攻擊等。
1995年,以太網(wǎng)之父羅伯特·蒙特卡夫(Robert Metcalfe)曾預(yù)言:“隨著越來越多的用戶開始接入互聯(lián)網(wǎng),互聯(lián)網(wǎng)遲早會(huì)過載成為壯觀的超新星,并且在1996年出現(xiàn)災(zāi)難性崩潰”。20年來,CDN對(duì)互聯(lián)網(wǎng)的流量減壓作用居功至偉。
2006年后興起的云計(jì)算[注],能夠動(dòng)態(tài)彈性地調(diào)度IT資源,但主要說的還是計(jì)算和存儲(chǔ)資源,三缺一。如果說云計(jì)算實(shí)現(xiàn)了軟件定義的計(jì)算資源和存儲(chǔ)資源,那么SDN[注]就是希望實(shí)現(xiàn)軟件定義的網(wǎng)絡(luò)資源。云計(jì)算實(shí)現(xiàn)了計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)的“超融合”,提前是它們必須都已經(jīng)是軟件定義的了。
SDN把傳統(tǒng)分布式路由學(xué)習(xí)改成集中式,來提高網(wǎng)絡(luò)資源調(diào)度的彈性。SDN轉(zhuǎn)發(fā)與控制分離,集中式控制,當(dāng)年IP技術(shù)相對(duì)電信技術(shù)的這些“優(yōu)勢”,現(xiàn)在借道SDN又回到IP網(wǎng)中來了。
SDN與20年前出現(xiàn)的MPLS技術(shù)相比,SDN更多關(guān)注控制層,MPLS更多關(guān)注轉(zhuǎn)發(fā)層。MPLS通過LDP協(xié)議把IP轉(zhuǎn)發(fā)映射成標(biāo)簽交換,在IP控制層只是對(duì)BGP協(xié)議做了少量擴(kuò)展。20年前的宣傳材料,直接把MPLS替換成SDN或云計(jì)算,基本還適用。
SDN核心價(jià)值的關(guān)鍵詞是“彈性”,最主要的應(yīng)用場景是數(shù)據(jù)中心。距離云計(jì)算越近,對(duì)網(wǎng)絡(luò)彈性的要求也越高,對(duì)SDN的需求剛性也越強(qiáng)。對(duì)于目前的SDN“泡沫”,筆者提出如下觀點(diǎn)供商榷。
SDN不是一場重大網(wǎng)絡(luò)技術(shù)革命。網(wǎng)絡(luò)技術(shù)包括命名、編址和路由三大方面,SDN只是改變了TCP/IP的路由計(jì)算機(jī)制,從分布式計(jì)算“螺旋式上升”成了集中式,是一場網(wǎng)絡(luò)技術(shù)的局部革命。分布還是集中(+微信關(guān)注網(wǎng)絡(luò)世界),只是選擇,沒有絕對(duì)好壞。
SDN的北向接口。I/PaaS[注]需要更好地彈性調(diào)度資源,應(yīng)該借助SDN。面向I/PaaS的SDN北向接口是必須的,但直接面向應(yīng)用的SDN北向接口則破壞了網(wǎng)絡(luò)設(shè)計(jì)的基本原則,是有很大疑問的。再補(bǔ)一刀,從智能網(wǎng)、NGN、IMS到IPTV,網(wǎng)絡(luò)北向接口從來就沒有真正成功過,SDN會(huì)是一個(gè)特例嗎?
SDN與NFV[注]殊途同歸。SDN是從傳統(tǒng)計(jì)算機(jī)業(yè)出發(fā),希望為IP路由引入電信行業(yè)傳統(tǒng)的做法:轉(zhuǎn)發(fā)與控制分離,路由控制從分布走向集中。NFV是從傳統(tǒng)電信業(yè)出發(fā),希望為IP路由引入傳統(tǒng)IT的做法:軟件與硬件分離,通用硬件平臺(tái)。與SDN相比,NFV更像是一種實(shí)現(xiàn)技術(shù)。二者起點(diǎn)不同,友誼的小船將殊途同歸。
SDN是CDN兩種“網(wǎng)”。SDN的N是連接網(wǎng)絡(luò),CDN的N是分發(fā)網(wǎng)絡(luò)。SDN改造的是IP的路由機(jī)制,CDN補(bǔ)充的是TCP/IP架構(gòu)固有缺陷。SDN是IP層的組成部分,而CDN是重疊在IP層之上的。軟件定義的CDN是一種趨勢,在看得見的未來,二者友誼的小船不會(huì)翻。
SDN帶來的彈性優(yōu)勢要看性價(jià)比。云計(jì)算數(shù)據(jù)中心[注]對(duì)彈性的要求非常高,但運(yùn)營商的廣域網(wǎng)和企業(yè)網(wǎng)為什么也需要這么高的網(wǎng)絡(luò)資源彈性,或者為什么需要網(wǎng)絡(luò)(而不是比如應(yīng)用自身)去解決這一問題?在摩爾定律仍然可以源源不斷提供廉價(jià)資源的今天,任何試圖節(jié)約網(wǎng)絡(luò)資源的努力都會(huì)是艱難的。
SDN和MPLS對(duì)IP改變的程度相仿,就像VLAN對(duì)以太網(wǎng)技術(shù)的改變那樣。SDN本是一艘小船,但正被打扮成一艘巡洋艦。SDN與其它技術(shù)的友誼小船,也不是說翻就會(huì)翻的。