MPLS TE快速重路由技術白皮書
關鍵詞:MPLS,MPLS TE,RSVP TE,FRR,Detour,Facility
摘 要:MPLS TE快速重路由是一項實現MPLS網絡局部保護的技術,在布署了MPLS TE快速重路由的MPLS網絡中,當某處出現鏈路或節點失效時,經過失效的鏈路或節點的LSP上承載的流量將重新快速地切換到保護鏈路上。本文結合H3C公司的MPLS TE FRR實現,對MPLS TE FRR技術的各個方麵進行了介紹,並給出了相關的應用組網。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
MPLS | Multiprotocol Label Switching | 多協議標簽交換 |
MPLS TE | MPLS Traffic Engineering | 多協議標簽交換流量工程 |
RSVP | Resource reSerVation Protocol | 資源預留協議 |
RSVP-TE | RSVP Traffic Engineering extension protocol | RSVP流量工程擴展協議 |
LSP | Label Switched Path | 標簽交換路徑 |
ERO | Explicit Route Object | 顯式路由對象 |
RRO | Record Route Object | 記錄路由對象 |
CSPF | Constraint-based Shortest Path First | 受約束的最短路徑優先算法 |
PLR | Point of Local Repair | 本地修複節點 |
MP | Merge Point | 合入節點 |
FRR | Fast ReRoute | 快速重路由 |
NHOP | Next-Hop | 下一跳 |
NNHOP | Next Next-Hop | 下下一跳 |
BFD | Bidirectional Forwarding Detection | 雙向轉發檢測 |
DoD | Downstream-on-Demand | 下遊按請求分配 |
LSR | Label Switching Router | 標簽交換路由器 |
目 錄
MPLS TE網絡中一般都需要實施快速重路由保護,這主要是由MPLS TE自身的特點決定的。
對於純IP網絡,當局部失效出現的時候,如果到同一個目的地的還有其他路由可以使用,報文會按照這些路由進行轉發。在失效引起的路由變化擴散到全網之前,僅靠這種機製就可以比較快速地在局部實現失效保護。
在沒有布署TE的MPLS網絡,現在應用比較多的是LDP按照DU方式建立LSP。當局部失效出現時,如果還有其他路由可用,LDP會向上遊節點發起LSP的建立。由於沒有考慮到帶寬、優先級和鏈路屬性等TE有關的需求,這個LSP建立成功的機會相對較大,因此從失效到恢複的過程也相對較短。
在MPLS TE網絡中,LSP的建立一般是通過RSVP協議按照DoD的方式完成的。在頭節點,CSPF利用域內所有路由信息計算出一條滿足約束條件的路徑,RSVP按照這個路徑建立LSP。當網絡中有局部失效時,需要重建整條LSP。而在失效引起的路由改變擴散到頭節點之前,CSPF無法算出有效的路徑。另外,局部失效可能會引起網絡中多條LSP的重建。這樣一來,利用新計算出來的路徑建立LSP的過程中,出現帶寬不夠等問題的機會比較大。因此,與純IP網絡和沒有布署TE的MPLS網絡比較而言,MPLS TE網絡從局部失效中恢複的時間可能會更長,更需要一種能快速響應失效的機製。
MPLS TE快速重路由通過預先建立備份路徑,實現了對TE隧道的快速保護倒換能力,從而減少數據丟失。
MPLS TE快速重路由是MPLS TE中用於鏈路保護和節點保護的機製,在MPLS TE網絡中扮演了重要角色。MPLS TE快速重路由事先建立本地備份路徑,保護LSP不會受鏈路/節點故障的影響,當故障發生時,檢測到鏈路/節點故障的設備就可以快速將業務從故障鏈路切換到備份路徑上,從而減少數據丟失。
快速響應、及時切換是MPLS TE快速重路由的特點,它可以將業務中斷的時間控製在一個很小的時間段,保證業務數據的平滑過渡;同時,LSP的頭節點會嚐試尋找新的路徑來重新建立LSP,並將數據切換到新路徑上,在新的LSP建立成功之前,業務數據會一直通過保護路徑轉發。
由於需要預先建立備份路徑,MPLS TE快速重路由會占用額外的帶寬。在網絡帶寬餘量不多的情況下,隻能對關鍵的接口進行快速重路由保護,這一點是部署MPLS TE快速重路由時需要注意的。
l 主LSP:被保護的LSP。
l 保護LSP:用來保護主LSP的LSP。
l Detour LSP:為每一條需要保護的LSP創建一條保護路徑,該保護路徑稱為Detour LSP。
l Bypass LSP:用一條保護路徑保護多條LSP,該保護路徑稱為Bypass LSP。
l PLR:Detour LSP或Bypass LSP的頭節點,它必須在主LSP的路徑上,且不能是尾節點。
l MP:Detour LSP或Bypass LSP的尾節點,必須在主LSP的路徑上,且不能是頭節點。
l 鏈路保護:PLR和MP之間由直接鏈路連接,主LSP經過這條鏈路。當這條鏈路失效的時候,可以切換到Detour LSP或Bypass LSP上。
l 節點保護:PLR和MP之間通過一個LSR設備連接,主LSP經過這個LSR設備。當這個LSR設備失效時,可以切換到Detour LSP或Bypass LSP上。
MPLS TE快速重路由的基本原理是用一條預先建立的LSP來保護一條或多條LSP。預先建立的LSP稱為保護LSP,被保護的LSP稱為主LSP。MPLS TE快速重路由的最終目的就是利用保護LSP繞過故障的鏈路或者節點,從而達到保護主LSP的目的。
根據保護的對象不同,FRR分為兩類:
l 鏈路保護:PLR和MP之間由直連鏈路連接,主LSP經過這條鏈路。當這條鏈路失效時,流量可以切換到保護LSP上。如圖1所示,主LSP是Router A→Router B→Router C→Router D,保護LSP是Router B→Router F→Router C。
圖1 FRR鏈路保護示意圖
l 節點保護:PLR和MP之間通過一台設備連接,主LSP經過這台設備。當這台設備失效時,流量可以切換到保護LSP上。如圖2所示,主LSP是Router A→Router B→Router C→Router D→Router E,保護LSP是Router B→Router F→Router D,Router C是被保護的設備。
圖2 FRR節點保護示意圖
實現快速重路由有兩種方式:
l Detour方式:One-to-one Backup,分別為每一條被保護LSP提供保護,即為每一條被保護LSP創建一條保護路徑,該保護路徑稱為Detour LSP。
l Bypass方式:Facility Backup,用一條保護路徑保護多條LSP,該保護路徑稱為Bypass LSP。
Detour方式實現了每條LSP的單獨保護,但需要的開銷相對較大。在實際使用中,Bypass方式被更廣泛使用。目前,Comware隻支持Bypass方式。
圖3 Bypass方式快速重路由
Bypass方式快速重路由如圖3所示,Router A→Router B→Router C→Router D→Router E為主LSP,Router B→Router F→Router D為Bypass LSP。當Router B到Router C的鏈路失效或節點Router C失效時,主LSP上的數據會切換到Bypass LSP上。從Router B出去的報文頭先壓入Router D為Router C分配的標簽,再壓入Bypass LSP的標簽,即Router F為Router B分配的標簽。也就是,在Router B→Router F→Router D這條路徑上,LSP使用兩層標簽。Router D收到的報文,彈出Router D為Router F分配的標簽以後(如果Bypass LSP的Router D為Router F分配的標簽是隱式空標簽,那麼Router F做彈出標簽操作,不壓隱式空標簽,Router D收到的報文隻有Router D為Router C分配的標簽),繼續用Router D為Router C分配的標簽進行轉發。
MPLS TE快速重路由基於RSVP TE。為了實現快速重路由功能,需要擴展RSVP消息中SESSION_ATTRIBUT和RECORD_ROUTE對象的幾個標誌位:
l PATH消息的SESSION_ATTRIBUT對象中,使用標誌位指明該LSP是否需要局部保護、是否記錄標簽、是否為SE風格、是否有要保護帶寬。
l RESV消息的RECORD_ROUTE對象中,使用標誌位指明該LSP是否已經被保護、是否已經切換、是否被保護了帶寬、是否是被節點保護。
被保護LSP的建立與普通LSP的建立的區別就在於這幾個標誌位的處理。
下麵將結合圖3從以下幾個方麵詳細介紹Bypass方式快速重路由:
l 主LSP的建立
l Bypass LSP的建立
l 綁定計算
l 失效檢測
l 切換過程
l 切換後LSP的維護
l 重優化
主LSP的建立過程與普通LSP基本相同,隻是增加了綁定計算,並在PATH和RESV消息中增加了幾個相關標記和子對象。
RSVP從頭節點(圖3中的Router A)逐跳向下遊發送PATH消息(經過Router A→Router B→Router C→Router D→Router E),從尾節點(圖3中的Router E)逐跳向上遊發送RESV消息。在處理RESV消息時分配標簽,預留資源,建立LSP。
主LSP的建立是通過在頭節點(Router A)手工配置隧道來觸發的。在建立主LSP前,如果通過命令指定該LSP具有快速重路由屬性,RSVP就會在PATH消息的SESSION_ATTRIBUTE對象中增加局部保護標記、記錄標簽標記、SE風格標記。如果還為該LSP指定了帶寬,則還會增加帶寬保護的標記。下遊節點在收到PATH消息以後,通過局部保護標記,就能分辨出該LSP是一條需要快速重路由保護的LSP。
對需要快速重路由保護的LSP(根據先前的PATH消息中的標記判斷),各個節點向上遊發送RESV消息時,會在RRO中記錄RESV消息的出接口、LSR ID和標簽。這些信息被逐跳累計傳遞到各個上遊節點。
各節點第一次收到RESV消息時,根據RRO中記錄的這些信息,為該LSP選擇合適的Bypass LSP。為主LSP選擇合適的Bypass LSP的過程稱為綁定,綁定的具體算法請參見“2.3.3 綁定計算”。
當一個沒有快速重路由屬性的隧道被指定保護一個接口以後,它所對應的LSP就成為Bypass LSP。
Bypass LSP(Router B上的Tunnel2)的建立是通過在PLR(Router B)手工配置觸發的。Bypass LSP可以被指定保護多個接口,但不能保護它自己的出接口。它的配置與普通LSP的區別為:
l 不能為Bypass LSP配置快速重路由屬性。也就是說,Bypass LSP不能同時是主LSP,LSP不能被嵌套保護。
l 除了Bypass LSP的帶寬之外,還需要配置保護帶寬。
快速重路由隻能進行鏈路保護或節點保護。在配置建立一條Bypass LSP時就應該規劃好它所保護的鏈路或節點,並且要確保該Bypass LSP不會經過它所保護的鏈路或節點。否則,即使Bypass LSP建立成功,主LSP與它綁定計算成功,也不能真正起到保護作用。
Bypass LSP的帶寬一般是用於保護主LSP的,Bypass LSP上所有資源僅為切換後使用。用戶在配置時需要保證Bypass LSP的帶寬大於等於被保護的所有LSP所需的帶寬和,否則會有主LSP不能綁定到Bypass LSP上。
綁定計算是為一條主LSP綁定Bypass LSP的過程。綁定計算是為了獲取切換時轉發所需要的必要數據,如Bypass隧道接口、Bypass LSP的NHLFE、MP分配的標簽等。計算結果將保存下來,當發生局部失效的時候可以立即使用,這也是MPLS TE快速重路由可以迅速響應失效的原因。綁定計算必須在切換之前完成,如果綁定計算成功,RESV會向上遊節點通告該主LSP已經被保護。
當有多條Bypass LSP保護同一條主LSP時,按下麵的規則選擇Bypass LSP:
l 節點保護優先於鏈路保護。
l 優先選擇剩餘帶寬大於等於主LSP帶寬的Bypass LSP。
失效檢測的目標是盡快發現鏈路和節點失效並觸發切換,縮短流量中斷的時間。
可以通過三種方法檢測鏈路或節點失效:
l 鏈路層協議檢測:鏈路層發現失效的速度跟接口類型直接相關。
l RSVP的hello機製:為每個需要保護的物理接口使能hello,當對端接口也使能了hello,就會在兩個LSR設備之間定時發送hello消息和回應。當鏈路或節點失效的時候,hello消息或回應消息會丟失,如果連續三次丟失消息,認為有失效發生。hello機製檢測失效的速度相對比較慢。
l 利用BFD檢測鄰居連通性:BFD是一種快速檢測機製,利用BFD可以迅速檢測到鏈路或節點失效。
切換是指啟用Bypass LSP,主LSP的流量和RSVP協議消息都不再通過失效鏈路或節點轉發。
轉發的數據首先切換到Bypass LSP。在進行綁定計算時,數據轉發所需要的內層標簽2001(MP分配的標簽)已經存放在NHLFE中,這時隻要標記該LSP已經切換,數據就可以通過Bypass隧道進行轉發了。
切換以後,原有鏈路不再可用。為使LSP不被超時刪掉,RSVP需要在PLR(Router B)和MP(Router D)之間維持消息刷新。
PATH消息經過修改以後通過Bypass隧道(Router B的Tunnel2)發給MP。MP收到PATH消息,確認自己是MP節點,RESV消息也經過修改以後經過多跳IP轉發(經過Router D→Router F→Router B),發送給PLR節點。
切換以後,主LSP的PathTEAR、ResvERR、RescTEAR和PathERR消息的發送路徑也相應變化。
在節點保護切換以後,被保護的節點(Router C)可能會因為PATH消息超時而向下遊發送PATHTEAR消息,MP(Router D)節點會忽略這個消息。另外,MP切換的時候會在原來的LSP入接口(Router D的Ethernet1/3)上發ResvTear消息,這樣可以讓被保護的節點(Router C)盡快釋放相應的資源。
重優化是指按照配置的時間間隔定時對已經建成的LSP進行路徑計算,LSR設備按照計算出來的路徑發起新的LSP建立過程。新的LSP建立成功以後會刪除原來的LSP,LSP隧道的轉發切換到新的LSP上來。
每條LSP隧道都可以配置重優化,當LSP建成以後,重優化就會啟動。
對快速重路由來說,重優化的另一個作用是讓被Bypass保護的主隧道(Router A的Tunnel1)恢複到正常狀態。因為快速重路由保護主要用於臨時性保護,所以一般需要為有快速重路由屬性的隧道配置重優化。當主LSP還沒有切換時,隻有重優化計算出來的路徑與原有路徑不同時才會建立新的LSP;當主LSP發生了切換,即使重優化計算出來的路徑與原有路徑相同也會建立新的LSP。
在網絡中的關鍵節點上配置FRR保護,可以實現對通過該節點流量的保護。
如圖4所示,運營商對用戶提供了帶寬批發業務,使用MPLS TE隧道接入用戶的連接,使異地的用戶網絡通過運營商網絡連接。因為承載業務為重要的業務,因此需要對主LSP Tunnel1經過的路徑進行保護。利用MPLS TE FRR,可以實現通過保護路徑Tunnel2、Tunnel3、Tunnel4和Tunnel5分別保護主LSP路徑上的Router B、Router C、Router D和Router E。
l RFC 3209:RSVP-TE: Extension to RSVP for LSP Tunnels
l RFC 4090:Fast Reroute Extensions to RSVP-TE for LSP Tunnels
l Internet Draft, “draft-ietf-mpls-nodeid-subobject-01”
Copyright ©2008 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。