何為SDN(軟體定義網路)?

網上的介紹不多,書籍也很少,是新興的技術嗎?還是又在炒作概念?


有很多人在詢問這個問題,為此,SDNLAB特別整理了一篇非常全的關於【SDN是什麼】的文章,SDN你必須知道的十大問題——SDN是什麼?, 收集整理了 盛科 @張衛峰 、ZTE中興通訊中心研究院系統架構部總工程師汪軍、南京疊鍶 @楊澤衛、知名網友 @KkBLuE 、Bigswitch研發專家吳鑫、北郵北京-小武、Pica8@賈彥民等對SDN的理解,整理了十幾篇這些高手對SDN的理解的優質文章,讓大家從不同角度、立體的認識SDN。小編也對這些文章進行了一些歸納和介紹。

1. 深入思考SDN的核心本質:從SDN=OpenFlow回到軟體定義網路

作者盛科張衛峰@盛科張衛峰,在SDN領域,衛峰總有很深刻的思考,這篇文章主要談論SDN的本質,其實很多人接觸SDN都很糾結這個單詞首字母的組合,顧名思義但又不能確定自己思考的是否正確,衛峰總撰寫了自己關注SDN以來對其認識的四個階段:從SDN=OpenFlow到SDN的三個本質屬性,再到狹義SDN、廣義SDN、超廣義SDN,最後一個階段又回到了SDN字面意軟體定義網路。或許這篇文章可以解決糾結SDN概念的小夥伴的很多問題,但他的價值就單單如此嗎?

2. SDN落地的實踐與思考:帶著問題找方案,別管定義啦

這篇同樣是衛峰總的作品,呼應上篇的核心本質,寫了關於SDN落地的思考,分析列舉SDN在不同領域的應用案例,歸納了SDN落地的一些阻力,又特針對OpenFlow的局限性進行了分析,最後也提出了自己對SDN落地的建議。衛峰總豐富的工作經歷和見聞讓這篇文章絕對是乾貨中的乾貨,閱讀時記得多喝水哦。

3. OpenFlow/SDN本質論

作者汪軍是ZTE中興通訊中心研究院系統架構部總工程師。文章分成了三個部分:SDN的需求及驅動力、SDN本質、SDN博弈。「SDN一點也不神奇,它是來自於IT領域的一種必然需求,是過去60多年來IT越來越去硬體化,以軟體獲得功能靈活性的一種必然趨勢。」文章雖寫於2012年,但仍很具參考價值。

4. 再思考SDN

這篇文章也是出自汪軍,介紹了SDN的兩種實現方式即OpenFlow完全控制的網路架構和部分廠商推出的設備可編程的架構,分析了兩種方式的優劣,並且結合產業鏈的博弈對SDN的應用場景進行了剖析,最後著重介紹了數據中心SDN的應用價值。作者從技術的角度對SDN從定義到實現進行了辯證性的分析,不容錯過。

5. SDN瞎子摸象

作者是南京疊鍶楊澤衛@楊澤衛-MeshSr,「技術是可以用哲學方式思考的」,「保持SDN學習/研究的專註性,保持對各個技術方向的敏銳性」,必須對SDN的本質屬性進行定位,「假如什麼都是SDN,那麼SDN就什麼都不是了」,「SDN的體系結構:類似PC的開放分層體系結構,data plane逐步通用化,control plane從data plane分離出來,擺脫之前的協議(功能)堆砌,進行抽象且要實現(Logically) Centralized,在控制面內部再次進行分層:NOS和Apps」。如此精彩的內容的確值得一讀。

6. 好吧SDN

作者@ KkBLuE知行合一,對於SDN的概念性的內容,並未進行咬文嚼字。作為務實的傑出代表,Kk對要接觸SDN的小夥伴提供了很多建議,看完文章不會有看技術文章看的頭大的感覺,雖然沒有長篇累牘的對SDN進行介紹,不過該懂的都get到了。正如文中所說「理智的看待SDN,一定要保持冷靜的態度,不要以為革命了,自己就能擺脫傳統,所有SDNer都在相信,SDN確實改變現狀,但是,如果讓你說說改變了什麼,你可曾說的明白呢?」,看看這個系列,你對學習SDN,理性看待SDN或許會有更清晰的思路,don』t wait,值得一讀。

7. SDN和NFV?

作者@ KkBLuE知行合一,用「為人性僻耽佳句,語不驚人死不休」這句話來形容KkBlue神的文風個人感覺比較貼切,可能高手就是這樣,能將深奧晦澀的技術問題用如此詼諧幽默的語句表達出來,或許正如Kk說的「糾結於概念,只是初級的學習階段,不如理解一下如何實現,達到的效果和未來的發展,似乎對自己有些幫助」。

8. 簡書SDN NFV系列文章

據了解,作者是來自Bigswitch的一位研發專家,吳鑫。他對SDN有很獨特的認識,認為「任何互聯網底層的創新都是自頂向下的」,《那些讓傳統網路捉襟見肘的新需求》、《SDN控制器究竟在幹啥》、《SDN究竟要不要管物理交換機》、《Proactive vs. Reactive》、《又一個大坑:SDN App Store》,幾篇文章以詼諧幽默的語句表達了作者自己對SDN的觀點。

9. SDN淺談

作者對SDN的特點概括為硬體標準化、軟體平台化、信息中心化。以PC生態圈類比,分析了網路設備發展的現狀和問題。從信息中心化的特點分析了SDN相較傳統網路的優勢,他認為SDN的集中控制可以使很多網路問題變得簡單,並且列舉了一些SDN的應用場景佐證。

10. SDN常見問題答疑

這篇文章以問答的方式歸納了一些關於SDN的常見問題,對理解SDN很有價值。

11. 親們,我們能為SDN做什麼?

作者@北京-小武,大家都在談,都在討論SDN的技術,但是我們能在SDN里做什麼?或者高尚點說我們能為SDN的發展做些什麼?讓小武告訴我們能為SDN做些什麼,或許能找到一些研究的點呢。

12. SDN,請別忽悠我

作者Pica8賈彥民@賈彥民,或許是因為互聯網信息的爆炸式傳播,讓SDN從誕生之日就變成網路界眾人樂此不疲的談資,SDN的應用案例似乎卻不慍不火,文章前半部分從三個方面分析了其原因:SDN是模式遷移(Paradigm Shift)的大動作、SDN的實現面臨諸多挑戰、網路向SDN的變遷(Migration)尚沒有可行的廉價的解決之道。接著對SDN的應用提出了自己的四點看法:不能迷信SDN、不能為SDN而SDN、利用開源(Open Source)的力量、以做互聯網產品的精神做SDN。本文雖沒有花太多精力解釋SDN是什麼,但對於SDN應用的思考絕對有參考價值。


我在SDN是什麼?從技術定義的角度回到了what is SDN,另外在如何去研究SDNOpenFlow?中詳細羅列相關大學課程和閱讀資料


1,新型技術

2,有實際意義,不是概念炒作

本質:

控制平面與數據平面分離。網路分為underlay和overlay,underlay注重網路的連通性與可管理性,overlay注重為上層應用提供服務。或者說underlay鋪路,overlay在路網中規劃合理路線

統一的可編程的管理介面代替私有管理介面。使用openflow等對設備做統一的、自動的配置。

設備的邏輯化、虛擬化。運行在虛擬化環境中的網路設備、安全設備和應用交付設備。


正好一直在做這方面的研究。

簡單的說就是指,把控制層面和數據平面分離。意思是網路管理者不直接操作底層的設備了,而是通過編程的方式,讓一個叫控制器的程序去操作交換機等設備。

這樣做的好處就是,可以極大地增強控制層的靈活性。比如原來,網路管理員要為一個路由器配置防火牆,那麼就得登上這個設備來設置一些規則,而這些規則一般是一段時間保持不變的,改起來也很麻煩,因為每個設備的指令都不同。但是藉助sdn之後,你就可以直接在控制層面操作這些設備,設計隨便任何各種轉發和路由的規則,設計新的網路協議,提供各種各樣的服務,實現很多的安全方案等等。

現在的sdn簡單來說有三層,中間是控制器,也就是接收你的指令操作下面設備的程序,上面那層是app,負責調用控制器提供的介面和數據來實現各種想法,間接控制網路,底下就是數據交換機。

當前流行的南向(也就是控制器到交換機的通信介面)標準已openflow為主流,但硬體廠商極力避免這個協議的統一化。北向的api就各種各樣了,而當前缺少足夠牛逼的killer app。

詳情可以查google和這裡http://www.sdnap.com


sdn為軟體定義網路,從狹義上說,是將網路的控制與轉發分離,從而降低對設備的依賴以及對網路的可操作性。sdn只是一種概念,並不是一種技術,這個起源於斯坦福大學,具體可以查閱相關論文,openflow協議是他的其中一種具體實現,也源於斯坦福。


差不多算是新興技術,08年提出的概念,具體可以wiki到. 當然你會需要先知道什麼是openflow.跟SDN有點像.

在我看來可以目測到的最大影響.路由器和交換機基本不再有控制板卡.純做轉發就好了,不用做任何決定,controller統一做決定.這樣的話,2層和3層的IGP技術還有防火牆什麼的基本都可以滾蛋了.比如STP RSTP......3層OSPF ISIS.... 都可以說bye-bye了.cisco和juniper看到之後也很擔心,開始買一些SDN方面的公司,同樣在新的設備中支持SDN,比如NEXUS 9K. juniper的好像提出一個叫contrail的概念. HP已經有這樣的設備,華為中興也想在這次可能的洗牌中佔到有利地位.

cisco的行動主要在DC(DC比較繁雜,SDN起來管理會方便很多),看juniper了一個的視頻,好像這contrail玩意連MPLS VPN都想取代掉.

再根據菜比的理解仔細的說下,

1.SDN解決了網路中設備對於網路沒有全局的概念.做出的次優路徑和環路的根本都是因為設備不知道整個網路,2,3層協議的設計大多數都還是rumour級別的.

2.解決了網路工程師對於設備黑盒的問題.對於設備,網路工程師能做的只是根據現有的命令解決路徑等策略問題,就像黑盒測試.但是SDN如果出現,可能網路工程師可以用編程語言來更精細的操作,有編程語言中的更多種的消息傳遞機制(比如IOS裡面的notification,delegate)而不只是現在單獨的命令.

期待有一天配置網路的時候,不再是cisco的一套命令,juniper一套命令,各個廠家提供framework,網路工程師,在一個IDE下編程解決.

我們需要做的就是

#include &

#include &

用類似lua一樣的膠水語言來做編程從而配置整個網路,讓每個設備零配置.

聽說google已經在用了....如果SDN真的搞的網路工程師都要開始寫代碼的話,對於能寫代碼的網路工程師是個機遇,對於寫不了的是個挑戰.....

當然也可能過幾年就不行了...


軟體定義網路(Software Defined Network, SDN ),是由美國斯坦福大學clean slate研究組提出的一種新型網路創新架構,其核心技術OpenFlow通過將網路設備控制面與數據面分離開來,從而實現了網路流量的靈活控制,為核心網路及應用的創新提供了良好的平台。


推薦閱讀:

软考网络工程师如何复习?
在安全業內人士看來,大學開設的網路安全和信息安全等專業有無必要,有多大作用?
排除花費,對於win7筆記本來說WiFi共享軟體、隨身WiFi還是用代碼DIY穩定無損傷?
計算機專業的學生怎樣練習編程才能把編程學精通啊?
為什麼ip地址會不夠用?

TAG:Cisco思科 | 計算機網路 | OpenFlow | SDN |