廣域網SDN架構

安全劍客發表於2020-08-10
導讀 SDN(Software Defined Netrork)軟體定義網路。在網路使用中升級SDN架構,是網路智慧化演進的基礎,是廣域網網路升級的必然途徑和必選項。
一、背景

SDN概念的誕生已經有十多個年頭,從近年來SDN技術發展與應用部署情況來看,資料中心領域技術發展成熟較早並迅速得到廣泛應用,而國內大型網際網路公司和運營商廣域網領域相對發展要慢一些,究其原因還是由廣域網的網路實際情況決定的。

廣域網SDN架構廣域網SDN架構

資料中心場景業務流量相對簡單,主要是東西向流量的和南北向流量,相關資料中心SDN架構解決方案主要面向解決和處理好Overlay隧道層面流量的打通和排程。而廣域網場景業務流量相對複雜,裸IP流量、MPLS業務流量,往往疊加到一起,同時還要考慮到廣域網的互聯互通情況中多互聯互通出口流量的最佳化和排程。

從網路規模和網路裝置層面考慮,資料中心相對廣域網是個小範圍區域網路,在單個資料中心資源池新建時,完全可以直接採用較為成熟的SDN架構,單一資源池或者一個資源的一個POD內直接採用單廠家方案,不同的資源池之間或者同一個資源池的不同POD間透過標準的SDN北向介面實現異常家解耦。而廣域網是個覆蓋範圍廣大的網路,運營商級廣域網單個AS域就可以有上千臺路由器的規模,網路架構雖然一直向扁平化方向發展,但是遠沒有資料中心Spine-Leaf架構那麼規整。廣域網建設時為避免單廠家繫結,往往是異廠裝潢置混合組網,因此廣域網SDN架構需要控制器直接去控制不同廠家的裝置,無法簡單的應用單廠家的SDN解決方案。

基於以上原因,廣域網SDN應用和部署相對滯後。廣域網的SDN架構升級和部署,要考慮業務流量的平滑過渡,不能推倒重建,所以廣域網SDN架構設計和部署往往是要分階段地去實現,從最迫切的需求入手,合理安排裝置的升級節奏,逐步地引入和完善相關SDN功能。

二、廣域網SDN應用部署與演進的三個階段

第一階段,先從提升業務開通效率入手,解決最迫切的客戶業務自動開通需求,實現網路的自動化配置能力。透過部署SDN控制器,實現配置 透過Netconf介面或其他方式自動下發。對於有業務需求的節點,可以先更換或者升級這些節點的PE裝置,實現SR-BE功能,使業務流量基於SR-BE去承載,有條件的可以兼顧實現基於鬆散路徑模式的SR-TE功能,這一階段也可以同時實現基於BGP-LS或其他協議的拓撲生成與呈現。

第二階段,隨著裝置的逐步升級,SR功能的全網具備,以及SDN南向介面協議標準化演進和更廣泛的廠裝潢置支援,逐步實現基於SR-TE的差異化服務和業務流量路徑調優功能,實現基於Telemetry的秒級資訊採集,實現SDN控制器對網路狀態和網路資源全面的管理掌控。同時可以同步探索和實現部份網路智慧化功能,比如網路流量模擬和網路故障模擬,從而對網路規劃、網路最佳化升級、網路裝置和架構調整提供更好的模擬分析和決策參考。

第三階段,基於SDN能力實現更高層次的網路智慧化。未來的IBN(Intent-based Network)或IDN (Intent-Driven Network),都要以SDN能力為基礎去演進和實現。

目前運營商的廣域網SDN部署基本都在第一階段已經部份實現,正在向第二階段演進的過程中。大型網際網路公司因為業務的需求更強烈,整體研發能力強,同時網路規模又比運營商相對較小,因此廣域網SDN部署和應用相比運營商要更完善和超前。

三、廣域網SDN功能

如果只介紹廣域網SDN架構,會比較公式化。為了使大家更好的理解廣域網SDN,先談一談廣域網SDN的功能,理解了部署廣域網SDN是為了要實現那些功能,回過頭來再去看廣域網SDN架構以及廣域網SDN所涉及的介面協議,可能會理解的更加深入一些。

談到SDN控制器的功能,就不得不先分析下SDN控制器和傳統網管的關係。普遍的認為傳統的網管側重於裝置和網路狀態監控管理,而SDN控制器側重於網路資源管理和網路轉發控制。資源管理和網路裝置硬體狀態的管理、網路拓撲的管理,是分不開的,資源管理以裝置狀態和網路拓撲管理為基礎,而SDN控制器的控制功能是以全面掌握網路資源和資訊為基礎的,可以這麼說SDN控制器需要繼承一部分傳統網管的能力或者要以傳統網管的能力為基礎來實現上層的功能,因此我覺得未來控制器和網管會走向合併和統一。

在傳統網管的監控和管理能力之外,SDN控制器要實現資源的實時管控、業務的自動下發、路由分析、網路模擬、差異化服務、流量排程等功能。下面對個人理解的廣域網SDN應該具備的功能進行梳理與介紹。

1. 網路監測和資料呈現

能透過BGP-LS或其他協議獲取網路拓撲,支援以BGP-LS收集SR-MPLS、SRv6等資訊,能透過Telemetry實現秒級的網路資料監測上報,或者至少能透過SNMP實現全網監測資料的週期採集。可以透過TWAMP或其他協議實現網路質量監控。

基於資料的採集和分析,可以呈現網路的物理拓撲和邏輯拓撲,可以呈現相關資料資訊和狀態資訊,比如可以呈現各鏈路網路流量情況及變化趨勢曲線圖,並根據一定的閾值設定對埠流量利用率進行監控和告警。

2. 業務配置自動下發與管理

SDN控制器能透過Netconf介面或其他方式實現下發MPLS等業務配置,能夠監測網路內已有配置並同步到控制器,具備資源和配置引數衝突監測功能,能對網路配置引數和網路資源全域性統一分配管理。

3. SR隧道下發與管理

能夠建立、修改或者刪除SR-TE Tunnel。能夠透過PCEP或其他協議實現SR-TE Tunnel的託管和下發。可以設定隧道的Hot-Standby路徑或者Ti-LFA保護。

能夠建立、修改或刪除SR Policy和SRv6 Policy隧道,支援SR Policy和SRv6 Policy隧道Color、Candidate Path等引數的設定。

SDN控制器能夠支援以圖形化的方式呈現SR隧道路徑、流量、告警等資訊,便於網路管理員對隧道狀態和隧道所承載業務流量進行觀測與管理。

4. SR隧道路徑計算功能

一般提到透過SDN實現差異化服務和業務流量路徑靈活調優等能力,都是以隧道路徑的計算、控制和下發能力為基礎的。隧道路徑計算功能主要包含以下幾個方面。

(1) 多重約束條件計算路徑

路徑計算時可以基於多重約束條件計算路徑,可以支援頻寬、時延、跳數限制、顯示路徑等約束條件。其中顯示路徑約束條件又分為顯示路徑包含(隧道必須嚴格或鬆散地經過有序指定的鏈路或節點)和顯示路徑排除(隧道必須不能經過指定的鏈路或節點)。

(2) 基於特定選路策略進行選路

根據約束條件計算路徑後可能有多條備選路徑,支援基於鏈路可用度最優、鏈路剩餘頻寬最大、Cost最小、時延最小等選路策略進行選路。

(3) 主備路徑分離

支援隧道主備路徑分離(SR-TE Tunnel或SR Policy),主備路徑儘量完全不共路或者少共路。也可以透過TI-LFA的方式實現隧道路徑的保護。

跨AS域隧道路徑計算(有多個AS域的超大網路場景)

能實現跨AS域E2E路徑計算。支援基於收集的跨域拓撲,根據隧道約束條件進行E2E路徑計算,並將計算的路徑下發到轉發器。AS域內隧道和跨AS域隧道可以共存。

目前跨AS域場景的隧道計算和管理依然是廣域網SDN的一個難題,在進行域內路徑和域間路徑的拼接時,域內路徑最優和域間路徑最優要綜合考慮和衡量,整體比較複雜。

5. 裸IP流量排程

在MPLS的業務場景,MPLS業務流量直接Over在SR 隧道上,透過更改或者最佳化隧道路徑,就可以實現業務流量的差異化服務和路徑調優。

在裸IP流量場景,要能實現將裸IP業務流量匯入到隧道當中,從而實現裸IP流量的調優。可以基於源IP、目的IP、源AS、目的AS、BGP路由Community等引數來抓取裸IP流量,並透過PBR方式匯入到隧道當中。當然SR Policy場景下流量的匯入會方便很多。

6. 路由分析功能

能在網路拓撲中視覺化呈現IGP路由狀態資訊,可以獲取並呈現IGP路由告警,包括IGP Peer Up、Down告警、IGP字首路由撤銷和IGP路由Flapping等告警。

能透過BMP實現BGP路由資訊採集,能在拓撲中視覺化呈現BGP路由協議狀態,包括Peer資訊、AS釋出路由等資訊;對網路中裝置BGP執行狀態進行實時監控,包括Peer的狀態,路由新增、撤銷、更新事件。能提供BGP路由的分析與預警,包括公網BGP路由及BGP路由。

7. 網路模擬

(1) 網路故障模擬

能實現基於鏈路或者裝置故障的網路流量預測,並支援基於預測結果的網路流量模擬。在網路正常狀態下,能對特定裝置或者鏈路故障時的網路狀態進行模擬,輸出模擬模擬後的網路狀態結果,包括模擬後的網路資源和鏈路利用率,各鏈路承載的業務資訊,以及重要業務流量的承載劣化情況等。便於網路管理員對可能出現的網路故障進行影響分析,並更有針對性地準備網路故障預案。

(2) 網路流量模擬

能實現流量突發場景的模擬,比如對重大熱點事件、電商促銷等流量突發場景進行模擬,根據匯入的流量突發模型模擬流量突發後網路承載情況,包括鏈路的擁塞情況,網路資源和裝置的負載情況。為網路管理員制定疏導方案提供更有借鑑意義和直觀的參考。

四、廣域網SDN架構設計
1. 單一管理域或AS域SDN架構設計

對於多廠裝潢置混合組網的廣域網SDN架構,理想的方案當然是單一控制器透過標準的南向介面去控制不同廠家的裝置,但是現實情況是目前不同廠家的南向介面沒有實現全部的標準化,尤其裝置配置Netconf的Yang模型,不同廠家還主要是以私有實現為主,所以SDN控制器在某些南向介面協議上就不得不去適配不同廠家私有介面。整體的廣域網SDN架構如下圖。

廣域網SDN架構廣域網SDN架構

介面1、介面2、介面3為廠家的私有Netconf介面,SDN控制器透過適配廠家的私有Netconf介面去下發業務和裝置配置。未來隨著技術的發展,如果能實現SDN南向Netconf介面的全面標準化和解耦,這三個介面可以統一為一個標準介面。此外需要說明的是,某些標準化程度不高,需要控制器去適配廠家私有實現的協議,也可以放入到介面1、介面2和介面3中,比如Telemetry。

介面4是一組協議,目前主要應用的有如下SDN南向接協議。

PCEP,用於實現SR-TE Tunnel的託管、路徑下發和狀態上報;
SNMP,讀取裝置資訊,如介面流量、隧道流量,透過SNMP Trap接收裝置的告警資訊;
Telemetry,資訊採集,如介面和隧道流量採集,效能資料採集,Telemetry比SNMP效率更高,可以實現秒級的資訊採集,可以更好的實時監控網路裝置和資源狀態;
BMP,BGP執行狀態採集,包括對等體關係的建立與解除、路由資訊重新整理等;
BGP-LS,控制器透過BGP-LS收集拓撲資訊、SR-MPLS資訊,SRv6資訊、鏈路時延等資訊;
BGP Flowspec,控制器透過下發攜帶流量匹配條件和流量匹配後執行動作的BGP Flowspec路由,實現流量調優;
BGP SR Policy/BGP SRv6 Policy,控制器透過BGP下發SR Policy資訊,其中包含endpoint、color、candidate path資訊,實現對隧道路徑、隧道負載等情況的控制;
Netstream/Netflow/IPFIX:流量取樣,用於流量分析。在流量調優和其他網路調整前,都需要以流量分析結果作為參考;
TWAMP,雙向主動測量協議,可以探測鏈路的時延、抖動、丟包率。

2. 跨域SDN架構

某些大型網路經營者擁有多個獨立AS域的網路,大部分網路業務域內配置開通,但是也有部份業務需要跨域開通,例如運營商跨省網和骨幹網的業務開通與流量排程。在跨域的場景下,可以透過業務編排層實現跨域的業務開通。但編排層是和業務和應用強關聯的,不具備直接的網路管理能力,如果要實現承載業務流量的隧道路徑跨域計算和跨域端到端流量排程,就需要具備強大的網路管理能力。我個人還是傾向於認為這個協同跨域業務開通的編排層如果被開發具備強大的網路管理能力(跨域隧道路徑計算和跨域流量排程),應該叫超級控制器會更貼切些。

廣域網SDN架構廣域網SDN架構

當然網路架構是為網路需求服務的,以力求完備的架構和功能實現為出發點而不是以迫切的網路需求為出發點去規劃和建設網路,背離了網路發展和演進的原則。廣域網SDN架構演進也是如此,以需求為導向,儘量在滿足需求的情況下去輕量化部署網路SDN架構。比如經常討論到的在廣域網SDN架構中,普遍認為差異化服務和流量調優要以隧道路徑計算、隧道路徑最佳化為基礎去實現。我覺得基於隧道路徑計算、最佳化的功能實現差異化服務和流量調優肯定是需要支援的,對於重點客戶的精確化服務能力的實現也是有意義的。

但是面對大量客戶成千上萬的業務流量和承載隧道,調整起來會非常複雜,對控制器的要求會非常高,部署起來的困難可想而知。所以我覺得不管域內還是域間的差異化服務還是要以QOS能力為基礎去實現,端到端給重要客戶的業務流量配置高優先順序,確保高優先順序業務流量在網路承載能力不足、網路擁塞時被優先轉發。所以,在沒有明確的跨域隧道路徑調優需求的場景下,完全不用開發超級控制器層,而只開發麵向業務開通的編排層就可以,當然涉及到跨域業務開通時邊界裝置的配置對接,當然也要編排層協調分配一定的網路配置引數給到兩個域的不同控制器。

3. SDN控制器高可靠部署架構

SDN控制器作為整個網路的大腦,高可靠部署非常重要。在單一的控制器內部,要透過叢集或主備方式實現服務級高可靠保護,服務模組單節點故障時,SDN控制器功能不受影響。

同時要實現SDN控制器的異地災備部署,在兩個不同的物理位置分別部署主、備控制器,主備控制器間資料進行實時同步。主備控制器可以快速切換,主備切換時,原有業務不中斷。

廣域網SDN架構廣域網SDN架構

4. 總結

升級SDN架構,是網路智慧化演進的基礎,是廣域網網路升級的必然途徑和必選項。但受限於廣域網多廠家混合組網的現狀,廣域網SDN架構升級是一個逐步升級和功能完善的過程,網路運營者可以根據各自實際的網路和業務情況去逐步推進SDN架構的部署與功能演進。

原文來自: 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2710630/,如需轉載,請註明出處,否則將追究法律責任。

相關文章