02-MPLS TE配置
本章節下載: 02-MPLS TE配置 (860.21 KB)
目 錄
1.14.4 配置MPLS TE隧道的周期性LSP Tracert功能
1.17.1 使用靜態CR-LSP配置MPLS TE隧道示例
1.17.3 使用RSVP-TE配置跨域的MPLS TE隧道示例
1.17.8 配置MPLS L3VPN中的MPLS TE示例
(1) 流量工程的作用
網絡擁塞是影響骨幹網絡性能的主要問題。擁塞的原因可能是網絡資源不足,也可能網絡資源負載不均衡導致的局部擁塞。TE(Traffic Engineering,流量工程)解決的是由於負載不均衡導致的擁塞。
流量工程通過實時監控網絡的流量和網絡單元的負載,動態調整流量管理參數、路由參數和資源約束參數等,使網絡運行狀態遷移到理想狀態,優化網絡資源的使用,避免負載不均衡導致的擁塞。
總的來說,流量工程的性能指標包括兩個方麵:
· 麵向業務的性能指標:增強業務的QoS(Quality of Service,服務質量)性能,例如對分組丟失、時延、吞吐量以及SLA(Service Level Agreement,服務等級協定)的影響。
· 麵向資源的性能指標:優化資源利用。帶寬是一種重要的資源,對帶寬資源進行高效管理是流量工程的一項中心任務。
(2) 流量工程的解決方案
現有的IGP協議都是拓撲驅動的,隻考慮網絡的連接情況,不能靈活反映帶寬和流量特性這類動態狀況。
解決IGP上述缺點的方法之一是使用重疊模型(Overlay),如IP over ATM、IP over FR等。重疊模型在網絡的物理拓撲結構之上提供了一個虛擬拓撲結構,從而擴展了網絡設計的空間,為支持流量與資源控製提供了許多重要功能,可以實現多種流量工程策略。然而,由於協議之間往往存在很大差異,重疊模型在可擴展性方麵存在不足。
為了在大型骨幹網絡中部署流量工程,必須采用一種可擴展性好、簡單的解決方案。MPLS TE就是為這一需求而提出的。
MPLS本身具有一些不同於IGP的特性,其中就有實現流量工程所需要的,例如:
· MPLS支持顯式LSP路由;
· LSP較傳統單個IP分組轉發更便於管理和維護;
· 基於MPLS的流量工程的資源消耗較其它實現方式更低。
MPLS TE結合了MPLS技術與流量工程,通過建立到達指定路徑的LSP隧道進行資源預留,使網絡流量繞開擁塞節點,達到平衡網絡流量的目的。
在資源緊張的情況下,MPLS TE能夠搶占低優先級LSP隧道帶寬資源,滿足大帶寬LSP或重要用戶的需求。
同時,當LSP隧道故障或網絡的某一節點發生擁塞時,MPLS TE可以通過備份路徑和FRR(Fast Reroute,快速重路由)提供保護。
使用MPLS TE,網絡管理員隻需要建立一些LSP和旁路擁塞節點,就可以消除網絡擁塞。隨著LSP數量的增長,還可以使用專門的離線工具進行業務量分析。
對於一條LSP,一旦在Ingress節點給報文打上標簽,流量的轉發就完全由標簽決定了。流量對LSP的中間節點是透明的,從這個意義上來說,一條LSP可以看作是一條LSP隧道。
在部署重路由(Reroute)或需要將流量通過多條路徑傳輸時,可能需要用到多條LSP隧道。在TE中,這樣的一組LSP隧道稱為TE隧道(Traffic Engineered Tunnel)。
MPLS TE主要實現兩類功能:
· 靜態CR-LSP(Constraint-based Routed Label Switched Paths,基於約束路由的LSP)的處理:創建和刪除靜態CR-LSP。靜態CR-LSP的帶寬需要手工指定。
· 動態CR-LSP處理:包括對三種不同類型CR-LSP的處理:基本CR-LSP、備份CR-LSP和快速重路由CR-LSP。
靜態CR-LSP的處理比較簡單。對於動態CR-LSP,MPLS TE在實現上主要包括四個部分。
MPLS TE需要了解每條鏈路的動態TE相關屬性,這可以通過對現有的使用鏈路狀態算法的IGP協議進行擴展來實現,比如OSPF協議和IS-IS協議的擴展。
擴展後的OSPF和IS-IS協議在鏈路連接狀態中增加了鏈路帶寬、著色等TE相關屬性。其中,鏈路的最大可預留帶寬和每個優先級的鏈路未被預留帶寬尤為重要。
每台設備收集本區域或本級別所有設備每條鏈路的TE相關信息,生成TEDB(TE DataBase,流量工程數據庫)。
使用鏈路狀態算法的路由協議通過SPF(Shortest Path First,最短路徑優先)算法計算出到達網絡各個節點的最短路徑。
MPLS TE使用CSPF(Constraint-based Shortest Path First,基於約束的最短路徑優先)算法計算出到達某個節點的滿足TE屬性要求的最短路徑。
CSPF算法是從SPF算法衍生來的,CSPF有兩個輸入條件:
· 需要建立的LSP的帶寬、著色、建立/保持優先級、顯式路徑等約束條件,這些都在LSP的入口處配置;
· 流量工程數據庫TEDB。
CSPF的計算過程就是針對LSP要求,先對TEDB中的鏈路進行剪切,把不滿足TE屬性要求的鏈路剪掉;再采用SPF算法,尋找一條到LSP egress節點的滿足TE屬性要求的最短路徑。
RSVP-TE作為建立LSP隧道的信令,它能夠攜帶LSP的帶寬、部分顯式路由、著色等約束參數。
RSVP-TE通過Raw IP建立LSP連接,RSVP技術經曆了多年的發展,其體係結構、協議規程與對各種業務的支持機製相對比較成熟。
使用建立的隧道轉發報文。
基於一定約束條件建立的LSP稱為CR-LSP,與普通LSP不同,CR-LSP的建立不僅依賴路由信息,還需要滿足其他一些條件,比如指定的帶寬、選定的路徑或QoS參數。
建立和管理約束條件的機製稱為CR(Constraint-based Routing,基於約束的路由)。
下麵對CR的主要內容進行簡單介紹。
· 如果約束信息是對沿途LSR的精確指定,建立的LSP稱為嚴格的顯式路由(Strict Explicit Route);
· 如果約束信息是對選擇下遊LSR時的模糊限製,建立的LSP稱為鬆散的顯式路由(Loose Explicit Route)。
路徑的流量參數有三個:峰值速率(peak rate)和承諾速率(committed rate),描述路徑本身對帶寬的約束;另外一個是服務粒度(service granularity)。
如果在建立CR-LSP的過程中,無法找到滿足所需帶寬要求的路徑,一種解決方法是拆除另外一條已經建立的CR-LSP,占用為它分配的帶寬資源,這種處理方式稱為搶占(Preemption)。
CR-LSP使用兩個優先級屬性來決定是否可以進行搶占:建立優先級(Setup Priority)和保持優先級(Holding Priority)。建立優先級和保持優先級的取值範圍都是0~7,數值越小則優先級越高。
搶占由RSVP-TE的Resv消息發起。當新建一條路徑Path1時,如果需要與已建立的路徑Path2爭奪資源,隻有當Path1的建立優先級高於Path2的保持優先級時,Path1才能搶占成功。
因此,為保證CR-LSP能夠正確建立,建立優先級不能高於保持優先級,否則可能會導致LSP間無窮盡的互相搶占,造成振蕩。
CR-LSP創建成功後,不隨路由變化而變化的特性叫做路由固定。
當某個網絡未運行IGP TE時,網絡管理員不能確定網絡上的哪些地方可以獲得帶寬,這時需要選擇具有所需帶寬的鬆散ER-hop(Explicit Route)來創建CR-LSP,但這些CR-LSP將會隨路由變化而變化。當路由變化時,比如出現了一個更好的下一跳,已建立的CR-LSP也將會隨之改變。
如果不希望使用鬆散路由建立的CR-LSP隨路由變化而改變,網絡管理員可以在CR-LSP創建成功時把這些CR-LSP配置成永久性的,不隨路由變化而變化。
MPLS TE隧道的親和屬性決定隧道使用的鏈路屬性,親和屬性與鏈路管理組配合,確定隧道可以使用哪些鏈路。
流量工程是係統規劃網絡資源使用的過程。根據用戶需求可以配置流量工程,提供要求的QoS。
服務提供商通常利用一定的機製去優化CR-LSP,以優化網絡資源使用。一種方法是人工配置,但是需要服務提供商進行測量和對CR-LSP微調。使用MPLS TE則能夠動態優化CR-LSP,從而節省人力。
動態優化CR-LSP即定期重計算CR-LSP穿越的路由。如果重計算的路由優於當前路由,則創建一條新的CR-LSP,為之分配新路由,並將業務從舊的CR-LSP切換至新的CR-LSP,刪除舊CR-LSP。
現在使用兩種QoS體係:IntServ(Integrated Service,綜合業務模型)和DiffServ(Differentiated Service,區分業務模型)。
RSVP(Resource Reservation Protocol,資源預留協議)是為IntServ(Integrated Service,綜合業務模型)而設計的,用於在一條路徑的各節點上進行資源預留。RSVP工作在傳輸層,但不參與應用數據的傳送,是一種Internet上的控製協議,類似於ICMP。
簡單來說,RSVP具有以下幾個主要特點:
· 單向;
· 麵向接收者,由接收者發起對資源預留的請求,並維護資源預留信息;
· 使用“軟狀態”(soft state)機製維護資源預留信息。
RSVP經擴展後可以支持MPLS標簽的分發,並在傳送標簽綁定消息的同時攜帶資源預留信息,這種擴展後的RSVP稱為RSVP-TE,作為一種信令協議用於在MPLS TE中建立LSP隧道。
(1) 軟狀態
“軟狀態”是指在RSVP-TE中,通過消息的定時刷新來維持節點上的資源預留狀態。
資源預留狀態包括由Path消息創建的路徑狀態(path state)和由Resv消息創建的預留狀態(reservation state)。這兩種狀態分別由Path消息和Resv消息定時刷新。對於某個狀態,如果連續沒有收到刷新消息,這個狀態將被刪除。
(2) 資源預留類型
使用RSVP-TE建立的LSP都具有某種資源預留類型(reservation style),在建立RSVP會話時,由接收者決定此會話使用哪種預留類型,從而決定可以使用哪些LSP。
目前設備支持以下兩種預留類型:
· FF(Fixed-Filter style):固定過濾器類型。為每個發送者單獨預留資源,不能與同一會話中其他發送者共享資源。
· SE(Shared-Explicit style):共享顯式類型。為同一個會話的發送者建立一個預留,可以共享資源。
由於目前同一會話不能同時存在多條LSP,SE資源預留方式主要用於中斷前建立(make-before-break)。
make-before-break是指一種可以在盡可能不丟失數據,也不占用額外帶寬的前提下改變MPLS TE隧道屬性的機製。
在圖1-1中,假設需要建立一條Router A到Router D的路徑,保留30M帶寬,開始建立的路徑是Router A→Router B→Router C→Router D。
現在希望將帶寬增大為40M,Router A→Router B→Router C→Router D路徑不能滿足要求。而如果選擇Router A→Router E→Router C→Router D,則Router C→Router D也存在帶寬不夠的問題。
采用make-before-break機製,新建立的路徑在Router C→Router D可以共享原路徑的帶寬,新路徑建立成功後,流量轉到新路徑上,之後拆除原路徑,從而有效地避免了流量中斷。
RSVP-TE使用RSVP的消息類型,並進行了擴展。RSVP使用以下消息類型:
· Path消息:由發送者沿數據報文傳輸的方向向下遊發送,在沿途所有節點上保存路徑狀態(path state)。
· Resv消息:由接收者沿數據報文傳輸的方向逆向發送,在沿途所有節點上進行資源預留,並創建和維護預留狀態(reservation state)。
· PathTear消息:此消息產生後馬上向下遊發送,並立即刪除沿途節點的路徑狀態和相關的預留狀態。
· ResvTear消息:此消息產生後馬上向上遊發送,並立即刪除沿途節點的預留狀態。
· PathErr消息:如果在處理Path消息的過程中發生了錯誤,就會向上遊發送PathErr消息,PathErr消息不影響沿途節點的狀態,隻是把錯誤報告給發送者。
· ResvErr消息:如果在處理Resv消息的過程中發生了錯誤,或者由於搶占導致預留被破壞,就會向下遊節點發送ResvErr消息。
· ResvConf消息:該消息發往接收者,用於對預留消息進行確認。
· Hello消息:在兩個直連的RSVP鄰居之間建立和維持鏈路局部的鄰居關係。
RSVP的TE擴展主要是在其Path消息和Resv消息中增加新的對象,新增對象除了可以攜帶標簽綁定信息外,還可以攜帶對LSR在沿途尋找路徑時的限製信息,從而支持CR-LSP的功能,並支持FRR。
· Path消息新增的對象包括:LABEL_REQUEST、EXPLICIT_ROUTE、RECORD_ROUTE和SESSION_ATTRIBUTE。
· Resv消息新增的對象包括:LABEL和RECORD_ROUTE。
LABEL_REQUEST對象包含在Path消息中,為LSP請求標簽綁定,該對象也保存在路徑狀態塊PSB(Path State Block)中。接收到該對象的節點將分配的標簽通過Resv消息中的LABEL對象通知上遊節點,從而完成標簽的發布和傳遞。
圖1-2是使用RSVP建立LSP隧道的示意圖。
使用RSVP建立LSP隧道的過程可以簡單描述為:
(1) Ingress LSR產生攜帶標簽請求信息的Path消息,沿著通過CSPF計算出的路徑逐跳發送給Egress LSR;
(2) Egress LSR收到Path消息後,產生攜帶預留信息和標簽的Resv消息,沿著Path消息發送的相反路徑逐跳返回Ingress LSR,同時,Resv消息在沿途的LSR上進行資源預留;
(3) 當Ingress LSR收到Resv消息時,LSP建立成功。
采用RSVP-TE建立的LSP具有資源預留功能,沿途的LSR可以為該LSP分配一定的資源,使在此LSP上傳送的業務得到保證。
RSVP通過Refresh消息來維護路徑和預留狀態,Refresh消息不僅用於在RSVP鄰居節點進行狀態同步,也用於恢複丟失的RSVP消息。
Refresh消息並不是一種新的消息,它是以前發布過的消息的再次傳送,Refresh消息中攜帶的主要信息和傳送時使用的路徑都與它要刷新的消息完全一致。隻有Path消息和Resv消息才可能是Refresh消息。
由於Refresh消息是定時發送的,當網絡中的RSVP會話比較多時,Refresh消息會加重網絡負載;而對於時延敏感的應用,當消息丟失時,等待通過Refresh消息恢複的時間可能無法接受。簡單地調整刷新間隔並不能同時解決這兩類問題。
RFC 2961(RSVP Refresh Overhead Reduction Extensions)定義了幾種新的擴展機製,用於解決Refresh消息帶來的上述問題。
(1) Message_ID擴展
RSVP本身使用Raw IP發送消息,RFC 2961中定義的Message_ID擴展機製增加了可以在RSVP消息中攜帶的對象,其中,Message_ID和Message_ID_ACK對象用於RSVP消息確認,從而提高RSVP消息發送的可靠性。
在接口使能Message_ID機製後,可以配置重傳功能,設定RSVP消息的重傳參數。重傳功能是指:節點發送了攜帶Message_ID對象的消息,且Message_ID對象的ACK_Desired標識(是否需要應答標識)置位後,如果在重傳時間Rf內沒有收到攜帶對應Message_ID_ACK對象的消息,則重傳時間Rf超時後重傳此消息,並將重傳時間置為(1+Delta)×Rf。節點持續按照上述方法重傳此消息,直到節點在重傳時間超時前接收到對應的應答消息,或消息傳送次數達到允許的最大值。
(2) 摘要刷新擴展
摘要刷新Srefresh(Summary Refresh)可以不傳送標準的Path或Resv消息,而仍能實現對RSVP的狀態刷新,從而可以減少網絡上的Refresh消息流量,並加快節點對這類消息的處理速度。
摘要刷新擴展需要與Message_ID擴展配合使用。隻有那些已經被包含Message_ID對象的Path和Resv消息發布過的狀態才能使用摘要刷新擴展機製刷新。
為建立LSP,發送者在Path消息中攜帶LABEL_REQUEST對象,接收者收到帶有LABEL_REQUEST對象的Path消息後,就會分配一個標簽,並將標簽放在Resv消息的LABEL對象中。
LABEL_REQUEST對象保存在上遊節點的PSB(Path State Block,路徑狀態塊)中,LABEL對象則保存在下遊節點的RSB(Reservation State Block,預留狀態塊)中。當連續未收到刷新消息的次數超過PSB或RSB的超時倍數(當達到此數值時即為超時)時,PSB或RSB中相應的狀態將被刪除。
假設有一個資源預留請求,在某些節點上沒有通過準入控製,有時可能不希望立即刪除這個請求的狀態,但這個請求也不應該阻止其他請求使用它預留的資源。這種情況下,節點將進入阻塞狀態(Blockade State),在下遊節點生成BSB(Blockade State Block,阻塞狀態塊)。當連續未收到刷新消息的次數超過阻塞狀態超時倍數時,BSB中相應的狀態被刪除。
RSVP-TE GR(Graceful Restart,平滑重啟)功能是指在信令協議或控製平麵出現異常時,保留軟狀態信息和轉發表項信息,以保證數據轉發不中斷。
參與RSVP-TE GR過程的設備分為以下兩種:
· GR Restarter:GR重啟路由器,指由管理員手工或設備故障觸發而重啟協議的設備,它必須具備GR能力。
· GR Helper:GR Restarter的鄰居,與重啟的GR Restarter保持鄰居關係,並協助其恢複重啟前的轉發狀態,它也必須具備GR能力。
RSVP-TE GR依賴於RSVP-TE的Hello擴展能力,通過擴展的RSVP Hello報文向鄰居通告自己的GR能力和相關時間參數。設備和鄰居如果都具備RSVP GR能力,那麼在完成GR參數的交互後,就可以在檢測到對方發生GR重啟時,充當對方的GR Helper,保證在GR Restarter重啟的過程中,數據轉發不會中斷。
當GR Restarter發生重啟時,GR Helper連續丟失的Hello報文次數超過了配置的值,由此判定GR Restarter發生了重啟。此時GR Helper會保留與該鄰居相關的軟狀態信息,並保持向對方周期性發送Hello報文,直到重啟定時器(Restart Timer)超時。
在重啟定時器超時前,如果GR Helper鄰居和GR Restarter重新建立了Hello會話協商,那麼啟動恢複定時器,並觸發信令報文交互以恢複原有的軟狀態;否則,將刪除與該鄰居相關的所有RSVP軟狀態信息和轉發表項。如果恢複定時器超時,則刪除那些在GR恢複過程中沒有恢複的軟狀態和表項信息。
· 設備在使能RSVP-TE GR能力之後,可以同時充當GR Restarter和GR Helper;
· 無備用主控板的設備在使能GR能力之後,隻能充當GR Helper。
當MPLS TE隧道建立之後,如果不配置流量沿隧道轉發,缺省的情況下依然會沿IP路由轉發。
配置流量沿隧道轉發有如下三種方法:
使用靜態路由轉發流量,是最簡便的方法,因為Tunnel的接口地址通常情況下不會發布到IGP中。這時候通過定義一條通過Tunnel接口到達目的網絡地址的靜態路由,就把流量引入到MPLS TE隧道上進行轉發。
有關靜態路由的介紹請參見“三層技術-IP路由配置指導”中的“靜態路由”。
自動路由發布會將Tunnel的接口發布到IGP路由中,這樣流量都會通過MPLS TE隧道轉發。
自動路由發布包括兩種:IGP Shortcut與轉發鄰接。
OSPF和IS-IS支持IGP Shortcut和轉發鄰接特性,可以使用TE Tunnel作為出接口。在這種應用中,TE Tunnel被看作點到點鏈路。
IGP Shortcut特性也稱為自動路由宣告(AutoRoute Announce),該特性將TE Tunnel看作直接與目的地址相連的邏輯接口,計算該TE Tunnel隧道入口設備的IGP路由。
IGP Shortcut和轉發鄰接的區別在於:
· 在IGP Shortcut應用中,使能此特性的設備使用TE Tunnel作為出接口,但它不將這條路由發布給鄰居設備,因此,其他設備不能使用此TE Tunnel。
· 如果配置了轉發鄰接,則使能此特性的設備在使用TE Tunnel作為出接口的同時,也將這條TE Tunnel發布給鄰居設備,因此,其他設備能夠使用此TE Tunnel。
圖1-3 IGP Shortcut與轉發鄰接示意圖
在圖1-3中,Router D到Router C之間有一條TE Tunnel,IGP Shortcut隻能使頭節點Router D在計算IGP路由時利用這條隧道,Router A並不能利用這條隧道到達Router C。如果配置了轉發鄰接特性,則Router A也能夠知道這條TE Tunnel的存在,從而可以利用該隧道將到Router C的流量轉發到Router D上。
IGP Shortcut和轉發鄰接包括Tunnel上的配置和IGP本身的配置兩部分。
Tunnel接口上的配置需要注意:
· Tunnel接口的目的地址應該屬於使能相應特性的區域內;
· Tunnel接口的目的地址可通過區域內路由到達。
CR-LSP備份是一種端到端的路徑保護(Path Protection,end-to-end protection),對整條LSP提供保護,而FRR則是一種局部保護措施,隻能保護LSP中的某條鏈路和某個節點。並且,FRR是一種快速響應的臨時性保護措施,對於切換時間有嚴格要求,LSP備份則沒有時間要求。
同一條隧道下對主LSP進行路徑備份的LSP稱為備份路徑。當Ingress感知到主LSP不可用時,將流量切換到備份路徑上,當主LSP路徑恢複後再將流量切換回來,以實現對主LSP路徑的備份保護。
有兩種備份方法:
· 熱備份:創建主CR-LSP後隨即創建備份CR-LSP。主CR-LSP失效時,通過MPLS TE直接將業務切換至備份CR-LSP。
· 普通備份:指主CR-LSP失效後創建備份CR-LSP。
快速重路由FRR(Fast ReRoute),是MPLS TE中實現網絡局部保護的技術。FRR的切換速度可以達到50ms,能夠最大程度減少網絡故障時數據的丟失。
對LSP配置FRR功能後,當LSP上的某條鏈路或某個節點失效時,流量會被切換到保護鏈路上,同時LSP頭節點嚐試建立新的LSP。
下麵介紹FRR中的幾個概念:
· 主LSP:被保護的LSP。
· Bypass LSP:旁路LSP,保護主LSP的LSP。
· PLR(Point of Local Repair):本地修複節點。Bypass LSP的頭節點,必須在主LSP的路徑上,並且不能是主LSP的尾節點。
· MP(Merge Point):彙聚點。Bypass LSP的尾節點,必須在主LSP的路徑上,並且不能是主LSP的頭節點。
根據保護的對象不同,FRR分為兩類:
· 鏈路保護:PLR和MP之間有直接鏈路連接,主LSP經過這條鏈路。當這條鏈路失效時,流量可以切換到Bypass LSP上。如圖1-4所示,主LSP是Router A→Router B→Router C→Router D,Bypass LSP是Router B→Router F→Router C。
圖1-4 FRR鏈路保護示意圖
· 節點保護:PLR和MP之間通過一台設備連接,主LSP經過這台設備。當這台設備失效時,流量可以切換到Bypass LSP上。如圖1-5所示,主LSP是Router A→Router B→Router C→Router D→Router E,Bypass LSP是Router B→Router F→Router D,Router C是被保護的設備。
圖1-5 FRR節點保護示意圖
在配置Bypass LSP時,應該規劃好它所保護的鏈路或節點,並確保該Bypass LSP不會經過它所保護的鏈路或節點,否則不能真正起到保護作用。
另外,由於Bypass隧道需要預先建立,快速重路由會占用額外的帶寬。在網絡帶寬餘量不多的情況下,隻能對關鍵的接口或鏈路進行快速重路由保護。
PS(Protection Switching,保護倒換)是為主Tunnel建立相應的保護Tunnel(備用Tunnel)。主Tunnel和保護Tunnel構成一個保護組。在主Tunnel發生缺陷時,數據流能迅速的倒換到保護Tunnel,從而大大提高網絡的可靠性。當主Tunnel恢複無缺陷時,還可以將數據流從保護Tunnel回切到主Tunnel。
設備目前實現的保護倒換為1:1保護倒換。在Tunnel的入節點和出節點之間提供主備兩條Tunnel。正常情況下,數據在主Tunnel上傳輸;當入節點通過檢測機製發現主Tunnel發生缺陷,需要進行保護倒換時,將數據切換到保護Tunnel上繼續傳輸。
保護倒換分為外部倒換和信令倒換。
(1) 外部倒換是指通過手工配置的命令觸發的保護倒換。外部倒換的優先級由高到低為:
· 清除倒換(Clear):清除所有的外部倒換命令。
· 鎖定倒換(Lockout of Protection):數據流鎖定在主LSP上傳輸。
· 強製倒換(Forced Switch):強製數據流在備份LSP上傳輸。
· 手工倒換(Manual Switch):手動將數據流從主LSP倒換到備LSP上傳輸。
(2) 信令倒換(Signal Fail)是指通過協議信令觸發的保護倒換。可以觸發保護倒換的信令如BFD檢測MPLS-TE隧道功能。
外部倒換命令及信令倒換優先級從高到低依次為:
· 清除倒換
· 鎖定倒換
· 保護路徑的信令倒換
· 強製倒換
· 主LSP的信令倒換
· 信令清除倒換
· 手工倒換
Diff-Serv作為一種QoS解決方案,其主要實現機製是對流量按照服務類型(class of service)進行劃分,基於服務類型提供不同的QoS保證。而MPLS TE作為流量工程解決方案,主要用於對網絡資源的使用進行優化。
DiffServ-Aware TE,簡稱DS-TE,結合上述兩者的優勢,能夠基於按服務類型劃分的流量進行網絡資源優化,即對不同的服務類型進行不同的帶寬約束。概括來說,DS-TE將不同服務類型的流量與LSP進行映射,使流量經過的路徑符合對其服務類型的流量工程約束條件。
目前,設備支持兩種DS-TE模式:
· 自定義的Prestandard模式
· 根據RFC 4124、RFC 4125、RFC 4127實現的IETF模式
· CT(Class Type,服務類型):流量所屬的業務類別,用來實現對不同流量的分類。DS-TE根據業務流所屬的CT為其分配鏈路帶寬、實施約束路由及進行準入控製。對於一個給定的業務流,在其經過的所有鏈路上,該業務流都屬於相同的CT。
· BC(Bandwidth Constraints,帶寬約束):用來對各種服務類型流量所能使用的帶寬進行限製。
· 帶寬約束模型(Bandwidth Constraints Model):用來實現對不同CT的業務流進行帶寬約束的算法。帶寬約束模型由兩部分內容決定:最大BC數目、BC與CT的對應關係。DS-TE支持兩種帶寬約束模型RDM(Russian Dolls Model,俄羅斯套娃模型)和MAM(Maximum Allocation Model,最大分配模型)。
· TE class:CT及搶占優先級的組合。如果流量屬於某個CT,則傳輸該流量的LSP隧道的建立優先級或保持優先級必須是該CT對應的搶占優先級。
Prestandard模式和IETF模式具有如下區別,請根據服務類型的數量、所需帶寬約束模型等選擇合適的DS-TE模式。
· Prestandard模式支持2個CT(CT 0和CT 1),8種優先級,最大支持16個TE class;IETF模式支持4個CT(CT 0、CT 1、CT 2和CT 3),8種優先級,最大支持8個TE class。
· Prestandard模式隻支持RDM模型;IETF模式支持RDM模型和MAM模型。
· Prestandard模式為自定義模式,無法與所有廠商設備互通;IETF模式為根據RFC標準實現的模式,可以與其他廠商設備互通。
根據流量的服務類型建立MPLS TE隧道的過程如下:
(1) 判斷流量所屬的CT
設備上根據配置實現不同業務流量的分類:
· 對於動態建立的MPLS TE隧道,在隧道接口下執行mpls te bandwidth命令,可以配置通過該隧道接口的流量所屬的CT。
· 對於靜態建立的MPLS TE隧道,配置靜態隧道時,可以通過bandwidth參數指定通過該靜態隧道轉發的流量所屬的CT。
(2) 檢查CT對應的BC中是否存在足夠的帶寬
用戶可以在MPLS TE隧道接口下通過mpls te max-reservable-bandwidth命令,配置該接口的帶寬限製。設備根據流量所屬的CT及接口的帶寬限製,判斷是否存在足夠的帶寬為該流量建立MPLS TE隧道。
不同帶寬約束模型下,BC與CT的關係不同:
· RDM:限製多種服務類型流量(CT)的共用帶寬,允許多種CT間共享使用帶寬,而不是限製某一種CT的帶寬。如圖1-6所示,BC 2為CT 2的帶寬限製,即屬於CT 2流量的帶寬總和不能超過BC 2;BC 1為CT 2和CT 1兩種業務的帶寬限製,即屬於CT 2和CT 1流量的帶寬總和不能超過BC 1;BC 0為CT 2、CT 1和CT 0三種業務的帶寬限製,即屬於CT 2、CT 1和CT 0流量的帶寬總和不能超過BC 0。在RDM中,BC 0即為鏈路的最大可預留帶寬。RDM與建立優先級/保持優先級配合,可以實現CT間的帶寬隔離。RDM比較適用於屬於CT的流量不平穩、可能存在突發流量的情況。
圖1-6 RDM帶寬約束模型示意圖
· MAM:限製某一CT在接口上占用的帶寬總和,即隔離CT之間的帶寬使用。如圖1-7所示,BC 0為CT 0的帶寬限製,即屬於CT 0流量的帶寬總和不能超過BC 0;BC 1為CT 1的帶寬限製,即屬於CT 1流量的帶寬總和不能超過BC 1;以此類推。並且,屬於CT 0、CT 1和CT 2流量的帶寬總和不能超過最大可預留帶寬。MAM不需要與建立優先級/保持優先級配合,就可以實現CT間的帶寬隔離。MAM的特點是比較直觀,配置較為容易。MAM比較適用於屬於CT的流量較為平穩、不存在突發流量的情況。
圖1-7 MAM帶寬約束模型示意圖
(3) 檢查流量是否與已經存在的TE class匹配
根據服務類型建立MPLS TE隧道時,還需要檢查流量所屬的CT及LSP的建立優先級/保持優先級是否與已經存在的TE class匹配。要想為該流量建立隧道,必須同時滿足下麵兩個條件:
· 隧道經過的節點上都存在與流量所屬CT、LSP建立優先級匹配的TE class;
· 隧道經過的節點上都存在與流量所屬CT、LSP保持優先級匹配的TE class。
Prestandard模式下不可以通過配置改變TE class;IETF模式下可以通過配置改變TE class。
與MPLS TE相關的協議規範有:
· RFC 2702:Requirements for Traffic Engineering Over MPLS
· RFC 3212:Constraint-Based LSP Setup using LDP
· RFC 2205:Resource ReSerVation Protocol
· RFC 3209:RSVP-TE: Extensions to RSVP for LSP Tunnels
· RFC 2961:RSVP Refresh Overhead Reduction Extensions
· RFC 3564:Requirements for Support of Differentiated Service-aware MPLS Traffic Engineering
· ITU-T Recommendation Y.1720:Protection switching for MPLS networks
表1-1 MPLS TE配置任務簡介
配置任務 |
說明 |
詳細配置 |
||
配置MPLS TE基本能力 |
必選 |
|||
配置DiffServ-Aware TE |
可選 |
|||
配置MPLS TE隧道 |
使用靜態CR-LSP配置MPLS TE隧道 |
二者必選其一 |
||
使用動態信令協議配置MPLS TE隧道 |
||||
配置RSVP-TE高級特性 |
可選 |
|||
調整CR-LSP的建立 |
可選 |
|||
調整MPLS TE隧道的建立 |
可選 |
|||
配置流量轉發 |
使用靜態路由沿MPLS TE隧道轉發流量 |
二者必選其一 |
||
使用自動路由發布沿MPLS TE隧道轉發流量 |
||||
配置影響流量轉發的參數 |
可選 |
|||
配置CR-LSP備份 |
可選 |
|||
配置MPLS TE快速重路由 |
可選 |
|||
檢測MPLS TE隧道 |
可選 |
|||
配置保護倒換功能 |
可選 |
|||
MPLS TE基本能力的配置任務包括各種MPLS TE特性配置中都涉及的基本配置,僅完成本節的配置並不能使用MPLS TE特性,還需要根據更具體的要求進行進一步的配置。
在配置MPLS TE的基本能力之前,需要完成以下任務:
· 配置靜態路由或IGP協議保證各LSR之間可達
· 配置MPLS基本能力
有關MPLS基本能力的配置請參見“MPLS配置指導”中的“MPLS基礎”。
表1-2 配置MPLS TE基本能力
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的MPLS TE能力 |
mpls te |
必選 缺省情況下,未使能本節點的MPLS TE能力 |
退回到係統視圖 |
quit |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能接口的MPLS TE能力 |
mpls te |
必選 缺省情況下,未使能接口的MPLS TE能力 |
退回係統視圖 |
quit |
- |
創建Tunnel接口,並進入Tunnel接口視圖 |
interface tunnel tunnel-number |
必選 |
配置隧道接口的IP地址 |
ip address ip-address netmask |
可選 |
配置隧道協議為MPLS TE |
tunnel-protocol mpls te |
必選 |
配置隧道的目的地址 |
destination ip-address |
必選 |
配置隧道的Tunnel ID |
mpls te tunnel-id tunnel-id |
必選 |
提交隧道當前配置 |
mpls te commit |
必選 |
有關Tunnel接口的介紹和配置請參見“三層技術-IP業務配置指導”中的“隧道”。
表1-3 配置DiffServ-Aware TE
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置係統工作模式 |
system working mode { { advance | bridgee | routee } hybrid } |
必選 隻有設備的係統工作模式為advance hybrid、bridgee hybrid或routee hybrid時,DiffServ-Aware TE功能才能生效 |
進入MPLS視圖 |
mpls |
- |
配置DS-TE模式為IETF模式 |
mpls te ds-te mode ietf |
可選 缺省情況下,DS-TE模式為Prestandard模式 |
配置IETF DS-TE模式下的帶寬約束模型為MAM |
mpls te ds-te ietf bc-mode mam |
可選 缺省情況下,IETF DS-TE模式的帶寬約束模型為RDM |
配置IETF DS-TE模式下TE class與服務類型、優先級的對應關係,即TE class map |
mpls te ds-te ietf te-class te-class-index class-type class-type-number priority pri-number |
可選 缺省情況下,IETF模式的TE class map如表1-4所示 |
目前僅業務底板支持DiffServ-Aware TE。
表1-4 IETF模式的缺省TE class map
TE Class |
CT |
Priority |
0 |
0 |
7 |
1 |
1 |
7 |
2 |
2 |
7 |
3 |
3 |
7 |
4 |
0 |
0 |
5 |
1 |
0 |
6 |
2 |
0 |
7 |
3 |
0 |
使用靜態CR-LSP建立MPLS TE隧道的過程非常簡單,不需要配置隧道的約束條件,也不涉及IGP TE擴展或CSPF。隻需要建立一條靜態CR-LSP和使用靜態信令的TE隧道,並將二者關聯起來即可。
靜態CR-LSP建立的TE隧道不能根據網絡的變化動態調整,因此實際應用非常有限。
靜態CR-LSP作為一種特殊的靜態LSP,其配置限製條件與靜態LSP相同,使用相同的標簽空間。
在使用靜態CR-LSP建立MPLS TE隧道之前,需完成以下任務:
· 配置靜態路由或IGP協議保證各LSR之間可達
· 配置MPLS基本能力
· 配置MPLS TE基本能力
表1-5 使用靜態CR-LSP配置MPLS TE隧道
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
|
配置隧道使用靜態CR-LSP |
mpls te signal-protocol static |
必選 |
|
提交隧道當前配置 |
mpls te commit |
必選 |
|
退回到係統視圖 |
quit |
- |
|
配置指定靜態CR-LSP的節點時根據本節點在網絡中的位置 |
為Ingress節點配置靜態CR-LSP |
static-cr-lsp ingress tunnel-name destination dest-addr nexthop next-hop-addr out-label out-label-value [ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
必選 三者選擇其一 參數tunnel-name是使用此靜態CR-LSP的MPLS TE隧道接口的名稱。例如,使用命令interface tunnel 2創建了一個Tunnel接口,該接口的名稱為Tunnel2 |
為Transit節點配置靜態CR-LSP |
static-cr-lsp transit tunnel-name incoming-interface interface-type interface-number in-label in-label-value nexthop next-hop-addr out-label out-label-value [ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
||
為Egress節點配置靜態CR-LSP |
static-cr-lsp egress tunnel-name incoming-interface interface-type interface-number in-label in-label-value[ bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth-value ] |
· static-cr-lsp ingress命令的tunnel-name參數必須與隧道接口名稱完全相同,包括大小寫。例如,使用命令interface tunnel 2創建了一個Tunnel接口,則其靜態CR-LSP入節點中的tunnel-name參數應該寫作“Tunnel2”,而不能寫作“tunnel2”、“TUNNEL2”等。否則,隧道將不能正確建立。中間節點和出節點無此限製。
· 配置Ingress和Transit時,下一跳地址不能為本地的公網地址。
動態信令協議可以根據網絡的動態變化調整TE隧道的路徑,並能夠應用備份、快速重路由等高級特性。
使用動態信令協議建立MPLS TE隧道的過程可以簡要描述為以下幾個部分:
· 配置鏈路的MPLS TE屬性,並通過IGP的TE擴展發布,形成TEDB;
· 配置隧道的約束條件;
· 使用CSPF算法,通過TEDB和隧道約束條件計算出符合要求的路徑;
· 利用動態信令協議RSVP-TE建立路徑。
如果不配置IGP的TE擴展,網絡中就不會有TE LSA,不能形成TEDB。這種情況下生成的CR-LSP是由IGP路由得到的,而不是CSPF計算出來的。
在使用動態信令協議建立MPLS TE隧道之前,需完成以下任務:
· 配置靜態路由或IGP協議保證各LSR之間可達
· 配置MPLS基本能力
· 配置MPLS TE基本能力
表1-6 使用動態信令協議配置MPLS TE隧道過程
配置任務 |
說明 |
詳細配置 |
配置鏈路的MPLS TE屬性 |
可選 |
|
配置CSPF |
可選 |
|
配置OSPF TE |
配置CSPF後,二者必選其一 根據IGP協議的類型選擇 |
|
配置IS-IS TE |
||
配置MPLS TE顯式路徑 |
可選 |
|
配置MPLS TE隧道的約束條件 |
可選 |
|
使用RSVP-TE建立MPLS TE隧道 |
可選 |
鏈路的TE屬性將通過IGP的TE擴展發布到網絡中,形成TEDB。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
配置鏈路最大帶寬 |
mpls te max-link-bandwidth bandwidth-value |
可選 缺省情況下,鏈路的最大帶寬為0 |
配置Prestandard模式RDM帶寬約束模型BC 0和BC 1的最大可預留帶寬 |
mpls te max-reservable-bandwidth bandwidth-value [ bc1 bc1-bandwidth ] |
可選 缺省情況下,BC 0和BC 1的最大可預留帶寬為0 在RDM模型中,BC 0即為鏈路的最大可預留帶寬 |
配置IETF模式MAM帶寬約束模型的MPLS TE鏈路最大可預留帶寬及各BC的最大可預留帶寬 |
mpls te max-reservable-bandwidth mam bandwidth-value { bc0 bc0-bandwidth | bc1 bc1-bandwidth | bc2 bc2-bandwidth | bc3 bc3-bandwidth } * |
可選 缺省情況下,BC 0、BC 1、BC 2、BC 3和鏈路的最大可預留帶寬均為0 |
配置IETF模式RDM帶寬約束模型各BC的最大可預留帶寬 |
mpls te max-reservable-bandwidth rdm bandwidth-value [ bc1 bc1-bandwidth ] [ bc2 bc2-bandwidth ] [ bc3 bc3-bandwidth ] |
可選 缺省情況下,BC 0、BC 1、BC 2和BC 3的最大可預留帶寬均為0 在RDM模型中,BC 0即為鏈路的最大可預留帶寬 |
目前僅業務底板支持預留帶寬和最大可預留帶寬。
使能本節點的CSPF功能後,本節點將采用CSPF算法計算滿足TE屬性要求的最短路徑。
表1-8 配置CSPF
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的CSPF功能 |
mpls te cspf |
必選 缺省情況下,未使能本節點的CSPF功能 |
當路由協議使用OSPF並使用動態信令協議配置MPLS TE隧道時,需要配置OSPF TE功能。
OSPF TE擴展使用Opaque Type 10 LSA攜帶鏈路的TE屬性信息,因此,配置OSPF TE時必須先使能OSPF的Opaque能力。並且,隻有當至少有一個鄰居處於FULL狀態時,才會產生TE LSA。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入OSPF協議視圖 |
ospf [ process-id ] |
- |
使能OSPF的Opaque LSA能力 |
opaque-capability enable |
必選 缺省情況下,未使能OSPF的Opaque LSA能力 |
進入OSPF的區域視圖 |
area area-id |
必選 |
在當前OSPF區域下使能MPLS TE能力 |
mpls-te enable |
必選 缺省情況下,OSPF區域不支持MPLS TE能力 |
退回OSPF協議視圖 |
quit |
- |
· 有關OSPF Opaque能力的介紹請參見“三層技術-IP路由配置指導”中的“OSPF”。
· 由於MPLS TE無法在OSPF虛連接上預留資源和分配標簽,即MPLS TE無法通過OSPF虛連接建立LSP隧道,因此,配置OSPF TE時,OSPF路由域內不能存在虛連接。
當路由協議使用IS-IS並使用動態信令協議配置MPLS TE隧道時,需要配置IS-IS TE功能。當OSPF TE和IS-IS TE共存時,優選OSPF計算。
IS-IS TE擴展使用IS可達性TLV(類型為22)的子TLV攜帶TE屬性信息。因此,配置IS-IS TE時必須先使能IS-IS的WideMetric特性,可以配置wide、compatible或wide-compatible。
· RFC 3784規定,在某些情況下IS可達性TLV(22)的長度將會達到其最大長度255個字節。
· 為了使IS-IS LSP能順利攜帶此類TLV並且在使能IS-IS的所有接口上進行正確泛洪,要求使能IS-IS的所有接口的MTU不小於284字節(其中包含LSP頭長度27字節以及TLV頭長度2字節)。如果LSP同時需要攜帶認證信息,則最小MTU需要根據報文結構另行推算。
綜合考慮以上因素,在使用TE特性的情況下使能IS-IS的所有接口的MTU不要小於512字節,以確保IS-IS LSP能在網絡上正確泛洪。
表1-10 配置IS-IS TE
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入IS-IS協議視圖 |
isis [ process-id ] |
- |
配置IS-IS的Wide Metric屬性 |
cost-style { narrow | wide | wide-compatible | { compatible | narrow-compatible } [ relax-spf-limit ] } |
必選 缺省情況下,IS-IS隻收發采用Narrow方式表示路由權值的報文 |
使能IS-IS TE功能 |
traffic-eng [ level-1 | level-1-2 | level-2 ] |
必選 缺省情況下,未使能IS-IS TE功能 |
配置攜帶DS-TE參數的子TLV的TLV類型 |
te-set-subtlv { bw-constraint value | lo-multiplier value | unreserved-bw-sub-pool value } |
可選 缺省情況下,bw-constraint(帶寬約束)的子TLV為252;lo-multiplier(本地過預訂倍數)的子TLV為253;unreserved-bw-sub-pool(子池未預訂帶寬)的子TLV為251 |
· 有關IS-IS的介紹請參見“三層技術-IP路由配置指導”中的“IS-IS”。
· IS-IS TE不支持發布從IP地址功能。在配置了多個IP地址的接口上使能IS-IS TE後,IS-IS TE在其LSP的IS可達性TLV(22)中隻發布該接口的主IP地址。建議避免在配置了從IP地址的接口上配置IS-IS TE特性。
顯式路徑由一係列節點構成,一條顯式路徑上的兩個相鄰節點之間存在兩種關係:
· 嚴格下一跳(strict):兩個節點必須直接相連;
· 鬆散下一跳(loose):兩個節點之間可以存在其他設備。
在向顯式路徑中增加或修改節點時,參數include表示建立的LSP必須經過指定節點;參數exclude表示建立的LSP不能經過指定節點。
表1-11 配置MPLS TE顯式路徑
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建隧道的顯式路徑,進入顯式路徑視圖 |
explicit-path path-name [ disable | enable ] |
必選 |
向顯式路徑中插入一個節點 |
add hop ip-address1 [ include [ loose | strict ] | exclude ] { after | before } ip-address2 |
可選 缺省情況下,顯式路徑包含指定的節點(include),加入的節點是嚴格下一跳(strict) |
在顯式路徑中指定下一跳IP地址 |
next hop ip-address [ include [ loose | strict ] | exclude ] |
必選 缺省情況下,顯式路徑中指定的下一跳為嚴格(strict)下一跳 |
修改顯式路徑中的節點IP地址 |
modify hop ip-address1 ip-address2 [ [ include [ loose | strict ] ] | exclude ] |
可選 缺省情況下,顯式路徑包含指定的節點(include),修改的節點是嚴格下一跳(strict) |
在顯式路徑中刪除一個節點 |
delete hop ip-address |
可選 |
顯示顯式路徑節點信息 |
list hop [ ip-address ] |
可選 |
在不同的區域或自治係統之間建立MPLS TE隧道時必須使用鬆散顯式路徑,指定顯式路徑的下一跳為ABR(Area Border Router,區域邊界路由器)或ASBR(Autonomous System Boundary Router,自治係統邊界路由器),並保證隧道頭節點與ABR之間或ASBR之間路由可達。
表1-12 配置MPLS TE隧道的約束條件
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道使用的帶寬,並指定隧道流量所屬的服務類型 |
mpls te bandwidth [ ct0 | ct1 | ct2 | ct3 ] bandwidth |
可選 缺省情況下,未配置MPLS TE隧道所需的帶寬,即帶寬為0,隧道流量屬於CT0 |
配置隧道應用的路徑及路徑的優先級 |
mpls te path { dynamic | explicit-path path-name } preference value |
可選 缺省情況下,隧道應用動態自動計算的路徑 |
提交隧道當前配置 |
mpls te commit |
必選 |
表1-13 使用RSVP-TE建立MPLS TE隧道
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的RSVP-TE能力 |
mpls rsvp-te |
必選 缺省情況下,未使能的本節點RSVP-TE能力 |
退回係統視圖 |
quit |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能接口的RSVP-TE能力 |
mpls rsvp-te |
必選 缺省情況下,未使能接口的RSVP-TE能力 |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道使用RSVP-TE作為信令協議 |
mpls te signal-protocol rsvp-te |
可選 缺省情況下,隧道使用RSVP-TE |
提交隧道當前配置 |
mpls te commit |
必選 |
如果使用RSVP-TE作為MPLS TE隧道的信令協議,那麼必須在隧道經過的路徑上,使能接口的MPLS TE能力和RSVP-TE能力。
RSVP-TE主要是在Path消息和Resv消息中增加了新的對象,以支持建立CR-LSP。
RSVP-TE提供了豐富的配置選項,能夠滿足用戶對於可靠性、網絡資源、以及一些MPLS TE高級特性的應用。
在實施本節介紹的配置任務之前,需要仔細了解各配置任務的目的和可能對網絡造成的影響。
在配置RSVP-TE高級特性之前,需完成以下任務:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 使用RSVP-TE建立MPLS TE隧道
表1-14 配置RSVP資源預留風格
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道的資源預留風格 |
mpls te resv-style { ff | se } |
可選 缺省情況下,資源預留風格為se |
提交隧道當前配置 |
mpls te commit |
必選 |
在目前的MPLS TE應用中,se方式主要用於中斷前建立(make-before-break),而ff方式則很少使用。
表1-15 配置RSVP的狀態定時器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
配置節點的路徑/預留消息的刷新時間 |
mpls rsvp-te timer refresh timevalue |
可選 缺省情況下,節點的路徑/預留消息刷新周期為30秒 |
配置PSB和RSB的超時倍數 |
mpls rsvp-te keep-multiplier number |
可選 缺省情況下,PSB和RSB的超時倍數為3 |
配置阻塞狀態的超時倍數 |
mpls rsvp-te blockade-multiplier number |
可選 缺省情況下,阻塞狀態的超時倍數為4 |
Message_ID擴展機製(可靠性機製)用於RSVP消息確認,提高RSVP消息發送的可靠性。
在接口上使能可靠性功能後,可以使能重傳功能。
摘要刷新Srefresh(Summary Refresh)需要與Message_ID擴展配合使用。隻有那些已經被包含Message_ID對象的Path和Resv消息發布過的狀態才能使用摘要刷新擴展機製刷新。
表1-16 配置RSVP刷新機製
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能RSVP可靠性功能 |
mpls rsvp-te reliability |
可選 缺省情況下,禁止RSVP可靠性功能 |
使能重傳功能 |
mpls rsvp-te timer retransmission { increment-value [ increment-value ] | retransmit-value [ retrans-timer-value ] } * |
可選 缺省情況下,未使能重傳功能 |
使能摘要刷新功能 |
mpls rsvp-te srefresh |
可選 缺省情況下,未使能摘要刷新功能 |
表1-17 配置RSVP的Hello擴展
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能本節點的RSVP的Hello擴展 |
配置允許Hello消息丟失的最大次數 |
mpls rsvp-te hello-lost times |
可選 缺省情況下,最多允許連續收不到3個Hello報文 |
配置Hello消息發送時間間隔 |
mpls rsvp-te timer hello timevalue |
可選 缺省情況下,Hello消息的發送時間間隔為3秒 |
退回係統視圖 |
quit |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能接口RSVP的Hello擴展 |
有關RSVP的Hello擴展機製用於檢測RSVP鄰居節點的可達性,在RFC 3209中有詳細的介紹。
表1-18 配置RSVP-TE預留確認
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS 視圖 |
mpls |
- |
使能節點的預留確認機製 |
mpls rsvp-te resvconfirm |
必選 缺省情況下,節點上不使能預留確認機製 |
· 預留確認機製由接收者發起,接收者在發送Resv消息時,攜帶一個要求對預留進行確認的對象。
· 收到ResvConf消息並不表示成功建立了資源預留,隻能說明在此Resv消息到達的最遠上遊節點處成功保留了資源,這些資源接下來仍可能被其它應用搶占。
為防止偽造的資源預留請求非法占用網絡資源,RSVP采用逐跳驗證機製。
一條鏈路兩端的接口需要配置相同的驗證密鑰,隻有這樣,它們才可以交換RSVP消息。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能RSVP驗證功能 |
mpls rsvp-te authentication { cipher | plain } auth-key |
必選 缺省情況下,禁止RSVP驗證功能 |
建議不要在同一個接口同時配置快速重路由功能和RSVP驗證功能。
RSVP-TE GR功能依賴於RSVP-TE的Hello擴展能力,因此在配置RSVP-TE GR功能之前必須使能RSVP-TE的Hello擴展能力。
在GR設備上進行以下配置。
表1-20 配置RSVP-TE GR
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能本節點的RSVP的Hello擴展 |
使能MPLS RSVP-TE協議的GR能力 |
mpls rsvp-te graceful-restart |
必選 缺省情況下,MPLS RSVP-TE協議的GR能力處於關閉狀態 |
配置RSVP-TE GR的重啟定時器 |
mpls rsvp-te timer graceful-restart restart restart-time |
可選 缺省情況下,RSVP-TE GR重啟定時器的值為120秒 |
配置RSVP-TE GR的恢複定時器 |
mpls rsvp-te timer graceful-restart recovery recovery-time |
可選 缺省情況下,RSVP-TE GR恢複定時器的值為300秒 |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能接口RSVP的Hello擴展 |
在MPLS TE網絡中,LSR鄰居之間的鏈路發生故障將導致MPLS TE轉發報文失敗,而MPLS TE本身無法快速檢測到鏈路故障。通過在RSVP-TE隧道內的兩個對等體上分別配置RSVP-TE與BFD(Bidirectional Forwarding Detection,雙向轉發檢測)聯動,可以快速地感知對等體之間鏈路的故障,確保鏈路出現故障時將業務從主路徑切換到備份路徑上。
表1-21 配置RSVP-TE與BFD聯動
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入已使能MPLS RSVP-TE的接口視圖 |
interface interface-type interface-number |
- |
配置RSVP-TE與BFD聯動 |
mpls rsvp-te bfd enable |
必選 缺省情況下,已使能RSVP-TE的接口下未使能BFD提供的鏈路檢測功能 |
CSPF使用TEDB和約束條件計算出符合要求的路徑,並通過信令協議建立CR-LSP。MPLS TE提供多種方式影響CSPF的計算,從而調整CR-LSP的建立。
本節的配置需要與CSPF、動態信令協議(RSVP-TE)配合使用。
本節介紹的配置任務是MPLS TE中CSPF的一些專門配置,在實施本節的配置任務之前,需要明確理解這些配置對係統可能造成的影響。
CSPF隻計算到達隧道終點的最短路徑,當在計算路徑的過程中遇到多條權值相同的路徑時,隻需要選擇其中一條就可以了。
可供選擇的仲裁(tie-breaking)方法包括優先選擇帶寬使用率(已用帶寬/鏈路最大可預留帶寬)最小的路徑、帶寬使用率(已用帶寬/鏈路最大可預留帶寬)最大的路徑、或隨機選擇路徑。
表1-22 配置CSPF的仲裁方法
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
配置本節點的CR-LSP仲裁方法 |
mpls te tie-breaking { least-fill | most-fill | random } |
可選 缺省情況下,采用隨機選擇路徑方式(random) |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置當前隧道的CR-LSP仲裁方法 |
mpls te tie-breaking { least-fill | most-fill | random } |
可選 缺省情況下,沒有指定CR-LSP仲裁方法,采用MPLS視圖下配置的CR-LSP仲裁方法 |
提交隧道當前配置 |
mpls te commit |
必選 |
· 隧道優先使用本隧道接口視圖下配置的仲裁方式,如果隧道接口視圖下沒有配置,將使用MPLS視圖下的配置。
· IETF DS-TE模式隻支持隨機選擇路徑方式。
如果使用路由固定特性,則不能同時使用MPLS TE重優化。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
使能路由固定功能 |
mpls te route-pinning |
必選 缺省情況下,未使能路由固定功能 |
提交隧道當前配置 |
mpls te commit |
必選 |
MPLS TE隧道的親和屬性決定隧道使用的鏈路屬性,親和屬性與鏈路管理組配合,確定隧道可以使用哪些鏈路。管理組、親和屬性、掩碼都是32位數值。
如果希望某條鏈路能夠被隧道所用,則在所有掩碼為1的位中,管理組中至少有1位與親和屬性中的相應位都為1。對於掩碼為0的位,則不對管理組的相應位進行檢查。
舉例說明:假設親和屬性為0xFFFFFFFF,掩碼為0x0000FFFF,則可用鏈路的管理組屬性高16位可以任意取0或1,低16位則至少有1位為1。
在隧道首節點配置隧道親和屬性後,親和屬性將通過信令協議(RSVP-TE)傳遞給各節點。
不同設備製造商實現的管理組和親和屬性的關係可能有所不同,當在同一網絡中使用不同設備製造商的設備時,需要事先了解各自的實現方式,正確配置鏈路的管理組和隧道的親和屬性,以便準確建立隧道。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
配置鏈路的管理組 |
mpls te link administrative group value |
可選 缺省情況下,鏈路管理組屬性值為0x00000000 |
退回係統視圖 |
quit |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道的親和屬性 |
mpls te affinity property properties [ mask mask-value ] |
可選 缺省情況下,隧道的親和屬性為0x00000000,掩碼為0x00000000 |
提交隧道當前配置 |
mpls te commit |
必選 |
動態優化CR-LSP即定期重計算CR-LSP穿越的路徑。如果重計算的路徑優於當前路徑,則創建一條新的CR-LSP,為之分配新路徑,並將業務從舊的CR-LSP切換至新的CR-LSP,刪除舊CR-LSP。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
使能隧道重優化功能 |
mpls te reoptimization [ frequency seconds ] |
必選 缺省情況下,未使能重優化功能 |
提交隧道當前配置 |
mpls te commit |
必選 |
退到用戶視圖 |
return |
- |
立即對所有使能了重優化功能的TE隧道進行重優化 |
mpls te reoptimization |
可選 |
在建立MPLS TE隧道的過程中,根據實際應用,可能還需要進行一些專門的配置。本節介紹這些特殊配置的使用。
本節介紹的任務是MPLS TE中的一些專門配置,在實施本節的配置任務之前,需要明確理解這些配置對係統可能造成的影響。
本節介紹的配置需要與動態信令協議(如RSVP-TE)配合使用。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道建立時進行環路檢測 |
mpls te loop-detection |
必選 缺省情況下,不進行環路檢測 |
提交隧道當前配置 |
mpls te commit |
必選 |
操作 |
命令 |
說明 |
|
進入係統視圖 |
system-view |
- |
|
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
|
配置隧道支持路由記錄或標簽記錄 |
建立隧道時記錄路由 |
mpls te record-route |
二者必選其一 缺省情況下,不進行路由記錄和標簽記錄 |
建立隧道時記錄路由和標簽 |
mpls te record-route label |
||
提交隧道當前配置 |
mpls te commit |
必選 |
配置隧道重建時間間隔和重建次數後,可以在隧道建立不成功,會每隔一定時間自動嚐試重建,直到達到允許的最大重建次數。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道重建的次數 |
mpls te retry times |
可選 缺省情況下,隧道重建的次數為10次 |
配置隧道重建的間隔時間 |
mpls te timer retry seconds |
可選 缺省情況下,重建隧道的時間間隔為2秒 |
提交隧道當前配置 |
mpls te commit |
必選 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置隧道的優先級 |
mpls te priority setup-priority [ hold-priority ] |
可選 缺省情況下,建立優先級和保持優先級的值都為7 |
提交隧道當前配置 |
mpls te commit |
必選 |
在配置流量轉發之前,需完成以下任務:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 配置MPLS TE隧道
表1-30 使用靜態路由沿MPLS TE隧道轉發流量
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使用靜態路由沿MPLS TE隧道轉發流量 |
ip route-static dest-address { mask | mask-length } interface-type interface-number [ gateway-address ] | vpn-instance d-vpn-instance-name gateway-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
必選 |
· interface-type為Tunnel接口,並且必須設置preference值。
· 有關配置靜態路由的命令請參見“三層技術-IP路由命令參考”中的“靜態路由”。
配置自動路由發布前,需要首先在MPLS TE隧道的Tunnel接口使能OSPF或ISIS路由協議。
在IGP Shortcut和轉發鄰接特性中計算路徑時,可以指定TE隧道使用的度量值。如果使用絕對度量(absolute),則TE隧道的度量值就是配置的值;如果使用相對度量(relative),則TE隧道的度量值是相應IGP路徑度量值加上相對度量值。
(1) 配置IGP Shortcut
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置IGP在進行增強的SPF計算時,使用處於up狀態的MPLS TE隧道 |
mpls te igp shortcut [ isis | ospf ] |
必選 缺省情況下,IGP在進行增強的SPF計算時不使用MPLS TE隧道 如果配置IGP Shortcut時不指定IGP類型,則缺省為ospf和isis都支持 |
配置MPLS TE隧道的度量值 |
mpls te igp metric { absolute value | relative value } |
可選 缺省情況下,TE隧道的度量等於其IGP度量 |
提交隧道當前配置 |
mpls te commit |
必選 |
退回係統視圖 |
quit |
- |
進入OSPF協議視圖 |
ospf [ process-id ] |
- |
使能IGP Shortcut特性 |
enable traffic-adjustment |
必選 缺省情況下,不使能IGP Shortcut特性 |
(2) 配置轉發鄰接
要想使轉發鄰接功能生效,需要創建雙向MPLS TE隧道,並在隧道的兩端同時配置轉發鄰接功能。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
將MPLS TE隧道作為鏈路發布到IGP網絡 |
mpls te igp advertise [ hold-time value ] |
必選 缺省情況下,MPLS TE隧道不被作為鏈路發布到IGP網絡 |
配置MPLS TE隧道的度量值 |
mpls te igp metric { absolute | relative } value |
可選 缺省情況下,TE隧道的度量等於其IGP度量 |
提交隧道當前配置 |
mpls te commit |
必選 |
退回係統視圖 |
quit |
- |
進入OSPF協議視圖 |
ospf [ process-id ] |
- |
使能轉發鄰接特性 |
enable traffic-adjustment advertise |
必選 缺省情況下,未使能轉發鄰接特性 |
使用自動路由發布特性時,必須將TE隧道的目的地址指定為對端節點的LSR ID,並且將Tunnel接口地址發布到OSPF/ISIS等IGP協議中。
在MPLS TE中,影響流量轉發是指可能導致IP流量或MPLS流量經過的路徑發生變化、限製TE隧道流量類型的相關配置。本節介紹MPLS TE中影響流量轉發的幾種主要措施。
本節介紹的配置需要與CSPF、動態信令協議(如RSVP-TE)配合使用。
一旦一條鏈路狀態變為down,失效鏈路定時器就會啟動。如果IGP在定時器超時之前刪除或修改此鏈路,IGP將會把刪除或修改情況通知CSPF。CSPF在TEDB中更新鏈路,並停止定時器。如果定時器超時時,IGP還沒有刪除鏈路,鏈路狀態將被更新為up。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
配置失效鏈路定時器值 |
mpls te cspf timer failed-link timer-interval |
可選 缺省情況下,失效鏈路定時器的值為10秒 |
當MPLS TE相關鏈路的帶寬發生變化時,CSPF可能需要重新計算路徑。
為防止鏈路帶寬變化導致的CSPF計算占用過多資源,可以規定當帶寬變化到達一定限度時才進行泛洪。
用戶可以進行兩種配置:
· 當鏈路的可用帶寬超過上限閾值時泛洪;
· 當鏈路的可預留帶寬低於下限閾值時泛洪。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
配置帶寬變化IGP泛洪閾值 |
mpls te bandwidth change thresholds { down | up } percent |
可選 缺省情況下,帶寬變化IGP泛洪閾值為10 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
配置未配置度量類型的隧道選路時使用的鏈路度量類型 |
mpls te path metric-type { igp | te } |
可選 缺省情況下,選路時使用鏈路的TE度量 |
退回係統視圖 |
quit |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置當前隧道選路時使用的度量類型 |
mpls te path metric-type { igp | te } |
可選 缺省情況下,沒有指定選路時使用的鏈路度量類型,采用MPLS視圖下配置的鏈路度量類型 |
提交隧道當前配置 |
mpls te commit |
必選 |
退回係統視圖 |
quit |
- |
進入MPLS TE鏈路的接口視圖 |
interface interface-type interface-number |
- |
配置鏈路的TE度量 |
mpls te metric value |
可選 缺省情況下,鏈路使用其IGP度量作為TE的度量 |
如果在隧道接口視圖下沒有配置mpls te path metric-type,則使用MPLS視圖下的配置。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置TE隧道轉發的流量類型 |
mpls te vpn-binding { acl acl-number | vpn-instance vpn-instance-name } |
可選 缺省情況下,TE隧道不限製可以轉發的流量類型 |
提交隧道當前配置 |
mpls te commit |
必選 |
CR-LSP備份用於端到端的路徑保護,對整條LSP提供保護。
在配置CR-LSP備份之前,需完成以下任務:
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 配置MPLS TE隧道
操作 |
命令 |
說明 |
進入隧道頭節點的係統視圖 |
system-view |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
使能當前隧道的備份功能,並配置使用的備份模式 |
mpls te backup { hot-standby | ordinary } |
必選 缺省情況下,隧道不進行備份 |
提交隧道當前配置 |
mpls te commit |
必選 |
CR-LSP備份方式在隧道頭節點進行配置,係統自動選擇主LSP和備份LSP的路徑,用戶不需要分別配置主LSP和備份LSP。
建議不要在同一個接口同時配置快速重路由功能和RSVP驗證功能。
FRR是MPLS TE中的臨時性局部保護技術。
由於FRR使用的Bypass隧道需要預先建立,占用額外的帶寬,因此,在網絡帶寬餘量不多的情況下,應該隻對關鍵的接口或鏈路進行快速重路由保護。
用戶可以指定哪種類型的LSP可以使用Bypass隧道,Bypass隧道是否提供帶寬保護以及帶寬保護的總量。
Bypass隧道的帶寬用於保護主LSP,用戶在配置時應保證其帶寬不小於被保護的所有LSP所需帶寬之和,否則可能有主LSP不能綁定到Bypass隧道上。
Bypass隧道一般不轉發數據。如果Bypass隧道在保護主LSP的同時轉發流量,需要為Bypass隧道提供足夠的帶寬。
Bypass隧道不能同時作為VPN等業務的隧道使用。
在配置MPLS TE快速重路由之前,需完成以下任務:
· 配置IGP協議保證各LSR之間可達
· 配置MPLS基本能力
· 配置MPLS TE基本能力
· 使用RSVP-TE建立MPLS TE隧道
· 建立主LSP
表1-38 在主LSP的頭節點使能快速重路由
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入主LSP的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
使能快速重路由功能 |
mpls te fast-reroute |
必選 缺省情況下,未使能快速重路由功能 |
提交隧道配置 |
mpls te commit |
必選 |
當一條隧道被指定保護一個接口以後,它所對應的LSP就成為Bypass隧道。Bypass隧道的建立通過在PLR手工配置觸發。它的配置與普通LSP相同,但不能配置快速重路由屬性。也就是說,Bypass隧道不能同時作為主LSP,LSP不能被嵌套保護。
為接口指定Bypass隧道,需要滿足以下條件:
· Bypass隧道必須是up狀態的;
· 被保護的接口不是Bypass隧道的出接口。
設備最多可以為被保護的接口指定3條Bypass隧道,將使用最佳適配(best-fit)算法來決定使用哪一條Bypass隧道。
設備對使用Bypass隧道的鏈路進行限製,使這些隧道的帶寬總量不超過指定的帶寬。
表1-39 在PLR上配置Bypass隧道
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入Bypass隧道的接口視圖 |
interface tunnel tunnel-number |
- |
配置Bypass隧道的目的地址 |
destination ip-address |
必選 · 配置節點保護時,目的地址為PLR的下下一跳路由器LSR ID · 配置鏈路保護時,目的地址為PLR的下一跳設備的LSR ID |
配置Bypass隧道可保護的帶寬和LSP類型 |
mpls te backup bandwidth { bandwidth | { ct0 | ct1 | ct2 | ct3 } { bandwidth | un-limited } } |
必選 缺省情況下,不對帶寬進行保護 |
提交隧道配置 |
mpls te commit |
必選 |
退回係統視圖 |
quit |
- |
進入被保護的LSP出接口的接口視圖 |
interface interface-type interface-number |
- |
將Bypass隧道綁定到被保護的接口 |
mpls te fast-reroute bypass-tunnel tunnel tunnel-number |
必選 |
對於Bypass隧道,必須使用mpls te backup bandwidth命令配置可保護的帶寬,否則,由於缺省情況是不對帶寬進行保護,將導致主LSP不能綁定到Bypass隧道。
如果使用FRR進行節點保護,則需要在PLR和被保護節點上進行本小節的配置;如果隻是進行鏈路保護,則不必進行本小節的配置。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
使能本節點的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能本節點的RSVP的Hello擴展 |
退回係統視圖 |
quit |
- |
進入PLR與被保護節點直連接口的接口視圖 |
interface interface-type interface-number |
- |
使能接口的RSVP的Hello擴展 |
mpls rsvp-te hello |
必選 缺省情況下,未使能接口的RSVP的Hello擴展 |
對於鏈路失效引發的節點失效,不需要使用RSVP的Hello擴展機製來進行鄰居檢測。該配置主要用於在鏈路正常,但信令協議故障的特殊情況下檢測節點失效。
FRR切換後,一旦被保護的LSP恢複正常或建立了新的LSP,流量仍會切換回原LSP或新建立的LSP。切換回來後,PLR定時掃描,如果發現保護隧道,將刷新綁定關係。
操作 |
命令 |
說明 |
進入PLR節點的係統視圖 |
system-view |
- |
進入MPLS視圖 |
mpls |
- |
配置快速重路由掃描間隔 |
mpls te timer fast-reroute [ seconds ] |
可選 缺省情況下,掃描間隔為300秒 |
在MPLS TE網絡中,MPLS TE隧道出現故障或性能降低,影響數據轉發時,負責建立MPLS TE隧道的控製平麵無法檢測或不能快速發現這種錯誤,這會給網絡維護帶來困難。為了及時發現MPLS TE隧道錯誤,並定位失效節點,設備上提供了如下幾種機製:
· MPLS LSP Ping功能
· MPLS LSP Tracert功能
· BFD檢測MPLS TE隧道功能
· MPLS TE隧道的周期性LSP Tracert功能
MPLS LSP Ping功能可以用來對MPLS TE隧道的可達性進行檢測。采取方法是:在頭節點為MPLS Echo Request報文壓入待檢測的MPLS TE隧道對應的標簽,使得MPLS Echo Request報文沿著MPLS TE隧道轉發,頭節點根據是否收到尾節點的應答報文,判斷MPLS TE隧道是否可達。
表1-42 MPLS LSP Ping功能
操作 |
命令 |
說明 |
通過MPLS LSP Ping檢測MPLS TE隧道的可達性 |
ping lsp [ -a source-ip | -c count | -exp exp-value | -h ttl-value | -m wait-time | -r reply-mode | -s packet-size | -t time-out | -v ] * te interface-type interface-number |
必選 可在任意視圖下執行本命令 |
MPLS LSP Tracert用來對MPLS TE隧道的錯誤進行定位。MPLS LSP Tracert通過連續發送TTL從1到某個值的MPLS Echo Request報文,讓MPLS TE隧道路徑上的每一跳收到該報文後,返回TTL超時的MPLS Echo Reply報文。這樣,Ingress節點可以收集到MPLS TE隧道上每一跳的信息,從而定位出故障節點。同時,MPLS LSP Tracert還可用於收集整條MPLS TE隧道上每個節點的重要信息,如分配的標簽等。
表1-43 MPLS LSP Tracert功能
操作 |
命令 |
說明 |
通過MPLS LSP Tracert對MPLS TE隧道的錯誤進行定位 |
tracert lsp [ -a source-ip | -exp exp-value | -h ttl-value | -r reply-mode |-t time-out ] * te interface-type interface-number |
必選 可在任意視圖下執行本命令 |
BFD檢測MPLS TE隧道功能通過在MPLS TE隧道頭節點和尾節點之間建立BFD會話,利用BFD快速檢測MPLS TE隧道的連通性。在頭節點為BFD控製報文壓入MPLS TE隧道的標簽,沿著 MPLS TE隧道轉發BFD控製報文,並根據收到的尾節點的BFD控製報文來判斷MPLS TE隧道的狀態。當BFD檢測到MPLS TE隧道故障後,還可以觸發保護倒換進行流量的切換。
可以通過兩種方式建立檢測MPLS TE隧道的BFD會話:
· 靜態方式:如果執行mpls te bfd enable命令時通過discriminator參數指定了本地和遠端的鑒別值,則根據指定的鑒別值建立BFD會話。該方式用來檢測兩台設備間從本地到遠端和從遠端到本地的一對MPLS TE隧道。
· 動態方式:如果執行mpls te bfd enable命令時沒有通過discriminator參數指定本地和遠端的鑒別值,則自動運行MPLS LSP Ping來協商鑒別值,並根據協商好的鑒別值建立BFD會話。該方式用來檢測兩台設備間從本地到遠端的一條單向MPLS TE隧道。
BFD檢測MPLS TE隧道功能還可以觸發拆除故障的RSVP-TE隧道,並重新建立:通過mpls te failure-action teardown命令使能了RSVP-TE隧道故障後的拆除重建功能後,如果在BFD檢測到RSVP-TE隧道故障後的一段時間內RSVP沒有重新創建該RSVP-TE隧道,則將觸發MPLS TE重新創建對應的RSVP-TE隧道。
· BFD會話參數為MPLS TE隧道接口下配置的BFD參數,BFD會話的源地址為MPLS LSR-ID。因此,配置BFD檢測MPLS TE隧道功能前,需要確保對端設備上存在MPLS LSR-ID對應的路由,還可以根據需要在隧道接口下配置BFD會話參數。BFD的詳細介紹,請參見“可靠性配置指導”中的“BFD”。
· 使用靜態方式建立檢測MPLS TE隧道的BFD會話前,需要確保已經建立從本地到遠端和從遠端到本地的兩條MPLS TE隧道。
表1-44 配置BFD檢測MPLS TE隧道功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能LSP驗證功能,並進入MPLS-LSPV視圖 |
mpls lspv |
必選 缺省情況下,未使能LSP驗證功能 |
退回係統視圖 |
quit |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置使用BFD檢測指定MPLS TE隧道的連通性 |
mpls te bfd enable [ discriminator local local-id remote remote-id ] |
必選 缺省情況下,未使用BFD檢測指定MPLS TE隧道的連通性 |
使能RSVP-TE隧道故障後的拆除重建功能 |
mpls te failure-action teardown |
可選 缺省情況下,未使能RSVP-TE隧道故障後的拆除重建功能 |
· mpls lspv命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS基礎”。
· 不能同時使用靜態方式和動態方式建立檢測同一個MPLS TE隧道的BFD會話。
· 使用靜態方式建立檢測MPLS TE隧道的BFD會話後,不能修改BFD會話的鑒別值。
· 如果在MPLS TE隧道上同時使用了FRR和BFD檢測功能,則為了保證FRR切換或回切不會導致BFD會話down,需要配置BFD會話的檢測周期大於FRR的檢測周期。
· 協議中規定:用於檢測MPLS TE隧道的BFD會話中,頭節點工作在主動(Active)模式,尾節點工作在被動(Passive)模式。在頭節點和尾節點上執行bfd session init-mode命令不會改變節點的工作模式,即使頭節點和尾節點均配置為被動模式,BFD會話仍然可以正常建立。
MPLS TE隧道的周期性LSP Tracert功能,即周期性地對MPLS TE隧道進行Tracert檢測,該功能用來對MPLS TE隧道的錯誤進行定位,對轉發平麵和控製平麵一致性進行檢測,並通過日誌記錄檢測結果。管理員可以通過查看日誌信息,了解MPLS TE隧道是否出現故障。
如果同時配置了BFD檢測MPLS TE隧道功能和MPLS TE隧道的周期性LSP Tracert功能,則MPLS TE隧道的周期性LSP Tracert檢測到轉發平麵故障或轉發平麵與控製平麵不一致時,會觸發刪除原有BFD會話,並基於控製平麵重新建立BFD會話。
MPLS TE隧道的周期性LSP Tracert功能還可以觸發拆除故障的RSVP-TE隧道,並重新建立:通過mpls te failure-action teardown命令使能了RSVP-TE隧道故障後的拆除重建功能後,如果在周期性LSP Tracert檢測到RSVP-TE隧道故障後的一段時間內RSVP沒有重新創建該RSVP-TE隧道,則將觸發MPLS TE重新創建對應的RSVP-TE隧道。
表1-45 配置MPLS TE隧道的周期性LSP Tracert功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動LSP檢測功能,並進入MPLS-LSPV視圖 |
mpls lspv |
必選 缺省情況下,未使能LSP檢測功能 |
退回係統視圖 |
quit |
- |
進入MPLS TE隧道的Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
使能指定MPLS TE隧道的周期性LSP Tracert檢測功能 |
mpls te periodic-tracert [ -a source-ip | -exp exp-value | -h ttl-value | -m wait-time | -t time-out | -u retry-attempt ] * |
必選 缺省情況下,未使能MPLS TE隧道的周期性LSP Tracert檢測功能 |
使能RSVP-TE隧道故障後的拆除重建功能 |
mpls te failure-action teardown |
可選 缺省情況下,未使能RSVP-TE隧道故障後的拆除重建功能 |
mpls lspv命令的詳細介紹,請參見“MPLS命令參考”中的“MPLS基礎”。
在配置保護倒換功能之前,需完成以下任務:
· 配置MPLS基本功能
· 使能MPLS TE和創建MPLS TE隧道
· 配置BFD檢測MPLS TE隧道功能
在配置Tunnel保護組之前,需準備以下數據:
· 保護組中主Tunnel的接口編號
· 保護組中保護Tunnel ID
表1-46 配置保護倒換功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入Tunnel接口視圖 |
interface tunnel tunnel-number |
- |
配置主Tunnel的保護組 |
mpls te protection tunnel tunnel-id [ holdoff holdoff-time | mode { non-revertive | revertive [ wtr wtr-time ] } ] * |
必選 |
配置外部倒換動作 |
mpls te protect-switch { clear | force | lock | manual } |
可選 缺省情況下,沒有配置外部倒換動作 |
提交隧道當前配置 |
mpls te commit |
必選 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MPLS TE的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除MPLS TE統計信息。
表1-47 MPLS TE的顯示和維護
操作 |
命令 |
顯示顯式路徑信息 |
display explicit-path [ path-name ] [ | { begin | exclude | include } regular-expression ] |
顯示靜態CR-LSP信息 |
display mpls static-cr-lsp [ lsp-name lsp-name ] [ { include | exclude } ip-address prefix-length ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE的配置信息 |
display mpls rsvp-te [ interface [ interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] ] |
顯示RSVP-TE隧道信息 |
display mpls rsvp-te established [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE鄰居信息 |
display mpls rsvp-te peer [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE請求消息信息 |
display mpls rsvp-te request [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP資源預留信息 |
display mpls rsvp-te reservation [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE PSB信息 |
display mpls rsvp-te psb-content ingress-lsr-id lspid tunnel-id egress-lsr-id [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE RSB信息 |
display mpls rsvp-te rsb-content ingress-lsr-id Ispid tunnel-id egress-lsr-id nexthop-address [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE發送方消息信息 |
display mpls rsvp-te sender [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示RSVP-TE的統計信息 |
display mpls rsvp-te statistics { global | interface [ interface-type interface-number ] } [ | { begin | exclude | include } regular-expression ] |
顯示滿足指定條件的基於CSPF的TEDB信息 |
display mpls te cspf tedb { all | area area-id | interface ip-address | network-lsa | node [ mpls-lsr-id ] } [ | { begin | exclude | include } regular-expression ] |
顯示所有鏈路接納的CR-LSP信息 |
display mpls te link-administration admission-control [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示使能了MPLS TE的接口分配的帶寬 |
display mpls te link-administration bandwidth-allocation [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示MPLS TE隧道信息 |
display mpls te tunnel [ destination dest-addr ] [ lsp-id lsr-id lsp-id ] [ lsr-role { all | egress | ingress | remote | transit } ] [ name name ] [ { incoming-interface | outgoing-interface | interface } interface-type interface-number ] [ verbose ] [ | { begin | exclude | include } regular-expression ] |
顯示本地節點的MPLS TE隧道的路徑屬性信息 |
display mpls te tunnel path [ lsp-id lsr-id lsp-id | tunnel-name tunnel-name ] [ | { begin | exclude | include } regular-expression ] |
顯示MPLS TE隧道統計信息 |
display mpls te tunnel statistics [ | { begin | exclude | include } regular-expression ] |
顯示本地節點的MPLS TE隧道接口信息 |
display mpls te tunnel-interface tunnel number [ | { begin | exclude | include } regular-expression ] |
顯示與流量調節(IGP shortcut及轉發鄰接)相關的OSPF進程的隧道信息 |
display ospf [ process-id ] traffic-adjustment [ | { begin | exclude | include } regular-expression ] |
顯示OSPF TE信息 |
display ospf [ process-id ] mpls-te [ area area-id ] [ self-originated ] [ | { begin | exclude | include } regular-expression ] |
顯示IS-IS TE最近一次發布的TE信息 |
display isis traffic-eng advertisements [ [ level-1 | level-1-2 | level-2 ] | [ lsp-id lsp-id | local ] ] * [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示IS-IS TE的鏈路信息 |
display isis traffic-eng link [ [ level-1 | level-1-2 | level-2 ] | verbose ] * [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示IS-IS TE的網絡信息 |
display isis traffic-eng network [ level-1 | level-1-2 | level-2 ] [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示IS-IS TE的統計信息 |
display isis traffic-eng statistics [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示IS-IS TE擴展的子TLV信息 |
display isis traffic-eng sub-tlvs [ process-id | vpn-instance vpn-instance-name ] [ | { begin | exclude | include } regular-expression ] |
顯示隧道信息 |
display tunnel-info { tunnel-id | all | statistics } [ | { begin | exclude | include } regular-expression ] |
顯示BFD對MPLS TE隧道的檢測信息 |
display mpls lsp bfd [ te tunnel tunnel-number ] [ | { begin | exclude | include } regular-expression ] |
顯示指定Tunnel和其對應保護Tunnel信息 |
display mpls te protection tunnel { tunnel-id | all } [ verbose ] [ | { begin | exclude | include } regular-expression ] |
顯示DS-TE相關信息 |
display mpls te ds-te [ | { begin | exclude | include } regular-expression ] |
清除RSVP-TE的統計信息 |
reset mpls rsvp-te statistics { global | interface [ interface-type interface-number ] |
缺省情況下,以太網接口、VLAN接口及聚合接口處於DOWN狀態。如果要對這些接口進行配置,請先使用undo shutdown命令使這些接口處於UP。
· 設備Switch A、Switch B和Switch C運行IS-IS;
· 使用靜態CR-LSP建立一條Switch A到Switch C的TE隧道。
圖1-8 靜態CR-LSP配置組網圖
(1) 配置各接口的IP地址
按照圖1-8配置各接口的IP地址和掩碼,具體配置過程略。
(2) 配置IS-IS協議發布LSR ID的主機路由
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] quit
配置完成後,在各設備上執行display ip routing-table命令,可以看到相互之間都學到了到對方的LSR ID的主機路由。以Switch A為例:
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.1.1.0/24 Direct 0 0 2.1.1.1 Vlan1
2.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 ISIS 15 10 2.1.1.2 Vlan1
3.2.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.3.3.3/32 ISIS 15 20 2.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 配置MPLS TE基本能力
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.3
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] quit
(4) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道。
[SwitchA] interface tunnel 0
[SwitchA-Tunnel0] ip address 6.1.1.1 255.255.255.0
[SwitchA-Tunnel0] tunnel-protocol mpls te
[SwitchA-Tunnel0] destination 3.3.3.3
[SwitchA-Tunnel0] mpls te tunnel-id 10
[SwitchA-Tunnel0] mpls te signal-protocol static
[SwitchA-Tunnel0] mpls te commit
[SwitchA-Tunnel0] quit
(5) 創建靜態CR-LSP
# 配置Switch A為靜態CR-LSP的頭節點。
[SwitchA] static-cr-lsp ingress Tunnel0 destination 3.3.3.3 nexthop 2.1.1.2 out-label 20
# 配置Switch B為靜態CR-LSP的中間節點。
[SwitchB] static-cr-lsp transit tunnel0 incoming-interface Vlan-interface1 in-label 20 nexthop 3.2.1.2 out-label 30
# 配置Switch C為靜態CR-LSP的尾節點。
[SwitchC] static-cr-lsp egress tunnel0 incoming-interface Vlan-interface2 in-label 30
(6) 配置完成後的檢驗
配置完成後,在Switch A上執行display interface tunnel命令,可以看到Tunnel接口的狀態為up。
[SwitchA] display interface tunnel
Tunnel0 current state: UP
Line protocol current state: UP
Description: Tunnel0 Interface
The Maximum Transmit Unit is 64000
Internet Address is 6.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.3
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在各設備上執行display mpls te tunnel命令,可以看到MPLS TE隧道的建立情況。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 3.3.3.3 -/Vlan1 Tunnel0
[SwitchB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - Vlan1/Vlan2 Tunnel0
[SwitchC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
- - Vlan2/- Tunnel0
在各設備上執行display mpls lsp或display mpls static-cr-lsp命令,可以看到靜態CR-LSP的建立情況。
[SwitchA] display mpls lsp
-------------------------------------------------------------------
LSP Information: STATIC CRLSP
-------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 NULL/20 -/Vlan1
[SwitchB] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 20/30 Vlan1/Vlan2
[SwitchC] display mpls lsp
------------------------------------------------------------------
LSP Information: STATIC CRLSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
-/- 30/NULL Vlan1/-
[SwitchA] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 3.3.3.3/32 NULL/20 -/Vlan1 Up
[SwitchB] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 -/- 20/30 Vlan1/Vlan2 Up
[SwitchC] display mpls static-cr-lsp
total statics-cr-lsp : 1
Name FEC I/O Label I/O If State
Tunnel0 -/- 30/NULL Vlan2/- Up
使用靜態CR-LSP建立MPLS TE隧道時,Transit節點和Egress節點直接根據配置的入標簽和出標簽進行轉發,因此,Switch B和Switch C的相關顯示信息中,FEC等內容為空。
(7) 使用靜態路由沿MPLS TE隧道轉發流量
[SwitchA] ip route-static 3.2.1.2 24 tunnel 0 preference 1
在Switch A上執行display ip routing-table命令,可以看到路由表中有以Tunnel0為出接口的靜態路由信息。
· 設備Switch A、Switch B、Switch C和Switch D運行IS-IS,都是Level-2設備;
· 使用RSVP-TE從Switch A到Switch D建立一條TE隧道。
圖1-9 RSVP-TE配置MPLS TE隧道組網圖
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照圖1-9配置各接口的IP地址和掩碼,具體配置過程略。
(2) 配置IS-IS協議發布LSR ID的主機路由
# 配置Switch A。
<SwitchA> system-view
[SwitchA] isis 1
[SwitchA-isis-1] network-entity 00.0005.0000.0000.0001.00
[SwitchA-isis-1] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] isis enable 1
[SwitchA-Vlan-interface1] isis circuit-level level-2
[SwitchA-Vlan-interface1] quit
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] isis enable 1
[SwitchA-LoopBack0] isis circuit-level level-2
[SwitchA-LoopBack0] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] isis 1
[SwitchB-isis-1] network-entity 00.0005.0000.0000.0002.00
[SwitchB-isis-1] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] isis enable 1
[SwitchB-Vlan-interface1] isis circuit-level level-2
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] isis enable 1
[SwitchB-Vlan-interface2] isis circuit-level level-2
[SwitchB-Vlan-interface2] quit
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] isis enable 1
[SwitchB-LoopBack0] isis circuit-level level-2
[SwitchB-LoopBack0] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] isis 1
[SwitchC-isis-1] network-entity 00.0005.0000.0000.0003.00
[SwitchC-isis-1] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] isis enable 1
[SwitchC-Vlan-interface3] isis circuit-level level-2
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] isis enable 1
[SwitchC-Vlan-interface2] isis circuit-level level-2
[SwitchC-Vlan-interface2] quit
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] isis enable 1
[SwitchC-LoopBack0] isis circuit-level level-2
[SwitchC-LoopBack0] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] isis 1
[SwitchD-isis-1] network-entity 00.0005.0000.0000.0004.00
[SwitchD-isis-1] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] isis enable 1
[SwitchD-Vlan-interface3] isis circuit-level level-2
[SwitchD-Vlan-interface3] quit
[SwitchD] interface loopback 0
[SwitchD-LoopBack0] isis enable 1
[SwitchD-LoopBack0] isis circuit-level level-2
[SwitchD-LoopBack0] quit
配置完成後,在各設備上執行display ip routing-table命令,可以看到相互之間都學到了到對方的LSR ID的主機路由。以Switch A為例:
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 ISIS 15 10 10.1.1.2 Vlan1
3.3.3.9/32 ISIS 15 20 10.1.1.2 Vlan1
4.4.4.9/32 ISIS 15 30 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 ISIS 15 20 10.1.1.2 Vlan1
30.1.1.0/24 ISIS 15 30 10.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 配置MPLS TE基本能力,並使能RSVP-TE和CSPF
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls te cspf
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] mpls rsvp-te
[SwitchC-mpls] mpls te cspf
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls
[SwitchC-Vlan-interface3] mpls te
[SwitchC-Vlan-interface3] mpls rsvp-te
[SwitchC-Vlan-interface3] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] mpls rsvp-te
[SwitchC-Vlan-interface2] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls
[SwitchD-mpls] mpls te
[SwitchD-mpls] mpls rsvp-te
[RouterD-mpls] mpls te cspf
[SwitchD-mpls] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls
[SwitchD-Vlan-interface3] mpls te
[SwitchD-Vlan-interface3] mpls rsvp-te
[SwitchD-Vlan-interface3] quit
(4) 配置IS-IS TE
# 配置Switch A。
[SwitchA] isis 1
[SwitchA-isis-1] cost-style wide
[SwitchA-isis-1] traffic-eng level-2
[SwitchA-isis-1] quit
# 配置Switch B。
[SwitchB] isis 1
[SwitchB-isis-1] cost-style wide
[SwitchB-isis-1] traffic-eng level-2
[SwitchB-isis-1] quit
# 配置Switch C。
[SwitchC] isis 1
[SwitchC-isis-1] cost-style wide
[SwitchC-isis-1] traffic-eng level-2
[SwitchC-isis-1] quit
# 配置SwitchD。
[SwitchD] isis 1
[SwitchD-isis-1] cost-style wide
[SwitchD-isis-1] traffic-eng level-2
[SwitchD-isis-1] quit
(5) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te signal-protocol rsvp-te
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] quit
(6) 配置完成後的檢驗
配置完成後,在Switch A上執行display interface tunnel命令可以看到隧道接口狀態為up。
[SwitchA] display interface tunnel
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 64000
Internet Address is 7.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 4.4.4.9
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在Switch A上執行display mpls te tunnel-interface命令可以看到隧道的詳細信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel1
Tunnel Desc : Tunnel1 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.9:3
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.9 Egress LSR ID: 4.4.4.9
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : -
Tie-Breaking Policy : None
Metric Type : None
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
在Switch A上執行display mpls te cspf tedb all命令查看TEDB中的鏈路信息。
[SwitchA] display mpls te cspf tedb all
Maximum Node Supported: 128 Maximum Link Supported: 256
Current Total Node Number: 4 Current Total Link Number: 6
Id MPLS LSR-Id IGP Process-Id Area Link-Count
1 3.3.3.9 ISIS 1 Level-2 2
2 2.2.2.9 ISIS 1 Level-2 2
3 4.4.4.9 ISIS 1 Level-2 1
4 1.1.1.9 ISIS 1 Level-2 1
(7) 使用靜態路由沿MPLS TE隧道轉發流量
[SwitchA] ip route-static 30.1.1.2 24 tunnel 1 preference 1
在Switch A上執行display ip routing-table命令,可以看到路由表中有以Tunnel1為出接口的靜態路由信息。
· Switch A和Switch B位於AS 100內,AS 100內使用OSPF作為IGP協議。
· Switch C和Switch D位於AS 200內,AS 200內使用OSPF作為IGP協議。
· 在作為ASBR的Switch B和Switch C之間建立EBGP連接,配置BGP引入OSPF路由, OSPF進程引入BGP路由,使得AS 100和AS 200之間路由可達。
· 使用RSVP-TE從Switch A到Switch D建立一條跨域的MPLS TE隧道。
圖1-10 使用RSVP-TE配置跨域的MPLS TE隧道組網圖
設備 |
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int3 |
30.1.1.2/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int3 |
30.1.1.1/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int2 |
20.1.1.2/24 |
(1) 配置各接口的IP地址
按照圖1-10配置各接口的IP地址和掩碼,具體配置過程略。
(2) 配置OSPF,在AS內發布路由信息
# 配置Switch A。
<SwitchA> system-view
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.9 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] ospf
[SwitchB-ospf-1] import-route direct
[SwitchB-ospf-1] import-route bgp
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.9 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
<SwitchC> system-view
[SwitchC] ospf
[SwitchC-ospf-1] import-route direct
[SwitchC-ospf-1] import-route bgp
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[SwitchC-ospf-1-area-0.0.0.0] network 3.3.3.9 0.0.0.0
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
# 配置Switch D。
<SwitchD> system-view
[SwitchD] ospf
[SwitchD-ospf-1] area 0
[SwitchD-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[SwitchD-ospf-1-area-0.0.0.0] network 4.4.4.9 0.0.0.0
[SwitchD-ospf-1-area-0.0.0.0] quit
[SwitchD-ospf-1] quit
配置完成後,在各設備上執行display ip routing-table命令,可以看到AS內的設備之間都學到了到對方LSR ID對應的主機路由。以Switch A為例:
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 6 Routes : 6
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 OSPF 10 1 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 在Switch B和Switch C之間配置BGP,使得AS之間路由可達
# 配置Switch B。
[SwitchB] bgp 100
[SwitchB-bgp] peer 20.1.1.2 as-number 200
[SwitchB-bgp] import-route ospf
[SwitchB-bgp] import-route direct
[SwitchB-bgp] quit
# 配置Switch C。
[SwitchC] bgp 200
[SwitchC-bgp] peer 20.1.1.1 as-number 100
[SwitchC-bgp] import-route ospf
[SwitchC-bgp] import-route direct
[SwitchC-bgp] quit
配置完成後,在各設備上執行display ip routing-table命令,可以看到設備學習到了AS外部的路由。以Switch A為例:
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 OSPF 10 1 10.1.1.2 Vlan1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 Vlan1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 Vlan1
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
30.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(4) 配置MPLS TE基本能力,並使能RSVP-TE和CSPF
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls te cspf
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] quit
# 配置Switch C。
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] mpls rsvp-te
[SwitchC-mpls] mpls te cspf
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] mpls rsvp-te
[SwitchC-Vlan-interface2] quit
[SwitchC] interface vlan-interface 3
[SwitchC-Vlan-interface3] mpls
[SwitchC-Vlan-interface3] mpls te
[SwitchC-Vlan-interface3] mpls rsvp-te
[SwitchC-Vlan-interface3] quit
# 配置Switch D。
[SwitchD] mpls lsr-id 4.4.4.9
[SwitchD] mpls
[SwitchD-mpls] mpls te
[SwitchD-mpls] mpls rsvp-te
[SwitchD-mpls] mpls te cspf
[SwitchD-mpls] quit
[SwitchD] interface vlan-interface 3
[SwitchD-Vlan-interface3] mpls
[SwitchD-Vlan-interface3] mpls te
[SwitchD-Vlan-interface3] mpls rsvp-te
[SwitchD-Vlan-interface3] quit
(5) 配置OSPF TE
# 配置Switch A。
[SwitchA] ospf
[SwitchA-ospf-1] opaque-capability enable
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] mpls-te enable
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1] quit
# 配置Switch B。
[SwitchB] ospf
[SwitchB-ospf-1] opaque-capability enable
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] mpls-te enable
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
# 配置Switch C。
[SwitchC] ospf
[SwitchC-ospf-1] opaque-capability enable
[SwitchC-ospf-1] area 0
[SwitchC-ospf-1-area-0.0.0.0] mpls-te enable
[SwitchC-ospf-1-area-0.0.0.0] quit
[SwitchC-ospf-1] quit
# 配置Switch D。
[SwitchD] ospf
[SwitchD-ospf-1] opaque-capability enable
[SwitchD-ospf-1] area 0
[SwitchD-ospf-1-area-0.0.0.0] mpls-te enable
[SwitchD-ospf-1-area-0.0.0.0] quit
[SwitchD-ospf-1] quit
(6) 配置鬆散顯式路徑
# 在Switch A上配置鬆散顯式路徑。
[SwitchA] explicit-path atod enable
[SwitchA-explicit-path-atod] next hop 10.1.1.2 include loose
[SwitchA-explicit-path-atod] next hop 20.1.1.2 include loose
[SwitchA-explicit-path-atod] next hop 30.1.1.2 include loose
[SwitchA-explicit-path-atod] quit
(7) 配置MPLS TE隧道
# 在Switch A上配置MPLS TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 7.1.1.1 255.255.255.0
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 4.4.4.9
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te signal-protocol rsvp-te
[SwitchA-Tunnel1] mpls te path explicit-path atod preference 5
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] quit
(8) 配置完成後的檢驗
配置完成後,在Switch A上執行display interface tunnel命令可以看到隧道接口狀態為up。
[SwitchA] display interface tunnel 1
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 64000
Internet Address is 7.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set.
Tunnel source unknown, destination 4.4.4.9
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last clearing of counters: Never
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在Switch A上執行display mpls te tunnel-interface命令可以看到隧道的詳細信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel1
Tunnel Desc : Tunnel1 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.9:2
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.9 Egress LSR ID: 4.4.4.9
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : atod
Tie-Breaking Policy : None
Metric Type : None
Loop Detection : Disabled
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 2 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
在Switch A上執行display mpls te cspf tedb all命令查看TEDB中的鏈路信息。
[SwitchA] display mpls te cspf tedb all
Maximum Node Supported: 128 Maximum Link Supported: 256
Current Total Node Number: 2 Current Total Link Number: 2
Id MPLS LSR-Id IGP Process-Id Area Link-Count
1 1.1.1.9 OSPF 1 0 1
2 2.2.2.9 OSPF 1 0 1
(9) 使用靜態路由沿MPLS TE隧道轉發流量
[SwitchA] ip route-static 30.1.1.2 24 tunnel 1 preference 1
在Switch A上執行display ip routing-table命令,可以看到路由表中有以Tunnel1為出接口的靜態路由信息。
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.9/32 OSPF 10 1 10.1.1.2 Vlan1
3.3.3.9/32 O_ASE 150 1 10.1.1.2 Vlan1
4.4.4.9/32 O_ASE 150 1 10.1.1.2 Vlan1
7.1.1.0/24 Direct 0 0 7.1.1.1 Tun1
7.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
10.1.1.0/24 Direct 0 0 10.1.1.1 Vlan1
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 O_ASE 150 1 10.1.1.2 Vlan1
30.1.1.0/24 Static 1 0 7.1.1.1 Tun1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
· 設備Switch A、Switch B和Switch C運行IS-IS,都是Level-2設備;
· 使用RSVP-TE建立從Switch A到Switch C的TE隧道;
· 設備Switch A、Switch B和Switch C支持RSVP的Hello擴展能力;
· Switch A、Switch B和Switch C為RSVP-TE鄰居,通過使能GR能力,鄰居之間可以在對方發生GR Restart的時候提供GR Helper支持。
圖1-11 RSVP-TE GR配置組網圖
(1) 配置各接口的IP地址
按照圖1-11配置各接口的IP地址和掩碼,具體配置過程略。
(2) 配置IS-IS協議發布LSR ID的主機路由
具體配置略。
(3) 配置MPLS TE基本能力,並使能RSVP-TE和節點的RSVP的Hello擴展
# 配置Switch A
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls rsvp-te hello
[SwitchA-mpls] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] mpls rsvp-te hello
[SwitchA-Vlan-interface1] quit
# 配置Switch B
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.9
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls rsvp-te hello
[SwitchB-mpls] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] mpls rsvp-te hello
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] mpls rsvp-te hello
[SwitchB-Vlan-interface2] quit
# 配置Switch C
<SwitchC> system-view
[SwitchC] mpls lsr-id 3.3.3.9
[SwitchC] mpls
[SwitchC-mpls] mpls te
[SwitchC-mpls] mpls rsvp-te
[SwitchC-mpls] mpls rsvp-te hello
[SwitchC-mpls] quit
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] mpls
[SwitchC-Vlan-interface2] mpls te
[SwitchC-Vlan-interface2] mpls rsvp-te
[SwitchC-Vlan-interface2] mpls rsvp-te hello
[SwitchC-Vlan-interface2] quit
(4) 配置IS-IS TE
具體配置略。
(5) 配置MPLS TE隧道
具體配置略。
(6) 配置RSVP-TE GR
# 配置Switch A
<SwitchA> system-view
[SwitchA] mpls
[SwitchA-mpls] mpls rsvp-te graceful-restart
# 配置Switch B
<SwitchB> system-view
[SwitchB] mpls
[SwitchB-mpls] mpls rsvp-te graceful-restart
# 配置Switch C
<SwitchC> system-view
[SwitchC] mpls
[SwitchC-mpls] mpls rsvp-te graceful-restart
(7) 檢驗配置效果
# 在Switch A和Switch C之間創建隧道且運行穩定後,通過命令可以看到鄰居的GR狀態已經處於Ready狀態。
<SwitchA> display mpls rsvp-te peer
Interface Vlan-interface1
Neighbor Addr: 10.1.1.2
SrcInstance: 880 NbrSrcInstance: 5017
PSB Count: 0 RSB Count: 1
Hello Type Sent: REQ Neighbor Hello Extension: ENABLE
SRefresh Enable: NO
Graceful Restart State: Ready
Restart Time: 120 Sec Recovery Time: 300 Sec
· Switch A、Switch B物理直連,並且在雙方直連口上使能MPLS RSVP-TE BFD應用,在設備上運行OSPF,網絡層相互可達。
· 當Switch A和Switch B之間的鏈路出現故障後,BFD能夠快速檢測並通告MPLS RSVP-TE協議。
圖1-12 MPLS RSVP-TE與BFD聯動配置組網圖
(1) 配置MPLS RSVP-TE基本功能
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 12
[SwitchA-Vlan-interface12] mpls
[SwitchA-Vlan-interface12] mpls te
[SwitchA-Vlan-interface12] mpls rsvp-te
[SwitchA-Vlan-interface12] mpls rsvp-te bfd enable
[SwitchA-Vlan-interface12] quit
# 配置Switch B。
<SwitchB> system-view
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 12
[SwitchB-Vlan-interface12] mpls
[SwitchB-Vlan-interface12] mpls te
[SwitchB-Vlan-interface12] mpls rsvp-te
[SwitchB-Vlan-interface12] mpls rsvp-te bfd enable
[SwitchB-Vlan-interface12] quit
(2) 配置OSPF基本功能
# 配置Switch A。
[SwitchA] ospf
[SwitchA-ospf-1] area 0
[SwitchA-ospf-1-area-0.0.0.0] network 12.12.12.1 0.0.0.255
[SwitchA-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[SwitchA-ospf-1-area-0.0.0.0] quit
[SwitchA-ospf-1]quit
# 配置Switch B。
[SwitchB] ospf
[SwitchB-ospf-1] area 0
[SwitchB-ospf-1-area-0.0.0.0] network 12.12.12.2 0.0.0.255
[SwitchB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[SwitchB-ospf-1-area-0.0.0.0] quit
[SwitchB-ospf-1] quit
(3) 配置接口的IP地址
# 配置Switch A。
[SwitchA] interface vlan-interface 12
[SwitchA-Vlan-interface12] ip address 12.12.12.1 24
[SwitchA-Vlan-interface12] quit
# 配置Switch B。
[SwitchB] interface vlan-interface 12
[SwitchB-Vlan-interface12] ip address 12.12.12.2 24
(4) 配置MPLS TE隧道
# 配置Switch A到Switch B的一條RSVP-TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 10.10.10.1 24
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 2.2.2.2
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te signal-protocol rsvp-te
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] return
(5) 檢查配置結果
# 顯示Switch A的BFD鄰居詳細信息。
<SwitchA> display bfd session verbose
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
Local Discr: 21 Remote Discr: 20
Source IP: 12.12.12.1 Destination IP: 12.12.12.2
Session State: Up Interface: Vlan-interface12
Min Trans Inter: 400ms Act Trans Inter: 400ms
Min Recv Inter: 400ms Act Detect Inter: 2000ms
Running Up for: 00:00:01 Auth mode: None
Connect Type: Direct Board Num: 6
Protocol: RSVP
Diag Info: No Diagnostic
要求建立一條MPLS TE隧道,使用CR-LSP的熱備份。隧道頭節點為Switch A,目的節點為Switch C。
圖1-13 CR-LSP備份組網圖
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.9/32 |
Switch D |
Loop0 |
4.4.4.9/32 |
|
Vlan-int1 |
10.1.1.1/24 |
|
Vlan-int4 |
30.1.1.2/24 |
|
Vlan-int4 |
30.1.1.1/24 |
|
Vlan-int3 |
40.1.1.1/24 |
Switch B |
Loop0 |
2.2.2.9/32 |
Switch C |
Loop0 |
3.3.3.9/32 |
|
Vlan-int1 |
10.1.1.2/24 |
|
Vlan-int2 |
20.1.1.2/24 |
|
Vlan-int2 |
20.1.1.1/24 |
|
Vlan-int3 |
40.1.1.2/24 |
(1) 配置各接口的IP地址
按照圖1-13配置各接口的IP地址和掩碼,包括各Loopback接口,具體配置過程略。
(2) 配置IGP協議
# 在所有設備上配置IS-IS協議,發布LSR ID的主機路由,具體配置過程略。
配置完成後,在各設備上執行display ip routing-table命令,可以看到相互之間都學到了到對方LSR ID的主機路由。
(3) 配置MPLS TE基本能力,並使能RSVP-TE和CSPF
# 配置Switch A。
<SwitchA> system-view
[SwitchA] mpls lsr-id 1.1.1.9
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
[SwitchA] interface vlan-interface 4
[SwitchA-Vlan-interface4] mpls
[SwitchA-Vlan-interface4] mpls te
[SwitchA-Vlan-interface4] mpls rsvp-te
[SwitchA-Vlan-interface4] quit
Switch B、Switch C和Switch D的配置與Switch A相似,此處不再贅述。
(4) 在Switch A上建立MPLS TE Tunnel
# 配置主LSP的MPLS TE隧道。
[SwitchA] interface tunnel 1
[SwitchA-Tunnel1] ip address 9.1.1.1 24
[SwitchA-Tunnel1] tunnel-protocol mpls te
[SwitchA-Tunnel1] destination 3.3.3.9
[SwitchA-Tunnel1] mpls te tunnel-id 10
[SwitchA-Tunnel1] mpls te record-route
# 使用熱備份。
[SwitchA-Tunnel1] mpls te backup hot-standby
[SwitchA-Tunnel1] mpls te commit
[SwitchA-Tunnel1] quit
配置完成後,在Switch A上執行display interface tunnel命令,可以看到Tunnel1的狀態為up。
[SwitchA] display interface tunnel
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 64000
Internet Address is 9.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.9
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
(5) 配置完成後的檢驗
在Switch A上執行display mpls te tunnel命令,可以看到存在兩條Tunnel,出接口分別是Vlan-intface1和Vlan-intface4,即,在主CR-LSP創建後,備份CR-LSP也建立了。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:6 3.3.3.9 -/Vlan1 Tunnel1
1.1.1.9:2054 3.3.3.9 -/Vlan4 Tunnel1
在Switch A上執行display mpls te tunnel path命令,可以看到這兩條Tunnel使用的路徑:
[SwitchA] display mpls te tunnel path
Tunnel Interface Name : Tunnel1
Lsp ID : 1.1.1.9 :6
Hop Information
Hop 0 10.1.1.1
Hop 1 10.1.1.2
Hop 2 2.2.2.9
Hop 3 20.1.1.1
Hop 4 20.1.1.2
Hop 5 3.3.3.9
Tunnel Interface Name : Tunnel1
Lsp ID : 1.1.1.9 :2054
Hop Information
Hop 0 30.1.1.1
Hop 1 30.1.1.2
Hop 2 4.4.4.9
Hop 3 40.1.1.1
Hop 4 40.1.1.2
Hop 5 3.3.3.9
對隧道目的地址進行Tracert操作:
[SwitchA] tracert –a 1.1.1.9 3.3.3.9
traceroute to 3.3.3.9(3.3.3.9) 30 hops max,40 bytes packet
1 10.1.1.2 25 ms 30.1.1.2 25 ms 10.1.1.2 25 ms
2 40.1.1.2 45 ms 20.1.1.2 29 ms 40.1.1.2 54 ms
從以上顯示可以判斷出目前使用的LSP經過SwitchB,沒有使用SwitchD。
對SwitchB的接口Vlan-intface2執行shutdown,然後再對目的地址進行Tracert操作,可以看到報文經過了Switch D:
[SwitchA] tracert –a 1.1.1.9 3.3.3.9
traceroute to 3.3.3.9(3.3.3.9) 30 hops max,40 bytes packet
1 30.1.1.2 28 ms 27 ms 23 ms
2 40.1.1.2 50 ms 50 ms 49 ms
在Switch A上執行display mpls te tunnel命令,可以看到隻剩下一條經過Switch D的Tunnel:
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.9:2054 3.3.3.9 -/Vlan4 Tunnel1
普通CR-LSP備份與熱備份在配置上的唯一區別在於隧道接口上的mpls te backup命令。對於本配置例,如果采用普通備份方式,則備份CR-LSP隻有在主LSP變為down後才會創建,不會同時存在兩條隧道。
(6) 使用靜態路由沿MPLS TE隧道轉發流量
[SwitchA] ip route-static 20.1.1.2 24 tunnel 1 preference 1
在Switch A上執行display ip routing-table命令,可以看到路由表中有以Tunnel1為出接口的靜態路由信息。
· 主LSP是Switch A→Switch B→Switch C→Switch D,要求對Switch B→Switch C這段鏈路通過FRR進行鏈路保護;
· 建立一條Bypass LSP,使用路徑Switch B→Switch E→Switch C(Switch B是本地修複節點PLR,Switch C是彙聚點MP);
· 使用顯式路徑方式建立MPLS TE的主隧道和Bypass隧道。使用的信令協議是RSVP-TE。
圖1-14 MPLS TE快速重路由配置組網圖
接口 |
IP地址 |
設備 |
接口 |
IP地址 |
|
Switch A |
Loop0 |
1.1.1.1/32 |
Switch E |
Loop0 |
5.5.5.5/32 |
|
Vlan-int1 |
2.1.1.1/24 |
|
Vlan-int4 |
3.2.1.2/24 |
Switch B |
Loop0 |
2.2.2.2/32 |
|
Vlan-int5 |
3.3.1.1/24 |
|
Vlan-int1 |
2.1.1.2/24 |
Switch C |
Loop0 |
3.3.3.3/32 |
|
Vlan-int2 |
3.1.1.1/24 |
|
Vlan-int3 |
4.1.1.1/24 |
|
Vlan-int4 |
3.2.1.1/24 |
|
Vlan-int2 |
3.1.1.2/24 |
Switch D |
Loop0 |
4.4.4.4/32 |
|
Vlan-int5 |
3.3.1.2/24 |
|
Vlan-int3 |
4.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址
按照圖1-14配置各接口的IP地址和掩碼,包括各Loopback接口,具體配置過程略。
(2) 配置IGP協議
在所有設備上配置IS-IS協議,發布LSR ID的主機路由,具體配置過程略。
配置完成後,在各設備上執行display ip routing-table命令,應可以看到相互之間都學到了到對方LSR ID的主機路由。
以Switch A的顯示為例:
<SwitchA> display ip routing-table
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.1.1.0/24 Direct 0 0 2.1.1.1 Vlan1
2.1.1.1/32 Direct 0 0 127.0.0.1 InLoop0
2.2.2.2/32 ISIS 15 10 2.1.1.2 Vlan1
3.1.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.2.1.0/24 ISIS 15 20 2.1.1.2 Vlan1
3.3.1.0/24 ISIS 15 30 2.1.1.2 Vlan1
3.3.3.3/32 ISIS 15 20 2.1.1.2 Vlan1
4.1.1.0/24 ISIS 15 30 2.1.1.2 Vlan1
4.4.4.4/32 ISIS 15 30 2.1.1.2 Vlan1
5.5.5.5/32 ISIS 15 20 2.1.1.2 Vlan1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(3) 配置MPLS TE基本能力,並使能RSVP-TE和CSPF
# 配置Switch A。
[SwitchA] mpls lsr-id 1.1.1.1
[SwitchA] mpls
[SwitchA-mpls] mpls te
[SwitchA-mpls] mpls rsvp-te
[SwitchA-mpls] mpls te cspf
[SwitchA-mpls] quit
[SwitchA] interface vlan-interface 1
[SwitchA-Vlan-interface1] mpls
[SwitchA-Vlan-interface1] mpls te
[SwitchA-Vlan-interface1] mpls rsvp-te
[SwitchA-Vlan-interface1] quit
# 配置Switch B。
[SwitchB] mpls lsr-id 2.2.2.2
[SwitchB] mpls
[SwitchB-mpls] mpls te
[SwitchB-mpls] mpls rsvp-te
[SwitchB-mpls] mpls te cspf
[SwitchB-mpls] quit
[SwitchB] interface vlan-interface 1
[SwitchB-Vlan-interface1] mpls
[SwitchB-Vlan-interface1] mpls te
[SwitchB-Vlan-interface1] mpls rsvp-te
[SwitchB-Vlan-interface1] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls
[SwitchB-Vlan-interface2] mpls te
[SwitchB-Vlan-interface2] mpls rsvp-te
[SwitchB-Vlan-interface2] quit
[SwitchB] interface vlan-interface 4
[SwitchB-Vlan-interface4] mpls
[SwitchB-Vlan-interface4] mpls te
[SwitchB-Vlan-interface4] mpls rsvp-te
[SwitchB-Vlan-interface4] quit
Switch C、Switch D、Switch E的配置與Switch A和Switch B的配置相同,此處不再贅述。
(4) 在主LSP的頭節點Switch A上建立MPLS TE Tunnel
# 配置主LSP的顯式路徑。
[SwitchA] explicit-path pri-path
[SwitchA-explicit-path-pri-path] next hop 2.1.1.2
[SwitchA-explicit-path-pri-path] next hop 3.1.1.2
[SwitchA-explicit-path-pri-path] next hop 4.1.1.2
[SwitchA-explicit-path-pri-path] next hop 4.4.4.4
[SwitchA-explicit-path-pri-path] quit
# 配置主LSP的MPLS TE隧道。
[SwitchA] interface tunnel 4
[SwitchA-Tunnel4] ip address 10.1.1.1 255.255.255.0
[SwitchA-Tunnel4] tunnel-protocol mpls te
[SwitchA-Tunnel4] destination 4.4.4.4
[SwitchA-Tunnel4] mpls te tunnel-id 10
[SwitchA-Tunnel4] mpls te path explicit-path pri-path preference 1
# 使能FRR。
[SwitchA-Tunnel4] mpls te fast-reroute
[SwitchA-Tunnel4] mpls te commit
[SwitchA-Tunnel4] quit
配置完成後,在Switch A上執行display interface tunnel命令,可以看到Tunnel4的狀態為up。
[SwitchA] display interface tunnel
Tunnel4 current state: UP
Line protocol current state: UP
Description: Tunnel4 Interface
The Maximum Transmit Unit is 64000
Internet Address is 10.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 4.4.4.4
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last 300 seconds input: 0 bytes/sec, 0 packets/sec
Last 300 seconds output: 0 bytes/sec, 0 packets/sec
0 packets input, 0 bytes
0 input error
0 packets output, 0 bytes
0 output error
在Switch A上執行display mpls te tunnel-interface命令,可以看到隧道接口的詳細信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.1:1
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0/0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
(5) 在作為PLR的Switch B上配置Bypass Tunnel
# 配置Bypass LSP的顯式路徑。
[SwitchB] explicit-path by-path
[SwitchB-explicit-path-by-path] next hop 3.2.1.2
[SwitchB-explicit-path-by-path] next hop 3.3.1.2
[SwitchB-explicit-path-by-path] next hop 3.3.3.3
[SwitchB-explicit-path-by-path] quit
# 配置Bypass Tunnel。
[SwitchB] interface tunnel 5
[SwitchB-Tunnel5] ip address 11.1.1.1 255.255.255.0
[SwitchB-Tunnel5] tunnel-protocol mpls te
[SwitchB-Tunnel5] destination 3.3.3.3
[SwitchB-Tunnel5] mpls te tunnel-id 15
[SwitchB-Tunnel5] mpls te path explicit-path by-path preference 1
# 配置Bypass Tunnel可保護的帶寬。
[SwitchB-Tunnel5] mpls te backup bandwidth 10000
[SwitchB-Tunnel5] mpls te commit
[SwitchB-Tunnel5] quit
# 將Bypass Tunnel綁定到被保護的接口。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] mpls te fast-reroute bypass-tunnel tunnel 5
[SwitchB-Vlan-interface2] quit
配置完成後,在Switch B上執行display interface tunnel命令可以看到接口Tunnel5的狀態為up。
在所有設備上執行display mpls lsp命令,可以看到LSP表項,並且,Switch B和Switch C上有兩條LSP經過。
[SwitchA] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 NULL/1024 -/Vlan1
[SwitchB] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/1024 Vlan1/Vlan2
3.3.3.3/32 NULL/1024 -/Vla4
[SwitchC] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 1024/3 Vlan2/Vlan3
3.3.3.3/32 3/NULL Vlan5/-
[SwitchD] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
4.4.4.4/32 3/NULL Vlan3/-
[SwitchE] display mpls lsp
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
FEC In/Out Label In/Out IF Vrf Name
3.3.3.3/32 1024/3 Vlan4/Vlan5
在所有設備上執行display mpls te tunnel命令,可以看到隧道的建立情況,Switch B和Switch C上有兩條隧道經過。
[SwitchA] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 -/Vlan1 Tunnel4
[SwitchB] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan1/Vlan2 Tunnel4
2.2.2.2:1 3.3.3.3 -/Vlan4 Tunnel5
[SwitchC] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan2/Vlan3 Tunnel4
2.2.2.2:1 3.3.3.3 Vlan5/- Tunnel5
[SwitchD] display mpls te tunnel
LSP-Id Destination In/Out-If Name
1.1.1.1:1 4.4.4.4 Vlan3/- Tunnel4
[SwitchE] display mpls te tunnel
LSP-Id Destination In/Out-If Name
2.2.2.2:1 3.3.3.3 Vlan4/Vlan5 Tunnel5
在Switch B上執行display mpls lsp verbose命令,可以看到Bypass隧道綁定到出接口Vlan-interface2,目前未被使用。
[SwitchB] display mpls lsp verbose
-------------------------------------------------------------------
LSP Information: RSVP LSP
-------------------------------------------------------------------
No : 1
IngressLsrID : 1.1.1.1
LocalLspID : 1
Tunnel-Interface : Tunnel4
Fec : 4.4.4.4/32
Nexthop : 3.1.1.2
In-Label : 1024
Out-Label : 1024
In-Interface : Vlan-interface1
Out-Interface : Vlan-interface2
LspIndex : 4097
Tunnel ID : 0x22001
LsrType : Transit
Bypass In Use : Not Used
BypassTunnel : Tunnel Index[Tunnel5], InnerLabel[1024]
Mpls-Mtu : 1500
No : 2
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel5
Fec : 3.3.3.3/32
Nexthop : 3.2.1.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : Vlan-interface4
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
(6) 配置完成後的檢驗
# 使PLR上被保護的出接口失效。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] shutdown
%Sep 7 08:53:34 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into DOWN state
在Switch A上查看主LSP的狀態,執行命令display interface tunnel 4,可以看到Tunnel接口仍然處於up狀態。
在Switch A上執行display mpls te tunnel-interface命令,可以看到隧道接口的詳細信息。
[SwitchA] display mpls te tunnel-interface
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : Modifying CR-LSP is setting up
Tunnel Attributes :
LSP ID : 1.1.1.1:1
Session ID : 10
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
Tunnel Name : Tunnel4
Tunnel Desc : Tunnel4 Interface
Tunnel State Desc : Modifying CR-LSP is setting up
Tunnel Attributes :
LSP ID : 1.1.1.1:1025
Session ID : 10
Admin State : Oper State : Modified
Ingress LSR ID : 1.1.1.1 Egress LSR ID: 4.4.4.4
Signaling Prot : RSVP Resv Style : SE
Class Type : CT0 Tunnel BW : 0 kbps
Reserved BW : 0 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : pri-path
Tie-Breaking Policy : None
Metric Type : None
Record Route : Enabled Record Label : Enabled
FRR Flag : Enabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 10 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
VPN Bind Type : NONE
VPN Bind Value : -
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
Group Status : -
如果在FRR切換後馬上執行display mpls te tunnel-interface命令查看隧道接口的詳細信息,會看到兩條處於up狀態的CR-LSP。這是因為FRR采用make-before-break方式建立新的LSP,舊的LSP在新LSP建立成功後過一段時間才被刪除。
在Switch B上執行display mpls lsp verbose命令,可以看到Bypass隧道被使用。
[SwitchB] display mpls lsp verbose
------------------------------------------------------------------
LSP Information: RSVP LSP
------------------------------------------------------------------
No : 1
IngressLsrID : 1.1.1.1
LocalLspID : 1
Tunnel-Interface : Tunnel4
Fec : 4.4.4.4/32
Nexthop : 3.1.1.2
In-Label : 1024
Out-Label : 1024
In-Interface : Vlan-interface1
Out-Interface : Vlan-interface2
LspIndex : 4097
Tunnel ID : 0x22001
LsrType : Transit
Bypass In Use : In Use
BypassTunnel : Tunnel Index[Tunnel5], InnerLabel[1024]
Mpls-Mtu : 1500
No : 2
IngressLsrID : 2.2.2.2
LocalLspID : 1
Tunnel-Interface : Tunnel5
Fec : 3.3.3.3/32
Nexthop : 3.2.1.2
In-Label : NULL
Out-Label : 1024
In-Interface : ----------
Out-Interface : Vlan-interface4
LspIndex : 4098
Tunnel ID : 0x22002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
Mpls-Mtu : 1500
# 在PLR上配置FRR的掃描定時器為5秒。
[SwitchB] mpls
[SwitchB-mpls] mpls te timer fast-reroute 5
[SwitchB-mpls] quit
# 使PLR上被保護的出接口重新生效。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] undo shutdown
%Sep 7 09:01:31 2004 SwitchB IFNET/5/UPDOWN:Line protocol on the interface Vlan-interface2 turns into UP state
在Switch A上查看主LSP的狀態,執行命令display interface tunnel 4,可以看到Tunnel接口處於up狀態。
等待約5秒鍾後,在Switch B上執行display mpls lsp verbose命令,可以看到Tunnel5仍綁定到出接口Vlan-interface2,未被使用。
(7) 使用靜態路由沿MPLS TE隧道轉發流量
[SwitchA] ip route-static 4.1.1.2 24 tunnel 4 preference 1
在Switch A上執行display ip routing-table命令,可以看到路由表中有以Tunnel4為出接口的靜態路由信息。
· CE 1和CE 2都屬於VPN 1,分別通過PE 1和PE 2接入MPLS骨幹網。MPLS骨幹網使用OSPF作為IGP協議;
· 配置MPLS TE隧道轉發PE 1到PE 2的VPN流量;
· 為了使TE隧道能夠轉發MPLS L3VPN的流量,需要在建立VPN時配置隧道策略,使用CR-LSP作為VPN隧道。
圖1-15 在VPN中配置MPLS TE組網圖
(1) 配置IGP協議OSPF,使PE 1和PE 2能學習到對方LSR-ID的路由。
# 配置PE 1。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 2.2.2.2 255.255.255.255
[PE1-LoopBack0] quit
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] ip address 10.0.0.1 255.255.255.0
[PE1-Vlan-interface2] quit
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置PE2。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 3.3.3.3 255.255.255.255
[PE2-LoopBack0] quit
[PE2] interface vlan-interface 2
[PE2-Vlan-interface2] ip address 10.0.0.2 255.255.255.0
[PE2-Vlan-interface2] quit
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 10.0.0.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
上述配置完成後,PE之間應能建立OSPF鄰居,執行display ospf peer verbose命令可以看到鄰居達到FULL狀態。執行display ip routing-table命令可以看到PE之間學習到對方的Loopback路由。以PE 1為例:
[PE1] display ospf peer verbose
OSPF Process 1 with Router ID 2.2.2.2
Neighbors
Area 0.0.0.0 interface 10.0.0.1(Vlan-interface2)'s neighbors
Router ID: 3.3.3.3 Address: 10.0.0.2 GR State: Normal
State: Full Mode:Nbr is Master Priority: 1
DR: None BDR: None
Dead timer due in 30 sec
Neighbor is up for 00:01:00
Authentication Sequence: [ 0 ]
[PE1] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.2/32 Direct 0 0 127.0.0.1 InLoop0
3.3.3.3/32 OSPF 10 1563 10.0.0.2 Vlan2
10.0.0.0/24 Direct 0 0 10.0.0.1 Vlan2
10.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
10.0.0.2/32 Direct 0 0 10.0.0.2 Vlan2
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
(2) 配置MPLS基本能力,並使能RSVP-TE和CSPF
# 配置PE 1。
[PE1] mpls lsr-id 2.2.2.2
[PE1] mpls
[PE1-mpls] lsp-trigger all
[PE1-mpls] mpls te
[PE1-mpls] mpls rsvp-te
[PE1-mpls] mpls te cspf
[PE1-mpls] quit
[PE1] interface vlan-interface 2
[PE1-Vlan-interface2] mpls
[PE1-Vlan-interface2] mpls te
[PE1-Vlan-interface2] mpls rsvp-te
[PE1-Vlan-interface2] quit
# 配置PE2。
[PE2] mpls lsr-id 3.3.3.3
[PE2] mpls
[PE2-mpls] lsp-trigger all
[PE2-mpls] mpls te
[PE2-mpls] mpls rsvp-te
[PE2-mpls] mpls te cspf
[PE2-mpls] quit
[PE2] interface vlan-interface 2
[PE2-Vlan-interface2] mpls
[PE2-Vlan-interface2] mpls te
[PE2-Vlan-interface2] mpls rsvp-te
[PE2-Vlan-interface2] quit
(3) 使能OSPF TE
# 配置PE 1。
[PE1] ospf
[PE1-ospf-1] opaque-capability enable
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] mpls-te enable
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 配置PE 2。
[PE2] ospf
[PE2-ospf-1] opaque-capability enable
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] mpls-te enable
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
(4) 配置MPLS TE隧道
# 以PE 1為首端創建一條TE隧道,尾端為PE 2,信令協議為RSVP-TE。
[PE1] interface tunnel 1
[PE1-Tunnel1] ip address 12.1.1.1 255.255.255.0
[PE1-Tunnel1] tunnel-protocol mpls te
[PE1-Tunnel1] destination 3.3.3.3
[PE1-Tunnel1] mpls te tunnel-id 10
[PE1-Tunnel1] mpls te signal-protocol rsvp-te
[PE1-Tunnel1] mpls te commit
[PE1-Tunnel1] quit
上述配置完成後,在PE 1上執行display interface tunnel命令可以看到隧道接口狀態為up。
# 以PE 2為首端創建一條TE隧道,尾端為PE 1,信令協議為RSVP-TE。
[PE2] interface tunnel 1
[PE2-Tunnel1] ip address 13.1.1.1 255.255.255.0
[PE2-Tunnel1] tunnel-protocol mpls te
[PE2-Tunnel1] destination 2.2.2.2
[PE2-Tunnel1] mpls te tunnel-id 11
[PE2-Tunnel1] mpls te signal-protocol rsvp-te
[PE2-Tunnel1] mpls te commit
[PE2-Tunnel1] quit
上述配置完成後,在PE 2上執行display interface tunnel命令可以看到隧道接口狀態為up。
(5) 在PE設備上配置VPN實例,並綁定到連接CE的接口上
# 配置CE 1。
<CE1> system-view
[CE1] interface vlan-interface 1
[CE1-Vlan-interface1] ip address 192.168.1.2 255.255.255.0
[CE1-Vlan-interface1] quit
# 在PE 1上配置VPN實例,使用CR-LSP建立VPN,並將此實例綁定到連接CE 1的接口。
[PE1] ip vpn-instance vpn1
[PE1-vpn-instance-vpn1] route-distinguisher 100:1
[PE1-vpn-instance-vpn1] vpn-target 100:1 both
[PE1-vpn-instance-vpn1] tnl-policy policy1
[PE1-vpn-instance-vpn1] quit
[PE1] tunnel-policy policy1
[PE1-tunnel-policy-policy1] tunnel select-seq cr-lsp load-balance-number 1
[PE1-tunnel-policy-policy1] quit
[PE1] interface vlan-interface 1
[PE1-Vlan-interface1] ip binding vpn-instance vpn1
[PE1-Vlan-interface1] ip address 192.168.1.1 255.255.255.0
[PE1-Vlan-interface1] quit
# 配置CE 2。
<CE2> system-view
[CE2] interface vlan-interface 3
[CE2-Vlan-interface3] ip address 192.168.2.2 255.255.255.0
[CE2-Vlan-interface3] quit
# 在PE 2上配置VPN實例,並將此實例綁定到連接CE 2的接口。
[PE2] ip vpn-instance vpn1
[PE2-vpn-instance-vpn1] route-distinguisher 100:2
[PE2-vpn-instance-vpn1] vpn-target 100:1 both
[PE2-vpn-instance-vpn1] quit
[PE2] interface vlan-interface 3
[PE2-Vlan-interface3] ip binding vpn-instance vpn1
[PE2-Vlan-interface3] ip address 192.168.2.1 255.255.255.0
[PE2-Vlan-interface3] quit
上述配置完成後,在PE設備上執行display ip vpn-instance命令可以看到VPN實例的配置情況。
以PE 1為例:
[PE1] display ip vpn-instance instance-name vpn1
VPN-Instance Name and ID : vpn1, 1
Create time : 2006/09/27 15:10:29
Up time : 0 days, 00 hours, 03 minutes and 09 seconds
Route Distinguisher : 100:1
Export VPN Targets : 100:1
Import VPN Targets : 100:1
Tunnel Policy : policy1
Interfaces : Vlan-interface1
各PE能ping通自己接入的CE。
以PE 1和CE 1為例:
[PE1] ping -vpn-instance vpn1 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=255 time=47 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=255 time=26 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=255 time=26 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 26/30/47 ms
(6) 配置BGP
# 配置CE 1。
[CE1] bgp 65001
[CE1-bgp] peer 192.168.1.1 as-number 100
[CE1-bgp] quit
# 配置PE 1:與CE 1建立EBGP對等體,與PE 2建立IBGP對等體。
[PE1] bgp 100
[PE1-bgp] ipv4-family vpn-instance vpn1
[PE1-bgp-vpn1] peer 192.168.1.2 as-number 65001
[PE1-bgp-vpn1] import-route direct
[PE1 -bgp-vpn1] quit
[PE1-bgp] peer 3.3.3.3 as-number 100
[PE1-bgp] peer 3.3.3.3 connect-interface loopback 0
[PE1-bgp] ipv4-family vpnv4
[PE1-bgp-af-vpnv4] peer 3.3.3.3 enable
[PE1-bgp-af-vpnv4] quit
[PE1-bgp] quit
# 配置CE 2。
[CE2] bgp 65002
[CE2-bgp] peer 192.168.2.1 as-number 100
[CE2-bgp] quit
# 配置PE 2:與CE 2建立EBGP對等體,與PE 1建立IBGP對等體。
[PE2] bgp 100
[PE2-bgp] ipv4-family vpn-instance vpn1
[PE2-bgp-vpn1] peer 192.168.2.2 as-number 65002
[PE2-bgp-vpn1] import-route direct
[PE2-bgp-vpn1] quit
[PE2-bgp] peer 2.2.2.2 as-number 100
[PE2-bgp] peer 2.2.2.2 connect-interface loopback 0
[PE2-bgp] ipv4-family vpnv4
[PE2-bgp-af-vpnv4] peer 2.2.2.2 enable
[PE2-bgp-af-vpnv4] quit
[PE2-bgp] quit
上述配置完成後,在PE設備上執行display bgp peer命令和display bgp vpnv4 peer命令,可以看到PE之間、PE與CE之間的BGP對等體關係都已建立,並達到Established狀態。
以PE 1為例:
[PE1-bgp] display bgp peer
BGP local router ID : 2.2.2.2
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State PrefRcv
3.3.3.3 4 100 3 3 0 0 00:00:11 Established 0
[PE1-bgp] display bgp vpnv4 vpn-instance vpn1 peer
BGP local router ID : 2.2.2.2
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ PrefRcv Up/Down State PrefRcv
192.168.1.2 4 65001 4 5 0 0 00:02:13 Established 0
CE 1和CE 2之間能夠互相ping通。
[CE1] ping 192.168.2.2
PING 192.168.2.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.2.2: bytes=56 Sequence=1 ttl=253 time=61 ms
Reply from 192.168.2.2: bytes=56 Sequence=2 ttl=253 time=54 ms
Reply from 192.168.2.2: bytes=56 Sequence=3 ttl=253 time=53 ms
Reply from 192.168.2.2: bytes=56 Sequence=4 ttl=253 time=57 ms
Reply from 192.168.2.2: bytes=56 Sequence=5 ttl=253 time=36 ms
--- 192.168.2.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 36/52/61 ms
[CE2] ping 192.168.1.2
PING 192.168.1.2: 56 data bytes, press CTRL_C to break
Reply from 192.168.1.2: bytes=56 Sequence=1 ttl=253 time=38 ms
Reply from 192.168.1.2: bytes=56 Sequence=2 ttl=253 time=61 ms
Reply from 192.168.1.2: bytes=56 Sequence=3 ttl=253 time=74 ms
Reply from 192.168.1.2: bytes=56 Sequence=4 ttl=253 time=36 ms
Reply from 192.168.1.2: bytes=56 Sequence=5 ttl=253 time=35 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 35/48/74 ms
(7) 配置完成後的檢驗
在PE 1上執行display mpls lsp verbose命令,可以確認LspIndex為2050的是使用RSVP-TE建立的LSP,即MPLS TE隧道。
[PE1] display mpls lsp verbose
--------------------------------------------------------------------------
LSP Information: RSVP LSP
--------------------------------------------------------------------------
No. : 1
IngressLsrID : 2.2.2.2
LocalLspID : 5
Tunnel-Interface : Tunnel1
Fec : 3.3.3.3/32
Nexthop : 10.0.0.2
In-Label : NULL
Out-Label : 3
In-Interface : ----------
Out-Interface : Vlan-interface2
LspIndex : 5121
Tunnel ID : 0xc0002
LsrType : Ingress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
No. : 2
IngressLsrID : 3.3.3.3
LocalLspID : 3
Tunnel-Interface : Tunnel1
Fec : 2.2.2.2/32
Nexthop : -------
In-Label : 3
Out-Label : NULL
In-Interface : Vlan-interface2
Out-Interface : ----------
LspIndex : 5122
Tunnel ID : 0x0
LsrType : Egress
Bypass In Use : Not Exists
BypassTunnel : Tunnel Index[---]
--------------------------------------------------------------------------
LSP Information: BGP LSP
--------------------------------------------------------------------------
No. : 3
VrfName : vpn1
Fec : 192.168.1.1
Nexthop : -------
In-Label : 5120
Out-Label : NULL
In-Interface : ----------
Out-Interface : ----------
LspIndex : 60417
Tunnel ID : 0x0
LsrType : Egress
Outgoing Tunnel ID : 0x0
Label Operation : POP
在PE 1上執行display interface tunnel命令可以看到流量通過TE隧道CR-LSP轉發。
[PE1] display interface tunnel 1
Tunnel1 current state: UP
Line protocol current state: UP
Description: Tunnel1 Interface
The Maximum Transmit Unit is 1500
Internet Address is 12.1.1.1/24 Primary
Encapsulation is TUNNEL, service-loopback-group ID not set
Tunnel source unknown, destination 3.3.3.3
Tunnel protocol/transport CR_LSP
Output queue : (Urgent queuing : Size/Length/Discards) 0/100/0
Output queue : (Protocol queuing : Size/Length/Discards) 0/500/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
Last 300 seconds input: 5 bytes/sec, 0 packets/sec
Last 300 seconds output: 5 bytes/sec, 0 packets/sec
34 packets input, 2856 bytes
0 input error
34 packets output, 2856 bytes
0 output error
配置OSPF TE,無法產生描述MPLS TE信息的TE LSA。
至少有一個OSPF鄰居達到FULL狀態時,才可能產生TE LSA。
· 執行display current-configuration命令,檢查是否在相關接口上配置了MPLS TE;
· 執行debugging ospf mpls-te命令打開OSPF TE的調試開關,檢查OSPF是否收到建立TE LINK的消息;
· 執行display ospf peer命令,檢查OSPF鄰居是否正常建立。
數據流在保護Tunnel上傳送(執行display mpls te protection tunnel命令,Switch Result字段為Protect-tunnel)的情況下,主Tunnel恢複無缺陷(Work-tunnel defect state字段為No-defect)狀態後,數據流仍在保護Tunnel上傳送。
通常可能的原因有:
· 保護組為不可回切模式;
· 保護組回切模式中的等待時間較長;
· 外部倒換命令將數據流強製倒換在保護LSP上傳輸,其優先級較高。
(1) 執行display mpls te protection tunnel命令,如果Mode字段為Non-revertive,則該保護組中為不可回切模式,不屬於故障。如希望主Tunnel恢複無缺陷的信令可以觸發回切,可在主Tunnel接口視圖下使用命令mpls te protection tunnel將不可回切模式修改為可回切;
(2) 如保護組為回切模式,WTR字段不為0,則無法回切是由於WTR尚未超時,不屬於故障。當主Tunnel恢複無缺陷後,在WTR時長內,如果主Tunnel一直處於無缺陷狀態,數據流將被切換回主Tunnel。如希望主Tunnel恢複無缺陷則立即觸發回切,可以通過保護組配置命令mpls te protection tunnel修改WTR為0;
(3) 不滿足(1)和(2),如果The current switch command字段為Force,則無法回切是由於外部倒換命令優先級較高,不屬於故障。如希望主Tunnel恢複無缺陷時信令能觸發回切,可通過mpls te protect-switch clear命令,清除所有外部倒換命令。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!