段 宏,劉曉村,焦明濤(.中訊郵電咨詢設(shè)計院有限公司鄭州分公司,河南鄭州 450007;.中國聯(lián)通湖北分公司,湖北武漢 430048)
隨著中國工業(yè)和信息化部正式宣布向中國電信、中國移動、中國聯(lián)通、中國廣電發(fā)放5G商用牌照,中國正式進入5G時代。中國也成為繼韓國、美國、瑞士、英國后,第5個正式商用5G的國家。
1G、2G、3G 和4G 主要滿足于“人與人”之間的通信需求,5G 除滿足于“人與人”之間的通信需求外,還極大程度滿足于“人與物”“物與物”之間的通信需求。5G 的優(yōu)勢主要體現(xiàn)在eMBB、uRLLC、mMTC 三大應(yīng)用場景。這些應(yīng)用場景對5G 承載網(wǎng)絡(luò)大帶寬、低時延、高可靠性、海量連接、網(wǎng)絡(luò)切片等方面提出了更高的承載要求。因此,SR(Segment Routing)、FlexE(Flexible Ethernet)和EVPN(Ethernet Virtual Private Network)等5G 承載網(wǎng)絡(luò)新技術(shù)應(yīng)運而生并逐漸為業(yè)界所廣泛接受。本文主要對SR技術(shù)進行詳細(xì)的研究與分析。
在傳統(tǒng)MPLS 承載網(wǎng)絡(luò)中,通常采用OSPF/ISIS 作為IGP 協(xié)議,采用MP-BGP 傳遞VPN 信息,并使用LDP/RSVP-TE 分配標(biāo)簽,實現(xiàn)流量工程及帶寬控制管理。經(jīng)過長期應(yīng)用和實踐發(fā)現(xiàn),若要進一步提升網(wǎng)絡(luò)性能,需要解決以下問題。
a)協(xié)議過多。除IGP、BGP 外,還需運行LDP/RSVP-TE 協(xié)議,這很大程度上提升了協(xié)議之間交互的復(fù)雜度,給網(wǎng)絡(luò)部署和運維帶來很大問題。
b)網(wǎng)絡(luò)效率低。沿標(biāo)簽交換路徑,需逐跳解析、交換和傳遞標(biāo)簽。
c)RSVP-TE是一種“永遠(yuǎn)在用”的方案,其帶寬需要在每一跳進行預(yù)留,且每一跳的狀態(tài)均需要保持更新,占用大量網(wǎng)絡(luò)資源。同時,它對等價多路徑(ECMP——Equal Cost Multi Path)的支持較差。
d)無環(huán)路備份/遠(yuǎn)端無環(huán)路備份(LFA/RLFA)不能100%形成FRR 保護,備份/修復(fù)路徑不一定是收斂后的路徑。
為了解決上述問題,并結(jié)合5G等新技術(shù)對承載網(wǎng)絡(luò)的需求,逐步開始啟用SR技術(shù)。
SR 英文全稱為Segment Routing,直譯為“段”“路由”。SR 的概念和技術(shù)體系由美國Cisco 公司于2013年首次提出,其發(fā)明者和重要推動者是Cisco 院士Clarence Filsfils。
SR 技術(shù)被稱為“下一代MPLS”技術(shù),它采用一種全新的網(wǎng)絡(luò)理念,即應(yīng)用驅(qū)動網(wǎng)絡(luò)的架構(gòu)。在這個架構(gòu)下,網(wǎng)絡(luò)是計算平臺,Segment是指令,兩者有機配合將應(yīng)用需求自動、無縫地映射到網(wǎng)絡(luò)基礎(chǔ)設(shè)施之上,進而實現(xiàn)端到端的配置及調(diào)度。SR 的源路由和無狀態(tài)特性使其成為SDN/NFV 在IP 網(wǎng)絡(luò)下一步發(fā)展的關(guān)鍵技術(shù),已逐漸成為SDN 的主流網(wǎng)絡(luò)架構(gòu)標(biāo)準(zhǔn),它在控制顆粒度、運營復(fù)雜度中找到了一個新的平衡,結(jié)合了“集中控制的大局觀與分布智能的精細(xì)化”兩方面的優(yōu)勢,在現(xiàn)代大規(guī)模數(shù)據(jù)中心網(wǎng)絡(luò)、廣域骨干網(wǎng)絡(luò)和本地承載網(wǎng)絡(luò)的設(shè)計、控制和操作的演進過程中必將發(fā)揮重要作用。SR被譽為是繼MPLS之后最重要的創(chuàng)新之一。
SR 是基于源路由機制的一種技術(shù)架構(gòu),通過在源節(jié)點的數(shù)據(jù)包報頭中插入帶順序的Segment 列表,來指示接收到這些數(shù)據(jù)包的節(jié)點如何處理和轉(zhuǎn)發(fā)這些數(shù)據(jù)包,進而實現(xiàn)對路徑的控制。
SR 不需要LDP 和RSVP-TE 協(xié)議,僅需對IGP、BGP 協(xié)議簡單擴展,就可以實現(xiàn)TE、FRR、MPLS VPN等功能,大大簡化了網(wǎng)絡(luò)協(xié)議和部署,并且可以和現(xiàn)有MPLS 技術(shù)無縫互操作,支持由MPLS 網(wǎng)絡(luò)向SR 的平滑演進和升級。
Segment 中文直譯為“段”,在SR 技術(shù)中其本質(zhì)含義為“指令”,即節(jié)點針對所接收到的數(shù)據(jù)包要執(zhí)行的指令,指令的例子包括依據(jù)最短路徑轉(zhuǎn)發(fā)數(shù)據(jù)包到目的地、通過指定接口轉(zhuǎn)發(fā)數(shù)據(jù)包、將數(shù)據(jù)包發(fā)送到指定應(yīng)用/服務(wù)實例等。
Segment 可以劃分為全局Segment 和本地Segment。
2.1.1 全局Segment
全局Segment 是指SR 域中所有節(jié)點均支持與全局Segment 相關(guān)聯(lián)的指令,并且每個節(jié)點在其轉(zhuǎn)發(fā)表中均安裝全局Segment 的指令。常見的全局Segment分類如圖1所示,其Segment指令含義如表1所示。
以IGP Prefix Segment 為例,其轉(zhuǎn)發(fā)示意圖如圖2所示。節(jié)點1~4、11、12 對應(yīng)的前綴分別為1.1.1.1/32~1.1.1.4/32、1.1.1.11/32、1.1.1.12/32,其中前綴1.1.1.12/32對應(yīng)的Segment為16012。
若在源節(jié)點11 給Payload(凈荷)壓入Segment{16012},由于每條鏈路的Cost 值均相同,因此源節(jié)點11到目的節(jié)點12的最短等價路徑有2條,所以Payload將沿著圖中2條紅線所示路徑轉(zhuǎn)發(fā)至節(jié)點12。
圖1 常見的全局Segment分類示意圖
表1 常見的全局Segment的指令含義
圖2 IGP Prefix Segment轉(zhuǎn)發(fā)示意圖
2.1.2 本地Segment
本地Segment 是指只有生成本地Segment 的節(jié)點支持與該本地Segment 相關(guān)聯(lián)的指令,并且只有生成本地Segment 的節(jié)點在其轉(zhuǎn)發(fā)表中安裝相關(guān)聯(lián)的指令。常見的本地Segment 分類如圖3 所示,其Segment指令含義如表2所示。
以IGP Adjacency Segment 為例,其轉(zhuǎn)發(fā)示意圖如圖4 所示。節(jié)點1~4、11、12 及對應(yīng)的前綴配置同圖3。節(jié)點1 至節(jié)點3、節(jié)點11 的單方向Segment 分別為30103、30111;節(jié)點11 至節(jié)點3 的單方向Segment 分別為31103。
表2 常見的本地Segment的指令含義
由于每條鏈路的Cost 值均相同,由源節(jié)點1 到目的節(jié)點3的流量,一般情況下將沿節(jié)點1至節(jié)點3的最短直達(dá)路由轉(zhuǎn)發(fā)。若在源節(jié)點1 給Payload(凈荷)壓入Segment{30111,31103},則表示將Payload 沿著與該Segment 相關(guān)聯(lián)的鄰接鏈路(即30111,31103)轉(zhuǎn)發(fā),詳見圖4 中紅線所示路徑,以達(dá)到人工控制轉(zhuǎn)發(fā)路徑的目的。
Segment 是SR 的構(gòu)建模塊,這些構(gòu)建模塊可以被組合起來形成Segment 列表,生成一條轉(zhuǎn)發(fā)路徑。SR將代表轉(zhuǎn)發(fā)路徑的Segment 列表編碼在數(shù)據(jù)包頭部,隨數(shù)據(jù)包傳輸。接收節(jié)點收到數(shù)據(jù)包后,對Segment列表進行解析,如果Segment 列表頂部的Segment 與本節(jié)點不匹配,則使用ECMP 方式將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一節(jié)點;如果與本節(jié)點匹配,則彈出該標(biāo)識,然后進行下一步處理。如此往復(fù),最終引導(dǎo)數(shù)據(jù)在網(wǎng)絡(luò)中實現(xiàn)端到端的傳輸。通過SR功能,實現(xiàn)本地網(wǎng)中路由器A和廣域網(wǎng)中路由器B進行通信的示意如圖5所示。
圖3 常見的本地Segment分類示意圖
圖4 IGP Adjacency Segment轉(zhuǎn)發(fā)示意圖
圖5 典型的SR功能實現(xiàn)示意圖
2.2.1 期望的轉(zhuǎn)發(fā)路徑
a)源節(jié)點13 至本地網(wǎng)與廣域網(wǎng)之間的邊界節(jié)點5。
b)節(jié)點5至節(jié)點7。
c)節(jié)點7 沿著低時延、高Cost 值鏈路至目的節(jié)點8。
2.2.2 SR實現(xiàn)方法
a)在源節(jié)點13 給Payload(凈荷)壓入Segment 列表{16005,16007,30708}。
b)16005 與16007 的Segment 類型為IGP Prefix Segment(全局Segment);30708 的Segment 類型為IGP Adjacency Segment(本地Segment)。
2.2.3 實際轉(zhuǎn)發(fā)路徑及說明
a)16005 引導(dǎo)流量沿著“節(jié)點13→節(jié)點14→節(jié)點5”、“節(jié)點13→節(jié)點15→節(jié)點5”路徑(圖5 中紅色路徑),由節(jié)點13 轉(zhuǎn)發(fā)至節(jié)點5。這2 條路徑負(fù)載均衡且互為保護。
b)16007(圖5 中黃色路徑)轉(zhuǎn)發(fā)原理與16005 相同,不再贅述。
c)30708 引導(dǎo)流量沿著低時延、高Cost 值的路徑(圖5中紫色路徑)至節(jié)點8。
通常,Segment 列表只需由3 個或4 個Segment 組成,即可實現(xiàn)數(shù)據(jù)端到端的轉(zhuǎn)發(fā)。
5G 時代,承載網(wǎng)絡(luò)目前的主流技術(shù)仍然為MPLS。針對MPLS 控制平面,對現(xiàn)有IGP 協(xié)議、BGP 協(xié)議簡單擴展,增加SR信息,即可實現(xiàn)SR控制功能;針對MPLS數(shù)據(jù)平面,無需做任何改變就可以實現(xiàn)SR 轉(zhuǎn)發(fā)功能。因此,可以在MPLS 網(wǎng)絡(luò)中無縫部署SR。同時,SR 的源路由特性,使得SR 技術(shù)可以與SDN 技術(shù)緊密結(jié)合,從而更好地進行集中式控制,實現(xiàn)端到端的數(shù)據(jù)轉(zhuǎn)發(fā)。典型的5G承載網(wǎng)絡(luò)架構(gòu)如圖6所示。
圖6 典型的5G承載網(wǎng)絡(luò)架構(gòu)示意圖
對MPLS 控制平面的IGP、BGP 協(xié)議進行擴展,可實現(xiàn)SR的控制功能。
3.1.1 SR IGP控制平面
SR IGP控制平面,分為ISIS SR和OSPF SR 2類。
ISIS 是一個高度可擴展的協(xié)議,不使用固定格式通告,而是使用類型/長度/值(TLV)三元組來編碼其通告中的信息。通過定義新TLV 或擴展現(xiàn)有TLV,將IGP Prefix Segment 和IGP Adjacency Segment 等附加到各種前綴和鄰接通告TLV上,可以實現(xiàn)ISIS SR控制平面功能。
OSPF 通過引入不透明鏈路狀態(tài)通告(Opaque LSA)的方式對現(xiàn)有固定長度的鏈路狀態(tài)通告(LSA)協(xié)議進行擴展,并結(jié)合擴展前綴TLV和擴展鏈路TLV,來支持IGP Prefix Segment 和IGP Adjacency Segment 等功能,進而實現(xiàn)OSPF SR控制平面功能。
IGP Prefix Segment、IGP Adjacency Segment 等使用鏈路狀態(tài)IGP通告進行分發(fā)。
3.1.2 SR BGP控制平面
SR 通過對BGP 進行擴展來通告BGP Prefix Segment 等。BGP Prefix Segment 等屬性字段包含一個或多個TLV,目前已定義的TLV 有:標(biāo)簽索引(Label-Index)TLV、始發(fā)者(Originator)SRGB TLV、IPv6 SID TLV。支持SR 功能的節(jié)點,將前綴對應(yīng)的BGP Prefix Segment 等附加到BGP 的前綴通告中,進而實現(xiàn)基于BGP協(xié)議的SR BGP控制平面功能。
SR 數(shù)據(jù)包在其頭部攜帶Segment 列表,其基本操作主要有3 種:壓入(PUSH)、繼續(xù)(CONTINUE)、下一個(NEXT)。
SR 應(yīng)用于MPLS 架構(gòu)后,根據(jù)MPLS 架構(gòu)規(guī)范(RFC 3031)定義的MPLS 轉(zhuǎn)發(fā)操作,通過對數(shù)據(jù)包頭部的標(biāo)簽棧執(zhí)行3 個基本操作:壓入(PUSH)、交換(SWAP)、彈出(POP)來實現(xiàn)SR 數(shù)據(jù)平面的相關(guān)操作。具體的操作映射方式詳見表3。
表3 Segment列表操作映射到MPLS標(biāo)簽棧操作對照表
SR 技術(shù)主要包括SR-BE(Segment Routing-Best Effort)和SR-TE(Segment Routing-Traffic Engineering)2 種。SR-BE 是指IGP 使用最短路徑優(yōu)先算法(SPF)計算得到最優(yōu)SR LSP。SR-TE 是指基于TE 的約束屬性,利用SR協(xié)議創(chuàng)建的隧道。
3.3.1 SR-BE
SR-BE 通常基于IGP Prefix Segment,由IGP 使用最短路徑優(yōu)先算法計算得到最優(yōu)SR LSP,其創(chuàng)建和數(shù)據(jù)轉(zhuǎn)發(fā)過程可與LDP LSP 進行類比。典型的SR-BE原理示意圖(基于MPLS架構(gòu))如圖7所示。
SR-BE建立的主要步驟如下:
圖7 典型的SR-BE原理示意圖(基于MPLS架構(gòu))
a)網(wǎng)絡(luò)配置:對網(wǎng)絡(luò)中的節(jié)點配置SR 全局塊(SRGB——Segment Routing Global Block)和標(biāo)簽塊索引(Prefix SID),通過IGP報文泛洪擴散。通常情況下,各節(jié)點SRGB范圍均保持一致,以便統(tǒng)一規(guī)劃和管理。
b)標(biāo)簽分配:各節(jié)點解析接收到的IGP 報文,根據(jù)自己的SRGB 計算自己的標(biāo)簽值,計算公式為本節(jié)點的標(biāo)簽值=本節(jié)點的SRGB起始值+Prefix SID;同時,該節(jié)點根據(jù)下一跳節(jié)點發(fā)布的SRGB 計算本節(jié)點的出向標(biāo)簽值,公式為本節(jié)點的出向標(biāo)簽值=下一跳節(jié)點的SRGB起始值+Prefix SID。
c)路徑計算:各節(jié)點根據(jù)IGP 收集到的拓?fù)?,使用相同的最短路徑?yōu)先算法,計算標(biāo)簽轉(zhuǎn)發(fā)路徑,生成轉(zhuǎn)發(fā)表項,建立SR-BE LSP。
d)數(shù)據(jù)轉(zhuǎn)發(fā):沿著SR-BE LSP 的路徑,通過MPLS架構(gòu)的標(biāo)簽棧操作方式PUSH、SWAP、POP 實現(xiàn)SR 數(shù)據(jù)轉(zhuǎn)發(fā)功能。
需要說明的一點是:基于最短路徑優(yōu)先算法,如果存在2 條或多條等價標(biāo)簽轉(zhuǎn)發(fā)路徑,則這些路徑以負(fù)載分擔(dān)的方式轉(zhuǎn)發(fā)數(shù)據(jù),并且互為保護。
3.3.2 SR-TE
SR-TE 通常基于IGP Adjacency Segment,一般由控制器負(fù)責(zé)計算SR LSP,并將與路徑對應(yīng)的標(biāo)簽棧下發(fā)給數(shù)據(jù)平面進行轉(zhuǎn)發(fā)操作,其創(chuàng)建和數(shù)據(jù)轉(zhuǎn)發(fā)過程可與RSVP-TE LSP 進行類比。在SR-TE 隧道的入節(jié)點上,源節(jié)點設(shè)備根據(jù)標(biāo)簽??刂茢?shù)據(jù)在網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)路徑。典型的SR-TE 原理示意圖(基于MPLS 架構(gòu))如圖8所示。
SR-TE建立的主要步驟如下:
圖8 典型的SR-TE原理示意圖(基于MPLS架構(gòu))
a)基礎(chǔ)配置:網(wǎng)絡(luò)中的節(jié)點配置IGP SR,生成鏈路拓?fù)浜蜆?biāo)簽信息(配置過程與SR-BE 類似,此處不再贅述)。
b)信息上報:由BGP 鏈路狀態(tài)(BGP-LS——Border Gateway Protocol-Link State)將拓?fù)浜蜆?biāo)簽信息上報給控制器。
c)鏈路生成:由路徑計算單元通信協(xié)議(PCEP——Path Computation Element Communication Protocol)完成標(biāo)簽轉(zhuǎn)發(fā)路徑計算。
d)信息下發(fā):控制器通過NETCONF和PCEP分別將隧道配置和標(biāo)簽棧信息下發(fā)給節(jié)點。
e)隧道建立:節(jié)點根據(jù)隧道配置和標(biāo)簽棧信息建立SR-TE隧道,并將隧道的LSP狀態(tài)上報控制器。
需要說明的一點是:SR-TE 可分為嚴(yán)格約束和松散約束。若SR-TE 嚴(yán)格控制端到端的每一跳路徑(如圖8 所示),則稱之為嚴(yán)格約束;若SR-TE 只對部分路徑進行約束,則稱之為松散約束,此時未被約束的路徑默認(rèn)按照支持ECMP 的最短路徑優(yōu)先算法轉(zhuǎn)發(fā)數(shù)據(jù)。
3.3.3 SR保護技術(shù)
常見的SR 保護技術(shù)有Hot-Standby 保護、TE FRR保護、TI-LFA FRR保護等。
a)Hot-Standby保護(又稱為LSP 1∶1)。Hot-Standby是指創(chuàng)建主用LSP后隨即創(chuàng)建備用LSP,備用LSP始終處于熱備份狀態(tài)。當(dāng)源節(jié)點感知到主用LSP故障時,直接將流量切換到備用LSP,備用LSP提供整條LSP級別的保護。
Hot-Standby 保護一般應(yīng)用于SR-TE,是一種端到端的保護技術(shù)。
b)TE FRR 保護。流量工程快速重路由(TE FRR——Traffic Engineering Fast ReRoute)會預(yù)先建立繞過故障鏈路或者節(jié)點的備份路徑,使得隧道鏈路或節(jié)點故障時不依賴IGP 協(xié)議的重收斂(IGP 重收斂涉及CSPF 重新計算路徑、LSP 重新建立等過程,速度較慢),快速切換到備份路徑,避免流量丟失。流量從備份路徑轉(zhuǎn)發(fā)的同時,頭節(jié)點會繼續(xù)發(fā)起主路徑的重建。
TE FRR保護一般應(yīng)用于SR-TE,是一種局部保護技術(shù)。
c)TI-LFA FRR 保護。拓?fù)錈o關(guān)無環(huán)路備份快速重路由(TI-LFA FRR——Topology Independent-Loop Free Alternate Fast ReRoute)基于RLFA 技術(shù)原理并與SR 顯示路徑相結(jié)合,可保證節(jié)點或鏈路理論上形成100%的FRR保護,從而彌補傳統(tǒng)LFA/RLFA 保護技術(shù)不一定形成100%保護的缺點。當(dāng)某處鏈路或節(jié)點故障時,將選擇收斂后的路徑作為備份路由轉(zhuǎn)發(fā)路徑,繼續(xù)轉(zhuǎn)發(fā)流量,從而最大程度上避免流量的丟失。
TI-LFA FRR 保護一般應(yīng)用于SR-BE,也可應(yīng)用于SR-TE,只要理論上存在保護的可能性,則可針對任意拓?fù)浣Y(jié)構(gòu)提供保護。
3.3.4 SR特點及優(yōu)勢
由于SR 基于源路由技術(shù),摒棄LDP/RSVP-TE 協(xié)議,僅對IGP/BGP 協(xié)議擴展即可實現(xiàn)SR 功能,且保護技術(shù)新增TI-LFA 方式,因此相比傳統(tǒng)MPLS LDP/RSVP-TE技術(shù),具有顯著的特點及優(yōu)勢,傳統(tǒng)MPLS技術(shù)與SR技術(shù)對比如表4所示。
SR 技術(shù)可根據(jù)業(yè)務(wù)類型、網(wǎng)絡(luò)架構(gòu)、配置要求等因素,合理選擇SR-BE、SR-TE 或二者組合,更好地滿足業(yè)務(wù)需求。SR-BE、SR-TE的特點如表5所示。
SR 基于源路由技術(shù),簡化控制平面協(xié)議,通過源節(jié)點控制和調(diào)整業(yè)務(wù)路徑,同時可以更好地與SDN 相結(jié)合,保持集中式控制和分布式之間的平衡,并且通過TI-LFA 和Hot-Standby等多種保護技術(shù)相結(jié)合的方式理論上可對任意場景提供100%的保護。SR代表的是一種應(yīng)用驅(qū)動網(wǎng)絡(luò)的全新網(wǎng)絡(luò)理念,被譽為是繼MPLS之后最重要的創(chuàng)新之一。
以5G為引領(lǐng)的新一代移動通信技術(shù),對承載網(wǎng)絡(luò)大帶寬、低時延、高可靠性、海量連接、網(wǎng)絡(luò)切片等方面提出了更高的要求。隨著以SR 為代表的新技術(shù)的不斷成熟以及在承載網(wǎng)絡(luò)的廣泛應(yīng)用,通信網(wǎng)絡(luò)逐步向著更簡捷、更高效、更智能、更安全、更快速的方向演進,也必將極大地促進車聯(lián)網(wǎng)、智慧城市、智慧工業(yè)、智慧醫(yī)療等行業(yè)興盛,從而助推國民經(jīng)濟的長足發(fā)展。
表4 傳統(tǒng)MPLS技術(shù)與SR技術(shù)對比表
表5 SR-BE與SR-TE特點對比表