軟件定義網絡(SDN)任重而道遠
當前,軟件定義網絡(SDN)成為業界一個時髦的話題,SDN技術及其可能帶來的影響受到了學術界和產業界的高度重視,同時也存在著對SDN不同的理解和認識。本文試圖從梳理SDN技術的發展脈絡入手,分析SDN技術的內涵、本質特征、應用領域、發展趨勢,進而分析SDN技術發展帶來的影響。
一、“眾說紛紜”SDN
目前對SDN關注度比較高的專家大致可以分為三類:IDC設計與運維人員、數據設備設計研發人員、未來網絡研究與試驗人員。這三類專家關注SDN的出發點及對SDN的認識不一樣,對SDN的發展愿景和期待也各不相同。一項新技術出現后,對于追溯這個概念最早是誰提出、何時提出以及是不是一個新概念等種種討論通常只具有學術意義,對于認識新技術的本質并無實質性幫助。討論SDN概念還是要從其真正市場需求入手。
(1)SDN商用需求最早出現在數據中心內部
IDC內部網絡為了支持應用服務器上虛擬機的遷移,通常是一個二層網絡,因為如果采用三層組網,那么虛擬機遷移時,虛擬機對應的應用服務的IP地址要跟著變化,帶來業務部署和管理的困難,而二層網絡則沒有這個問題。
但是,在IDC內部直接應用既有的二層網絡技術,則會主要帶來以下兩方面的問題:一個是在二層網絡中,為了消除廣播包的環路,通常采用生成樹(STP)協議,在網絡節點之間構建一棵邏輯樹,節點之間的流量按照這個“樹狀”拓撲來傳遞,即使網絡節點之間有多個物理鏈路,也只有一條鏈路真正傳遞數據,其他鏈路都是空閑的(只起備份作用)。但是,在IDC內部,多個服務器之間存在著頻繁的數據交換需求,基于STP的樹狀網絡拓撲不能高效支持這種“橫向”流量,服務器之間的空閑鏈路也造成了網絡資源的大量浪費,因此基于STP的二層網絡對于IDC來說過于簡單,需要進行變革,尤其是隨著云計算的發展,這種IDC內部二層組網需求越來越迫切。另一個問題是通常IDC內部的應用服務器眾多,有的達到上萬臺,甚至十幾萬臺,二層交換機需要利用ARP等協議,學習接收到的數據包的源地址來建立MAC地址表,由于應用服務器多,所以MAC地址表項也多,通常會超過常規二層交換機MAC地址表的容量,則造成大量MAC地址無法進入MAC地址表,二層交換機對于無法在MAC地址表中查到的MAC地址對應的數據幀進行二層域內的廣播,造成二層網絡內部的流量泛濫,影響IDC內部網絡效率。
造成上述兩個問題的根本原因是,傳統的二層網絡設計的過于簡單,二層交換機只會學習MAC地址,不會基于MAC地址來規劃數據轉發路徑,也就是說傳統二層網絡中沒有一個控制平面(或者說控制平面的功能非常非常弱,且與轉發功能融合在一起),只有數據平面(負責數據幀的轉發)。因此在二層網絡中增加控制平面(或者說強化控制平面功能),負責較大的二層網絡內部節點間的流量調度和管理成為了一種迫切需求。目前較為主流的解決思路,就是利用IS-IS路由協議的變種來構建控制平面路由功能;利用Openflow來定義控制平面與轉發平面之間的接口。這就引出了控制平面與轉發平面分離的概念。但這只是二層網絡中的控制平面與轉發平面的分離。
(2)SDN商用需求來自于路由器內部功能優化
在傳統路由器中,負責路由規劃、選路策略的控制平面與負責數據封裝、高速轉發的數據平面之間的接口是不開放的,是緊耦合在一起的。每個廠家都通過自有的協議或接口來連接控制平面和轉發平面,這也是CISCO、JUNIPER等優勢廠商維持技術壁壘、排擠新興廠商的優勢所在。
但是,有兩方面的力量正在悄悄地對這種模式提出挑戰:一個是大型互聯網企業,他們有自建企業網絡的需求,而且這些互聯網企業認為目前自己企業網絡的通信需求有特異性,而傳統路由器的功能太復雜,有80%以上的功能和特性在自己的網絡中用不到,但是在購買這些路由器時卻要為這些無用的功能買單,感覺比較“冤”,所以存在自主設計實現簡潔高效路由器的需求,這也是Facebook、Google、Yahoo等公司發起成立ONF(開放網絡論壇),研制SDN標準的初衷之一。由于這些互聯網企業具有在IDC內部大量采用自己定制的應用服務器的成功經驗,所以他們對于自主研發高效的路由器有著良好的期待。另一個力量是新興的數據設備廠商,他們試圖通過打破路由器內部控制平面與數據平面之間的緊耦合,形成一個開放的、標準的設備接口,這樣可以把控制功能集中而且單獨剝離出去,這樣數據轉發設備可以做得更加通用和簡單,成本可以做得更低,有助于打破CISCO、JUNIPER等廠商的壟斷地位,這些廠商可以從中獲得新的發展機遇。
基于這種考慮,IETF較早的就開展了路由器內部控制平面與轉發平面分離的研究工作,成立了FORCES工作組,定義了路由器內部控制平面與轉發平面之間的通信協議。這雖然同樣引出了控制平面與轉發平面分離的概念,但這是三層網絡中的控制平面與轉發平面的分離。

評論