何曉明 楊廣銘 劉志華
【摘? 要】對SR與LDP兩種標(biāo)簽交換技術(shù)在同一網(wǎng)絡(luò)中共存及SR與LDP互操作性進(jìn)行了詳細(xì)的原理性分析和實(shí)驗(yàn)驗(yàn)證。并結(jié)合運(yùn)營商網(wǎng)絡(luò)的三種典型應(yīng)用場景深入探討了SR與LDP互操作,對傳統(tǒng)IP/MPLS網(wǎng)絡(luò)中引入SR技術(shù)具有較好的指導(dǎo)意義。
【關(guān)鍵詞】分段路由;標(biāo)簽分發(fā)協(xié)議;互操作;SR隧道和LDP隧道無縫對接
1? ?引言
多協(xié)議標(biāo)簽交換(MPLS, Multi-Protocol Label Switching)技術(shù)因其具有端到端面向連接的特點(diǎn),目前已廣泛應(yīng)用于運(yùn)營商的IP網(wǎng)絡(luò)基礎(chǔ)設(shè)施,用于提供二層/三層VPN服務(wù)、QoS、快速重路由(FRR, Fast Reroute)以及流量工程。然而,傳統(tǒng)MPLS網(wǎng)絡(luò)基于標(biāo)簽分發(fā)協(xié)議(LDP, Label Distribution Protocol),這種復(fù)雜的控制協(xié)議帶來網(wǎng)絡(luò)運(yùn)維復(fù)雜性的同時,LDP與內(nèi)部網(wǎng)關(guān)協(xié)議(IGP, Interior Gateway Protocol)的同步問題也增加了網(wǎng)絡(luò)部署的難度?;诹髁抗こ虜U(kuò)展的資源預(yù)留協(xié)議(RSVP-TE, Resource Reservation Protocol-Traffic Engineering)在實(shí)現(xiàn)全網(wǎng)流量工程時需要網(wǎng)絡(luò)中間節(jié)點(diǎn)維護(hù)每流的狀態(tài)信息,存在網(wǎng)絡(luò)擴(kuò)展性問題,實(shí)際網(wǎng)絡(luò)中很少部署。
近年來,一種基于源路由網(wǎng)絡(luò)(SPRING, Source Packet Routing in Networking)的分段路由(SR, Segment Routing)技術(shù)引起了網(wǎng)絡(luò)界的廣泛關(guān)注,并成為業(yè)界研究的熱點(diǎn)。SR只需要通過對IGP和BGP進(jìn)行協(xié)議擴(kuò)展,進(jìn)而實(shí)現(xiàn)段標(biāo)簽的分發(fā),并在網(wǎng)絡(luò)節(jié)點(diǎn)中維護(hù)段標(biāo)簽的轉(zhuǎn)發(fā)信息表。邊緣入口節(jié)點(diǎn)為報文流維護(hù)策略狀態(tài)信息,無需中間節(jié)點(diǎn)維護(hù)每報文流的策略狀態(tài)信息,即可實(shí)現(xiàn)IP報文按指定路徑在一個IGP域內(nèi)甚至跨域的端到端轉(zhuǎn)發(fā),極大地簡化了網(wǎng)絡(luò)設(shè)備的復(fù)雜性。分段路由是對MPLS技術(shù)的繼承和發(fā)展,并能支持同現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施的互操作和平滑演進(jìn),在實(shí)現(xiàn)網(wǎng)絡(luò)虛擬化(如二層/三層VPN實(shí)現(xiàn))、網(wǎng)絡(luò)節(jié)點(diǎn)及鏈路保護(hù)、負(fù)載均衡和流量工程等方面具有獨(dú)特優(yōu)勢。分段路由技術(shù)產(chǎn)生的初衷并不是為了取代LDP,而是為了彌補(bǔ)現(xiàn)有IP/MPLS技術(shù)的不足。
當(dāng)前,IP RAN網(wǎng)絡(luò)廣泛應(yīng)用于全球主流運(yùn)營商移動網(wǎng)絡(luò)的3G/4G業(yè)務(wù)承載。IP RAN基于IP/MPLS技術(shù)提供二層/三層VPN、QoS、業(yè)務(wù)保護(hù)等服務(wù)。由于構(gòu)建IP RAN的網(wǎng)元數(shù)量巨大,并且多種網(wǎng)絡(luò)技術(shù)的疊加增加了網(wǎng)絡(luò)控制的復(fù)雜度,使得網(wǎng)絡(luò)運(yùn)維壓力日益凸顯。隨著5G商用臨近,5G承載網(wǎng)需要滿足“增強(qiáng)移動帶寬(eMBB)、超可靠低時延通信(uRLLC)、大規(guī)模機(jī)器類通信(mMTC)”等多業(yè)務(wù)場景的差異化承載,這對承載網(wǎng)功能和性能以及運(yùn)維管理提出了更高要求。IP RAN需要在能力方面有所提升以適應(yīng)5G承載需求。在IP RAN中引入SR技術(shù)也成為業(yè)界研究的熱點(diǎn)。
鑒于傳統(tǒng)MPLS網(wǎng)絡(luò)基礎(chǔ)設(shè)施已在運(yùn)營商網(wǎng)絡(luò)中廣泛部署,并仍將發(fā)揮重要作用。SR作為一種可替代LDP的標(biāo)簽交換新技術(shù)還處于不斷完善和發(fā)展的過程中,可以預(yù)計(jì)SR與LDP將會在網(wǎng)絡(luò)中長期共存。本文對SR與LDP在網(wǎng)絡(luò)中共存及其互操作進(jìn)行技術(shù)分析,并結(jié)合運(yùn)營商網(wǎng)絡(luò)實(shí)際應(yīng)用場景,試圖從LDP Tunnel保護(hù)、LDP Tunnel向SR Tunnel遷移、LDP Tunnel與SR Tunnel跨域互連等三個方面對SR與LDP的互操作進(jìn)行深入探討。
2? ?SR與LDP共存分析
基于LDP的MPLS技術(shù)提供的VPN服務(wù)在運(yùn)營商網(wǎng)絡(luò)中得到了廣泛部署,同樣,SR也可用于實(shí)現(xiàn)VPN。為便于問題描述,現(xiàn)以圖1為例分析SR與LDP在網(wǎng)絡(luò)中的共存,互為獨(dú)立地為各自客戶提供VPN服務(wù)。
假設(shè)運(yùn)營商為銀行客戶提供PE1<->PE3的三層VPN服務(wù),而為保險客戶提供PE2<->PE4的三層VPN服務(wù)。運(yùn)營商想為PE1<->PE3之間提供基于LDP的Tunnel,為PE2<->PE4之間提供基于SR的Tunnel。
為達(dá)成這個目的,可對圖1中PE1、PE2、PE3、PE4、P1、P2、P3做如下數(shù)據(jù)配置:
PE1、PE2、PE3、PE4的loopback地址分別配置為192.0.2.201/32、192.0.2.202/32、192.0.2.203/32、192.0.2.204/32。PE1與PE3之間、PE2與PE4之間分別建立MP-iBGP會話。同時,PE在MP-BGP中通告各自的VPN路由時設(shè)置next-hop為各自的loopback地址,如PE1通告銀行客戶路由時設(shè)置next-hop為192.0.2.201/32。
P1、P2、P3的loopback地址分別配置為192.0.2.1/32、192.0.2.2/32、192.0.2.3/32。
為PE2、P1、P2、P3、PE4的loopback地址分別綁定全局唯一的Node-SID:202、101、102、103、204。網(wǎng)絡(luò)設(shè)備在通告各自loopback地址與Node-SID綁定關(guān)系時可配置為次末跳彈出機(jī)制。
配置PE1、P1、P2、P3、PE3為LDP使能,配置PE2、P1、P2、P3、PE4為SR使能。
上述配置完成后,PE之間開始交換客戶VPN路由。
假設(shè)PE3向PE1發(fā)送的VPN路由的next-hop地址為192.0.2.203,攜帶的VPN標(biāo)簽為10001。同時,PE1收到來自P1的關(guān)于FEC為192.0.2.203的LDP標(biāo)簽綁定(假設(shè)為1037),P1收到來自P2的關(guān)于FEC為192.0.2.203的LDP標(biāo)簽綁定(假設(shè)為2048)。同樣,P2和P3都會收到來自下游節(jié)點(diǎn)關(guān)于FEC為192.0.2.203的LDP標(biāo)簽綁定。當(dāng)PE1收到發(fā)往PE3的客戶流量時,PE1對發(fā)送到PE3的客戶流量報文進(jìn)行2層標(biāo)簽封裝:頂層標(biāo)簽為1037,底層標(biāo)簽為10001,然后轉(zhuǎn)發(fā)到P1。P1對收到的PE1的VPN客戶流量報文進(jìn)行頂層標(biāo)簽交換為2048,然后轉(zhuǎn)發(fā)給P2。同樣,P2和P3對收到的VPN客戶報文進(jìn)行頂層標(biāo)簽交換,然后轉(zhuǎn)發(fā)給下游節(jié)點(diǎn)。最終,該VPN客戶報文轉(zhuǎn)發(fā)給PE3。
又假設(shè)PE4向PE2發(fā)送的VPN路由的next-hop地址為192.0.2.204,攜帶的VPN標(biāo)簽為10002。同時,PE4的loopback地址為192.0.2.204,綁定的Node-SID(204)通過IGP擴(kuò)展向全網(wǎng)發(fā)布,這時PE2、P1、P2、P3的轉(zhuǎn)發(fā)表(FIB)都安裝了SID為204的轉(zhuǎn)發(fā)信息。當(dāng)PE2收到發(fā)往PE4的客戶流量時,PE2對發(fā)送到PE4的客戶流量報文進(jìn)行2層標(biāo)簽封裝:頂層標(biāo)簽為204,底層標(biāo)簽為10002,然后轉(zhuǎn)發(fā)到P1。P1對收到的PE2的VPN客戶流量報文進(jìn)行頂層標(biāo)簽交換為204,然后轉(zhuǎn)發(fā)給P2。同樣,P2和P3對收到的VPN客戶報文進(jìn)行頂層標(biāo)簽交換,然后轉(zhuǎn)發(fā)給下游節(jié)點(diǎn)。最終,該VPN客戶報文轉(zhuǎn)發(fā)給PE4。
根據(jù)上述分析,發(fā)現(xiàn)兩種模式的MPLS Tunnel在同一個網(wǎng)絡(luò)和設(shè)備中可以和諧共存。對于同一個Prefix,網(wǎng)絡(luò)設(shè)備只需同時保存基于LDP和基于SR的標(biāo)簽轉(zhuǎn)發(fā)條目。以P1為例,PE3的loopback地址192.0.2.203,通過LDP分發(fā)得到的標(biāo)簽轉(zhuǎn)發(fā)條目:入標(biāo)簽為1037,出標(biāo)簽為2048,下一跳為P2;通過IGP擴(kuò)展分發(fā)得到的標(biāo)簽轉(zhuǎn)發(fā)條目:入標(biāo)簽為203,出標(biāo)簽為203,下一跳為P2。
為了評估設(shè)備同時開啟LDP和SR時的轉(zhuǎn)發(fā)性能,測試了華為、思科的多款路由設(shè)備。測試結(jié)果表明同時開啟LDP和SR時設(shè)備轉(zhuǎn)發(fā)性能同只開啟任一項(xiàng)特性時的轉(zhuǎn)發(fā)性能相當(dāng)。查看設(shè)備轉(zhuǎn)發(fā)表發(fā)現(xiàn),對于同一個Prefix,測試設(shè)備的標(biāo)簽轉(zhuǎn)發(fā)表(LFIB)同時生成了LDP和SR兩個轉(zhuǎn)發(fā)條目,跟上述SR與LDP共存的原理分析一致。由于轉(zhuǎn)發(fā)表查找匹配基于硬件TCAM芯片,因此對設(shè)備的轉(zhuǎn)發(fā)性能基本沒有影響。
3? ?SR與LDP互操作分析
當(dāng)前,基于LDP的MPLS作為一種非常成熟的技術(shù)已經(jīng)在運(yùn)營商網(wǎng)絡(luò)中得到廣泛部署。而SR技術(shù)因其具有簡化網(wǎng)絡(luò)優(yōu)勢所賦予的強(qiáng)大生命力,正逐漸被越來越多的運(yùn)營商所接受。為保護(hù)現(xiàn)有網(wǎng)絡(luò)投資,運(yùn)營商希望通過現(xiàn)網(wǎng)升級,為網(wǎng)絡(luò)注入新動能。因此,在同樣一張網(wǎng)絡(luò)中實(shí)現(xiàn)SR與LDP的互操作成為一種必然選擇。為模擬真實(shí)場景,假設(shè)在一個提供端到端業(yè)務(wù)的運(yùn)營商網(wǎng)絡(luò)中,一部分新網(wǎng)絡(luò)支持SR,而另一部分舊網(wǎng)絡(luò)支持LDP。那么,怎樣在這張新舊共存的網(wǎng)絡(luò)中建立一個連續(xù)的MPLS Tunnel呢?
現(xiàn)以圖2為例分析SR與LDP互操作過程:
假設(shè)P2、P3、P4、PE3、PE4支持LDP,PE1、PE2、P1、P2支持SR。P2充當(dāng)網(wǎng)關(guān)設(shè)備,同時支持LDP和SR。顯而易見,LDP/SR節(jié)點(diǎn)必須具備一種把LDP標(biāo)簽和SR標(biāo)簽進(jìn)行拼接的機(jī)制。為簡化分析,從MPLS Tunnel建立的兩個方向分別討論SR與LDP的互操作過程。
(1)從LDP到SR方向建立MPLS Tunnel
PE3收到來自PE1的客戶VPN路由,下一跳為PE1。同時,PE3收到來自P4的關(guān)于PE1 loopback地址的LDP標(biāo)簽綁定信息,于是PE3把去往PE1的客戶流量轉(zhuǎn)發(fā)給P4。P4的標(biāo)簽轉(zhuǎn)發(fā)表存在一個來自P3的關(guān)于PE1 loopback地址的LDP標(biāo)簽綁定信息,于是P4繼續(xù)把該客戶流量轉(zhuǎn)發(fā)到P3。P3的標(biāo)簽轉(zhuǎn)發(fā)表存在一個來自P2的關(guān)于PE1 loopback地址的LDP標(biāo)簽綁定信息,于是P3繼續(xù)把該客戶流量轉(zhuǎn)發(fā)到P2。由于P1不支持LDP,P2沒有來自P1的關(guān)于PE1 loopback地址的LDP標(biāo)簽綁定信息。然而,P2通過IGP擴(kuò)展學(xué)到了關(guān)于PE1 loopback地址的SR標(biāo)簽綁定信息,因此,P2把關(guān)于PE1 loopback地址的本地分發(fā)的LDP標(biāo)簽同SR標(biāo)簽進(jìn)行交換,并把標(biāo)簽修改后的客戶流報文轉(zhuǎn)發(fā)給P1。P1彈出關(guān)于PE1 loopback地址的SR標(biāo)簽(PE1支持次末跳彈出機(jī)制),最后轉(zhuǎn)發(fā)到頭端PE1。PE1接收到帶業(yè)務(wù)標(biāo)簽的客戶報文并對其進(jìn)行處理。
這樣,一條從LDP標(biāo)簽到SR標(biāo)簽的端到端MPLS Tunnel建立完成。
需要注意,從LDP域到SR域的隧道建立過程中,網(wǎng)絡(luò)設(shè)備無需使能附加的信令或狀態(tài)。然而,作為同時支持SR和LDP的網(wǎng)關(guān)節(jié)點(diǎn)P2必須為SR域?qū)W到的每個Prefix-SID或Node-SID創(chuàng)建LDP標(biāo)簽綁定關(guān)系,即為LDP域中每個FEC,把進(jìn)入的LDP標(biāo)簽拼接成外出的SR標(biāo)簽。
(2)從SR到LDP方向建立MPLS Tunnel
為實(shí)現(xiàn)從SR到LDP方向MPLS Tunnel的建立,需引入分段路由映射服務(wù)器(Segment Routing Mapping Server,SRMS)。支持SR的SRMS通過IGP擴(kuò)展,可代理不支持SR節(jié)點(diǎn)實(shí)現(xiàn)附著該節(jié)點(diǎn)的Prefix或Node對應(yīng)的SID映射關(guān)系在本SR域內(nèi)通告。SRMS可位于IGP泛洪區(qū)域的任何位置,并且在同一個IGP區(qū)域可存在多個SRMS(如實(shí)現(xiàn)冗余備份)。當(dāng)多個SRMS通告同一Prefix與SID映射關(guān)系時必須保證通告信息的一致性。在圖2中,可配置P1為SRMS,代理P3、P4、PE3、PE4通告Prefix與SID映射關(guān)系,分別假定為(P3, 103)、(P4, 104)、(PE3, 203)、(PE4, 204)。IGP區(qū)域內(nèi)的SR節(jié)點(diǎn)在標(biāo)簽轉(zhuǎn)發(fā)表安裝對應(yīng)SR標(biāo)簽的轉(zhuǎn)發(fā)條目,這些Prefix與SID映射關(guān)系就像不支持SR節(jié)點(diǎn)本身通告一樣。下面描述SR到LDP方向標(biāo)簽交換及轉(zhuǎn)發(fā)過程。
例如,PE1通過P1代理學(xué)到PE3 loopback地址的SR標(biāo)簽并安裝了SID為203的標(biāo)簽轉(zhuǎn)發(fā)條目,下一跳為P1。當(dāng)PE1通過MP-BGP收到來自PE3的客戶路由時,由于PE1事先保存有節(jié)點(diǎn)PE3的SID轉(zhuǎn)發(fā)條目,PE1為轉(zhuǎn)發(fā)到P1的客戶流報文封裝2層標(biāo)簽:頂層標(biāo)簽為203,底層標(biāo)簽為客戶VPN標(biāo)簽。P1根據(jù)對應(yīng)SR標(biāo)簽轉(zhuǎn)發(fā)條目修改外出標(biāo)簽203,并轉(zhuǎn)發(fā)到P2。由于P2的下一跳P3不支持SR,然而,P2作為標(biāo)簽翻譯網(wǎng)關(guān),在標(biāo)簽轉(zhuǎn)發(fā)表中保存有下一跳(P3)分發(fā)的關(guān)于PE3的loopback地址(FEC)對應(yīng)的LDP標(biāo)簽(1037),因此,P2把SR標(biāo)簽203修改成外出的LDP標(biāo)簽1037,客戶流報文轉(zhuǎn)發(fā)給P3。因P4、P5、PE3都支持LDP,客戶流報文經(jīng)過標(biāo)簽交換和逐跳轉(zhuǎn)發(fā),最終,PE3接收到客戶流報文并對底層業(yè)務(wù)標(biāo)簽進(jìn)行處理。
這樣,一條從SR標(biāo)簽到LDP標(biāo)簽的端到端MPLS Tunnel建立完成。
為了進(jìn)一步驗(yàn)證上述分析的正確性,搭建了圖2所示的網(wǎng)絡(luò)拓?fù)?,從MPLS Tunnel建立的兩個方向分別驗(yàn)證了SR與LDP互操作過程。驗(yàn)證結(jié)果發(fā)現(xiàn)兩個方向端到端MPLS Tunnel都能夠成功建立,完全符合預(yù)期。
4? ?SR與LDP互操作應(yīng)用場景
LDP和SR兩種標(biāo)簽轉(zhuǎn)發(fā)技術(shù)將長期共存,并互為補(bǔ)充。在運(yùn)營商實(shí)際網(wǎng)絡(luò)中,SR與LDP存在多種互操作的應(yīng)用場景。本文試著從LDP Tunnel保護(hù)、LDP Tunnel向SR Tunnel遷移、LDP Tunnel與SR Tunnel跨域互連等三個應(yīng)用場景對SR與LDP互操作進(jìn)行探討。
4.1? LDP Tunnel保護(hù)
為便于分析,以圖3為例,假設(shè)除FG的鏈路代價為30外,其它所有的鏈路代價都為10,所有路由器都使能LDP。X、Y、Z充當(dāng)PE路由器,為某個重要客戶提供VPN業(yè)務(wù),并要求提供50 ms的鏈路保護(hù)。同時,A、B、C、D、E、F、G也使能SR,但X、Y、Z還不具備支持SR的能力。
運(yùn)營商希望為X->Y的VPN業(yè)務(wù)提供鏈路BA的50 ms保護(hù)倒換,為X->Z的VPN業(yè)務(wù)提供鏈路BE的50 ms保護(hù)倒換。
基于環(huán)路避免備份路徑(Loop-Free Alternates, LFA)的IP FRR規(guī)范(RFC5286)給出了LFA存在的必要條件,表述如式(1):
式(1)中,S表示計(jì)算節(jié)點(diǎn),也即本地修復(fù)節(jié)點(diǎn)(PLR),N表示S的候選鄰居節(jié)點(diǎn),D表示目的節(jié)點(diǎn)。Distance (N, D)表示鄰居節(jié)點(diǎn)N到目的節(jié)點(diǎn)D的最短距離,Distance (N, S)表示鄰居節(jié)點(diǎn)N到修復(fù)節(jié)點(diǎn)S的最短距離,Distance (S, D)表示修復(fù)節(jié)點(diǎn)S到目的節(jié)點(diǎn)D的最短距離。對照圖3所示的拓?fù)?,?dāng)鏈路BA故障時,需要提供一條無環(huán)路的備份路徑。根據(jù)式(1),B即為S節(jié)點(diǎn),Y為目的節(jié)點(diǎn)D,C為B的唯一候選鄰居節(jié)點(diǎn)N。因此無法為鏈路BA提供基于LFA的IP FRR路徑。同樣,也無法為鏈路BE提供基于LFA的IP FRR路徑。
RFC7490提出了一種基本IP FRR的擴(kuò)展機(jī)制,通過構(gòu)建修復(fù)Tunnel方式(虛鄰居)提供環(huán)路避免備份路徑,以彌補(bǔ)RFC5286的不足,這種方式被稱為遠(yuǎn)端環(huán)路避免的備份路徑(Remote Loop-Free Alternate, RLFA)。根據(jù)RFC7490給出的方法,在圖3拓?fù)渲?,存在?jié)點(diǎn)D為被保護(hù)鏈路BA的PQ節(jié)點(diǎn)。因此,節(jié)點(diǎn)B到節(jié)點(diǎn)D的修復(fù)Tunnel可為鏈路BA提供一條RLFA。但是,對于鏈路BE故障的保護(hù),不存在PQ節(jié)點(diǎn),因此,當(dāng)鏈路BE故障時,無法為X->Z的VPN業(yè)務(wù)提供RLFA。然而,這種情況仍可通過有保證的FRR方案提供鏈路保護(hù)。
假設(shè)為節(jié)點(diǎn)A、B、C、D、E、F、G配置的Node-SID分別為101、102、103、104、105、106、107。配置節(jié)點(diǎn)D作為SRMS,分別代理不支持SR的X、Y、Z向全網(wǎng)通告Node與SID映射關(guān)系(X, 201)、(Y, 202)、(Z, 203),同時,節(jié)點(diǎn)F為鏈路FG通告ADJ-ID:9001。
P節(jié)點(diǎn)A、B、C、D、E、F、G以及PE節(jié)點(diǎn)X、Y、Z都使能LDP,因此X->Y以及X->Z的VPN業(yè)務(wù)在正常情況下可以通過端到端的LDP Tunnel承載。
例如,節(jié)點(diǎn)B的基于LDP的標(biāo)簽裝發(fā)表(LFIB)安裝的出入標(biāo)簽條目如下:
入標(biāo)簽:到FEC Y的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)A分發(fā)的FEC Y的LDP標(biāo)簽;
下一跳:節(jié)點(diǎn)A;
入標(biāo)簽:到FEC Z的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)E分發(fā)的FEC Z的LDP標(biāo)簽;
下一跳:節(jié)點(diǎn)E。
當(dāng)鏈路BA或BE故障時,端到端的LDP Tunnel不可用,此時需要為VPN業(yè)務(wù)提供RLFA或有保證的FRR備份路徑?;赗LFA備份路徑可依據(jù)RFC7490給出的方法自動計(jì)算得到,運(yùn)營商只需為被保護(hù)的鏈路使能RLFA機(jī)制,便可觸發(fā)備份路徑的計(jì)算和安裝。
運(yùn)營商希望LDP Tunnel的SR保護(hù)能夠滿足以下4個方面的需求:
◆消除T-LDP會話;
◆提供有保證的FRR備份路徑;
◆在穩(wěn)定狀態(tài)下,業(yè)務(wù)流仍能由LDP Tunnel承載;
◆SR僅按需在部分節(jié)點(diǎn)加以部署。
(1)消除T-LDP會話
根據(jù)上面的分析,節(jié)點(diǎn)D可為鏈路BA提供一條RLFA,因此,節(jié)點(diǎn)B為轉(zhuǎn)發(fā)到Y(jié)的業(yè)務(wù)流安裝的標(biāo)簽轉(zhuǎn)發(fā)條目如下:
入標(biāo)簽:到FEC Y的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)A分發(fā)的FEC Y的LDP標(biāo)簽;
備份出標(biāo)簽:節(jié)點(diǎn)Y的SID:202;
下一跳:節(jié)點(diǎn)A;
備份下一跳:經(jīng)由節(jié)點(diǎn)C的修復(fù)Tunnel到節(jié)點(diǎn)D: {104}。
當(dāng)鏈路BA發(fā)生故障時,節(jié)點(diǎn)B需要把到節(jié)點(diǎn)Y的業(yè)務(wù)流報文經(jīng)由修復(fù)Tunnel轉(zhuǎn)發(fā)到節(jié)點(diǎn)D,因此節(jié)點(diǎn)B把報文轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn)C時需攜帶2層SR標(biāo)簽{104, 202}。節(jié)點(diǎn)C彈出外層標(biāo)簽104并轉(zhuǎn)發(fā)到節(jié)點(diǎn)D,D根據(jù)SID: 202的下一跳轉(zhuǎn)發(fā)到節(jié)點(diǎn)A,由于A的下一跳Y不支持SR,因此節(jié)點(diǎn)A把入標(biāo)簽202交換成外出的LDP標(biāo)簽(Implicit Null),然后轉(zhuǎn)發(fā)到節(jié)點(diǎn)Y。
當(dāng)IGP收斂后,節(jié)點(diǎn)B的標(biāo)簽轉(zhuǎn)發(fā)條目重新生成:
入標(biāo)簽:到FEC Y的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)C分發(fā)的FEC Y的LDP標(biāo)簽;
下一跳:節(jié)點(diǎn)C。
因此,在穩(wěn)定狀態(tài)下X->Y的VPN業(yè)務(wù)重新由LDP Tunnel承載。
從上述分析中可以看到,SR提供LDP Tunnel保護(hù)可以消除T-LDP會話,而且在穩(wěn)定狀態(tài)下的業(yè)務(wù)仍然可由LDP Tunnel承載。SR部署僅局限于圖3中的P路由器。更為有利的是,無需網(wǎng)絡(luò)手工配置T-LDP會話,簡化操作維護(hù),減少設(shè)備運(yùn)行的信令和協(xié)議數(shù)量。
(2)提供有保證的FRR備份路徑
對于鏈路BE故障的保護(hù),由于擴(kuò)展P空間和Q空間沒有重合,因此,當(dāng)鏈路BE故障時,無法為X->Z的VPN業(yè)務(wù)提供RLFA。但是,節(jié)點(diǎn)G屬于鏈路BE的Q空間節(jié)點(diǎn),如果能夠指定一條從節(jié)點(diǎn)B->節(jié)點(diǎn)G的顯式路徑,當(dāng)報文到達(dá)節(jié)點(diǎn)G時,仍可以基于最短路徑到達(dá)目的節(jié)點(diǎn)Z,避免路徑折返到故障鏈路BE。這種方法被稱為有保證的FRR備份路徑。
節(jié)點(diǎn)B->Z標(biāo)簽轉(zhuǎn)發(fā)條目如下:
入標(biāo)簽:到FEC Z的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)E分發(fā)的FEC Z的LDP標(biāo)簽;
備份出標(biāo)簽:節(jié)點(diǎn)Z的SID: 203;
下一跳:節(jié)點(diǎn)E;
備份下一跳:經(jīng)由節(jié)點(diǎn)C的修復(fù)Tunnel到節(jié)點(diǎn)G: {106, 9001}。
當(dāng)鏈路BE發(fā)生故障時,節(jié)點(diǎn)B需要把到節(jié)點(diǎn)Z的業(yè)務(wù)流報文經(jīng)由修復(fù)Tunnel轉(zhuǎn)發(fā)到節(jié)點(diǎn)G,因此節(jié)點(diǎn)B把報文轉(zhuǎn)發(fā)到下一跳節(jié)點(diǎn)C時需攜帶3層SR標(biāo)簽{106, 9001, 203}。
當(dāng)IGP收斂后,節(jié)點(diǎn)B的標(biāo)簽轉(zhuǎn)發(fā)條目重新生成:
入標(biāo)簽:到FEC Z的本地LDP標(biāo)簽;
出標(biāo)簽:節(jié)點(diǎn)C分發(fā)的FEC Z的LDP標(biāo)簽;
下一跳:節(jié)點(diǎn)C。
因此,在穩(wěn)定狀態(tài)下X->Z的VPN業(yè)務(wù)重新由LDP Tunnel承載。
同樣,基于SR提供有保證的FRR備份路徑無需增加任何信令協(xié)議,也不需要在節(jié)點(diǎn)B和G之間建立T-LDP會話,簡化網(wǎng)絡(luò)操作。
4.2? 業(yè)務(wù)從LDP Tunnel向SR Tunnel遷移
前面分析了SR和LDP可以在網(wǎng)絡(luò)中和諧共存,不存在“非此即彼”的對立關(guān)系。因此,很容易實(shí)現(xiàn)業(yè)務(wù)從LDP Tunnel向SR Tunnel遷移。當(dāng)網(wǎng)絡(luò)設(shè)備同時使能LDP和SR時,由于在它們的標(biāo)簽轉(zhuǎn)發(fā)表中同時維護(hù)著互為獨(dú)立的兩份標(biāo)簽轉(zhuǎn)發(fā)條目,可以通過網(wǎng)管系統(tǒng)指定一部分業(yè)務(wù)(如新增業(yè)務(wù))改為SR Tunnel承載,其它業(yè)務(wù)(如原有業(yè)務(wù))仍由LDP Tunnel承載。并且可使用SR技術(shù)為LDP Tunnel提供業(yè)務(wù)保護(hù),提高網(wǎng)絡(luò)的生存性水平。
仍以圖1為例,最初所有P和PE設(shè)備都使能LDP,所有業(yè)務(wù)都由LDP Tunnel承載。當(dāng)全網(wǎng)設(shè)備都升級支持SR時,所有設(shè)備都維護(hù)互為獨(dú)立的兩份標(biāo)簽轉(zhuǎn)發(fā)條目。通過網(wǎng)管可以配置全網(wǎng)設(shè)備默認(rèn)選擇業(yè)務(wù)報文優(yōu)先使用LDP方式的MPLS封裝。在某個時候,運(yùn)營商希望PE2->任何其它PE的業(yè)務(wù)流換成基于SR的Tunnel承載,只需對PE2修改報文封裝策略:優(yōu)選SR標(biāo)簽轉(zhuǎn)發(fā)。這樣,PE2->任何其它PE的業(yè)務(wù)流報文按照SR標(biāo)簽轉(zhuǎn)發(fā),而除PE2外的所有業(yè)務(wù)流報文仍以LDP標(biāo)簽轉(zhuǎn)發(fā)。經(jīng)歷一段時間的運(yùn)行,運(yùn)營商發(fā)現(xiàn)基于SR Tunnel承載業(yè)務(wù)是個不錯的選擇,決定把所有業(yè)務(wù)全部遷移到SR Tunnel上來。這時,需要修改所有邊緣設(shè)備(如圖1中PE1、PE2、PE3、PE4)的報文封裝策略為SR標(biāo)簽封裝。雖然全網(wǎng)業(yè)務(wù)實(shí)現(xiàn)了SR Tunnel承載,但LDP還在正常運(yùn)行,運(yùn)營商可以根據(jù)意愿實(shí)現(xiàn)業(yè)務(wù)承載方式平滑切換。當(dāng)所有業(yè)務(wù)完成了向SR Tunnel承載遷移后,運(yùn)營商也可以考慮全網(wǎng)關(guān)閉LDP,最終達(dá)到簡化網(wǎng)絡(luò)的目的。
4.3? LDP Tunnel與SR Tunnel跨域互連
在SR網(wǎng)絡(luò)與LDP網(wǎng)絡(luò)長期共存當(dāng)中,可能出現(xiàn)這兩種網(wǎng)絡(luò)歸屬于不同運(yùn)營商或不同AS的情形,需要實(shí)現(xiàn)SR網(wǎng)絡(luò)與LDP網(wǎng)絡(luò)的跨域互聯(lián)互通,共同協(xié)作完成端到端的業(yè)務(wù)部署。一種典型的場景是MPLS L3VPN跨域,目前存在Option A/B/C三種MPLS L3VPN跨域?qū)崿F(xiàn)方式,Option C擴(kuò)展性好,更適合運(yùn)營商開展大規(guī)模VPN業(yè)務(wù)的部署。現(xiàn)以O(shè)ption C方式為例分析分屬不同AS的兩種網(wǎng)絡(luò)跨域互連方法。圖4給出跨域Option C方式示意圖:
假設(shè)AS1網(wǎng)絡(luò)使能SR,而AS2網(wǎng)絡(luò)使能LDP,PE1<->PE2的L3VPN跨域采用Option C方式。PE1與PE2之間通過多跳MP-EBGP交換客戶VPN路由,B1與B2之間通過EBGP擴(kuò)展發(fā)布各自AS域內(nèi)帶公網(wǎng)標(biāo)簽的PE地址信息,并在AS內(nèi)通過IBGP擴(kuò)展傳遞到PE。如:B2向B1發(fā)布PE2的loopback地址,攜帶的公網(wǎng)標(biāo)簽為1000,B1在LFIB的出標(biāo)簽中保存該P(yáng)E地址與標(biāo)簽的映射關(guān)系,同時為通告的PE地址生成另一個入標(biāo)簽(如標(biāo)簽2000)并向PE1傳遞,使下一跳為B1自身。于是PE1轉(zhuǎn)發(fā)到PE2的MPLS VPN報文將攜帶3層標(biāo)簽:頂層標(biāo)簽為到B1的SR標(biāo)簽,中間層標(biāo)簽為PE2的公網(wǎng)標(biāo)簽2000,最底層標(biāo)簽為PE2的客戶路由標(biāo)簽。當(dāng)頂層SR標(biāo)簽經(jīng)逐跳交換到達(dá)B1時彈出外層標(biāo)簽,此時中間層標(biāo)簽變成了頂層標(biāo)簽,B1查找LFIB,把入標(biāo)簽2000交換成出標(biāo)簽1000,由于頂層標(biāo)簽1000是由B2發(fā)布的,因此B1把攜帶2層標(biāo)簽的報文轉(zhuǎn)發(fā)給B2,B2把標(biāo)簽1000替換成上游(P2)經(jīng)由LDP分發(fā)的外出標(biāo)簽,經(jīng)過逐跳LDP標(biāo)簽轉(zhuǎn)發(fā),這個MPLS VPN報文最終到達(dá)PE2。
從上述跨域路由交換以及標(biāo)簽轉(zhuǎn)發(fā)過程來看,AS1網(wǎng)絡(luò)采用SR標(biāo)簽交換,AS2網(wǎng)絡(luò)采用LDP標(biāo)簽交換。AS1中的SR Tunnel與AS2中的LDP Tunnel實(shí)現(xiàn)無縫對接。兩個自治域網(wǎng)絡(luò)采用各自獨(dú)立的標(biāo)簽轉(zhuǎn)發(fā)方式,無需對網(wǎng)絡(luò)邊界設(shè)備進(jìn)行任何適配和增強(qiáng),即可實(shí)現(xiàn)良好的互操作。
5? ?結(jié)束語
本文全面深入地分析了SR與LDP兩種標(biāo)簽交換技術(shù)在網(wǎng)絡(luò)中共存及互操作的技術(shù)原理,并搭建實(shí)驗(yàn)環(huán)境驗(yàn)證了SR與LDP互操作技術(shù)的可實(shí)現(xiàn)性。同時結(jié)合運(yùn)營商網(wǎng)絡(luò)引入SR技術(shù)的三種典型應(yīng)用場景深入探討了SR與LDP互操作性。通過對SR與LDP互操作進(jìn)行全面分析和探討,發(fā)現(xiàn)SR可以代替LDP來實(shí)現(xiàn)MPLS隧道建立、無環(huán)路保護(hù)、FRR、流量工程等功能,網(wǎng)絡(luò)設(shè)備無需支持傳統(tǒng)MPLS網(wǎng)絡(luò)中復(fù)雜的LDP及RSVP-TE協(xié)議,極大地降低了設(shè)備控制面要求。而且,SR與LDP具有良好的互操作性保證了SR Tunnel和LDP Tunnel無縫對接。通過在LDP網(wǎng)絡(luò)中按需部署SR技術(shù),可彌補(bǔ)LDP在流量工程、業(yè)務(wù)保護(hù)能力方面的不足,并且可以簡化網(wǎng)絡(luò)運(yùn)維??梢哉雇?,隨著5G商用化進(jìn)程的加速,在IP RAN引入SR技術(shù),實(shí)現(xiàn)多種應(yīng)用場景下SR與LDP互操作,能夠滿足5G場景下大帶寬流量調(diào)度、低時延應(yīng)用、泛在連接、網(wǎng)絡(luò)分片等差異化承載需求。
參考文獻(xiàn):
[1] L Andersson, Ed Acreo AB, I Minei. RFC5036 LDP Specification[S]. 2007.
[2] M Jork, L Fang. RFC5433 LDP IGP Synchronization[S]. 2009.
[3] D Awduche, L Berger, D Gan, et al. RFC3209 RSVP-TE: Extensions to RSVP for LSP Tunnels[S]. 2001.
[4] S Previdi Ed, C Filsfils Ed, B Decraene, et al. RFC7855 SPRING Problem Statement and Requirements[S]. 2016.
[5] C Filsfils Ed, S Previdi Ed, B Decraene, et al. Segment Routing Architecture[S]. 2018.
[6] C Filsfils Ed, S Previdi Ed, A Bashandyet, et al. Segment Routing interoperability with LDP[S]. 2018.
[7] S Bryant Ed, A Farrel Ed, J Drake, et al. MPLS Segment Routing in IP Networks[S]. 2018.
[8] 何曉明,冀暉,毛東峰,等. 電信IP網(wǎng)向SDN演進(jìn)的探討[J]. 電信科學(xué), 2014(6): 131-137.
[9] A Atlas Ed, A Zinin Ed. RFC 5286 Basic Specification for IP Fast Reroute: Loop-Free Alternates[S]. 2008.
[10] S Bryant, C Filsfils, S Previdi, et al. RFC 7490 Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)[S]. 2015.
[11] E Rosen. RFC 4364 BGP/MPLS IP Virtual Private Networks (VPNs)[S]. 2006.
[12] S Previdi Ed, C Filsfils, A Bashandy, et al. IS-IS Extensions for Segment Routing[S]. 2018.
[13] P Psenak Ed, S Previdi Ed, C Filsfils, et al. OSPF Extensions for Segment Routing[S]. 2018.
[14] S Previdi Ed, C Filsfils, S Ray, et al. Segment Routing Egress Peer Engineering BGP-LS Extensions[S]. 2018.