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