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

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

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

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

宮爆雞丁.jpg

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

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容