深度解析SDN讀后感(一):認識SDN

認識一個人往往是從姓名開始,技術也是一樣,因為名稱往往是最精煉的介紹,涵括了技術最顯著的特征。認識SDN,我們就從名字開始。SDN全稱“software defined network”,即“軟件定義網(wǎng)絡”,從字面來看就是由軟件為主導的網(wǎng)絡。

目前的網(wǎng)絡中也有軟件,不過是設備商寫死在設備中的,設備商并沒有向網(wǎng)絡用戶開放這些軟件,于是網(wǎng)絡用戶順理成章的受制于設備商了。長期受著設備商的壓制,花大價錢卻得不到理想的網(wǎng)絡,網(wǎng)絡用戶的小宇宙終于爆發(fā)了。網(wǎng)絡用戶大力推廣SDN,試圖以此擺脫設備商的鉗制。

與傳統(tǒng)網(wǎng)絡不同的是,SDN中不僅有大量軟件參與,而且軟件占據(jù)主導地位。或者說,SDN是一種更智能的網(wǎng)絡。假如傳統(tǒng)網(wǎng)絡是一個機器人,主人說“我要吃宮爆雞丁”,那么機器人就會搜索已存的菜譜,根據(jù)菜譜做出一道宮爆雞丁。但是如果主人今天想吃重口味的宮爆雞丁,要求加變態(tài)辣,又或者主人今天上火,要求宮爆雞丁不加辣,那么這種機器人就沒法滿足主人了,除非去找廠家重新寫下代碼,給增加幾個固定選項,但是終歸還是固定的,死板的。而SDN機器人就不一樣了,將編程權利轉交給主人,主人可以根據(jù)自己的喜好進行設置,不需要一直求助廠家。簡而言之,SDN實現(xiàn)了網(wǎng)絡的可編程性,不僅將網(wǎng)絡控制權轉移到用戶手中,而且大大提高了網(wǎng)絡的靈活性。

宮爆雞丁.jpg

從名稱可以大致了解SDN的涵義,但是并沒有明確的概念,因此很容易產(chǎn)生誤解。我們不僅需要知道SDN是什么,還應該明確SDN不是什么,這樣才能更加立體的認識SDN。常常與SDN混為一談的是OpenFlow,但實際上這兩者并不等同。SDN并不是一項技術,而是一種網(wǎng)絡架構,或者說是一種理念,符合這種理念的網(wǎng)絡就可以認為是SDN網(wǎng)絡。似乎SDN顯得有點抽象,而OpenFlow不然,OpenFlow是SDN架構中的一種南向接口協(xié)議,也就是說沒有OpenFlow協(xié)議的SDN網(wǎng)絡依舊是SDN網(wǎng)絡。之所以兩者經(jīng)常被混淆是因為OpenFlow是最具SDN特色、最有影響力的南向接口協(xié)議。

另一個經(jīng)常與SDN同時出現(xiàn)的詞是NFV(network function virtualization),從名稱來看兩者就不是一回事。SDN和NFV是兩種概念,之所以常常同時提起是因為兩者有很強的互補性,不過NFV并不依賴SDN的部署,二者的關系屬于可以各自獨立,但是融合在一起會產(chǎn)生一加一大于二的效果。

除了“你叫什么?”另一個常問的問題便是“你是哪里人?”誕生地讓別人更了解你。SDN也是一樣,了解SDN的起源可以幫助我們更全面的認識SDN。有人將SDN戲稱為Stanford defined network,原因是SDN誕生于美國GENI項目資助的斯坦福大學Clean Slate課題。

首先我們了解一下Clean Slate項目。Internet憑借其松散型和簡單性獲得了巨大的成功,但是Internet與生俱來的缺陷集中在可擴展性、安全性、移動性和QoS,雖然在無類域間路由CIDR、網(wǎng)絡地址翻譯NAT、MPLS等技術緩解了這些問題,但是并沒有從根本上解決問題,反而將互聯(lián)網(wǎng)的小蠻腰補成了水桶腰,失去了最初的那份簡單。于是越來越多的人認為重新定義網(wǎng)絡架構或許是解決問題的根本方法,這種根本方法就是Clean Slate方案。Clean Slate有廣義和狹義之分,廣義泛指各種各樣的下一代網(wǎng)絡項目,狹義指有斯坦福大學Nick McKeown教授領頭的實驗室研究計劃,而SDN就誕生于狹義Clean Slate。

Nick McKeown的學生Casaso在工作期間深刻意識到網(wǎng)絡的復雜性、封閉性與不安全性,他認為想要徹底改變這種狀況就必須進行網(wǎng)絡改革。于是Casaso提出了一個關于網(wǎng)絡安全與管理的項目Ethane,該項目試圖通過一個集中式控制器定義基于網(wǎng)絡流的安全控制策略,并將安全策略應用到各種網(wǎng)絡設備中,從而實現(xiàn)對整個網(wǎng)絡的控制。而該項目中的控制器就是NOX,為了讓NOX更好地管理交換機,于是OpenFlow協(xié)議隨之誕生了。這個項目得到了Casaso的導師McKeown的重視,給予了大量指導,此后McKeown及其團隊基于OpenFlow進一步提出了SDN的概念。

說了這么多關于SDN的花邊新聞,那么到底什么是SDN呢?簡而言之,就是控制與轉發(fā)分離。正如下圖所示將控制層與轉發(fā)層剝離,轉發(fā)層只負責轉發(fā)數(shù)據(jù),控制、管理決策由控制器下發(fā),網(wǎng)絡管理員可以通過控制器管控網(wǎng)絡行為。轉發(fā)層面與控制層之間通過南向接口連接,而控制器與應用層之間通過北向接口連接。而最具代表性的南向接口協(xié)議就是OpenFlow了。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容