初步剖析SDN架构
第一章?概述
1.1 SDN概念
SDN(Software Defined Network)——軟件定義網(wǎng)絡(luò)。為了擺脫傳統(tǒng)網(wǎng)絡(luò)對(duì)于網(wǎng)絡(luò)硬件的依賴(lài),方便對(duì)網(wǎng)絡(luò)進(jìn)行調(diào)整、改變和升級(jí),SDN應(yīng)運(yùn)而生。
SDN是一種將網(wǎng)絡(luò)控制功能與轉(zhuǎn)發(fā)功能分離、實(shí)現(xiàn)控制可編程的新興網(wǎng)絡(luò)架構(gòu)。這種架構(gòu)將從控制層從網(wǎng)絡(luò)設(shè)備轉(zhuǎn)移到外部計(jì)算設(shè)備,使得底層的基礎(chǔ)設(shè)施對(duì)于應(yīng)用和網(wǎng)絡(luò)服務(wù)而言是透明的、抽象的,網(wǎng)絡(luò)可被視為一個(gè)邏輯的或虛擬的實(shí)體。
1.2 SDN特征
轉(zhuǎn)控分離:網(wǎng)元的控制平面在控制器上,負(fù)責(zé)協(xié)議計(jì)算,產(chǎn)生流表;而轉(zhuǎn)發(fā)平面只在網(wǎng)絡(luò)設(shè)備上。
集中控制:設(shè)備網(wǎng)元通過(guò)控制器集中管理和下發(fā)流表,這樣就不需要對(duì)設(shè)備進(jìn)行逐一操作,只需要對(duì)控制器配置即可。
開(kāi)放接口:第三方應(yīng)用只需要通過(guò)控制器提供的開(kāi)放接口,通過(guò)編程方式定義一個(gè)新的網(wǎng)絡(luò)功能,然后在控制器上運(yùn)行即可。
SDN控制器不同于網(wǎng)管和規(guī)劃工具,網(wǎng)管仍然需要設(shè)備的控制平面負(fù)責(zé)產(chǎn)生轉(zhuǎn)發(fā)表項(xiàng),并沒(méi)有實(shí)現(xiàn)SDN的轉(zhuǎn)控分離;規(guī)劃工具下發(fā)的規(guī)劃表項(xiàng)是參數(shù),而SDN控制器下發(fā)的表項(xiàng)是流表,用于轉(zhuǎn)發(fā)器轉(zhuǎn)發(fā)數(shù)據(jù)包。
1.3 SDN的發(fā)展趨勢(shì)
SDN產(chǎn)業(yè)發(fā)展趨勢(shì)
第二章 SDN架構(gòu)剖析
2.1 SDN網(wǎng)絡(luò)架構(gòu)
SDN是對(duì)傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的一次重構(gòu),由原來(lái)的分布式控制的網(wǎng)絡(luò)架構(gòu)重構(gòu)為集中控制的網(wǎng)絡(luò)架構(gòu),SDN網(wǎng)絡(luò)架構(gòu)如圖1-1所示。
圖 1-1 SDN網(wǎng)絡(luò)架構(gòu)
應(yīng)用層:這一層主要是各種上層應(yīng)用程序。
控制層:這一層是系統(tǒng)的控制中心,負(fù)責(zé)網(wǎng)絡(luò)的內(nèi)部交換路徑和邊界業(yè)務(wù)路由的生成。
轉(zhuǎn)發(fā)層:這一層主要是轉(zhuǎn)發(fā)器和連接器構(gòu)成的轉(zhuǎn)發(fā)網(wǎng)絡(luò)。其中轉(zhuǎn)發(fā)表項(xiàng)由控制層生成。
2.2 SDN架構(gòu)工作原理
控制器收集網(wǎng)元資源信息,收集拓?fù)湫畔?#xff0c;生成SDN網(wǎng)絡(luò)內(nèi)部交換路由。
網(wǎng)元資源信息包括轉(zhuǎn)發(fā)器注冊(cè)信息、上報(bào)資源過(guò)程、MPLS標(biāo)簽信息、VLAN資源信息、接口資源信息等;
拓?fù)湫畔ü?jié)點(diǎn)對(duì)象、接口對(duì)象、鏈路對(duì)象等;
控制器收集拓?fù)湫畔⒌哪康氖菫榱烁鶕?jù)網(wǎng)絡(luò)資源,計(jì)算合理的路徑信息,通過(guò)流表的方式下發(fā)給轉(zhuǎn)發(fā)器。
通常控制器作為服務(wù)端,轉(zhuǎn)發(fā)器主動(dòng)向控制器發(fā)起控制協(xié)議簡(jiǎn)歷,通過(guò)認(rèn)證后,控制協(xié)議建立連接。
2.3 SDN三種模型解析
2.3.1?網(wǎng)絡(luò)虛擬化模型
市場(chǎng)上最簡(jiǎn)單的SDN模型就是網(wǎng)絡(luò)虛擬化模型,因初創(chuàng)公司Nicira流行,但是該公司在2012年被VMware收購(gòu)。網(wǎng)絡(luò)虛擬化的主要目標(biāo)是消除LAN分區(qū)限制(這種限制存在于虛擬LAN(VLAN)標(biāo)準(zhǔn)中),通過(guò)在一些基于以太網(wǎng)的虛擬網(wǎng)絡(luò)架構(gòu)中實(shí)現(xiàn)多播解決可擴(kuò)展性的問(wèn)題。
2.3.2 “漸進(jìn)式”方法
第二種SDN模型可以稱(chēng)之為“漸進(jìn)式”模型。這種模型的目標(biāo)就是為了加強(qiáng)網(wǎng)絡(luò)軟件控制和運(yùn)營(yíng)而產(chǎn)生,但是是在當(dāng)前網(wǎng)絡(luò)技術(shù)的邊界之內(nèi)。為了實(shí)現(xiàn)這一點(diǎn),網(wǎng)絡(luò)服務(wù)提供商可能需要對(duì)標(biāo),比如VXLAN、GRE、BGP和MPLS,并且用這些標(biāo)準(zhǔn)將網(wǎng)絡(luò)分區(qū),成為虛擬社群,并且管理流量和服務(wù)質(zhì)量。提供商可能需要將自身的解決方案結(jié)合到同一套管理接口中,這套接口可以為云服務(wù)環(huán)境所用,通過(guò)DevOps工具或者云虛擬接口。
2.3.3 OpenFlow模型
最后這種SDN模型就是OpenFlow模型,也是和SDN屬于最緊密相關(guān)的一個(gè)。OpenFlow取代了交換機(jī)或者路由器中傳統(tǒng)的、基于發(fā)現(xiàn)的轉(zhuǎn)發(fā)表創(chuàng)建,取而代之的是集中控制轉(zhuǎn)發(fā),也意味著一個(gè)集中控制器項(xiàng)目對(duì)應(yīng)每一個(gè)設(shè)備的轉(zhuǎn)發(fā)表。這樣做為中央控制節(jié)點(diǎn)提供了完整的規(guī)則,例如網(wǎng)絡(luò)如何分段或者虛擬化,流量如何管理等。任何控制器和支持OpenFlow兼容版本的交換機(jī)的結(jié)合都可以用于這種SDN模型。最后這種SDN模型最大的好處就是這種模型是基于SDN的概念來(lái)建立的。
2.4?模型分析
云提供商糾結(jié)于VLAN的分段限制,或者面臨著VLAN的多播問(wèn)題,首先可能關(guān)注虛擬化網(wǎng)絡(luò)的SDN模型。這種模型也能夠覆蓋漸進(jìn)式SDN模型,盡管協(xié)調(diào)管理接口人存在很多問(wèn)題。在數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備中投資體量巨大的提供商可能更傾向于這種方式來(lái)避免冗余成本。未來(lái)的主流發(fā)展方向應(yīng)該會(huì)傾向于OpenFlow,因此應(yīng)該關(guān)注支持OpenFlow的服務(wù)和設(shè)備提供商,尤其是在部署新設(shè)備的時(shí)候。
第三章?傳統(tǒng)架構(gòu)和SDN架構(gòu)
3.1?傳統(tǒng)架構(gòu)數(shù)據(jù)的控制與轉(zhuǎn)發(fā)
傳統(tǒng)網(wǎng)絡(luò)是分布式控制的架構(gòu),每臺(tái)設(shè)備都包含獨(dú)立的控制平面、數(shù)據(jù)平面。
分布式控制是指在傳統(tǒng)IP網(wǎng)絡(luò)中,用于協(xié)議計(jì)算的控制平面和報(bào)文轉(zhuǎn)發(fā)的數(shù)據(jù)平面位于同一臺(tái)設(shè)備中。路由計(jì)算和拓?fù)渥兓?#xff0c;每臺(tái)設(shè)備都要重新進(jìn)行路由計(jì)算過(guò)程,并稱(chēng)為分布式控制過(guò)程。在傳統(tǒng)IP網(wǎng)絡(luò)中,每臺(tái)設(shè)備都是獨(dú)立收集網(wǎng)絡(luò)信息,獨(dú)立計(jì)算,并且都只關(guān)心自己的選路。這種模型的弊端就是所有設(shè)備在計(jì)算路徑時(shí)缺乏統(tǒng)一性。
3.2?傳統(tǒng)網(wǎng)絡(luò)架構(gòu)
??????? 傳統(tǒng)網(wǎng)絡(luò)架構(gòu)包含:管理平面、控制平面、數(shù)據(jù)平面。
管理平面:主要包括設(shè)備管理系統(tǒng)和業(yè)務(wù)管理系統(tǒng),設(shè)備管理系統(tǒng)負(fù)責(zé)網(wǎng)絡(luò)拓?fù)洹⒃O(shè)備接口、設(shè)備特性的管理,同時(shí)可以給設(shè)備下發(fā)配置腳本。業(yè)務(wù)管理系統(tǒng)用于對(duì)業(yè)務(wù)進(jìn)行管理,比如業(yè)務(wù)性能監(jiān)控、業(yè)務(wù)告警管理等。
控制平面:主要功能為協(xié)議處理與計(jì)算。比如路由協(xié)議用于路由信息的計(jì)算、路由表的生成。
數(shù)據(jù)平面:是指設(shè)備根據(jù)控制平面生成的指令完成用戶(hù)業(yè)務(wù)的轉(zhuǎn)發(fā)和處理。例如路由器根據(jù)路由協(xié)議生成的路由表對(duì)接收的數(shù)據(jù)包從相應(yīng)的出接口轉(zhuǎn)發(fā)出去。
3.3 SDN架構(gòu)的優(yōu)勢(shì)
3.3.1?硬件標(biāo)準(zhǔn)化/軟件平臺(tái)化
這概念說(shuō)新穎不新穎,軟件行業(yè)從OS誕生的那一天,就已經(jīng)這么做了。但是網(wǎng)絡(luò)設(shè)備行業(yè)一直沒(méi)有形成這樣的標(biāo)準(zhǔn)。我個(gè)人猜測(cè)原因應(yīng)該是大廠商對(duì)于市場(chǎng)的壟斷,各個(gè)網(wǎng)絡(luò)設(shè)備廠商推出自己的設(shè)備時(shí)都將軟硬件緊密的聯(lián)系在一起,使用該公司的設(shè)備后就必須使用相應(yīng)的軟件,這樣就可以套牢用戶(hù),使得用戶(hù)不會(huì)輕易換其他廠商的設(shè)備。但是SDN可以形成一個(gè)生態(tài)系統(tǒng),從而可以很好的解決這一問(wèn)題。
3.3.2?簡(jiǎn)化網(wǎng)絡(luò)
SDN的網(wǎng)絡(luò)架構(gòu)簡(jiǎn)化了網(wǎng)絡(luò),因?yàn)榫W(wǎng)絡(luò)內(nèi)部的路徑計(jì)算和建立全部在控制器完成,控制器計(jì)算出流表,直接下發(fā)轉(zhuǎn)發(fā)器,因此消除了很多網(wǎng)絡(luò)內(nèi)部協(xié)議,比如RSVP、LDP、MBGP、PIM組播協(xié)議等。未來(lái)大量的東西向協(xié)議會(huì)消失,取而代之的則是南北向控制協(xié)議不斷演進(jìn)來(lái)滿(mǎn)足SDN的網(wǎng)絡(luò)架構(gòu)需求。
3.3.3?配置管理簡(jiǎn)便
在之前的課程設(shè)計(jì)中,查看過(guò)大型網(wǎng)絡(luò)下防火墻在生產(chǎn)環(huán)境下實(shí)際配置,我發(fā)現(xiàn)這玩意兒不是一個(gè)好配置的主。動(dòng)輒成百上千的address, policy, VPN等無(wú)論是CLI還是WebUI配置都是一種折磨。配置麻煩是傳統(tǒng)網(wǎng)絡(luò)設(shè)備的一大問(wèn)題。另一個(gè)問(wèn)題是服務(wù)器動(dòng)態(tài)遷移帶來(lái)的網(wǎng)絡(luò)管理問(wèn)題。這個(gè)問(wèn)題是服務(wù)器虛擬化革命帶來(lái)的,現(xiàn)在的網(wǎng)絡(luò)設(shè)備對(duì)此基本無(wú)解,因此SDN網(wǎng)絡(luò)架構(gòu)的優(yōu)勢(shì)就體現(xiàn)出來(lái)了,可以統(tǒng)一配置,減少工作量。
3.3.4 Debug便捷
沒(méi)做過(guò)網(wǎng)絡(luò)設(shè)備的人可能不知道網(wǎng)絡(luò)軟件的Debug有多么辛苦。一般軟件Debug步驟:
1. 信息搜集
2. 縮小問(wèn)題空間,直至找到根本原因
3. 重復(fù)1
對(duì)于網(wǎng)絡(luò)軟件而言,信息搜集是一道坎,你要能拿到網(wǎng)絡(luò)拓?fù)湎旅娓鱾€(gè)相關(guān)網(wǎng)絡(luò)設(shè)備的配置和問(wèn)題出現(xiàn)時(shí)的日志。這絕對(duì)不是一件容易的事兒。不信你問(wèn)工程師。他們每天要死要活地抓日志,一次很難成功,兩次,三次成功都算蒼天有眼。就算成功抓到了需要的日志,想想AT&T給你個(gè)路由震蕩的問(wèn)題,一個(gè)大網(wǎng)絡(luò)拓?fù)湎聰?shù)十臺(tái)設(shè)備,數(shù)兆的配置信息,數(shù)十兆的日志。相關(guān)的,不相關(guān)的,反正都拋給你,你需要的量的時(shí)間進(jìn)行查找原因,真的會(huì)有奔潰的狀態(tài)。
SDN因?yàn)榧锌刂?#xff0c;所以可以,指定相關(guān)的網(wǎng)絡(luò)設(shè)備同時(shí)打開(kāi)需要的debug開(kāi)關(guān),將日志收集到中央云上。
運(yùn)行一組predefined analysis tool分析問(wèn)題的所在;建立一個(gè)virtualized environment,replay packets。
最后,可能有80%的問(wèn)題都能找到一個(gè)前例;剩下那20%,到工程師手上,也是小范圍的有價(jià)值的數(shù)據(jù),甚至分析報(bào)告。
3.4?傳統(tǒng)網(wǎng)絡(luò)架構(gòu)演變SDN網(wǎng)絡(luò)架構(gòu)
3.4.1?業(yè)務(wù)流量的明確劃分
將原有業(yè)務(wù)按照一個(gè)應(yīng)用對(duì)應(yīng)一個(gè)區(qū)域的方式劃分,在使用SDN后,將會(huì)變成一個(gè)服務(wù)體系作為一個(gè)區(qū)域劃分。在每個(gè)區(qū)域中劃分多個(gè)工作組來(lái)準(zhǔn)確區(qū)分業(yè)務(wù)模塊,更加清晰地了解業(yè)務(wù)之間的訪問(wèn)關(guān)系。
3.4.2?無(wú)限定的橫向擴(kuò)展
在現(xiàn)有的SDN網(wǎng)絡(luò)中,通過(guò)使用選播網(wǎng)關(guān)的方式將網(wǎng)關(guān)部署在各個(gè)葉節(jié)點(diǎn)上。即使有新設(shè)備加入網(wǎng)絡(luò),無(wú)論處于任何區(qū)域,都可以準(zhǔn)確的進(jìn)入相對(duì)應(yīng)邏輯位置。
3.4.3?控制平面和轉(zhuǎn)發(fā)平面解耦合
在傳統(tǒng)的網(wǎng)絡(luò)交換設(shè)備中,控制平面和轉(zhuǎn)發(fā)平面是緊密耦合的,被集成到單獨(dú)的設(shè)備盒子中。各個(gè)設(shè)備的的控制平面被分布到網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)上,很難對(duì)全網(wǎng)的網(wǎng)絡(luò)情況有全局把控。因此SDN網(wǎng)絡(luò)一個(gè)重要的理念就是把每臺(tái)單獨(dú)網(wǎng)絡(luò)設(shè)備中的控制平面從物理硬件中抽離出來(lái),交給虛擬化的網(wǎng)絡(luò)層處理,整個(gè)虛擬化的網(wǎng)絡(luò)層加載在物理網(wǎng)絡(luò)上,屏蔽底層物理轉(zhuǎn)發(fā)設(shè)備的差異,在虛擬空間內(nèi)重建整個(gè)網(wǎng)絡(luò)。
3.4.4?集中化的網(wǎng)絡(luò)控制
將控制平面進(jìn)行集中控制,中央控制器可以獲取網(wǎng)絡(luò)資源的全局信息并根據(jù)業(yè)務(wù)需要進(jìn)行資源的全局調(diào)配和優(yōu)化,如服務(wù)質(zhì)量負(fù)載均衡功能等。同時(shí)集中控制后,全網(wǎng)的網(wǎng)絡(luò)設(shè)備都由中央控制器去管理,使得網(wǎng)絡(luò)節(jié)點(diǎn)的部署以及維護(hù)更加敏捷。
第四章?總結(jié)
傳統(tǒng)網(wǎng)絡(luò)已經(jīng)經(jīng)過(guò)半個(gè)世紀(jì)的發(fā)展,有很多人也為之努力,凝聚了無(wú)數(shù)人的智慧和心血,但是其架構(gòu)存在天生的缺陷和不可修改性,導(dǎo)致在很多應(yīng)用場(chǎng)景上都存在心有余而力不足的表現(xiàn),并且只會(huì)越來(lái)越復(fù)雜。
SDN雖然誕生沒(méi)多久,但是其已經(jīng)表現(xiàn)出非常強(qiáng)大的生命力。傳統(tǒng)網(wǎng)絡(luò)在安全、可靠性、可維護(hù)性和性能上還有存在很大的優(yōu)勢(shì),但是隨著SDN相關(guān)設(shè)備的更迭與發(fā)展,一定會(huì)慢慢縮小與傳統(tǒng)網(wǎng)絡(luò)架構(gòu)的距離,這種優(yōu)勢(shì)也勢(shì)必會(huì)越來(lái)越弱,而SDN的優(yōu)勢(shì)時(shí)傳統(tǒng)網(wǎng)絡(luò)架構(gòu)所不能及的,所以SDN憑借自身的優(yōu)勢(shì)一定會(huì)不斷占領(lǐng)傳統(tǒng)網(wǎng)絡(luò)的領(lǐng)地,成為主流的網(wǎng)絡(luò)架構(gòu)。
總結(jié)
- 上一篇: 悦虎144固件,华强北二代悦虎144固件
- 下一篇: Posix消息队列