[黃曉瑩 阮科 陳迅]
隨著互聯網應用的不斷豐富,各類應用對時延及丟包的要求也越來越高。在線教育、游戲、無人駕駛、在線醫(yī)療等都對網絡時延有嚴格的要求。疫情的爆發(fā)更是讓互聯網的重要性再次提升到新高度,互聯網成為越來越不可或缺的基礎設施。IP 協(xié)議靈活、自洽的特質使其成為數據業(yè)務的良好載體,隨著實時業(yè)務的爆發(fā),這些特質逐漸成為IP 網絡性能提升的枷鎖。為了解決IP 網絡的QoS 問題,曾經出現一系列Overlay 技術,其中BGP MPLS VPN是應用比較廣泛的一種解決方案,但其部署仍然存在一定的復雜性,主要體現在需要額外的信令協(xié)議及流量工程、擴展性差、不支持異構網絡等。SR 的出現解決了上述問題,通過直接對IGP 協(xié)議進行擴展來取代LDP 協(xié)議,去掉RSVP 協(xié)議,推進網絡集中式演進。但SR 仍然基于MPLS 實現,自然攜帶了MPLS 的一些局限性。隨著IPv6技術的不斷成熟,SRv6 應運而生,成為新一代網絡智能化的重要推手,被譽為下一代IP 網絡的核心協(xié)議。當前,SRv6 已逐步在運營商網絡中部署,但仍然是一事一議的方式,并沒有通盤考慮整個網絡技術布局的演進。本文從SRv6 的特點切入,描述典型應用場景,同時結合IP 骨干網的特點對網絡演進給出建議。
隨著SDN 熱潮的興起,源路由技術逐漸進入視野,SR-MPLS 率先開啟了源路由技術發(fā)展的篇章。但SRMPLS 仍然與MPLS 捆綁,而SRv6 則回歸IP 本質,提出一種更革命化的思路。如圖1 所示,SRv6 利用IPv6 協(xié)議的擴展頭機制,在IPv6 協(xié)議中增加SRH 頭,實現路徑可編程。利用IPv6 地址標識Segment,極大增加了SRv6 的可達性,以及易部署性。網絡中間節(jié)點只要支持IPv6,就可以轉發(fā)SRv6 數據包。
圖1 SRv6 頭格式
SRv6 采用IPv6 地址標識Segment,標簽空間大,為引入可編程能力創(chuàng)建了有利條件。SRv6 Segment 劃分成Locator 和Function 兩部分。Locator 在高位,用于標識路由。Locator 的大小與網絡規(guī)模、以及后續(xù)業(yè)務規(guī)劃相關,骨干網、城域網、IDC 最好使用統(tǒng)一的規(guī)劃原則,以方便后續(xù)業(yè)務發(fā)展銜接。Function 在低位,用于標識具體操作,包括常見的END、END.X 等。Function 還包含一個可選參數Arguments,作為Function 的補充,用于定義流相關或服務信息。
SRv6 路徑可編程通過SRv6 Policy 實現,SRv6 Policy表示為自定義路徑的Segment 列表,包括主用1 個主用Path 和至少1 個候選Path,主備用path 中間節(jié)點不相交。所有支持SRv6 的設備都可以發(fā)起SRv6 Policy。在大型網絡中,這個角色通常由控制器充當。由于SRv6 Policy 信息包含在數據包中,中間節(jié)點無需維護狀態(tài)信息,網絡規(guī)模不再成為瓶頸。引流到SRv6 Policy 通過Color 屬性實現。Color 與業(yè)務掛鉤,代表SRv6 Policy 的隧道特性,例如低時延、大帶寬等。路由器收到數據包后,基于目的地址的BGP 擴展團體屬性所代表的Color,將其迭代到相應的SRv6 TE Policy,即可完成自動引流。
SR 基于MPLS 實現,同樣繼承了MPLS 的局限性:MPLS 部署在IP 層之上,屬于2.5 層技術,借鑒了ATM交換的理念,與IP 分屬不同的技術形態(tài);不支持異構組網,在多網絡域狀態(tài)下,每一個網絡域都必須支持MPLS,否則會出現數據斷流;依賴協(xié)議多,(LDP、RSVP 等),跨域互通復雜,不利于業(yè)務大規(guī)模部署;MPLS 標簽空間有限,隨著網絡空間的不斷擴大,很難滿足未來業(yè)務的發(fā)展需求;隨著業(yè)務的不斷發(fā)展,集中式管理的趨勢越發(fā)明顯,MPLS 分布式的控制面難以應付未來業(yè)務不斷增長的新需求。SRv6 消除了額外的標簽協(xié)議,進一步簡化了網絡協(xié)議棧;標簽空間大;易于部署,只要支持IPv6 和SRv6 即可;天然支持SDN,更有利于集中式業(yè)務的部署。
相對于MPLS,SRv6 確實在與IP 的融合、網絡擴展性等方面有很大的改進,但在實際應用中還存在著一些問題。
(1)SRv6 通過標簽堆棧實現路徑自定義,每個標簽為1 個IPv6 地址,長128 bit,包頭過長導致實際負荷率低。包頭過長還帶來棧深問題,尤其在大型網絡中,跳數過多可能引起棧深超限,對設備的硬件能力提出了較高的要求。針對傳輸效率低下問題,業(yè)界提出了頭壓縮方案,目前還在推進標準化。
(2)SRv6 標準化進程較慢。除了技術框架(RFC 8402)、SR 封裝格式(RFC 8754)、網絡編程(RFC 8986)已經標準化,其他領域如安全可控、頭壓縮、OAM 等仍然處于草案討論階段,也進一步影響了SRv6的規(guī)模部署。
SRv6 應用場景廣泛,只要涉及集中控制、路徑定義等智能場景都可以應用SRv6 解決。當前SRv6 的應用主要集中在整體解決方案比較成熟的基礎場景,如業(yè)務隔離、低時延、大帶寬等。
SRv6 是指定路由技術,跟IGP 協(xié)議的自動路由不同。頭節(jié)點及中間節(jié)點按需改寫目的地址,使數據包的傳送達到隧道封裝效果。因此,SRv6 也可以看作是一種隧道技術,天然具備承載隔離型業(yè)務的能力。隔離類業(yè)務的典型應用場景是DDoS 回注。DDOS 回注分為3 個步驟:流量牽引、流量清洗及流量回注。當前,DDoS 流量清洗通常采用發(fā)布32 位明細路由的方式,利用最長匹配原則將流量吸引到清洗服務器。由于流量牽引時網絡中已發(fā)布被攻擊客戶的32 位明細路由,因此清洗后的流量不能直接回注到公網,這樣會引起路由環(huán)路。通常做法是,清洗后的流量通過異網回注到源地址,即傳輸路徑需繞開原網絡。實現方案如圖2 所示。
圖2 DDoS 流量回注部署方案現狀
異網回注方式安全、有效,但在實際運營過程中仍存在以下問題。
(1)需要額外通道完成回注,對網絡架構要求高,清洗服務器以及客戶都需要有相同的外網連接,增加了異網以及客戶的網絡負擔。
(2)隨著DDoS 業(yè)務規(guī)模的不斷攀升,有可能對回注網絡的流量或承載質量造成沖擊。據記錄,單次DDoS流量攻擊規(guī)模可高達百G 甚至T 級別。這種情況下,回注網絡也需要隨業(yè)務發(fā)展擴容,要求不同網絡規(guī)劃團隊加強溝通,對跨團隊協(xié)作的要求更高。
(3)通過簡單方式判斷各節(jié)點清洗服務器忙閑狀態(tài),沒有全程全網建立調度機制,不利于資源的有效利用。
(4)回注流量無法保證時延,對高等級客戶的業(yè)務體驗有一定影響。
SRv6 提供了通過自網通道實現流量回注的方式,回注流量被封裝在SRv6 隧道,與清洗流量隔離。由于清洗中心設備一般不支持SRv6,因此初期SRv6 隧道起點和終點都在骨干網,配置流量回注專用L3VPN,Overlay 承載在SRv6 隧道上。具體實施方案如下,如圖3 所示。
圖3 基于骨干網SRv6 隧道的DDoS 流量回注方案
(1)創(chuàng)建L3VPN,包含所有PE,配置連接清洗中心的子接口;將目標地址公網路由引入VPN。
(2)創(chuàng)建連接清洗服務器的骨干網ASBR 到目的IDC 所連ASBR 單向隧道。
(3)將目標路由染色并發(fā)布到網內,引導流量在清洗后進入SRv6 隧道。
(4)注意不能配置出口為公網的逃生通道,因為公網中存在32 位明細路由,流量會被重新吸到清洗設備。
(5)也可以將清洗流量引入SRv6 隧道,回注流量走公網返回源地址。
SRv6 引入了業(yè)務的概念,網絡進一步延伸到業(yè)務邊緣,推動業(yè)務邊緣主導隧道的建立及引流。隨著SRv6 的逐步推廣,以及清洗服務器能力的提升,隧道起點將從骨干網轉移到清洗設備,隧道終點為IDC 出口設備,這樣業(yè)務邏輯更清晰,流程也更暢順,如圖4 所示。
圖4 基于跨域SRv6 隧道的DDoS 流量回注方案
互聯網的便利性和低成本,使得網上承載的業(yè)務類型越來越多。很多時延敏感業(yè)務也逐漸移植到互聯網承載,包括線上會議、在線教育、遠程醫(yī)療等。以在線教育為例,2020 年初疫情爆發(fā)后在線教育用戶數激增,如圖5 所示。隨著疫情的反復,在線教育的熱潮還會持續(xù)一段時間。
圖5 2020 疫情初次爆發(fā)后在線教育用戶比例暴漲
網絡時延跟多種因素相關,包括傳輸距離、擁塞程度、設備性能等。正常情況下,設備的處理時延在μs 級,傳輸距離是最主要的影響因素,尤其在長距離傳輸場景。大型IP 網絡在規(guī)劃設計時,為提升網絡可靠性,一般同局向多個設備對鏈路分別承載在不同的傳輸路由上,以提高可靠性,如圖6 所示。由于傳輸資源的限制,以及風險分擔的布局要求,第二路由通常有一定程度的繞轉,尤其對西部、邊遠地區(qū)等地理環(huán)境惡劣、光纜資源緊缺地區(qū)來說,情況更為嚴重。
圖6 多傳輸路由組網示意圖
因此,借助SRv6 的路徑定制能力,將關鍵業(yè)務指定到短路徑承載,可極大減少傳輸時延,如圖7 所示。
圖7 SRv6 低時延場景示意圖
(1)設備納管:控制器分別納管城域網/IDC 2 臺CR 以及骨干網4 臺C 設備,完成拓撲收集。
(2)上報信息:各設備上報鏈路時延信息給控制器。
(3)骨干網隧道創(chuàng)建:構建起點短路徑所在兩臺C設備間的雙向隧道,配置相應Color 標識該隧道為低時延專用通道。獲取BSID 信息。
(4)創(chuàng)建端到端SRv6 Policy 隧道:分別壓入CR-C1間的peer link SID、骨干段BSID、C2-IDC 之間的peer link SID。
(5)業(yè)務引流:在城域/IDC CR 通過BGP FlowSpec引流入SRv6 Policy 隧道,實現低時延承載。
(6)可靠性部署:使能TI-LFA。
Native IP 網絡無法保證服務質量,因此長久以來流量工程都是熱門話題。無論是運營商還是OTT,都在此領域做過有益探索。比較有代表性的包括MPLS/RSVPTE 以及SDN/OpenFlow。RSVP 是資源預留協(xié)議,需要逐跳做資源預留,配置復雜,需要維護狀態(tài),還存在不支持ECMP、跨域部署困難等問題,商用案例不多。SDN 流量工程的典型案例是Google B4,借助SDN/OpenFlow 將廣域網利用率提升到了90%以上。Google 的成功有兩個重要因素:B4 是DCI 網絡,不直接面向客戶,可以容忍偶爾的擁塞和丟包,成本反而是第一考慮要素;強大的開發(fā)和運維團隊,通過屏蔽底層網絡細節(jié)打造強大的控制面,有更多的可操作空間。這些經驗對運營商來說很難借鑒。相對地,SRv6-TE 跟IP 緊密貼合,路徑信息封裝在數據包中,網絡中間節(jié)點無需維護狀態(tài)信息,更適應在大型廣域網中部署。
目前,運營商間有多個直聯點,直聯點間通過EBGP互通。運營商之間協(xié)商路由發(fā)布策略,通常分區(qū)域疏導本地流量,保證時延最優(yōu)。在Native IP 場景下,若某個出口出現擁塞,流量無法自由切換,不能保證服務質量。針對高價值客戶的關鍵流量,通過建立集中式流量監(jiān)控系統(tǒng),利用SRv6 建立低利用率直達通道,引導流量走專用通道疏導,可以極大提升關鍵客戶的業(yè)務體驗,如圖8 所示。
圖8 SRv6 流量調度場景示意圖
針對當前運營商管道化困境,以Segment Routing 的部署為契機,逐步構造新的IP 網絡技術體系,推動網絡向敏捷開放轉型。
(1)智能路由:智能路由是可編程網絡的核心,進一步推動網絡融合承載,節(jié)省投資,是未來網絡演進的趨勢。以Segment Routing 的部署為契機,推動網絡由自洽的分布式控制轉向集中控制、智能路由演進。
(2)智慧運營:SRv6 的引入最終是為了提升關鍵客戶訪問關鍵業(yè)務的體驗,因此自動化部署成為必備條件,網管必須具備快速將客戶需求轉化為網絡策略的能力。
(3)安全可控:SRv6 的部署要求權力上送,因此網絡的安全可控非常重要,主要從幾個方面考慮:一是控制器的安全性,需配置至少兩套控制器互為冗余;二是SRv6 Policy 的冗余性,一般SRv6 Policy 都會具備多個備選path;三是從網絡架構層面提升冗余性,同一個目的IP可以部署關聯多個尾節(jié)點的SRv6 Policy,防止單節(jié)點故障。
打造具備SRv6 運營能力的IP 骨干網,需配置相關輔助協(xié)議,用于拓撲及性能上報,以及在集中控制環(huán)境下提升網絡安全可靠性。
(1)BGP-LS
傳統(tǒng)網絡使用IGP 協(xié)議收集網絡拓撲,IGP 的特點是自愈、收斂快,適合分布式控制以及對業(yè)務沒有太多要求的場景。在需要集中決策的場景下,用IGP 收集拓撲的方式存在較大局限性:①控制器必須支持IGP 協(xié)議,而IGP協(xié)議更新比較頻繁,對控制器性能要求也較高;② 無法獲得跨域信息;③多種IGP 協(xié)議分別上送拓撲,控制器處理負擔大。BGP-LS 是BGP 協(xié)議新擴展的一種NLRI,用于傳遞IGP 鏈路狀態(tài)并上報給控制器。控制器匯總所有上報信息,集中計算端到端路徑。網絡中可以指定1~2 臺設備負責信息上報。BGP-LS 將網絡狀態(tài)分成3 類上報給控制器:分別是節(jié)點Node、鏈路Link 以及前綴Prefix。
(2)Netconf
網絡發(fā)展初期,CLI 由于簡單及可讀性強等優(yōu)點,成為網絡管理工具的首選。隨著業(yè)務多樣性不斷涌現,網絡規(guī)模不斷擴展,CLI 的局限性逐漸凸顯:①缺乏標準化,廠商通過私有方式實現,網管需單獨適配② 缺乏事務性機制,回滾困難,操作存在安全隱患;③缺乏數據建模思維,新業(yè)務配置復雜。Netconf 由IETF 在2006 年提出,最初只定義了基本框架,沒有配套的建模語言,一開始并沒有得到推廣應用。2010 年IETF 發(fā)布了YANG Model 建模語言,通過抽象網絡功能邏輯屏蔽底層差異,這是網絡可編程的重要特征之一。Netconf/ YANG 搭配使用極大提升了網絡管理的效率及安全性,進一步推動了Netconf 的應用部署。
(3)Telemetry
隨著網絡規(guī)模以及網絡監(jiān)控復雜度的不斷擴大,傳統(tǒng)的運維模式已無法滿足多維度、高頻率、高精度的信息采集和處理需求?;赟Rv6 的集中式業(yè)務部署,要求控制器實時掌控網絡性能,快速精確定位故障。與SNMP 的查詢模式不同,Telemetry 采用訂閱模式,即設備主動上報信息,上層控制器可以及時了解網絡性能,實現TE 路徑的快速切換。Telemetry 多用于智能運維場景,包括微突發(fā)檢測、性能監(jiān)控等。
(4)TE-FRR
IGP 收斂時間跟網絡規(guī)模有關,一般可以達到數百毫秒,難以滿足關鍵業(yè)務的時延要求。IP FRR 的基本思路是提前生成繞開故障點的備用路徑,實現故障時毫秒級切換到備用路徑。SRv6 通過TI-LFA(Topology-Independent Loop-free Alternate,拓撲無關的無環(huán)備份路徑)FRR技術,實現網絡鏈路和節(jié)點保護,提升關鍵業(yè)務的承載能力。
基于SRv6 的網絡架構包括3 個層次。
(1)編排器:負責整體業(yè)務編排,與SDN 控制器通過北向接口交互,賦予頂層業(yè)務調用底層資源的能力。編排器具有全局資源視圖,尤在跨域場景中,編排器起到匯總多個控制器資源信息的紐帶作用,保證SRv6 路徑端到端最優(yōu)。
(2)控制器:相當于網絡的大腦,負責管理底層轉發(fā)設備,具有收集拓撲、計算路由、監(jiān)控流量和時延等功能。同時控制器還與上層編排器互通,負責將業(yè)務需求轉換成SRv6 Policy 并下發(fā)給轉發(fā)器??刂破鲬С諦GPLS、PCEP、Netconf 等基礎協(xié)議,支持低時延、大帶寬、自定義等多維度的路徑計算;能快速感知網絡變動,及時響應;與業(yè)務系統(tǒng)聯動,快速解讀業(yè)務需求;與網管系統(tǒng)聯動,提供可視化界面。
(3)轉發(fā)器:網絡策略的執(zhí)行單元。轉發(fā)器負責上報拓撲信息、接收控制器下發(fā)的SRv6 Policy 并執(zhí)行路徑建立,同時需要向控制器匯報SRv6 Policy 狀態(tài)。
(1)業(yè)務管理
在Native IP 網絡中,邊緣業(yè)務節(jié)點(MAN、IDC)通過EBGP 上聯本省骨干網節(jié)點,在路徑選擇上不存在話語權,所有流量默認上送骨干網,骨干網負責具體路徑計算。在SRv6 路徑定制場景中,為了保證端到端路徑最優(yōu),隧道通常需要在網絡邊緣發(fā)起。即邊緣業(yè)務節(jié)點需要清楚骨干網內部拓撲、鏈路性能等信息。在這種情況下,需引入控制器收集全局信息,保證端到端路徑最優(yōu)??刂破骺梢詥渭壊渴?,即一個控制器控制多域網絡,也可以分域部署,域間通過東西向協(xié)議交互。當前東西向協(xié)議進展較慢,缺乏標準化,異構廠家之間互通難,一定程度上阻礙了大規(guī)模的業(yè)務部署。
(2)隧道建立
隧道按管理主體來劃分,有兩種創(chuàng)建模式。
(1)隧道起點和終點在骨干網:如圖9 所示,MAN/IDC 通過靜態(tài)路由引流到指定的骨干網邊緣設備。這種方案的優(yōu)點是邊緣節(jié)點不需要支持SRv6,缺點是:①隧道非端到端創(chuàng)建,可能導致次優(yōu)路由;② 業(yè)務節(jié)點沒有參與隧道創(chuàng)建,需手工指定下一跳,人工介入多,故障應對不夠靈活;③骨干網需參與隧道創(chuàng)建、業(yè)務引流等,與業(yè)務緊耦合,不利于新業(yè)務快速上線。
圖9 隧道在骨干網的構建場景
(2)隧道起點和終點在業(yè)務節(jié)點:如圖10 所示,骨干網內兩兩設備間建立隧道,獲取BSID 信息;控制器創(chuàng)建城域網到城域網的端到端隧道,分別壓入CR-C1 間的peer link SID、骨干段BSID、C2/C3-IDC 之間的peer link SID,并將最優(yōu)路徑以及引流策略發(fā)給業(yè)務節(jié)點。這種方案的優(yōu)點是隧道端到端建立,保證最優(yōu)路徑,自動化程度高;缺點是業(yè)務節(jié)點需要支持SRv6,對某些小節(jié)點來說由于設備更迭慢,需引入新平臺以支持SRv6。
圖10 BSID 跨域隧道
隨著差異化承載需求的不斷擴大,網絡切片的概念也逐漸深入到網絡規(guī)劃設計領域。網絡切片的核心是通過提升運維管理水平換取底層資源最大程度的復用,從而更經濟地提供差異化服務。從架構上,網絡切片可以分為3 個層次:是管理層、控制層、轉發(fā)層。管理層用于提供網絡切片生命周期管理,對接上層業(yè)務需求;控制層用于針對業(yè)務邏輯生成不同的切片實例、分配資源標識、提供切片性能管理等;轉發(fā)層即切片的執(zhí)行主體,用于接收切片策略,并根據策略劃分轉發(fā)資源。
Flex-Algo 是一種新的網絡切片手段,通過定義不同的算法約束路徑范圍,控制流量走不同的網絡平面。用戶可定義的算法范圍從Alex-Algo(128)到Flex-Algo(255),最多可以有128 個,每一個算法Flex-Algo(k)都只在本地范圍生效。Flex-Algo 引入了FAD 的概念(Flexible Algorithm Definition,靈活算法定義),用于定義具體的算法規(guī)則。一個算法規(guī)則通常用三元組表示,分別為Metric Type(代價類型),Calc-Type(計算類型)和Constraints(約束條件)Metric-Type目前定義了三大類,分別為IGP Cost 值、時延以及TE 度量;Calc-Type 有兩種,一種是IGP 的SPF 算法,一種是自定義的最短路徑算法;Constraints 一般用于定義計算時包含/不包含哪些拓撲。
Flex-Algo 引入虛擬平面的概念,最大化復用寶貴的IP 端口資源。實際部署時,可以基于業(yè)務類型,將骨干網分成多個運行不同Flex-Algo 算法的平面。初期可以分成幾個基礎平面:基礎平面、低時延平面、隔離平面,后期再逐步根據業(yè)務類型進行新平面疊加。基礎平面用于承載互聯網業(yè)務,由于無具體的QoS 要求,Metric、Calc以及Constraint 都可以設置為默認值。低時延平面用于承載對時延有要求的業(yè)務,以時延作為Metric-Type,Calc-Type 定義為時延最短路徑算法,Constraint 可以結合SDN控制器的監(jiān)控數據動態(tài)調整,將利用率較高節(jié)點或傳輸路由較長的鏈路剔除;隔離平面用于承載需要隔離通道的業(yè)務,如DDoS 回注,Metric-Type 和Cal-Type 設為默認值,重點在于Constraint 的設置,必須強制回注流量跑在SRv6 隧道中,否則流量還是會被吸到公網從而形成死循環(huán)。由于各切片平面的Metric type 對流量有聚合作用,為避免引起平面性能劣化,控制器需動態(tài)監(jiān)控各平面狀態(tài),及時更新調度策略,例如Metric type 的更新設置,以及Constraint 范圍的更新等。
由于SRv6 的Native IP 特性以及出眾的可編程能力,產業(yè)鏈成熟度較高,以SRv6 為核心構建差異化的多業(yè)務承載網,推動網絡可編程能力的提升,已經成為業(yè)界共識。基于SRv6 重構差異化平面,需要從上而下進行控制面、業(yè)務編排、隧道搭建等多個方面的改造,循序漸進。本著業(yè)務端到端的原則,隧道應由邊緣業(yè)務節(jié)點發(fā)起,骨干網開放BSID 給端節(jié)點,避免深度參與,擾亂業(yè)務邏輯。在應用部署層面,初期先嘗試基礎場景,包括低時延、流量調度等,后期在積累了足夠的運營經驗后逐步擴大到組網層面的改造,通過Flex-Algo 方式構建多平面承載網,逐步推動網絡朝智能、敏捷、開放演進。