隨著運(yùn)營商網(wǎng)絡(luò)ALL IP的演進(jìn)飘蚯,LTE對IP網(wǎng)絡(luò)流量的快速倒換也提出了更高的要求,新的架構(gòu)需要在小于50ms的時間內(nèi)完成業(yè)務(wù)的倒換,Remote LFA技術(shù)是當(dāng)前主流的解決方案踩蔚。
一、目前的IP網(wǎng)絡(luò)囱嫩,在某個節(jié)點(diǎn)故障后實(shí)現(xiàn)流量的切換有兩種方式:
- 路由快速收斂:節(jié)點(diǎn)故障后五督,路由協(xié)議重新收斂,流量按照新計算出來的路徑轉(zhuǎn)發(fā),流量切換速度比較慢。以O(shè)SPF/ISIS鏈路狀態(tài)路由協(xié)議來說,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)故障后庇绽,會經(jīng)歷幾個步驟:檢測到故障,產(chǎn)生鏈路狀態(tài)更新橙困,泛洪到整個網(wǎng)絡(luò)瞧掺,重新計算路由表安裝進(jìn)FIB表。這樣的收斂速度是很慢的凡傅,通常在1S以上了辟狈,為了加快IGP路由協(xié)議的收斂速度,可以利用BFD快速檢測關(guān)聯(lián)路由協(xié)議來加速收斂夏跷,但是速度依然在幾百毫秒哼转。
- IP FRR方式:在網(wǎng)絡(luò)節(jié)點(diǎn)故障前就計算出一條備份路徑,網(wǎng)絡(luò)節(jié)點(diǎn)故障時快速切換流量槽华,切換速度50ms以內(nèi)壹蔓。早期LFA IP FRR是基于2008年發(fā)布的RFC5286來實(shí)現(xiàn)的,但是只有部分節(jié)點(diǎn)可以計算出備份路徑猫态;后來RLFA IP FRR基于2015年發(fā)布的RFC7490來實(shí)現(xiàn)佣蓉,可以實(shí)現(xiàn)大部分網(wǎng)絡(luò)節(jié)點(diǎn)可以計算出備份路徑
二披摄、IP FRR:Loop-Free Alternates(LFA)
基于SPF算法,計算出備份路徑勇凭,網(wǎng)絡(luò)節(jié)點(diǎn)故障時疚膊,快速切換流量到備份路徑,無需等待路由收斂虾标。以RFC5286第三頁舉的這個例子為例:
A neighbor N can provide a loop-free alternate (LFA) if and only if :Distance_opt(N, D) < Distance_opt(N, S) + Distance_opt(S, D)
特別注意寓盗,這里是a neighbor不是remote neighbor,所以RFC5286計算出來的LFA永遠(yuǎn)是S的相連的鄰居LFA是基于SPF算法的璧函,所有路由器都有整個區(qū)域的路由器的鏈路狀態(tài)信息傀蚌,路由器S根據(jù)SPF算法計算出到目的路由器D的主用下一條是E,然后再計算上面的不等式:
- Distance_opt(N, D) < Distance_opt(N, S) + Distance_opt(S, D)發(fā)現(xiàn)3<8+9不等式成立柳譬,選擇N為loop-free alternate喳张,也就是備份下一跳续镇。
- Distance_opt(N, D):備份下一跳到目的節(jié)點(diǎn)的cost值
- Distance_opt(N, S):備份節(jié)點(diǎn)到始發(fā)節(jié)點(diǎn)的cost值
- Distance_opt(S, D):始發(fā)節(jié)點(diǎn)到目的節(jié)點(diǎn)的cost值
無意間在網(wǎng)上找了一本書美澳,里面的一個列子也挺好《MPLS in the SDN Era》
PE4為始發(fā)節(jié)點(diǎn),P1為目的節(jié)點(diǎn):
- 主用路徑計算摸航。始發(fā)節(jié)點(diǎn)根據(jù)SPF算法計算出到達(dá)目的節(jié)點(diǎn)P1的最短路徑:PE4->P2->PE2->PE1->P1制跟,cost為550,P2為主用下一跳
- 備用路徑計算酱虎。始發(fā)節(jié)點(diǎn)還有3個鄰居P6雨膨,P5,PE3读串,分別計算是否滿足不等式聊记,最終滿足不等式的為P5,作為備用下一跳:
P6:Distance_opt(P6, P1) < Distance_opt(P6, PE4) + Distance_opt(PE4, P1)恢暖,750(P6->PE4->P2->PE2->PE1->P1)<200(P6->PE4)+550(PE4->P2->PE2->PE1->P1)等式不成立排监,P6不能作為LFA
P5:Distance_opt(P5, P1) < Distance_opt(P5, PE4) + Distance_opt(PE4, P1),600(P5->P3->P1)<100(P5->PE4)+550(PE4->P2->PE2->PE1->P1)等式不成立杰捂,P5作為LFA
PE3:顯然也不滿足
LFA存在的問題:
- 必須得滿足不等式才可以作為LFA舆床,只能保證一部分節(jié)點(diǎn)有LFA
- 對于環(huán)形組網(wǎng)會出現(xiàn)micro loop。還是以RFC5286舉例
部署了LFA后嫁佳,到目的節(jié)點(diǎn)D挨队,起始節(jié)點(diǎn)S和節(jié)點(diǎn)N是互為LFA的,但是如果節(jié)點(diǎn)E失效蒿往,節(jié)點(diǎn)S回把流量轉(zhuǎn)發(fā)給LFA N盛垦,節(jié)點(diǎn)N又回把流量轉(zhuǎn)發(fā)給LFA S,形成nicro loop
三瓤漏、IP FRR:Remote Loop-Free Alternate(RLFA)
LFA計算出來的備份下一跳永遠(yuǎn)是他的直連鄰居腾夯,RLFA通過tunnel技術(shù)省撑,將遠(yuǎn)端的PQ節(jié)點(diǎn)作為備份下一跳, 使得LFA做了很好的擴(kuò)展俯在,能夠保證更多的節(jié)點(diǎn)有備份下一跳
幾個概念竟秫,以RFC7490第四頁拓?fù)錇槔琒->E為需要保護(hù)的鏈路跷乐,對于S節(jié)點(diǎn):
- P-Space:S節(jié)點(diǎn)能夠到達(dá)的這些節(jié)點(diǎn)的集合肥败,基于SPF算法S節(jié)點(diǎn)到達(dá)這些節(jié)點(diǎn)的最短路徑不經(jīng)過保護(hù)鏈路S->E,排除掉等價路徑經(jīng)過保護(hù)鏈路S->E的節(jié)點(diǎn)愕提。上面的拓?fù)渲蠸基于SPF算法到達(dá)A馒稍,B,C節(jié)點(diǎn)的路徑可以不經(jīng)過保護(hù)鏈路S->E浅侨,但是S到C的一條等價路徑S->E->D->C經(jīng)過了保護(hù)鏈路纽谒,所以C不能算作P-Space
- Q-Space:能夠到達(dá)E節(jié)點(diǎn)的這些節(jié)點(diǎn)的集合,基于SPF算法能到達(dá)E的這些節(jié)點(diǎn)的最短路徑不經(jīng)過保護(hù)鏈路S->E如输,排除掉等價路徑經(jīng)過保護(hù)鏈路S->E的節(jié)點(diǎn)鼓黔。上面拓?fù)渲蠦,C不见,D節(jié)點(diǎn)基于SPF算法到達(dá)E節(jié)點(diǎn)的路徑可以不經(jīng)過保護(hù)鏈路S->E澳化,但是B節(jié)點(diǎn)有一條等價路徑經(jīng)過了保護(hù)鏈路S->E,所以Q-Space是C稳吮,D
- PQ點(diǎn):P-Space和Q-Space的交集就是PQ點(diǎn)缎谷。當(dāng)算不出PQ點(diǎn)的時候,就需要運(yùn)行Extended P-space來進(jìn)一步計算灶似。
- Extended P-space:再次以S節(jié)點(diǎn)的鄰居A為根節(jié)點(diǎn)來計算出P-Space為B列林,C,那么最終的Extended P-space為A酪惭,B希痴,C,由于Q-Space為C撞蚕,D润梯,所以交集為C,C為節(jié)點(diǎn)S到E鏈路的PQ點(diǎn)甥厦,作為RLFA纺铭。
RLFA的設(shè)計思想:選擇這么一個PQ節(jié)點(diǎn)作為RLFA,源節(jié)點(diǎn)S與RLFA之間建立tunnel刀疙,在不經(jīng)過需要保護(hù)鏈路的前提下舶赔,源節(jié)點(diǎn)S首先通過屬于P-Space LSP將流量轉(zhuǎn)發(fā)給它,然后它通過屬于Q-Space LSP將流量轉(zhuǎn)發(fā)給目的節(jié)點(diǎn)E谦秧,這樣以來竟纳,RLFA不再局限于LFA的苛刻條件撵溃,能夠保證更多的節(jié)點(diǎn)有RLFA,另外锥累,當(dāng)需要保護(hù)鏈路中斷缘挑,會首先把流量轉(zhuǎn)發(fā)給遠(yuǎn)端的PQ而不是直連鄰居,可以避免micro loop的出現(xiàn)桶略。
以《MPLS in the SDN Era》書中的例子语淘,S->E為需要保護(hù)的鏈路
- P-Space計算:PE1節(jié)點(diǎn)計算出到達(dá)PE2,P2际歼,P4惶翻,P6,PE4鹅心,PE3吕粗,P5節(jié)點(diǎn)的最短路徑不經(jīng)過保護(hù)路徑
- Q-Space計算:PE1節(jié)點(diǎn)計算出只有P5,P3節(jié)點(diǎn)到達(dá)P1節(jié)點(diǎn)不經(jīng)過保護(hù)鏈路
- PQ點(diǎn):P-Space為PE2旭愧,P2颅筋,P4,P6榕茧,PE4垃沦,PE3客给,P5用押;Q-Space為P5,P3靶剑;PQ點(diǎn)為P5