一. 什么是SDN?
SDN字面意思是軟體定義網路,其試圖擺脫硬體對網路架構的限制,這樣便可以像升級、安裝軟體一樣對網路進行修改,便于更多的APP(應用程式)能夠快速部署到網路上,
如果把現有的網路看成手機,那SDN的目標就是做出一個網路界的Android系統,可以在手機上安裝升級,同時還能安裝更多更強大的手機APP,
過去30年里,IP網路一直是全分布式的,戰功卓著,解決了各種客戶需求,今天SDN是為了未來更好更快的實作用戶需求,并不是有什么需求通過傳統方法不能做到,只是SDN做得更快、更好、更簡單,
SDN的本質是網路軟體化,提升網路可編程能力,是一次網路架構的重構,而不是一種新特性、新功能,SDN將比原來網路架構更好、更快、更簡單的實作各種功能特性,
二.SDN解決什么問題?
IP網路的生存能力很強,得益于其分布式架構,看看IP的歷史,當年美國軍方希望在遭受核打擊后,整個網路能夠自主恢復,這樣就不能允許網路集中控制,不能存在中心結點,否則在這個中心節點丟一顆核彈,整個網路就掛了,但正是這種全分布式架構導致了許多問題:
看看現在的IP網路管理多復雜,舉個運營商部署VPN的例子:要配置MPLS、BFD、IGP、BGP、VPNV4、要系結介面…且需要在每個PE上配置;當新增加一個PE時,還需要回去修改每個涉及到的PE,
現在各廠家的網路設備都太復雜了,如果您準備成為某個廠商設備的百事通,你需要掌握的命令列超過10000條,而其數量還在增加, 如果你準備成為IP骨灰級專家,你需要閱讀網路設備相關RFC 2500篇,如果一天閱讀一篇,你知道要看多久能看完?6年多!而這只是整個RFC的1/3,其數量還在增加,
此外,這些協議標準都是在解決各種各樣的控制面需求,而這些需求都是需要經過需求提出、定義標準、互通測驗、現網設備升級來完成部署,一般要個3~5年才能完成部署,這樣的速度,已經Hold不住網路上運營業務的OTT們的各種快速網路調整需求,必須想辦法解決這個問題, 很幸運,現在已經找到了解決以上問題的方法,沒錯,就是SDN !它是目前系統性的解決以上問題的最好方法,
三.傳統網路概念和結構體系
傳統網路資料控制與轉發:
傳統網路是分布式控制的架構,每臺設備都包含獨立的控制平面,資料平面,
傳統網路是分布式控制的架構:
1. 這里的分布式控制指在傳統IP網路中,用于協議計算的控制平面和報文轉發的資料平面位于同一臺設備中,
2. 路由計算和拓撲變化后,每臺設備都要重新進行路由計算程序,并稱為分布式控制程序,
3. 在傳統IP網路中,每臺設備都是獨立收集網路資訊,獨立計算,并且都只關心自己的選路,
4. 這種模型的弊端就是所有設備在計算路徑時缺乏統一性,
傳統網路的管理平面、控制平面、資料平面:
管理平面:管理設備(SNMP)
控制平面:路由協議(IGP、BGP)
資料平面:轉發表(FIB)
OSS:Operation Support System,運營支撐系統,
NMS:Network Management Server,網路管理服務器,
傳統網路架構:
== 傳統網路分為管理平面、控制平面和資料平面. ==
管理平面主要包括設備管理系統和業務管理系統,設備管理系統負責網路拓撲、設備介面、設備特性的管理,同時可以給設備下發配置腳本,業務管理系統用于對業務進行管理,比如業務性能監控、業務告警管理等,
控制平面負責網路控制,主要功能為協議處理與計算,比如路由協議用于路由資訊的計算、路由表的生成,
資料平面是指設備根據控制平面生成的指令完成用戶業務的轉發和處理,例如路由器根據路由協議生成的路由表對接收的資料包從相應的出介面轉發出去,
傳統網路局限性:
流量路徑的靈活調整能力不足,
網路協議實作復雜,運維難度較大,
網路新業務升級速度較慢,
傳統網路通常部署網管系統作為管理平面,而控制平面和資料平面分布在每個設備上運行,
流量路徑的調整需要通過在網元上配置流量策略來實作,但對于大型網路的流量進行調整,不僅繁瑣而且還很容易出現故障;當然也可以通過部署TE隧道來實作流量調整,但由于TE隧道的復雜性,對于維護人員的技能要求很高,
傳統網路協議較復雜,有IGP、BGP、MPLS、組播協議等,而且還在不斷增加,
設備廠家除標準協議外都有一些私有協議擴展,不僅設備操作命令繁多,而且不同廠家設備操作界面差異較大,運維復雜,
傳統網路中由于設備的控制面是封閉式的,且不同廠家設備實作機制也可能有所不同,所以一種新功能的部署可能會造成周期較長;且如果需要對設備軟體進行升級,還需要在每臺設備上進行操作,大大降低了作業效率,
四.SDN概述
SDN(Software Defined Netrork)軟體定義網路,
2006年,以斯坦福大學教授Nike Mckewn為首的團隊提出了OpenFlow的概念,并基于OpenFlow技術實作網路的可編程能力(OpenFlow只是實作SDN的一個協議),是網路像軟體一樣靈活編程,SDN技術應運而生,
SDN的定義
SDN的定義是其字面意思,控制與轉發分離,管理與控制分離只是滿足SDN的一種手段,OpenFlow只是滿足SDN的一種協議
SDN的分類
SDN的分類區別在于其實作的是控制與轉發分離,還是管理與控制分離
SDN分類:
控制與轉發分離 (超廣義)
管理與控制分離 (廣義)
SDN的三個主要特征:
轉控分離:網元的控制平面在控制器上,負責協議計算,產生流表;而轉發平面只在網路設備上,
集中控制:設備網元通過控制器集中管理和下發流表,這樣就不需要對設備進行逐一操作,只需要對控制器進行配置即可,
開放介面:第三方應用只需要通過控制器提供的開放介面,通過編程方式定義一個新的網路功能,然后在控制器上運行即可,
== SDN控制器既不是網管,也不是規劃工具:==
網管沒有實作轉控分離:網管只負責管理網路拓撲、監控設備告警和性能、下發配置腳本等操作,但這些仍然需要設備的控制平面負責產生轉發表項,
規劃工具的目的和控制器不同:規劃工具是為了下發一些規劃表項,這些表項并非用于路由器轉發,是一些為網元控制平面服務的引數,比如IP地址,VLAN等,控制器下發的表項是流表,用于轉發器轉發資料包,
五.SDN網路架構
SDN是對傳統網路架構的一次重構,由原來分布式控制的網路架構重構為集中控制的網路架構,
SDN網路體系架構的三層模型:
應用層:這一層主要是體現用戶意圖的各種上層應用程式,此類應用程式稱為協同層應用程式,典型的應用包括OSS(Operation support system 運營支撐系統)、Openstack等,傳統的IP網路同樣具有轉發平面、控制平面和管理平面,SDN網路架構也同樣包含這3個平面,只是傳統的IP網路是分布式控制的,而SDN網路架構下是集中控制的,
控制層:控制層是系統的控制中心,負責網路的內部交換路徑和邊界業務路由的生成,并負責處理網路狀態變化事件,
轉發層:轉發層主要由轉發器和連接器的線路構成基礎轉發網路,這一層負責執行用戶資料的轉發,轉發程序中所需要的轉發表項是由控制層生成的,
北向介面:應用層和控制層通信的介面,應用層通過控制開放的API,控制設備轉發功能
南向介面:控制層和資料層通信的介面,控制器通過OpenFlow或其他協議下發流表,
SDN網路部署方式
Underlay的網路
所有的轉發行為都由控制器通過OpenFlow協議或定制的BGP協議將轉發表下發給轉發器,轉發器僅僅執行動作,沒有單獨控制面
Overlay的網路
這種網路的轉發器一般都是傳動設備,不支持OpenFlow,或者私有定制協議不能部署時,就要用隧道技術,基礎網路還是傳統網路形式,通過路由協議打同各個節點,但是在服務器接入點,才用隧道技術將資料報文進行封裝或者解封裝,對傳統網路來說見到的就是普通資料報文,轉發即可,隧道技術實際上就是報文的馬甲,迷惑網路設備,讓設備以為時自己人,但實際上報文的心是虛擬化的心,現一般才用Vxlan,GRE,NVGRE等隧道技術,而這些新增的協議,也需要升級現有網路設備才能支持(不支持上述協議的網路設備),穿馬甲索然能夠在不進行大改造的情況下增加新的功能,但無疑會降低網路性能,
六.SDN的價值
網路業務快速創新:
SDN的可編程性和開放性,使得我們可以快速開發新的網路業務和加速業務創新,如果希望在網路上部署新業務,可以通過針對SDN軟體的修改實作網路快速編程,業務快速上線,
SDN網路關鍵的地方是在網路架構中增加了一個SDN控制器,把原來的分布式控制平面集中到一個SDN控制器上,由這個集中的控制器來實作網路集中控制,SDN網路架構具備3個基本特征:轉控分離、集中控制、開放介面,
SDN通過在網路中增加一個集中的SDN控制器,可以簡化網路和快速進行業務創新,但是其本質的技術原理是通過SDN控制器的網路軟體化程序來提升網路可編程能力,通信平面仍包含管理平面、控制平面和資料平面,SDN網路架構只是把系統的三個平面的功能進行了重新分配,傳統網路控制平面是分布式的,分布在每個轉發設備上,而SDN網路架構則是把分布式控制平面集中到一個SDN控制器內,實作集中控制,而管理平面和資料平面并沒有太多什么變化,
SDN網路具備快速網路創新能力,如果這個新業務有價值則保留,沒有價值可以快速下線,不像傳統網路那樣,一個新業務上線需要經過需求提出、討論和定義開發商開發標準協議,然后在網路上升級所有的網路設備,經過數年才能完成一個新業務,SDN使得新業務的上線速度從幾年提升到幾個月或者更快,
簡化網路:
SDN的網路架構簡化了網路,消除了很多IETF的協議,協議的去除,意味著學習成本的下降,運行維護成本下降,業務部署快速提升,這個價值主要得益于SDN網路架構下的網路集中控制和轉控分離,
因為SDN網路架構下的網路集中控制,所以被SDN控制器所控制的網路內部很多協議基本就不需要了,比如RSVP協議、LDP協議、MBGP協議、PIM組播協議等等,原因是網路內部的路徑計算和建立全部在控制器完成,控制器計算出流表,直接下發給轉發器就可以了,并不需要協議,未來大量傳統的東西向協議會消失,而南北向控制協議比如Openflow協議則會不斷的演進來滿足SDN網路架構需求
網路設備白牌化:
基于SDN架構,如果標準化了控制器和轉發器之間的介面,比如OpenFlow協議逐漸成熟,那么網路設備的白牌化將成為可能,比如專門的OpenFlow轉發芯片供應商,控制器廠商等,這也正是所謂的系統從垂直集成開發走向水平集成,
垂直集成是一個廠家供應從軟體到硬體到服務,水平集成則是把系統水平分工,每個廠家都完成產品的一個部件,有的集成商把他們集成起來銷售,水平分工有利于系統各個部分的獨立演進和更新,快速進化,促進競爭,促進各個部件的采購價格的下降,
業務自動化:
SDN網路架構下,由于整個網路歸屬控制器控制,那么網路業務網自動化就是理所當然的,不需要另外的系統進行配置分解,在SDN網路架構下,SDN控制器可以自己完成網路業務部署,提供各種網路服務,比如L2VPN、L3VPN等,屏蔽網路內部細節,提供網路業務自動化能力,
網路路徑流量優化:
通常傳統網路的路徑選擇依據是通過路由協議計算出的“最優”路徑,但結果可能會導致“最優”路徑上流量擁塞,其他非“最優”路徑空閑,當采用SDN網路架構時,SDN控制器可以根據網路流量狀態智能調整網路流量路徑,提升網路利用率,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/98296.html
標籤:其他
上一篇:程式員需要堅持學習英語和演算法
下一篇:ISO15765
