淺談SR-TE兩種實現(xiàn)方式的對比
1.背景技術(shù)簡述
關(guān)于IP轉(zhuǎn)發(fā)技術(shù)經(jīng)歷的幾個階段,憑個人的淺顯理解簡單梳理如下。
最初IP數(shù)據(jù)包根據(jù)路由協(xié)議構(gòu)建的轉(zhuǎn)發(fā)表來轉(zhuǎn)發(fā)。路由協(xié)議對目的地址尋址,通過對全網(wǎng)拓?fù)浜玩溌窢顟B(tài)的學(xué)習(xí)來建立RIB表,同時優(yōu)選到達(dá)目的路由Metric值最小的路徑的下一跳寫入FIB表(Metric值相同的下一跳負(fù)載均衡)。依靠路由協(xié)議轉(zhuǎn)發(fā),路徑中間每一跳路由器都會查找本地FIB表進(jìn)行轉(zhuǎn)發(fā),網(wǎng)絡(luò)中業(yè)務(wù)流量的轉(zhuǎn)發(fā)路徑只能按最優(yōu)路徑(Metric值最小的路徑)轉(zhuǎn)發(fā),不能預(yù)先編程設(shè)定和精確控制路經(jīng)。
在原有轉(zhuǎn)發(fā)技術(shù)的基礎(chǔ)上,MPLS技術(shù)作為一種2.5層技術(shù),通過LDP協(xié)議來為網(wǎng)段分配標(biāo)簽,建立標(biāo)簽轉(zhuǎn)發(fā)表,以標(biāo)簽轉(zhuǎn)發(fā)替代三層路由轉(zhuǎn)發(fā),提升了轉(zhuǎn)發(fā)效率。
為了解決傳統(tǒng)IP路由器協(xié)議只能最優(yōu)路徑(Metric值最小的路徑)轉(zhuǎn)發(fā),無法精確規(guī)劃轉(zhuǎn)發(fā)路徑的問題,基于MPLS發(fā)展出了RSVP-TE隧道技術(shù)。RSVP-TE確實在一定的時期內(nèi)代表了先進(jìn)生產(chǎn)力的發(fā)展方向,并在一定范圍和場景下得到了大量應(yīng)用。RSVP-TE可以進(jìn)行顯式路徑規(guī)劃,可以實現(xiàn)帶寬資源預(yù)留,但是RSVP-TE控制面復(fù)雜、配置也復(fù)雜,狀態(tài)維護(hù)消耗性能還不支持ECMP。概括一下,RSVP-TE太重量化,太復(fù)雜了,不能完全適應(yīng)在大型廣域網(wǎng)內(nèi)的大規(guī)模應(yīng)用。
SR-TE依然保留和利用了MPLS標(biāo)簽(SRv6不在本文討論范圍內(nèi)),擴(kuò)展路由協(xié)議支持SR標(biāo)簽的分發(fā),省去了LDP協(xié)議,報文頭中的Segment List直接包含了路徑信息,在頭節(jié)點就可以控制路徑,也不需要像RSVP-TE一樣進(jìn)行大量的狀態(tài)維護(hù)。概括一下,SR更加適應(yīng)大型廣域網(wǎng)的大規(guī)模流量工程場景,也更加適應(yīng)SDN對網(wǎng)絡(luò)業(yè)務(wù)流量轉(zhuǎn)發(fā)路徑集中控制的要求。
本文就淺談一下SR-TE路徑建立及控制的兩種實現(xiàn)方式Tunnel Interface和SR Policy的對比,看看在那些方面SR Policy方式比Tunnel Interface方式有較大的優(yōu)勢和提升。
2.SR Policy 對比Tunnel Interface的優(yōu)勢與提升
SR-TE分為SR Tunnel Interface和SR Policy兩種實現(xiàn)方式,或者說兩個體系,先說結(jié)論,SR Policy確實是后起之秀,最早由思科提出這個概念和相關(guān)技術(shù)標(biāo)準(zhǔn),較短時間內(nèi),目前主流廠家路由器均開始支持SR Policy。
Tunnel Interface是隧道接口,是兩個網(wǎng)元之間的一個虛擬連接,所以Tunnel Interface的SR-TE類似于傳統(tǒng)LSP技術(shù),以虛擬接口的方式實現(xiàn)對業(yè)務(wù)流量的導(dǎo)入。Tunnel Interface的路徑下發(fā)與更改,其來源可以是CLI,也可以是SDN的南向接口PCEP / Netconf,最終要映射為在頭節(jié)點路由器上的一條實際的隧道和隧道路徑的配置。
SR Policy定義的是網(wǎng)絡(luò)的一種策略,只是這種策略包含了一個業(yè)務(wù)流量的承載訴求和轉(zhuǎn)發(fā)路徑。SR Policy由(head-end、color、end-point)三元組描述決定。SR Policy的來源可以是CLI,也可以是SDN的南向接口BGP / PCEP / Netconf。
目前BGP for SR Policy是業(yè)內(nèi)發(fā)展比較快應(yīng)用比較廣泛的一種SDN南向接口,相關(guān)的標(biāo)準(zhǔn)大家可以參閱draft-ietf-idr-segment-routing-te-policy-08(Advertising Segment Routing Policies in BGP)。詳細(xì)介紹SR Policy不是本文的重點,本文將簡單的去總結(jié)一下SR Policy對比Tunnel Interface的優(yōu)勢與提升。
2.1.SR Policy更靈活實現(xiàn)業(yè)務(wù)流量引流
Tunnel Interface方式的SR-TE本質(zhì)上還是一個網(wǎng)絡(luò)層面的隧道接口,相關(guān)的業(yè)務(wù)流量的導(dǎo)入和引流需要借助于傳統(tǒng)PBR的方式來實現(xiàn)。MPLS-VPN場景可以直接將VPN流量over在Tunnel Interface的SR-TE上,此時Tunnel Interface的隧道替代了LDP轉(zhuǎn)發(fā)隧道。
BGP for SR Policy則可以實現(xiàn)基于業(yè)務(wù)流量的自動引流。如圖1中所示,End-point基于BGP路由1.1.1.0/24的Community值來設(shè)定Color為Red,Head-end通過BGP協(xié)議學(xué)習(xí)到設(shè)定了Color值的NLRI。對head-end設(shè)備下發(fā)SR Policy,此SR Policy的BSID為4001,對于Color為Red的流量,設(shè)定優(yōu)選Candidate path為SID-LIST<16002,16004>。根據(jù)此SR Policy,head-end設(shè)備對Color為Red相關(guān)的去往1.1.1.0/24的流量,按照BGP路由轉(zhuǎn)發(fā)遵從BSID為4001的SR Policy,數(shù)據(jù)頭部壓入相應(yīng)的SID標(biāo)簽棧。中間路由器根據(jù)head-end的壓入的SID標(biāo)簽棧路徑完成轉(zhuǎn)發(fā)。所以SR Policy的SR-TE引流自動完成,不需要配置PBR。
2.2.SR Policy更靈活實現(xiàn)差異化服務(wù)
使用QOS策略進(jìn)行差異化服務(wù)和保障是傳統(tǒng)方式,但是受限于DSCP的8個等級的限制,而且差異化服務(wù)的實現(xiàn)是逐跳轉(zhuǎn)發(fā)設(shè)備的QOS保障來實現(xiàn)的,無法將業(yè)務(wù)流量和承載路徑相綁定,通過優(yōu)化路徑來實現(xiàn)差異化服務(wù)。
2.2.1.SR Policy設(shè)定Color值將業(yè)務(wù)承載訴求映射為隧道能力
Tunnel Interface場景進(jìn)行差異化服務(wù)的實現(xiàn),依靠兩點間不同的業(yè)務(wù)流量承載需求建立不同的Tunnel Interface隧道(低時延隧道、高保障隧道等),再在頭節(jié)點通過PBR將業(yè)務(wù)流量引入相應(yīng)的SR-TE內(nèi)。 需要對業(yè)務(wù)流量進(jìn)行調(diào)優(yōu)時,可以通過變更隧道路徑或者變更流量所承載隧道來實現(xiàn)。
SR Policy中,通過Color來表征不同的承載訴求,Color不代表某條實際的隧道,而代表一類承載能力的隧道的集合,如RED為低時延類的業(yè)務(wù)訴求,Green為時延不優(yōu)選但高帶寬保障類的業(yè)務(wù)訴求。Color值沒有DSCP 8個等級的限制,可以實現(xiàn)更多的保障等級。Color在某種程度上成為了業(yè)務(wù)承載訴求和實際隧道之間的中介,業(yè)務(wù)流量不直接定義和具體隧道的映射關(guān)系,只表達(dá)自己的承載訴求并和相應(yīng)Color的SR Policy進(jìn)行關(guān)聯(lián)。
SR Policy的差異化服務(wù)保障場景,目的地址表征了業(yè)務(wù)流量,相同的業(yè)務(wù)承載訴求標(biāo)識為相同的Color,SR Policy通過目的地址+Color將業(yè)務(wù)承載需求和隧道保障等級相綁定,在業(yè)務(wù)承載需求有變化時直接變更SR Policy內(nèi)的Color值就可以?;蛘邠Q句話說,因為在一個SR Policy中即定義了Color又包含實際的Segment List路徑,所以由于定義了Color值,SR Policy對差異化服務(wù)和流量路徑調(diào)優(yōu)的實現(xiàn)是一致的。
2.2.2.SR Policy可以實現(xiàn)基于VPN內(nèi)部業(yè)務(wù)路由的差異化服務(wù)
Tunnel Interface在MPLS-VPN承載場景,對VPN內(nèi)部不同的業(yè)務(wù)路由,很難區(qū)分出來并承載到不同的SR-TE隧道上。
SR Policy在MPLS-VPN承載場景,可以對VPN內(nèi)的不同路由著色為不同的Color,從而實現(xiàn)對同一個VPN內(nèi)不同業(yè)務(wù)流量的差異化承載需求。或者說SR Policy技術(shù)本身的特性決定了SR Policy根本就不區(qū)分裸IP場景和MPLS-VPN場景,都可以根據(jù)不同的業(yè)務(wù)路由來進(jìn)行差異化承載,不管這個路由是公網(wǎng)路由還是VPN內(nèi)的私網(wǎng)路由。
隨著5G商用的推進(jìn),必然會帶來相應(yīng)網(wǎng)絡(luò)業(yè)務(wù)的大發(fā)展,面對更加復(fù)雜的業(yè)務(wù)承載需求,有著更加精細(xì)化承載能力的SR Policy,無疑更有用武之地。
2.3.SR Policy支持ECMP/WECMP
2.3.1.SR Policy更靈活支持主備路徑
Tunnel Interface能實現(xiàn)主備路徑,主路徑承載流量,備路徑在主路徑故障時接管流量。主路徑和備路徑單獨建立,單獨維護(hù)。
SR Policy如2所示,一個SR Policy內(nèi)可以有多個候選路徑Candidate Path,不同的Candidate Path設(shè)定不同的Perference值來表征不同的優(yōu)先級。SR Policy主備路徑通過不同的Candidate Path實現(xiàn),高優(yōu)先級的為主用路徑,低優(yōu)先級的為備用路徑。所以SR Policy不僅能否實現(xiàn)一主一備,而且實現(xiàn)一主多備。SR Policy所有的主備路徑的控制都在一個Policy里實現(xiàn),簡化了管理,提升了效率。
2.3.2.SR Policy支持ECMP/WECMP
Tunnel Interface方式不支持ECMP/WECMP,這對Tunnel Interface的擴(kuò)展能力是很大的限制。
SR Policy的定義非常靈活,如圖2所示,在一個Candidate Path內(nèi),還可以有多個Segment List路徑。每個Segment List都有自己的權(quán)重weight值,如果Weight值相同,則不同Segment-List路徑之間負(fù)載均衡ECMP轉(zhuǎn)發(fā);如果Weight值不同,則不同Segment List路徑之間按照權(quán)重負(fù)載均衡WECMP轉(zhuǎn)發(fā)。ECMP和WECMP能力的實現(xiàn),極大的提升了承載效率和承載能力。
2.4.SR Policy更靈活實現(xiàn)路徑編程更貼合SDN發(fā)展
Tunnel Interface實現(xiàn)方式,網(wǎng)絡(luò)SDN的南向接口以PCEP為主,不管是PCC-initiated建立Tunnel Interface隧道,再托管到控制器,還是控制器PCE-initiated建立隧道直接下發(fā)路徑,轉(zhuǎn)發(fā)路徑下發(fā)后,最終在設(shè)備上的實現(xiàn)都要轉(zhuǎn)化為實際的隧道和隧道路徑的配置。
SR Policy的實現(xiàn)方式,SDN的南向接口可以是PCEP,也可以BGP for SR Policy,對于SDN控制器來說接口更加靈活;隧道路徑直接在SR Policy內(nèi)攜帶,下發(fā)到設(shè)備后,head-end設(shè)備直接根據(jù)Policy內(nèi)的Segment List封裝數(shù)據(jù)包,壓入相應(yīng)順序的標(biāo)簽,不用轉(zhuǎn)化為設(shè)備上實際隧道和隧道路徑的配置,對于設(shè)備來說也更輕量化,更易實現(xiàn)。
在SR Policy的SDN控制場景,控制器根據(jù)不同的業(yè)務(wù)承載需求計算相應(yīng)的承載路徑,并以end-point+Color做為關(guān)鍵值去綁定一個BSID(Binding SID),再下發(fā)到head-end路由器,head-end路由器根據(jù)BSID將業(yè)務(wù)流量自動引流入BSID對應(yīng)的SR Policy的相應(yīng)Canditate Path進(jìn)而進(jìn)行轉(zhuǎn)發(fā)。一個SR Policy的BSID就是被優(yōu)選的Canditate Path的BSID。
總之,SR Policy可以實現(xiàn)控制面和SR轉(zhuǎn)發(fā)面的完全分離,更便于實現(xiàn)業(yè)務(wù)轉(zhuǎn)發(fā)路徑編程和控制器集中控制。
3.總結(jié)
Tunnel Interface實質(zhì)上還是一種隧道技術(shù),而SR Policy則完全超越了隧道技術(shù),將所有網(wǎng)絡(luò)功能都封裝在SR Policy里面,比如轉(zhuǎn)發(fā)路徑、負(fù)載分擔(dān)、承載等級,并可以抽象成一個BSID,供APP或者控制器調(diào)用。
作者簡介:熊學(xué)濤,北京世紀(jì)互聯(lián)寬帶數(shù)據(jù)中心有限公司網(wǎng)絡(luò)運維中心,網(wǎng)絡(luò)運維總監(jiān)。近二十年運營商、互聯(lián)網(wǎng)公司工作經(jīng)驗。在超大規(guī)模數(shù)據(jù)中心組網(wǎng)、運營商級廣域網(wǎng)領(lǐng)域有著豐富的項目經(jīng)驗,畢業(yè)于西安電子科技大學(xué)通信工程學(xué)院,華南理工大學(xué)工程碩士。