發(fā)布時間:2020-12-03
作者:江十一
前言
早在1997年,MPLS網(wǎng)絡的推出,其采用標簽交換,一個標簽對應一個用戶數(shù)據(jù)流的方式,非常易于用戶間數(shù)據(jù)的隔離,利用區(qū)分服務體系輕易地解決困擾傳統(tǒng)IP網(wǎng)絡的QoS/CoS問題,同時MPLS自身提供流量工程的能力,可以最大限度地優(yōu)化配置網(wǎng)絡資源,自動快速修復網(wǎng)絡故障,提供高可用性和高可靠性。然而,為了滿足越來越多的應用需求,MPLS技術在過去20多年一直在做加法,功能不斷豐富的同時,也帶來了實施和使用上的復雜性。
Segment Routing的概念和技術體系在2013年首次提出,短短四年間已經(jīng)獲得了業(yè)界的廣泛支持,并已經(jīng)在國內(nèi)外前沿運營商的網(wǎng)絡中開始實際部署。Segment Routing的源路由和無狀態(tài)特性,使得其成為SDN/NFV在IP網(wǎng)絡上下一步發(fā)展的關鍵技術,其超大規(guī)模組網(wǎng)能力也是實現(xiàn)IP網(wǎng)絡端到端運營調(diào)度和網(wǎng)絡重構(gòu)的基礎。
Segment Routing是繼MPLS之后,IP領域重要的創(chuàng)新,得到了業(yè)界的廣泛支持,并逐漸成為SDN的主流網(wǎng)絡架構(gòu)標準。
本文通過講述Segment Routing的誕生、產(chǎn)生SR的驅(qū)動力、SR的工作方式、SR的相關基礎概念以及SR的應用場景,帶大家初步認識SDN網(wǎng)絡新興技術Segment Routing。
01 什么是SR?
Segment Routing,分段路由是基于源路由理念而設計的在網(wǎng)絡上轉(zhuǎn)發(fā)數(shù)據(jù)包的協(xié)議,借助MPLS轉(zhuǎn)發(fā)平面實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),Segment Routing將網(wǎng)絡路徑分成一個個段,并且為這些段和網(wǎng)絡中的轉(zhuǎn)發(fā)節(jié)點(Node)分配段標識ID,通過對段和網(wǎng)絡節(jié)點進行有序的排列(Segment List),得到一條完整的轉(zhuǎn)發(fā)路徑。
02 SR的誕生
關于SR命名的來源,傳聞來源于SR項目組的一次羅馬經(jīng)歷,SR名字由來于“通往羅馬之路”,意大利語中SR即“Strade Romane”,也就是我們經(jīng)常聽到的“All roads lead to Rome”,“條條大路通羅馬”,通過組合多條道路,羅馬人可以去往羅馬帝國內(nèi)的任意地方。
Clarence Filsfils是Segment Routing技術的發(fā)明者和推動者;在思科工作的 20 年間,Clarence Filsfils 擁有極其豐富的創(chuàng)新、產(chǎn)業(yè)化、市場推廣和實際部署經(jīng)驗,受到全球運營商、OTT 和大型企業(yè)客戶的尊敬和信賴。
03 SR產(chǎn)生的驅(qū)動力
優(yōu)雅的MPLS數(shù)據(jù)平面很少受到挑戰(zhàn),但是人們越來越明顯的感覺到MPLS經(jīng)典的控制平面(LDP、RSVP-TE)過于復雜,且缺乏可擴展性。
SR的技術優(yōu)勢,進一步驅(qū)動了SR應用的大規(guī)模部署應用。
04 SR的工作方式
在SR項目的早期,SR項目組用飛機行李轉(zhuǎn)運的行李標簽向沒有相關技術背景的人員解釋,SR是如何工作的。以一個行李,從德國慕尼黑機場(MUC)到日本成田機場(NRT),途徑美國亞特蘭大機場(ATL)為例。
如上圖,當一個包裹在始發(fā)機場給行李貼上一個標簽“慕尼黑(MUC)à亞特蘭大(ATL)à成田(NRT)”,這樣的話,傳輸系統(tǒng)中的每個站點不需要再識別單個行李的完整路徑,只需要識別幾千個機場的代碼,如MUC代表慕尼黑機場等,通過行李的標簽代碼,就可以按照標簽將行李發(fā)往指定的目的地機場。
SR的做法其實相同,一個prefix segment代表一個機場代碼,報文中的segment代表著行李上的標簽,源節(jié)點知道數(shù)據(jù)包的特定要求,按照此編碼為segment列表,壓入報頭中,網(wǎng)絡中的其他設備不需要知道此數(shù)據(jù)包的特定要求,只需要知道,怎么處理prefix segment即可。
上圖中,當一個數(shù)據(jù)包從,Site_A需要轉(zhuǎn)發(fā)到Site_B時,當Site_A為數(shù)據(jù)包壓入一個(16002à28003à16006)segment-list時,當路徑中的網(wǎng)絡節(jié)點進行轉(zhuǎn)發(fā)時,只需要按照標簽順序去轉(zhuǎn)發(fā)數(shù)據(jù)包,并不需要關注數(shù)據(jù)包的來源等,最終流量會按照圖中紫色虛線進行轉(zhuǎn)發(fā)。
05 SR相關概念
源路由
源路由器為要轉(zhuǎn)發(fā)的數(shù)據(jù)包選擇一個路徑,并將其作為segment-list編碼到數(shù)據(jù)包的包頭中,網(wǎng)絡中其余的路由器,執(zhí)行編碼的指令,并進行轉(zhuǎn)發(fā)。
Segment Routing轉(zhuǎn)發(fā)平面
MPLS轉(zhuǎn)發(fā)平面
Segment-List體現(xiàn)為MPLS的標簽棧
Segment Routing可以利用現(xiàn)有的MPLS數(shù)據(jù)平面
Segment即MPLS標簽
可用于IPv4或IPv6地址簇
IPv6轉(zhuǎn)發(fā)平面
Segment-List體現(xiàn)為路由擴展報頭中的多個IPv6地址
全局Segment、本地Segment
Global Segment(全局Segment)
SR域中任一節(jié)點都明白Segment的相關指令
SR域中的每個節(jié)點都安裝了該Segment的相關指令
在MPLS SR中體現(xiàn)為SRGB中的全局標簽值
Local Segment(本地Segment)
只有該Segment的始發(fā)節(jié)點明白該Segment的相關指令
MPLS SR中體現(xiàn)為本地分發(fā)的標簽
以R1àR3的兩條路徑為例,藍色路徑中的{16002,16003},為全局segment,SR域中任一節(jié)點都明白Segment的相關指令,流量按照R1àR2àR3轉(zhuǎn)發(fā);紅色路徑中{16004,27003,16003},其中27003位本地segment,引導流量轉(zhuǎn)發(fā)至R4連接R5的互聯(lián)鏈路中的其中一根鏈路,流量按照R1àR4à(27001對應鏈路)àR5àR3進行轉(zhuǎn)發(fā)。
全局標簽索引
Global Segment(全局Segment)始終以“SRGB(標簽范圍)”+index(索引)構(gòu)成
SR域中,索引必須唯一
最佳實踐:所有局點具有相同的SRGB
運營商目前均要求使用“Global模式”
Global Segment簡化了網(wǎng)絡運營成本
各廠商SRGB定義不同,如Cisco使用16000-23999
具有相同SRGB的幾個好處
標簽具有絕對值,即SRGB + Index
SRGB固定后,Index可以由IGB/BGP分配
Segment Routing控制平面
SR的控制平面可以是IGP(ISIS、OSPF)或BGP
1 IGP作為控制平面
IGP分發(fā)的Segment分為兩種,為構(gòu)建轉(zhuǎn)發(fā)路徑的基本構(gòu)建模塊
Prefix Segment – 前綴段,又稱Prefix-SID
Adj Segment – 鄰接段,又稱Adj-SID
IGP Prefix-SID
通常給/32 loopback接口分配標簽
含義:引導流量沿著支持ECMP最短路徑去往與該Segment相關聯(lián)的前綴
支持ECMP
Global Segment
Segment = SRGB + Index
索引通過ISIS/OSPF分發(fā)
IGP Adj-SID
含義:引導流量向與該Segment相關聯(lián)的鄰接鏈路轉(zhuǎn)發(fā)出去,而不考慮最短路徑如何
Local Segment
作為標簽值來通告
通過ISIS/OSPF分發(fā)
只被Segment的始發(fā)節(jié)點識別
2 BGP作為控制平面
使用BGP新屬性,Type 40
非必選,可傳遞屬性
BGP中使用獨立地址簇 address-family Label unicast
BP分發(fā)的Segment分為兩種,為構(gòu)建轉(zhuǎn)發(fā)路徑的基本構(gòu)建模塊
Prefix Segment – 前綴段,又稱Prefix-SID
BGP EPE(Egress Peer Engineering)擴展
BGP Prefix-SID
通常以環(huán)回口分配標簽
Global Segment
含義:引導流量沿著支持BGP ECMP多路徑去往該Segment相關聯(lián)的前綴
BGP EPE(Egress Peer Engineering)擴展
Local Segment
用于為對等體分配Peer-Node SID、Peer-Adj SID和Peer-Set SID
06 SR的應用場景
應用場景1:路徑分離服務
路徑選擇就如同機場VIP通道服務,通過對路徑的規(guī)劃,使得重要的流量得到優(yōu)先的轉(zhuǎn)發(fā)保障。
1)無Segment Routing
R1àR2:只能通過負載均衡或強制單一路徑
2)有Segment Routing
R1àR2:不同業(yè)務自由定義,動態(tài)規(guī)劃,可以根據(jù)不同的業(yè)務需求定義不同的路徑,保障關鍵業(yè)務的轉(zhuǎn)發(fā)
應用場景2:路徑質(zhì)量規(guī)劃
路徑質(zhì)量規(guī)劃就如同地圖導航,以從銳捷北京公司到福州公司為例,會有三條路徑進行選擇,我們可以根據(jù)自身需求,規(guī)劃路徑,如:時間最短、公里數(shù)最短、收費最少等,亦可選擇不走高速,躲避擁堵等等;SR也可以根據(jù)網(wǎng)絡延時、開銷、帶寬、抖動等為特定的業(yè)務需求選擇特定的數(shù)據(jù)轉(zhuǎn)發(fā)路徑。
1)無Segment Routing
R1àR2:只能通過負載均衡或強制單一路徑
2)有Segment Routing
R1àR2:不同業(yè)務自由定義,動態(tài)規(guī)劃,可以根據(jù)不同的業(yè)務需求定義不同的路徑,保障關鍵業(yè)務的轉(zhuǎn)發(fā)
應用場景3:端到端統(tǒng)一數(shù)據(jù)平面
