《軟體定義網路》推薦序

李潔發表於2014-04-15

軟體定義網路(SDN,Software Defined Networks)是美國史丹佛大學提出的,它是以OpenFlow為基礎,為了建設網路的創新平臺設計的。目前SDN的概念已經被泛化,泛化後的SDN目標大體有:簡化網路操作,提升網路效能,提供網路創新平臺,研究下一代網路技術。SDN不僅是Software Defined Networks的縮寫形式,而且同時也是Software Defined Networking和Software Driven Network的縮寫形式。

上述“三種”SDN,從應用場景角度可以分為兩類。一類是用於創新網路的場景,基於OpenFlow的Software Defined Networks;另一類是為了簡化網路操作、優化網路結構和效能的Software Defined Networking和Software Driven Network。

第一類SDN主要用於創新網路場景,可以生成新的網路。具體步驟是:(1)提出對新型網路的技術需求;(2)提出新型網路的完整的體系架構和總體技術要求(即完成網路的頂層設計);(3)設計流表,開發軟體,生成新型網路;(4)能力開放(API),北向介面開放;(5)控制器中增加軟體定義能力。第一類SDN基於OpenFlow,與OpenFlow緊密關聯。應用場景大體上有兩個方面:網路技術的創新平臺,以及研究和生成新型網路。

第二類SDN與OpenFlow沒有必然的關聯。儘管在很多場合還是使用了OpenFlow,但不用OpenFlow也完全不影響它的工作。這類SDN中又可以分為軟體驅動網路(Software Driven Network)和軟體定義組網(Software Define Networking)兩類。

軟體驅動網路(Software Driven Network)的設想是很合理的,那就是業務層(Service Stratum)和傳送層(Transport Stratum)間需要介面以便互控,這個介面就是SDN中說的網路北向介面。從表面上來看,北向介面問題解決起來好像很簡單。實際上,當網路規模不大的時候的確不難。但隨著網路規模的擴大,問題就來了。目前所想到的辦法都存在嚴重的擴充套件性問題,是無法真正實用的。由於機理中的基因缺陷,北向介面做起來很難。

軟體定義組網(Software Define Networking)就泛化了,大體上等於:(1)智慧網管+QoS路由+軟路由器;(2)網管能力開放(API);(3)網管中增加軟體定義能力;(4)網管智慧化,網路能力虛擬化和智慧化等。目前提出的絕大多數的SDN應用場景都屬於這一類,一般來說對區域性、小範圍都是有效的,但規模大了都很難實現。控制與轉發分離只是SDN的特徵之一,不是其主要特徵。控制與轉發分離有好處也有壞處,不是一概都好。一般來說,集中控制做不大,擴充套件性差是通病。它的適用場景是:改造現有網路,簡化網路操作,提升網路效能。

本書前言中提到一種很神奇的動物:鴨子。作者明確說道:“鴨子游動時大多數的動作都在水下完成,而這些動作是無法輕易觀察到的。強健的腳掌在水面下滑動著,推動鴨子前進,這與軟體定義網路在很多方面有著相似之處。” 以此來表述作者對SDN的看法。當然,中國的一般說法是:“鴨子什麼都會做,但什麼都做不好。”本書前言中提到的鴨子,給讀者對SDN留下了一個很寬泛的想象空間。

國內對SDN的看法分歧很大。有高度看好SDN的,認為它是網路界的救星,能夠為網路帶來翻天覆地的變化;有一般看好SDN的,認為這是一種區域性技術,在區域性對網路優化是有貢獻的;也有完全不看好SDN的,認為它是網路界在包裝上的一場炒作。當然,這些看法都有道理,都是從各自的期望出發的。我是看好SDN的。近期,SDN可以用於在區域性範圍內改造網路,優化網路結構,提升網路效能;遠期,SDN可以成為網路創新的潛在實現技術。

目前的SDN技術還非常初步,在體系結構上、協議上、硬體上都有很大的開拓空間。但從SDN的發展來說,真正困難的是對網路的理解,網路的頂層設計。SDN的機遇與挑戰共存,機遇大於挑戰。因此,必須明確方向,擺脫盲從思維,堅定地走自己的路。

工業和資訊化部電信研究院科技委主任
蔣林濤
2014年3月於北京

推薦閱讀:

enter image description here

相關文章