SDN解讀:中央控制
近十年來,有兩個(gè)重要技術(shù)對(duì)信息技術(shù)產(chǎn)生了重大影響:虛擬化和云計(jì)算。這些技術(shù)使網(wǎng)絡(luò)工程師和應(yīng)用架構(gòu)師可以非常靈活地處理數(shù)據(jù)中心空間,從而幫助他們最大程度利用硬件的價(jià)值和實(shí)現(xiàn)較高的可用性。
然而,應(yīng)用程序所依賴的底層數(shù)據(jù)網(wǎng)絡(luò)則幾乎沒有發(fā)展。事實(shí)上,雖然虛擬化和云計(jì)算已經(jīng)改變了大多數(shù)IT從業(yè)人員對(duì)于計(jì)算領(lǐng)域的看法,但是網(wǎng)絡(luò)領(lǐng)域至今也沒有發(fā)生太多變化。網(wǎng)絡(luò)技術(shù)的大多數(shù)變化都表現(xiàn)在帶寬升級(jí)上,而不涉及網(wǎng)絡(luò)的基礎(chǔ)實(shí)現(xiàn)方法上。許多網(wǎng)絡(luò)專業(yè)人員現(xiàn)在仍然可以參考5年甚至10年前編寫的網(wǎng)絡(luò)設(shè)計(jì)書籍,網(wǎng)絡(luò)在一般意義上并沒有發(fā)生太多的變化。亞馬遜Web Services杰出工程師James Hamilton在2010年指出:“數(shù)據(jù)中心網(wǎng)絡(luò)在我的掌控之中。”
事實(shí)上,網(wǎng)絡(luò)領(lǐng)域缺少創(chuàng)新已經(jīng)束縛了應(yīng)用交付設(shè)計(jì)師。雖然響應(yīng)有一些晚,但是在最近一段時(shí)間里,網(wǎng)絡(luò)供應(yīng)商一直在致力于提高網(wǎng)絡(luò)的靈活性和降低網(wǎng)絡(luò)使用難度,以滿足服務(wù)提供商和企業(yè)的需求。在過去幾年里,網(wǎng)絡(luò)領(lǐng)域的創(chuàng)新包括中央控制、可編程性、網(wǎng)絡(luò)編排和虛擬化。這些創(chuàng)新在大范疇里屬于軟件定義網(wǎng)絡(luò)(SDN),它們的目標(biāo)是解決企業(yè)面對(duì)的一些特殊問題,因?yàn)樗麄兊奶摂M基礎(chǔ)架構(gòu)和云服務(wù)已經(jīng)將邊界擴(kuò)展到他們現(xiàn)有網(wǎng)絡(luò)所能支持的范圍之外。
SDN基礎(chǔ):中央控制
SDN旨在通過運(yùn)行在中央控制器上的軟件來定制和控制網(wǎng)絡(luò)。現(xiàn)代網(wǎng)絡(luò)交換機(jī)和路由器可以在本地編程控制他們的路由轉(zhuǎn)發(fā)表,這意味著網(wǎng)絡(luò)設(shè)備可以在內(nèi)部自行決定如何轉(zhuǎn)發(fā)流量。由分布式控制面板協(xié)議發(fā)出的流量轉(zhuǎn)發(fā)決策包括生成樹、OSPF和BGP。但是,這些傳統(tǒng)網(wǎng)絡(luò)協(xié)議的靈活性非常有限。為了讓它們能夠正常工作,所有參與轉(zhuǎn)發(fā)域的網(wǎng)絡(luò)設(shè)備都必須遵循協(xié)議標(biāo)準(zhǔn)所定義的相同規(guī)則。這樣既束縛了創(chuàng)新的空間,也不利于一些特殊業(yè)務(wù)需求的實(shí)現(xiàn)。
SDN將控制面板(網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)流量的方式)從數(shù)據(jù)或轉(zhuǎn)發(fā)面板(基于控制面板策略轉(zhuǎn)發(fā)流量的網(wǎng)絡(luò)設(shè)備)分離。通過SDN,分離的控制面板就轉(zhuǎn)移到一個(gè)中央控制器上,它負(fù)責(zé)監(jiān)控整個(gè)網(wǎng)絡(luò),其中包括主機(jī)在什么位置連接網(wǎng)絡(luò),以及網(wǎng)絡(luò)將采用什么拓?fù)鋵⑺兄鳈C(jī)連接在一起。有了這個(gè)無所不知的中央控制器,網(wǎng)絡(luò)工程師只需要修改運(yùn)行在控制器的軟件,就可以實(shí)現(xiàn)獨(dú)特和靈活的轉(zhuǎn)發(fā)策略。
這個(gè)中央控制器是SDN的核心概念??刂破鞯?個(gè)重要術(shù)語是:北向和南向。而我們可以將控制器視為中間件。應(yīng)用程序?qū)⒏嬖V控制器如何編程實(shí)現(xiàn)北向通信,而南向通信則負(fù)責(zé)編程控制網(wǎng)絡(luò)設(shè)備??刂破鞒洚?dāng)一個(gè)仲裁者角色,它將底層物理網(wǎng)絡(luò)與準(zhǔn)備編程控制底層網(wǎng)絡(luò)的應(yīng)用程序分離。
中央控制器編程控制網(wǎng)絡(luò)轉(zhuǎn)發(fā)表的常見例子有:
創(chuàng)建一個(gè)實(shí)驗(yàn)網(wǎng)絡(luò),它使用生產(chǎn)網(wǎng)絡(luò)所在的物理基礎(chǔ)架構(gòu),但是邏輯上又與它完全隔離。
應(yīng)用一些流量策略,它們能夠動(dòng)態(tài)地學(xué)習(xí)應(yīng)用策略的流量流,從而保持一個(gè)既定的服務(wù)質(zhì)量(QoS)。
“為錢轉(zhuǎn)發(fā)”,即所有轉(zhuǎn)發(fā)路徑都可以根據(jù)對(duì)公司財(cái)務(wù)的影響而調(diào)整變化。
智能網(wǎng)絡(luò)安全性,例如,將一些特定的流分流到入侵檢測(cè)系統(tǒng)進(jìn)行深度數(shù)據(jù)包檢測(cè),而其他流則基于運(yùn)營(yíng)策略自由傳輸。
整個(gè)網(wǎng)絡(luò)層面的流量鏡像(例如,生成樹),使網(wǎng)絡(luò)中任意點(diǎn)的流量都可以復(fù)制到另一個(gè)網(wǎng)絡(luò)位置,以便執(zhí)行日志記錄、報(bào)表或分析操作。這類似于“工具網(wǎng)絡(luò)”或“可見性結(jié)構(gòu)”的概念。