ICCSZ訊 下一代互聯(lián)網(wǎng),大家都關(guān)心,方案也很多了。最近,看見(jiàn)國(guó)內(nèi)那么多權(quán)威人士在各種場(chǎng)合大談SDN,介紹SDN,總是不甚了了,都是比較宏觀,比較籠統(tǒng)抽象,看不出來(lái)與現(xiàn)在的因特網(wǎng)有什么不同。只得靜下心來(lái)讀文章??戳艘恍┪恼乱院螅辛艘恍└邢?。不知是否正確,與大家分享一下,歡迎批評(píng)指正。
(1) 為什么要搞SDN?
因特網(wǎng)存在和發(fā)展了幾十年。隨著服務(wù)類型和規(guī)模的急劇增加出現(xiàn)了一些問(wèn)題。長(zhǎng)期以來(lái)通過(guò)命令行接口的手動(dòng)配置阻礙了網(wǎng)絡(luò)虛擬化的前進(jìn),操作費(fèi)用高,網(wǎng)絡(luò)刷新慢,容易引入差錯(cuò)。取消把應(yīng)用聯(lián)系到特定網(wǎng)絡(luò)詳情,譬如端口和地址,使物理具體事項(xiàng)的改變無(wú)需重寫應(yīng)用和手動(dòng)配置網(wǎng)絡(luò)設(shè)備的時(shí)延和費(fèi)用,也許是一種思路。路由是一個(gè)大問(wèn)題。路由器里面的路由表越來(lái)越復(fù)雜,分散到各地去路由,既做不到最優(yōu)的路由,又產(chǎn)生許多重復(fù)的計(jì)算。從你的PC到一個(gè)網(wǎng)站瀏覽器,可能要經(jīng)過(guò)20-100路由器或交換機(jī)。如果一個(gè)包到來(lái),只知道目的地,但不知道怎么走,那只有交給下一跳。下一跳要是也不知道呢?這么盲目跳下去,怎么就相信會(huì)到達(dá)目的地呢?那只能靠相鄰路由器經(jīng)常交換信息。由于各路由器獨(dú)立工作,就會(huì)有許多重復(fù)計(jì)算。ISP只考慮自己這一塊,并不管整個(gè)因特網(wǎng)。路由表只可能存本自治域的地址,區(qū)域外則送網(wǎng)關(guān)路由器。路由算法復(fù)雜就在于根據(jù)線索推斷它所應(yīng)該知道的東西。就像沒(méi)有地圖在高速公路上開(kāi)車。如果能集中考慮路由就會(huì)更有效率。
再說(shuō)應(yīng)用。在智能手機(jī)中,一個(gè)應(yīng)用可以使一個(gè)API為其他開(kāi)發(fā)者所用,而不需要修改原來(lái)的應(yīng)用。譬如說(shuō),谷歌地圖提供一個(gè)API,某飯店可以把它的地點(diǎn)加進(jìn)去。這些地址信息實(shí)際上重構(gòu)了谷歌地圖的數(shù)據(jù),但不需要修改谷歌地圖數(shù)據(jù)的結(jié)構(gòu)。如果應(yīng)用可以跳過(guò)網(wǎng)絡(luò)交換,通過(guò)API,重構(gòu)網(wǎng)絡(luò)資源,就更能適應(yīng)該應(yīng)用的需要?,F(xiàn)在的網(wǎng)絡(luò)主要不是傳送信息。它們并不需要智能自動(dòng)控制,不需要基于線路交換的增值服務(wù)。我們需要統(tǒng)一的控制平面處理包交換和線路交換來(lái)提供服務(wù)。而IP網(wǎng)絡(luò)不利于支持頻繁的動(dòng)態(tài)鏈路和動(dòng)態(tài)連接。由于服務(wù)的多樣化;用戶數(shù)量增加,IP網(wǎng)絡(luò)協(xié)議可以說(shuō)是頭痛醫(yī)頭、腳痛醫(yī)腳,修補(bǔ)的補(bǔ)丁很多。而SDN統(tǒng)一在控制平面里面用編程來(lái)解決。功能網(wǎng)絡(luò)圖使許多網(wǎng)絡(luò)功能可以用集中方式實(shí)現(xiàn),又簡(jiǎn)單,又可擴(kuò)展。又如游戲。游戲者在移動(dòng)、在不同地方玩同一個(gè)游戲,地址不同、網(wǎng)速不同,比賽怎么能公平?OpenFlow可以使地址不變,在同一個(gè)游戲服務(wù)器上,基本保持網(wǎng)速不變。自己筆記本上的軟件也不變。
再說(shuō)管理。分散管理的方式不是最有效的。現(xiàn)在的SDN實(shí)現(xiàn)基本上是試驗(yàn)性的,但已減少網(wǎng)絡(luò)管理經(jīng)費(fèi)50%,減少IP地址使用60%。谷歌把它連接全世界數(shù)據(jù)中心的G-Scale WAN換成OpenFlow網(wǎng)絡(luò),使預(yù)留空間的利用率提高95%,不損失任何東西。
再說(shuō)安全。安全規(guī)則越來(lái)越多,分散管理各自為政,很難保證切實(shí)實(shí)行。集中管理起來(lái)以后,只要在控制層面不斷完善和修改,就可以達(dá)到安全要求。
總之,現(xiàn)在網(wǎng)絡(luò)的分散管理和信息處理,不如集中起來(lái)更加高效。
(2) SDN與傳統(tǒng)的因特網(wǎng)有什么不同?
SDN體系結(jié)構(gòu)用下圖表示比較直觀。
現(xiàn)在的因特網(wǎng)是點(diǎn)對(duì)點(diǎn),用路由器、交換機(jī)、負(fù)載均衡器、網(wǎng)絡(luò)地址翻譯器或防火墻等連接起來(lái)。而SDN把網(wǎng)絡(luò)作為一個(gè)整體的平臺(tái),將網(wǎng)絡(luò)的控制平面與數(shù)據(jù)轉(zhuǎn)發(fā)平面進(jìn)行分離,并實(shí)現(xiàn)可編程化控制。在控制平面,網(wǎng)絡(luò)操作系統(tǒng)就是控制器。它控制所有的APP,以及安全策略。在數(shù)據(jù)平面,網(wǎng)絡(luò)基礎(chǔ)設(shè)施,包括OpenFlow交換機(jī)。每個(gè)交換機(jī)除了存有流表之外,就是一個(gè)交換CPU。控制平面與數(shù)據(jù)平面的聯(lián)系通過(guò)一個(gè)應(yīng)用程序接口,譬如OpenFlow,遵循OpenFlow協(xié)議。當(dāng)包到達(dá)交換機(jī),交換機(jī)判斷是不是一個(gè)流表中的人口。假如是,流表給出怎樣傳送該包;如果不是,交換機(jī)產(chǎn)生packet_in信息送回控制器。控制器把這事通知適當(dāng)?shù)目刂茟?yīng)用。此應(yīng)用根據(jù)網(wǎng)絡(luò)狀態(tài)和該應(yīng)用邏輯,送回一個(gè)消息packet_out或者增加、修改流人口??刂破矫娓鶕?jù)流量特征進(jìn)行交換排隊(duì)。反應(yīng)模式、狀態(tài)要求和拓?fù)浒l(fā)現(xiàn)使控制平面完全可見(jiàn)和網(wǎng)絡(luò)動(dòng)態(tài)控制。拓?fù)浒l(fā)現(xiàn)包括控制屏幕集中管理相互連接著的交換機(jī)群(OpenFlow island)??刂破骺梢灾噶顢?shù)據(jù)平面從交換機(jī)端口送出鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol)包到鏈接?;谶@些信息,控制平面可以判斷流島內(nèi)的連通性,從而構(gòu)造網(wǎng)絡(luò)拓?fù)?。SDN的基礎(chǔ)建設(shè)包括OpenFlow交換機(jī),WiFi接入點(diǎn)(運(yùn)行OpenFlow軟件交換),虛擬局域網(wǎng)運(yùn)行OpenFlow。網(wǎng)絡(luò)路由優(yōu)化、安全、策略、QoS、流量工程等,都在控制平面解決。所有網(wǎng)絡(luò)控制邏輯作為網(wǎng)絡(luò)操作系統(tǒng)上面的應(yīng)用。這些應(yīng)用做出控制決策,處理一個(gè)帶說(shuō)明的網(wǎng)絡(luò)圖,這就是軟件定義的網(wǎng)絡(luò)。
(3) 怎么研究SDN?
在美國(guó),整個(gè)試驗(yàn)如果從2007年算起,已經(jīng)進(jìn)行了8年。他們的試驗(yàn)由斯坦福大學(xué)牽頭,組織普林斯頓、華盛頓.、威斯康星、佐治亞理工學(xué)院、堪薩斯等10幾所大學(xué)校園網(wǎng)通力合作,做了四個(gè)階段的試驗(yàn),一次比一次深入。他們?cè)谖恼轮?,公開(kāi)每一階段都了什么試驗(yàn),解決了什么問(wèn)題。介紹該項(xiàng)研究的文章有8個(gè)人署名,致謝的人按貢獻(xiàn)的領(lǐng)域大約有上百人。
這樣大規(guī)模的試驗(yàn),大家不是來(lái)?yè)尨箢^的科研經(jīng)費(fèi),而是協(xié)作怎么能讓這事搞成。和我們國(guó)家的情況有所不同。我們的大單位、大牛常常是競(jìng)爭(zhēng)課題,分完錢就各司其事了,做的結(jié)果對(duì)大眾好像也沒(méi)個(gè)交待,或者是開(kāi)發(fā)一個(gè)已經(jīng)成熟的網(wǎng)絡(luò)給大家用,沒(méi)有科研結(jié)果,也就完了。這是科研嗎?這能創(chuàng)新嗎?他們的研究中還有一個(gè)特點(diǎn),就是盡量使用公司的產(chǎn)品,讓公司出產(chǎn)品、出人力、物力,參與研制。公司對(duì)此也很有興趣。因?yàn)楣疽紤]:如果SDN真正商業(yè)化,自己能做什么,公司能得到什么利益。
上述粗略的介紹對(duì)于關(guān)心SDN的朋友也許會(huì)有一個(gè)概略的了解。但是,由于本人也是初學(xué),而且,SDN是一個(gè)新的網(wǎng)絡(luò)體系結(jié)構(gòu),問(wèn)題還很多。本人衷心希望內(nèi)行和外行的朋友多多提出問(wèn)題。這種交流也許本身就是一種研究。