SDN(软件定义网络)详解
目錄
- 一 傳統網絡體系結構
-
- 1 傳統網絡是分布式控制的架構
- 2 傳統網絡結構體系
- 3 傳統網絡局限性
- 二 SDN概述
-
- 1 SDN的三個主要特征
- 2 SDN控制器既不是網管,也不是規劃工具
- 三 SDN網絡體系架構
-
- 1 SDN網絡體系架構的三層模型:
- 2 SDN架構下的接口
- 三 SDN基本工作原理
-
- 1 OpenFlow的思想和功能
- 2 OpenFlow網絡交換模型
- 四 **SDN的價值**
-
- 1 網絡業務快速創新
- 2 簡化網絡
- 3 網絡設備白牌化
- 4 業務自動化
- 5 網絡路徑流量優化
- 五 **傳統網絡向SDN的演進方式**
-
- 方式一:僅交換網SDN化
- 方式二:僅業務SDN化
一 傳統網絡體系結構
1 傳統網絡是分布式控制的架構
- 這里的分布式控制指在傳統IP網絡中,用于協議計算的控制平面和報文轉發的數據平面位于同一臺設備中;
- 路由計算和拓撲變化后,每臺設備都要重新進行路由計算過程,并稱為分布式控制過程;
- 在傳統IP網絡中,每臺設備都是獨立收集網絡信息,獨立計算,并且都只關心自己的選路。
- 這種模型的弊端就是所有設備在計算路徑時缺乏統一性。
2 傳統網絡結構體系
傳統網絡分為管理平面、控制平面和數據平面。
- **管理平面:**主要包括設備管理系統(SNMP)和業務管理系統,設備管理系統負責網絡拓撲、設備接口、設備特性的管理,同時可以給設備下發配置腳本。業務管理系統用于對業務進行管理,比如業務性能監控、業務告警管理等。
- 控制平面:負責網絡控制,主要功能為協議處理與計算。比如路由協議(IGP、BGP)用于路由信息的計算、路由表的生成。
- **數據平面:**是指設備根據控制平面生成的指令完成用戶業務的轉發和處理。例如路由器根據路由協議生成的路由表對接收的數據包從相應的出接口轉發出去。
3 傳統網絡局限性
- 傳統網絡通常部署網管系統作為管理平面,而控制平面和數據平面分布在每個設備上運行。
- 流量路徑的調整需要通過在網元上配置流量策略來實現,但對于大型網絡的流量進行調整,不僅繁瑣而且還很容易出現故障;當然也可以通過部署TE隧道來實現流量調整,但由于TE隧道的復雜性,對于維護人員的技能要求很高。流量路徑的靈活調整能力不足
- 傳統網絡協議較復雜,有IGP、BGP、MPLS、組播協議等,而且還在不斷增加。設備廠家除標準協議外都有一些私有協議擴展,不僅設備操作命令繁多,而且不同廠家設備操作界面差異較大,運維復雜。網絡協議實現復雜,運維難度較大
- 傳統網絡中由于設備的控制面是封閉式的,且不同廠家設備實現機制也可能有所不同,所以一種新功能的部署可能會造成周期較長;且如果需要對設備軟件進行升級,還需要在每臺設備上進行操作,大大降低了工作效率。網絡新業務升級速度較慢
二 SDN概述
SDN(Soft ware Defined Network)——軟件定義網絡。
2006年,以斯坦福大學教授Nike McKeown為首的團隊提出了OpenFlow的概念,并基于OpenFlow技術實現網絡的可編程能力,使網絡像軟件一樣靈活編程,SDN技術應運而生。
1 SDN的三個主要特征
**轉控分離:**網元的控制平面在控制器上,負責協議計算,產生流表;而轉發平面只在網絡設備上。
**集中控制:**設備網元通過控制器集中管理和下發流表,這樣就不需要對設備進行逐一操作,只需要對控制器進行配置即可。
**開放接口:**第三方應用只需要通過控制器提供的開放接口,通過編程方式定義一個新的網絡功能,然后在控制器上運行即可。
2 SDN控制器既不是網管,也不是規劃工具
**網管沒有實現轉控分離:**網管只負責管理網絡拓撲、監控設備告警和性能、下發配置腳本等操作,但這些仍然需要設備的控制平面負責產生轉發表項。
**規劃工具的目的和控制器不同:**規劃工具是為了下發一些規劃表項,這些表項并非用于路由器轉發,是一些為網元控制平面服務的參數,比如IP地址,VLAN等。控制器下發的表項是流表,用于轉發器轉發數據包。
三 SDN網絡體系架構
SDN是對傳統網絡架構的一次重構,由原來的分布式控制的網絡架構重構為集中控制的網絡架構。
1 SDN網絡體系架構的三層模型:
協同應用層:這一層主要是體現用戶意圖的各種上層應用程序,此類應用程序稱為協同層應用程序,典型的應用包括OSS、Openstack等。傳統的IP網絡同樣具有轉發平面、控制平面和管理平面,SDN網絡架構也同樣包含這3個平面,只是傳統的IP網絡是分布式控制的,而SDN網絡架構下是集中控制的。
控制層:控制層是系統的控制中心,負責網絡的內部交換路徑和邊界業務路由的生成,并負責處理網絡狀態變化事件。
轉發層:轉發層主要由轉發器和連接器的線路構成基礎轉發網絡,這一層負責執行用戶數據的轉發,轉發過程中所需要的轉發表項是由控制層生成的。
2 SDN架構下的接口
Restful接口:
- Restful接口為控制器與上層APP的北向接口,開放的API、設備私有接口,所有滿足rest架構的互聯網軟件架構都是restful。
- Rest為“表現層狀態轉化”,表現層就是資源的表現,即rest是被訪問的資源(文本,圖片,音樂,視頻等),從一種形式的狀態遷移到另一種形式的狀態,本質就是一種互聯網資源訪問的協議。
OpenFlow接口:
- OpenFlow接口是控制器與下層轉發器之間的一種基于芯片的接口協議。OpenFlow協議基于TCP/IP,用于轉發器與控制器之間的通信。
BGP接口:
- BGP接口是在BGP協議基礎上添加一些BGP路由屬性(比如Additional Path屬性和BGP Flowspecification屬性),用于下發BGP的一些路由特性,從而使得IDC數據中心出口路由器根據這些特性實現流量調優。
PCE接口:
- PCE接口用于控制器根據網絡可用帶寬計算出流量工程路徑,用于數據中心AS內部的TE隧道的建立。
- 運營商網絡已經大規模部署了傳統分布式網絡,不能在較短時間內升級到SDN網絡,與傳統網絡互通就是必要的。SDN控制器必須支持各種傳統的跨域路由協議,以便解決和傳統網絡互通問題。
- 東西向協議是必須的,在SDN控制器上運行東西向協議,通過簡單的修改或升級控制器程序就能提供新業務。另一方面,東西向協議為SDN控制器跨域互聯及SDN控制器分層部署提供了接口。
三 SDN基本工作原理
- 通常控制器作為服務端,轉發器主動向控制器發起控制協議建立,通過認證后,控制協議即建立連接。
- 注冊信息中的設備信息包括資源信息(接口、標簽、VLAN資源等)、設備廠家信息(設備類型信息和設備版本號以及設備ID信息)。控制器采集這些信息是為了根據這些信息來進行本地搜索和加載相應驅動程序。
- 網絡拓撲是描述網絡中節點和鏈路以及節點之間連接關系的信息。
- 控制器收集拓撲信息的目的是為了根據網絡資源,計算合理的路徑信息,通過流表方式下發給轉發器。
1 OpenFlow的思想和功能
兩個角色:OpenFlow Controller、OpenFlow Switch
- “Flow”指的是一組具有相同性質的數據包,例如“五元組”(SIP、DIP、SPORT、DPORT、Protocol)。
- OpenFlow協議是控制器和轉發器之間的控制協議。
- 交換機與控制器之間可以通過加密的OpenFlow協議通信。
- OpenFlow交換機是數據平面,基于Flow Table進行數據轉發,并負責網絡策略的具體執行。
- OpenFlow Controller是控制平面設備,負責生成OpenFlow交換機上的Flow Table,以及對Flow Table的更新和維護。
- OpenFlowSwitch的基本組成:
- **Flow Table:**保存對每一個流的定義及相應處理行為
- **安全網絡通道:**連接交換機和控制器,用于傳輸控制信令。當一個新數據包第一次到達交換機時,交換機通過這個隧道將數據包送往控制器進行路由解析
- **OpenFlow協議:**一套公開標準接口,用于讀寫Flow Table的內容。
2 OpenFlow網絡交換模型
該模型的指導思想是:底層的數據通信(交換機、路由器)是“簡化的”,并定義一個對外開放的關于流表FlowTable的公用API(應用程序接口),同時采用控制器來控制整個網絡。
四 SDN的價值
1 網絡業務快速創新
SDN的可編程性和開放性,使得我們可以快速開發新的網絡業務和加速業務創新。如果希望在網絡上部署新業務,可以通過針對SDN軟件的修改實現網絡快速編程,業務快速上線。
- SDN網絡關鍵的地方是在網絡架構中增加了一個SDN控制器,把原來的分布式控制平面集中到一個SDN控制器上,由這個集中的控制器來實現網絡集中控制。SDN網絡架構具備3個基本特征:轉控分離、集中控制、開放接口。
- SDN通過在網絡中增加一個集中的SDN控制器,可以簡化網絡和快速進行業務創新。但是其本質的技術原理是通過SDN控制器的網絡軟件化過程來提升網絡可編程能力。通信平面仍包含管理平面、控制平面和數據平面,SDN網絡架構只是把系統的三個平面的功能進行了重新分配,傳統網絡控制平面是分布式的,分布在每個轉發設備上,而SDN網絡架構則是把分布式控制平面集中到一個SDN控制器內,實現集中控制,而管理平面和數據平面并沒有太多什么變化。
- SDN網絡具備快速網絡創新能力,如果這個新業務有價值則保留,沒有價值可以快速下線。不像傳統網絡那樣,一個新業務上線需要經過需求提出、討論和定義開發商開發標準協議,然后在網絡上升級所有的網絡設備,經過數年才能完成一個新業務。SDN使得新業務的上線速度從幾年提升到幾個月或者更快。
2 簡化網絡
SDN的網絡架構簡化了網絡,消除了很多IETF的協議。協議的去除,意味著學習成本的下降,運行維護成本下降,業務部署速度提升。這個價值主要得益于SDN網絡架構下的網絡集中控制和轉控分離。
因為SDN網絡架構下的網絡集中控制,所以被SDN控制器所控制的網絡內部很多協議基本就不需要了,比如RSVP協議、LDP協議、MBGP協議、PIM組播協議等等。原因是網絡內部的路徑計算和建立全部在控制器完成,控制器計算出流表,直接下發給轉發器就可以了,并不需要協議。未來大量傳統的東西向協議會消失,而南北向控制協議比如Openflow協議則會不斷的演進來滿足SDN網絡架構需求。
3 網絡設備白牌化
基于SDN架構,如果標準化了控制器和轉發器之間的接口,比如Openflow協議逐漸成熟,那么網絡設備的白牌化將成為可能,比如專門的Openflow轉發芯片供應商,控制器廠商等,這也正是所謂的系統從垂直集成開發走向水平集成。
4 業務自動化
SDN網絡架構下,由于整個網絡歸屬控制器控制,那么網絡業務自動化就是理所當然的,不需要另外的系統進行配置分解。在SDN網絡架構下,SDN控制器自己可以完成網絡業務的部署,提供各種網絡服務比如L2VPN、L3VPN等,屏蔽網絡內部細節,提供網絡業務自動化能力。
5 網絡路徑流量優化
通常傳統網絡的路徑選擇依據是通過路由協議計算出的“最優”路徑,但結果可能會導致“最優”路徑上流量擁塞,其它非“最優”路徑空閑。當采用SDN網絡架構時,SDN 控制器可以根據網絡流量狀態智能調整流量路徑,提升網絡利用率。
事實上在傳統網絡中也有一些流量工程技術來解決此類最優路徑擁塞問題,比如MPLS TE就是一種流量工程技術,但是該技術與其他傳統協議一樣,都是全分布式的,會導致前面介紹的業務次序依賴問題;另外一個方面傳統的流量工程協議RSVP因為其軟狀態機制,導致其無法大規模部署。若采用SDN架構,可直接集中對業務路徑進行計算和建立隧道,不需要RSVP協議,這不僅能夠解決實時流量路徑動態調整的能力,同時也能夠解決業務次序依賴問題。
五 傳統網絡向SDN的演進方式
方式一:僅交換網SDN化
方式二:僅業務SDN化
總結
以上是生活随笔為你收集整理的SDN(软件定义网络)详解的全部內容,希望文章能夠幫你解決所遇到的問題。