前言
隨著網路技術的發展和雲計算業務的快速普及,當前各行各業的客戶都有迫切上雲的需求,越來越多的關鍵業務,如:web前端、影片會議、辦公應用、資料儲存等開始部署在雲端;新的網路架構設計特別是骨幹網,必然要適應雲計算和網際網路應用的發展,而傳統的MPLS骨幹網不能適應這種變化,面臨如下諸多挑戰:
1、如何實現使用者雲下與雲上、雲上VPC之間、雲下不同物理位置之間業務的靈活開通;
2、如何利用本地專線和最後一公里網際網路線路構建混合組網能力;
3、如何確保關鍵業務的優先順序和服務質量;
4、如何簡化開通流程、快速部署和統一策略管理;
5、如何提升專線頻寬利用率和流量視覺化;
6、如何實現新一代骨幹網智慧、可靠、可排程。
本文將結合UCloud基礎網路團隊新一代骨幹網的架構演進過程,介紹Segment Routing技術在UCloud骨幹網的落地細節,並詳細闡述當前骨幹網如何透過SR-TE技術實現智慧、可靠、可排程的新一代骨幹網架構。
DCN網路快速迭代
UCloud資料中心基礎架構網路(以下簡稱DCN)在最近這幾年經歷了野蠻式的快速發展階段,從北上廣三地的數個可用區發展到全球25個地域31個可用區;業務雲化和分散式資料中心的建設,推動了都會網路(以下簡稱MAN)和骨幹網規劃建設,如下圖所示:
DCN網路迭代過程如下:
1、同城單可用區升級至同城多可用區;
2、單Region多可用區升級至多Region多可用區。
DCN網路快速迭代帶來的網路挑戰:
1、MAN網路高頻寬與可靠性要求:同城分散式DCN網路建設帶來的問題是:客戶業務扁平化部署,導致同城跨可用區有大量的東西向業務互訪流量,對MAN網路的頻寬和可靠性有嚴格的要求。
2、骨幹網架構升級與流量工程要求:隨著UCloud全球節點DCN網路的建設部署,跨地域客戶開始有業務互訪和跨域流量最佳化需求,對骨幹網規劃和流量工程提出了新的要求。
全球專線資源佈局
當前UCloud全球CDN節點有500+,25個地域,31個可用區;透過運營商專線打通全球25個地域,如下圖所示:
1、全球機房專線接入骨幹網
骨幹網依託UCloud全球DCN網路以及專線資源,可為使用者提供全球範圍的就近接入,實現端到端網路穩定,解決跨域業務互訪丟包和高延遲問題。
2、全球節點靈活組網
為使用者提供基於本地專線和最後一公里網際網路接入,實現使用者的混合組網能力。
3、提供穩定、可靠的基礎架構
點到點專線資源提供物理層的帶環保護,一方面透過SR-TE技術實現流級別排程和快速容災備份能力;另一方面基礎網路提供一張1:1基於Internet級的備份骨幹網,保證整個骨幹網達到99.99%可用率。
UCloud骨幹網架構演進歷史
012018年之前骨幹網架構
UCloud基礎網路團隊在2016年下半年開始規劃第一代骨幹網(以下簡稱骨幹網1.0),2017年底完成了骨幹網1.0設計規劃,骨幹網1.0架構規劃專線資源接入到各Region的MAN網路核心裝置(以下簡稱M-Core),各Region的M-Core之間透過供應商二層專線進行全球組網;M-Core之間執行ISIS協議,打通全球骨幹網ISIS域,每個地域雙M-Core或者四M-Core和控制面RR建立IBGP鄰居關係,M-Core透過IBGP協議將本地域DCN網路路由資訊通告至RR,RR反射給全球所有M-Core節點;資料轉發面透過IBGP路由進行迭代,最終透過ISIS轉發至目標DCN網路。為最佳化骨幹網流量轉發,在關鍵裝置上開啟如下功能:
1、為實現骨幹網等價路由(以下簡稱ECMP),必須在M-Core和RR上開啟BGP ADD-PATH屬性;
骨幹網1.0設計目標:
1、實現Region級別DCN網路互通,提供雲業務跨地域容災能力;
2、支援雲上使用者透過UCloud高速通道產品UDPN打通跨域VPC資源。
骨幹網1.0新挑戰:
1、MAN網路與骨幹網高度耦合,專線開通配置複雜,增加運維難度;
2、不支援客戶不同物理位置之間資源互通;雲下資源到雲上VPC之間資源開通複雜、週期冗長;
3、不支援跨地域級別的流量智慧排程。
022020年之前骨幹網架構
針對骨幹網1.0所面臨的一些問題,2018年UCloud基礎網路團隊設計規劃了第二代骨幹網(下簡稱骨幹網2.0)。在骨幹網2.0中,我們新增了租戶隔離的特性,而要在骨幹網上實現大規模的租戶隔離,MPLS-VPN技術最合適不過,但由於考慮到整體的部署成本以及部署難度,我們最終放棄了這個方案,借鑑了DCN網路的租戶隔離思路,採用VXLAN二層閘道器方案來實現;
骨幹網2.0整體架構分為兩層,Underlay和Overlay;Underlay使用VXLAN+BGP EVPN實現網路大二層,在Overlay上實現骨幹網1.0的架構需求;具體實現如下:
Underlay層規劃
1、Underlay層主要由兩種裝置組成:TBR和TER。TBR用於運營商二層專線資源接入,主要用於資料轉發,TER用於封裝VXLAN報文,即VTEP裝置。全球節點的TBR和TER裝置透過VXLAN+ BGP EVPN技術組建一張全球二層網路,這張二層網路提供全球任意跨域節點之間二層業務開通。
3、使用者線下IDC業務互訪,以及線下IDC到雲上業務之間透過VXLAN開通二層業務。
Overlay層規劃
跨域M-Core直連透過VXLAN開通,M-Core之間執行ISIS協議,打通全球骨幹網ISIS域,每個地域雙M-Core或者四M-Core和控制面RR建立IBGP鄰居關係,M-Core透過IBGP協議將本地域DCN網路路由通告至RR,RR反射給全球所有M-Core節點,資料轉發面透過IBGP路由進行迭代,最終透過ISIS轉發至目標DCN網路。
骨幹網2.0設計目標:
1、實現MAN網路和骨幹網嚴格分層,提升運維效率;
2、透過VXLAN+BGP EVPN構建業務接入網,實現業務靈活就近上骨幹;
3、實現客戶雲下不同物理位置、雲下到雲上之間資源快速開通。
骨幹網2.0新挑戰:
1、不支援骨幹網流量智慧排程;
2、本地接入只支援專線接入,組網方式不夠靈活,增加網路運營成本;
3、VXLAN包頭開銷過大,網路傳輸效率低下,專線結算成本上升;
4、不支援L3VPN客戶接入場景。
為了解決骨幹網2.0當前的問題,UCloud基礎網路團隊在2019年下半年開始,對新一代骨幹網架構進行重新設計、硬體選型,在新一代骨幹網架構設計中採用了當前比較流行的源路由即Segment Routing技術(以下簡稱SR),在介紹新一代骨幹網架構之前先給大家簡單介紹一下SR技術的基本概念。
Segment Routing基本概念
01Segment Routing
由於源節點(頭端節點)透過在資料包報文頭中新增適當的指令(Segment-list)即可實現基於目標地址的引流(甚至可以基於單條流粒度的引流),且除了頭端節點之外,其它節點都不需要儲存和維護任何流狀態資訊,因此引流的決定權都在頭端節點。透過這種方式SR可以在IP和MPLS網路中提供高階的流量引導能力。
02常用標籤型別
Prefix-SID
Prefix-SID是由ISIS或者OSPF通告的全域性Segment,此Segment與IGP的字首相關;Prefix-SID代表一個路由指令,含義是:引導流量沿著支援ECMP的最短路徑去往該Segment相關聯的字首。Prefix-SID具有如下特性:
-全域性Segment,SR域中的所有節點都知道如何處理Prefix-SID。
-支援多跳,單個Segment跨越路徑中的多跳,這樣就減少了路徑所需要的Segment數量,並允許跨多跳的等價路徑。
-支援ECMP,可以原生利用IGP的等價路徑。
-Prefix-SID一般是透過手工分配,也可使用控制器分配。
Node-SID
Node-SID是一種特殊型別的IGP Prefix Segment,是Prefix Segment的子型別,通常是某個節點環回口的32位字首地址,這個地址一般是IGP的“路由器ID”;Node-SID指令是:引導流量沿著支援ECMP的最短路徑去往該Segment相關聯的字首。其和Prefix Segment的指令是一致的。
Adjacency-SID
Adjacency-SID是與單向鄰接或者單向鄰接集合相關聯的Segment,使用Adj-SID轉發的流量將被引導至指定鏈路,而不管最短路徑路由如何,一般情況下節點會通告它的本節點鏈路Segment(Adj-SID);Adjacency-SID指令是:“引導流量從與該Segment相關聯的鄰接鏈路轉發出去”。Adjacency-SID具有如下特性:
-本地Segment,SR域中的只有Adjacency-SID始發節點知道如何處理該Segment。
-支援顯式路徑,任何路徑都可以使用Adjacency-SID來表示。
實際部署中應儘量少用Adj-SID,因為其不支援ECMP,且會增加Segment-list長度,因此建議多使用Prefix-SID,即支援ECMP,又可以減少Segment-list長度。
Anycast-SID
SR域中多個節點上配置相同的單播字首,那麼該單播字首就是一個Anycast-SID,Anycast-SID也是Prefix-SID的一個子型別。Anycast集合的屬性是去往Anycast地址的流量被路由到Anycast集合中距離最近(IGP 最短距離)的那個成員,如果開銷相同,則流量會進行ECMP,如果Anycast的成員發生故障,則由Anycast集合的其它成員來處理去往Anycast-SID的流量;Anycast-SID指令是:引導流量沿著支援ECMP的最短路徑去往該Segment相關聯的字首。其和Prefix Segment的指令是一致的。
Anycast-SID具有如下特性:
-全域性Segment
-天生支援ECMP
-支援高可用性
-支援流量工程
注意:所有節點必須配置相同的SRGB,才可以通告相同的Anycast Prefix-SID。
03SR Policy特性
SR-Policy
為了解決傳統隧道介面體系存在的問題, SR Policy 完全拋棄了隧道介面的概念,SR Policy 透過Segment 列表來實現流量工程;Segment 列表對資料包在網路中的任意轉發路徑進行編碼。列表中的 Segment 可以是任何型別:IGP Segment 、 IGP Flex-Algo Segment(靈活演算法) 、BGP Segment 等。
從本質上講,SR Policy(SR-TE)是 Segment 列表,不是隧道介面。
SR Policy 由以下三元組標識:
頭端(Headend):SR Policy 生成/實現的地方。
顏色(Color):任意的 32 位數值,用於區分同一頭端和端點對之間的多條 SR Policy。
端點(Endpoint):SR Policy 的終結點,是一個 IPv4/IPv6 地址。
顏色是 SR Policy 的重要屬性,通常代表意圖,表示到達端點的特定方式(例如低延遲、低成本並排除特定屬性鏈路等),Color也是流量引流的重要參考屬性。
SR Policy生成的路徑一般有兩種:顯式路徑和動態路徑
1、顯式路徑
顯式路徑一般是透過CLI/Netconf方式人工規劃或者透過控制器方式下發的路徑資訊,主要包括資訊有 endpoint地址、Color、Segment-List等;顯式路徑的最大弊端是無法及時響應網路拓撲變化;為了能保證故障場景下SR Policy能夠快速收斂,可以透過驗證頭端的SR-TE資料來進行收斂。
建議Segment-List使用描述符(IP)形式編寫,頭端預設會驗證所有描述符;
一旦SR Policy候選路徑不具有有效的Segment列表(描述符驗證失敗),則此候選路徑變為無效;當SR Policy 所有候選路徑都是無效的,則此SR-Policy無效。
2、動態路徑
動態路徑是由頭端(路由器)或者PCEP根據頭端的請求自動計算SR Policy候選路徑:
動態路徑主要表示為最佳化目標和一組約束條件,這兩個因素指定了SR-TE的意圖。頭端可以透過本地的SR-TE資料庫算出路徑,提供一個Segment列表或者一組Segment列表。當頭端不具備足夠的拓撲資訊時(跨域環境),頭端可以將計算委託給控制器,由控制器自動算路。當網路發生改變時,動態路徑會自動進行重算以適應網路變化。
04SR Policy自動引流
著色:出口PE在向入口PE通告BGP業務路由時,或者入口PE接收路由時對路由進行著色(標記路由Color),Color用於表示路由所需要的SLA。計算+引流:域內場景下,頭端節點收到BGP路由後,透過頭端SR-TE資料庫自動算路完成引流;跨域場景下,頭端向控制器傳送有狀態的PCEP路徑計算請求,控制器計算去往遠端端點的SR-TE跨域路徑。轉發:資料包在頭端完成引流,使用頭端計算或者控制器下發的路徑進行標籤轉發。
將 BGP 路由安裝到 SR Policy 的動作稱為自動引流,其原理主要是透過對BGP業務路由進行著色,將流量自動引導至 SR Policy;SR Policy的自動引流不需要複雜和繁瑣的引流配置,而且流量引導對轉發效能沒有影響,流量控制粒度更為精細。
SR/SR-TE or LDP/RSVP-TE ?
總結
本篇分享了資料中心野蠻式增長給MAN網路和骨幹網帶來的極大挑戰,以及SR部分技術原理。在過去幾年裡,UCloud基礎網路團隊不斷演進骨幹網架構,從骨幹網1.0升級到骨幹網2.0架構,實現了使用者雲下資源之間、雲下到雲上資源的快速開通,但依然滿足不了當前網際網路客戶的業務快速發展需求,例如:不支援智慧流量排程、無法實現客戶L3VPN接入需求,不支援最後一公里Internet線路接入等。
下一篇將重點介紹UCloud如何結合Segment Routing技術實現智慧、可靠、可排程的新一代骨幹網,助力使用者分鐘級構建多地域全球網路以及同城多可用區互訪、多Region多可用區互聯,實現UCloud與使用者線上線下IDC無間隔互通,升化雲網協同。
本文作者:唐玉柱,UCloud 高階網路架構師、UCloud新一代骨幹網架構規劃專案負責人。擁有豐富的資料中心、骨幹網架構設計和運維經驗;目前主要負責UCloud全球資料中心、骨幹網架構裝置選型、架構設計和規劃。