02-LDP配置
本章節下載: 02-LDP配置 (561.39 KB)
LDP(Label Distribution Protocol,標簽分發協議)用來動態建立LSP。通過LDP,LSR可以把網絡層的IP路由信息映射到MPLS的標簽交換路徑上。
LDP會話是指建立在TCP連接之上的LDP協議連接,用於在LSR之間交換FEC—標簽映射(FEC-Label Mapping)。
LDP對等體是指相互之間存在LDP會話,並通過LDP會話交換FEC—標簽映射關係的兩個LSR。
標簽空間是指標簽的取值範圍。有以下幾種類型的標簽空間:
· 每接口標簽空間(per-interface label space):每個接口使用一個獨立的標簽空間。不同接口使用的標簽空間中包括的標簽值可以相同。
· 每平台標簽空間(per-platform label space):整個LSR統一使用一個標簽空間。
目前,設備上隻支持每平台標簽空間。
LDP ID(LDP Identifier,LDP標識符)用於標識特定LSR的標簽空間,為一個六字節的數值,格式如下:
<LSR ID>:<標簽空間序號>
其中,LSR ID占四字節;標簽空間序號占兩字節,取值為0時表示每平台標簽空間,取值為非0值時表示某個接口使用的標簽空間。
LDP協議運行在IPv4網絡和運行在IPv6網絡中使用相同格式的LDP ID,且要求全局唯一。
FEC(Forwarding Equivalence Class,轉發等價類)是MPLS中的一個重要概念。MPLS將具有相同特征(目的地相同或具有相同服務等級等)的報文歸為一類,稱為FEC。屬於相同FEC的報文在MPLS網絡中將獲得完全相同的處理。
LDP支持根據目的IP地址和PW(Pseudowire,偽線)劃分FEC。本文隻介紹根據目的IP地址劃分FEC。
FEC—標簽映射也稱為FEC—標簽綁定(FEC-Label Binding),是本地LSR設備上標簽與FEC的對應關係。LDP通過Label Mapping消息將FEC—標簽映射通告給對等體。
LDP協議主要使用四類消息:
· 發現(Discovery)消息:用於通告和維護網絡中的LSR,例如Hello消息。
· 會話(Session)消息:用於建立、維護和終止LDP對等體之間的會話,例如用來協商會話參數的Initialization消息和用於維護會話的Keepalive消息。
· 通告(Advertisement)消息:用於創建、改變和刪除“FEC—標簽”映射關係,例如用來通告標簽映射的Label Mapping消息。
· 通知(Notification)消息:用於提供建議性信息的消息和差錯通知,例如Notification消息。
為保證LDP消息的可靠發送,除了發現消息使用UDP傳輸外,LDP的會話消息、通告消息和通知消息都使用TCP傳輸。
LDP協議既可在IPv4網絡或IPv6網絡中運行,也可在IPv4和IPv6並存的網絡中運行,LDP在IPv4和IPv6網絡中的工作過程基本相同。
LDP工作過程主要包括對等體發現與維護、會話建立與維護、LSP建立三個階段。
使能了LDP能力的LSR周期性地發送Hello消息,通告自己的存在。通過Hello消息,LSR可以自動發現它周圍的LSR鄰居,並與其建立Hello鄰接關係。
LDP對等體發現機製分為兩種:
· 基本發現機製:用於發現本地直連的LSR鄰居,即通過鏈路層直接相連的LSR。在這種方式下,LSR周期性地向組播地址224.0.0.2(IPv4網絡)或FF02:0:0:0:0:0:0:2(IPv6網絡)發送LDP的Link Hello消息,以便鏈路層直接相連的LSR發現此LSR,在IPv4和IPv6共存的網絡中,LSR會向直連LSR同時發送IPv4 Link Hello消息和IPv6 Link Hello消息,並與鄰接LSR同時保持IPv4 Link Hello鄰接關係和IPv6 Link Hello鄰接關係。
· 擴展發現機製:可用於發現遠端非直連的LSR鄰居,即不通過鏈路層直接相連的LSR。這種方式下,LSR周期性地向指定的IP地址發送LDP的Targeted Hello消息,以便指定IP地址對應的LSR發現此LSR。如果指定的地址為IPv4地址,則發送IPv4 Targeted Hello消息;如果指定的地址為IPv6地址,則發送IPv6 Targeted Hello消息。
LSR可以與直連的鄰居同時建立Link Hello和Targeted Hello兩種鄰接關係。
LDP對等體之間通過周期性地發送Hello消息來維護Hello鄰接關係。如果Hello保持定時器超時時仍沒有收到新的Hello消息,則刪除Hello鄰接關係。
通過交互Hello消息發現LSR鄰居後,LSR開始與其建立會話。這一過程可分為兩步:
(1) 建立傳輸層連接,即在LSR之間建立TCP連接,在IPv4和IPv6共存的網絡中LSR會優先建立IPv6 TCP連接,如果建立IPv6 TCP連接失敗,則會嚐試建立IPv4 TCP連接;
(2) 通過交換會話初始化消息對LSR之間的會話進行初始化,協商會話中涉及的各種參數,如LDP版本、標簽通告方式、Keepalive保持時間等。如果會話參數協商通過,則LSR之間成功建立LDP會話。
會話建立後,LDP對等體之間通過發送LDP PDU(LDP PDU中攜帶一個或多個LDP消息)來維護這個會話。如果在Keepalive報文發送時間間隔內,LDP對等體之間沒有需要交互的信息,則LSR發送Keepalive消息給LDP對等體,以便維持LDP會話。如果Keepalive保持定時器超時時,沒有收到任何LDP PDU,LSR將關閉TCP連接,結束LDP會話。
一個LDP會話上可能存在多個Hello鄰接關係。當LDP會話上的最後一個Hello鄰接關係被刪除後,LSR將發送通知消息,結束該LDP會話。
相鄰LSR之間隻會建立一個LDP會話,但可在此會話中同時交互IPv4 FEC—標簽映射和IPv6 FEC—標簽映射。
LSR還可以通過發送Shutdown消息,通知它的LDP對等體結束LDP會話。
利用LDP動態建立LSP的過程如圖1-1所示。LSR根據IP路由表項中的目的IP地址劃分FEC,為不同的FEC分配不同的標簽,並將FEC—標簽映射通告給對端LSR;對端LSR根據接收到的FEC—標簽映射及本地為該FEC分配的標簽建立標簽轉發表項。從Ingress到Egress的所有LSR都為該FEC建立對應的標簽轉發表項後,就成功地建立了用於轉發屬於該FEC報文的LSP。
圖1-1 動態LSP建立過程
如圖1-2所示,根據建立了會話的一對LSR中哪個LSR負責發起標簽映射過程,標簽通告方式分為:
· DU(Downstream Unsolicited,下遊自主方式):下遊LSR主動將FEC—標簽映射通告給上遊LSR,無需等待上遊LSR的標簽請求。在DU方式中,下遊LSR負責發起標簽映射過程。
· DoD(Downstream On Demand,下遊按需方式):上遊LSR請求下遊LSR為FEC分配標簽,下遊LSR收到請求後,才會將該FEC的FEC—標簽映射通告給請求標簽的上遊LSR。在DoD方式中,上遊LSR負責發起標簽映射過程。
目前,設備隻支持DU標簽通告方式。
具有標簽分發鄰接關係的上遊LSR和下遊LSR之間必須使用相同的標簽通告方式,否則LSP無法正常建立。
根據通告FEC—標簽映射前是否要求收到下遊的FEC—標簽映射,標簽分發控製方式分為獨立標簽分發控製方式(Independent)和有序標簽分發控製方式(Ordered)。
· 獨立標簽分發控製方式:LSR可以在任意時間向與它連接的LSR通告FEC—標簽映射。使用這種方式時,LSR可能會在收到下遊LSR的FEC—標簽映射之前就向上遊通告了FEC—標簽映射。如圖1-3所示,如果標簽通告方式是DU,則即使沒有獲得下遊的FEC—標簽映射,也會直接向上遊LSR通告FEC—標簽映射;如果標簽通告方式是DoD,則接收到標簽請求的LSR直接向它的上遊LSR通告FEC—標簽映射,不必等待來自它的下遊的FEC—標簽映射。
· 有序標簽分發控製方式:LSR隻有收到它的下遊LSR為某個FEC通告的FEC—標簽映射,或該LSR是此FEC的出口節點時,才會向它的上遊LSR通告此FEC的FEC—標簽映射。圖1-2中的標簽通告過程采用了有序標簽控製方式:如果標簽通告方式為DU,則LSR隻有收到下遊LSR通告的FEC—標簽映射,才會向自己的上遊LSR通告FEC—標簽映射;如果標簽通告方式為DoD,則下遊LSR(Transit)收到上遊LSR(Ingress)的標簽請求後,繼續向它的下遊LSR(Egress)發送標簽請求,Transit收到Egress通告的FEC—標簽映射後,才會向Ingress通告FEC—標簽映射。
根據LSR是否保持收到的、但暫時未使用的FEC—標簽映射,標簽保持方式分為:
· 自由標簽保持方式(Liberal):對於從鄰居LSR收到的標簽映射,無論鄰居LSR是不是指定FEC的下一跳都保留。這種方式的優點是LSR能夠迅速適應網絡拓撲變化,但是由於需要保留所有不能生成LSP的標簽,浪費了內存等係統資源。
· 保守標簽保持方式(Conservative):對於從鄰居LSR收到的標簽映射,隻有當鄰居LSR是指定FEC的下一跳時才保留。這種方式的優點是節省標簽,但是對拓撲變化的響應較慢。
目前,設備隻支持自由標簽保持方式。
LDP GR(Graceful Restart,平滑重啟)利用MPLS轉發平麵與控製平麵分離的特點,在信令協議或控製平麵出現異常時,保持標簽轉發表項,LSR依然根據該表項轉發報文,從而保證數據轉發不中斷。
如圖1-4所示,參與LDP GR過程的設備分為以下兩種:
· GR restarter:GR重啟的LSR,指由管理員手工觸發或控製平麵異常而重啟協議的設備,它必須具備GR能力。
· GR helper:GR restarter的鄰居LSR,與重啟的GR restarter保持鄰居關係,並協助其恢複重啟前的轉發狀態。
設備既可以作為GR restarter,又可以作為GR helper,設備的角色由該設備在LDP GR過程中的作用決定。
圖1-5 LDP GR工作過程示意圖
如圖1-5所示,LDP GR的工作過程為:
(1) LSR之間建立LDP會話時,LSR在發送的Initialization消息中攜帶FT(Fault Tolerance,容錯)會話TLV,且L標記位置為1,標識它們支持LDP GR。
(2) GR restarter進行協議重啟時,啟動MPLS轉發狀態定時器,並將標簽轉發表項置為Stale狀態。GR helper發現與GR restarter之間的LDP會話down後,將通過該LDP會話接收的FEC—標簽映射置為Stale狀態,並啟動重連定時器。
(3) GR restarter協議重啟後,重新建立與GR helper的LDP會話。如果在重連定時器超時前,沒有建立LDP會話,則GR helper刪除標記為Stale的FEC—標簽映射及對應的標簽轉發表項。如果在重連定時器超時前,重新建立LDP會話,GR restarter將轉發狀態保持定時器的剩餘時間作為恢複定時器時間值通告給GR helper。
(4) GR restarter和GR helper之間重新建立LDP會話後,GR helper啟動LDP恢複定時器。
(5) GR restarter和GR helper在新建立的LDP會話上交互標簽映射,更新標簽轉發表。GR restarter接收到標簽映射後,與標簽轉發表進行比較:如果標簽轉發表中存在與標簽映射一致的Stale表項,則刪除該表項的Stale標記;否則,按照正常的LDP處理流程,添加新的標簽轉發表項。GR helper接收到標簽映射後,與本地保存的FEC—標簽映射進行比較:如果存在一致的標簽映射,則刪除該FEC—標簽映射的Stale標記;否則,按照正常的LDP處理流程,添加新的FEC—標簽映射及對應的標簽轉發表項。
(6) MPLS轉發狀態保持定時器超時後,GR restarter刪除標記為Stale的標簽轉發表項。
(7) LDP恢複定時器超時後,GR helper刪除標記為Stale的FEC—標簽映射。
GR restarter在LDP會話協商時,將本地配置的GR重連超時時間和GR轉發狀態保持定時器的剩餘時間發送給GR helper,GR helper分別將其作為重連定時器的值和LDP恢複定時器的值。
LDP NSR(Nonstop Routing,不間斷路由)是一種通過在LDP協議主備進程之間備份必要的協議狀態和數據(如LDP會話信息和LSP信息),使得LDP協議的主進程中斷時,備份進程能夠無縫地接管主進程的工作,從而確保對等體感知不到LDP協議中斷,保證LDP會話保持Operational狀態,並保證轉發不會中斷的技術。
導致LDP主進程中斷的事件包括以下幾種:
· LDP主進程重啟
· LDP主進程所在的主控板發生故障
· 進程分布優化為LDP進程決策出的位置不同於當前運行的位置而進行進程主備倒換
LDP協議的主進程和備進程運行在不同的主控板上,因此要運行LDP NSR功能,設備上必須有兩個或兩個以上的主控板。
LDP基於IGP最優路由建立LSP,LDP和IGP不同步可能導致MPLS流量轉發中斷。LDP和IGP不同步包括如下情況:
· 某條鏈路up後,IGP通告並使用了這條鏈路,而此時這條鏈路上LDP LSP尚未建立;
· 當LDP會話down時,IGP繼續使用這條鏈路,而此時這條鏈路上的LDP LSP已經拆除;
· 標簽分發控製方式為有序方式時,還沒有收到下遊設備通告的標簽映射,尚未建立LDP LSP,IGP就已經使用該鏈路。
啟用LDP IGP同步功能後,隻有LDP在某條鏈路上收斂,IGP才會為這條鏈路通告正常的開銷值,否則通告鏈路開銷的最大值,使得這條鏈路在IGP拓撲中可見,但是在其它鏈路可用的情況下,IGP不會將該鏈路選為最優路由,從而確保設備收到MPLS報文時,不會因為最優路由上的LDP LSP沒有建立而丟棄MPLS報文。
同時滿足如下條件時,設備認為LDP在某條鏈路上已收斂:
· 在該鏈路上本地設備至少與一個對等體建立了LDP會話,且該LDP會話已進入operational狀態。
· 在該鏈路上本地設備至少向一個對等體發送完標簽映射。
缺省情況下,LDP在某條鏈路上收斂後立即通知IGP,以便IGP發布該鏈路的正常開銷值。但是,在某些情況下,LDP收斂後立即通知IGP,可能會導致MPLS流量轉發中斷,例如:
· 對等體的標簽分發控製方式為有序方式時,LDP會話進入operational狀態後,設備需要等待下遊的標簽映射。如果尚未收到下遊的標簽映射就向IGP通知LDP收斂,則可能導致MPLS流量轉發中斷。
· 下遊的標簽映射比較多時,如果LDP收斂後立即通知IGP,則下遊的標簽映射可能尚未通告完成,導致MPLS流量轉發中斷。
在這些情況下,需要配置恰當的延遲通知時間,即LDP在某條鏈路上收斂後,等待延遲時間再通知IGP,以最大限度地縮短MPLS流量中斷的時間。
LDP協議重啟或倒換後,需要等待一段時間LDP才會收斂。如果在協議重啟或倒換後,LDP立即將當前所有的LDP IGP同步狀態通知給IGP,在LDP收斂後再更新這些狀態,則可能會導致IGP頻繁地根據不同的同步狀態進行處理,增加了IGP的處理開銷。
LDP協議重啟或倒換後的延遲通知機製可以用來解決上述問題。該機製提供了LDP進程級別的延遲通知時間,即在LDP協議重啟或倒換的情況下,等待LDP恢複到重啟或倒換前的收斂狀態後,再批量通知LDP IGP同步狀態,以減少IGP的處理開銷。如果到達指定的最大延遲時間時,仍未恢複之前的收斂狀態,則立即向IGP批量通告當前的LDP IGP同步狀態。
當MPLS網絡中的鏈路或某台路由器發生故障時,需要通過故障鏈路或故障路由器傳送才能到達目的地的MPLS報文將會丟棄,MPLS流量轉發將會中斷,直到LDP沿著新的路徑建立新的LDP LSP,被中斷的MPLS流量才能恢複正常的傳送。
LDP快速重路由功能可用來縮短網絡故障導致的MPLS流量中斷時間。LDP快速重路由完全基於IP快速重路由實現,在IP快速重路由使能後,LDP快速重路由即自動使能。IP快速重路由有兩種實現方式:
· IGP協議自動計算備份下一跳
· IGP協議通過路由策略指定備份下一跳
圖1-6 LDP快速重路由功能示意圖
如圖1-6所示,LSR A上使能IP快速重路由功能後,IGP將為路由自動計算或通過路由策略指定備份下一跳,建立主備兩條路由,LDP基於主備路由建立主備兩條LSP。主LSP正常工作時,MPLS流量通過主LSP轉發;當主LSP出現故障時,MPLS流量快速切換到備份LSP,從而縮短網絡故障導致的流量中斷時間。
通過備份LSP轉發流量的同時,IGP會根據變化後的網絡拓撲重新計算最優路由,LDP也會基於該路由建立新的LSP。LDP LSP的建立在IGP路由收斂之後,如果LDP收斂之前IGP就采用新的路由,則將導致MPLS流量中斷。因此在使用LDP快速重路由的情況下,建議同時使能LDP IGP同步功能,以減少故障發生後IGP重新收斂導致的流量中斷的時間。
與MPLS相關的協議規範有:
· RFC 5036:LDP Specification
· draft-ietf-mpls-ldp-ipv6-09.txt
LDP配置任務如下:
(1) 使能LDP能力
(2) (可選)調整和優化LDP
(3) (可選)調整和控製LSP的建立
(4) (可選)配置LDP的標簽分發和管理
(5) (可選)配置LDP MD5認證
(6) (可選)配置LDP環路檢測
該功能主要用於存在大量非TTL遞減設備(如標簽控製的ATM交換機)的MPLS網絡。
(7) (可選)配置LDP高可靠性
¡ 配置LDP GR
(8) (可選)開啟LDP模塊的告警功能
要使接口的LDP能力生效,必須先全局使能LDP,然後在相應的接口上使能LDP。
(1) 進入係統視圖。
system-view
(2) 使能本節點的LDP能力,或使能指定VPN實例的LDP能力。
¡ 使能本節點的LDP能力,並進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令使能指定VPN實例的LDP能力,為該VPN創建LDP實例,並進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
缺省情況下,LDP能力處於關閉狀態。
(3) 配置LDP的LSR ID。
lsr-id lsr-id
缺省情況下,LDP的LSR ID與MPLS LSR ID相同。
(1) 進入係統視圖。
system-view
(2) 進入需要建立LDP會話的接口視圖。
interface interface-type interface-number
如果該接口綁定了VPN實例,則需要在LDP視圖下通過vpn-instance命令使能指定VPN實例的LDP能力。
(3) 使能接口的LDP支持IPv4能力。
mpls ldp enable
缺省情況下,接口的LDP支持IPv4能力處於關閉狀態。
(4) 使能接口的LDP支持IPv6能力。
mpls ldp ipv6 enable
缺省情況下,接口的LDP支持IPv6能力處於關閉狀態。
LDP的Hello消息分為以下幾種:
· 用於發現直連鄰居的Link hello消息,如果在接口上同時使能LDP支持IPv4能力和LDP支持IPv6能力,則在接口下配置的Link Hello消息參數可同時應用於IPv4 Link Hello消息和IPv6 Link Hello消息。
· 用於發現非直連鄰居的Targeted hello消息。
Hello消息參數包括:
· Link hello保持時間和報文發送時間間隔。
· Targeted hello保持時間和報文發送時間間隔。
修改Hello消息參數,不會對已建立的LDP會話生效。如果要求對已建立的會話生效,則需執行reset mpls ldp命令重啟公網或指定LDP實例中的所有會話。
(1) 進入係統視圖。
system-view
(2) 進入建立LDP會話的接口視圖。
interface interface-type interface-number
(3) 配置Link hello保持時間。
mpls ldp timer hello-hold timeout
缺省情況下,Link hello保持時間為15秒。
(4) 配置Link hello報文發送時間間隔。
mpls ldp timer hello-interval interval
缺省情況下,Link hello報文發送時間間隔為5秒。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 配置主動向指定對等體發送Targeted hello消息來建立LDP會話,允許應答指定對等體的Targeted hello消息,並進入LDP對等體視圖。
targeted-peer { ipv4-address | ipv6-address }
缺省情況下,設備不會主動向對等體發送Targeted hello消息,也不會應答對等體的Targeted hello消息。
(4) 配置Targeted hello保持時間。
mpls ldp timer hello-hold timeout
缺省情況下,Targeted hello保持時間為45秒。
(5) 配置Targeted hello報文發送時間間隔。
mpls ldp timer hello-interval interval
缺省情況下,Targeted hello報文發送時間間隔為15秒。
可以通過配置修改如下LDP會話參數:
· Keepalive保持時間和報文發送時間間隔。
· LDP傳輸地址,即用來建立TCP連接的IP地址。
配置的LDP傳輸地址應為設備上處於up狀態的接口的IP地址,否則LDP會話將無法建立。
兩端LSR的LDP傳輸地址必須路由可達。否則,無法建立TCP連接。
修改LDP會話參數,不會對已建立的LDP會話生效。如果要求對已建立的會話生效,則需執行reset mpls ldp命令重啟公網或指定LDP實例中的所有會話。
(1) 進入係統視圖。
system-view
(2) 進入建立LDP會話的接口視圖。
interface interface-type interface-number
(3) 配置Keepalive保持時間。
mpls ldp timer keepalive-hold timeout
缺省情況下,Keepalive保持時間為45秒。
(4) 配置Keepalive報文發送時間間隔。
mpls ldp timer keepalive-interval interval
缺省情況下,Keepalive報文發送時間間隔為15秒。
(5) 配置LDP IPv4傳輸地址。
mpls ldp transport-address { ipv4-address | interface }
缺省情況下,如果建立LDP會話的接口屬於公網,則傳輸地址是本LSR的LSR ID;如果該接口屬於某個VPN,則傳輸地址是本接口的主IP地址。
如果建立LDP會話的接口與某個VPN實例綁定,則本命令指定的傳輸地址所在的接口需要與同一個VPN實例綁定。
(6) 配置LDP IPv6傳輸地址。
mpls ldp transport-address ipv6-address
缺省情況下,未配置LDP IPv6傳輸地址。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 配置主動向指定對等體發送Targeted hello消息來建立LDP會話,允許應答指定對等體的Targeted hello消息,並進入LDP對等體視圖。
targeted-peer ipv4-address
缺省情況下,設備不會主動向對等體發送Targeted hello消息,也不會應答對等體的Targeted hello消息。
(4) 配置Keepalive保持時間。
mpls ldp timer keepalive-hold timeout
缺省情況下,Keepalive保持時間為45秒。
(5) 配置Keepalive報文發送時間間隔。
mpls ldp timer keepalive-interval interval
缺省情況下,Keepalive報文發送時間間隔為15秒。
(6) 配置LDP傳輸地址。
mpls ldp transport-address ipv4-address
缺省情況下,傳輸地址是本LSR的LSR ID。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 配置主動向指定對等體發送Targeted hello消息來建立LDP會話,允許應答指定對等體的Targeted hello消息,並進入LDP對等體視圖。
targeted-peer ipv6-address
缺省情況下,設備不會主動向對等體發送Targeted hello消息,也不會應答對等體的Targeted hello消息。
(4) 配置Keepalive保持時間。
mpls ldp timer keepalive-hold timeout
缺省情況下,Keepalive保持時間為45秒。
(5) 配置Keepalive報文發送時間間隔。
mpls ldp timer keepalive-interval interval
缺省情況下,Keepalive報文發送時間間隔為15秒。
(6) 配置LDP傳輸地址。
mpls ldp transport-address ipv6-address
缺省情況下,未配置LDP IPv6傳輸地址。
如果LDP對等體上配置的LDP會話參數不兼容(如LDP對等體使用的標簽通告方式不同),則會導致會話參數協商失敗、LDP對等體無休止地反複嚐試建立會話。
LDP倒退機製用來抑製嚐試建立會話的頻率。如果會話因為參數不兼容而建立失敗,LSR將等待初始延遲時間再嚐試建立會話;如果會話再次因為參數不兼容而建立失敗,則再次嚐試建立會話的延遲時間為上一次延遲時間×2;延遲時間達到配置的最大值後,嚐試建立會話的等待時間將保持為配置的最大延遲。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置LDP倒退機製的初始延遲和最大延遲。
backoff initial initial-time maximum maximum-time
缺省情況下,LDP倒退機製的初始延遲為15秒,最大延遲為120秒。
DSCP(Differentiated Services Code Point,區分服務編碼點)攜帶在IP報文中的ToS字段,用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定發送的LDP報文中攜帶的DSCP優先級的取值。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 配置發送的LDP報文的DSCP優先級。
dscp dscp-value
缺省情況下,發送的LDP報文的DSCP優先級為48。
缺省情況下,LDP自動引入IGP路由(包括已引入到IGP的BGP路由),並為通過LSP觸發策略的IGP路由和通過LSP觸發策略的帶標簽BGP路由分配標簽,但不自動引入未被引入到IGP的BGP單播路由。這就導致了在一些特殊的組網環境下,如在運營商的運營商組網中,如果一級運營商的PE與二級運營商CE之間未配置OSPF、IS-IS等IGP協議,則無法通過LDP為BGP單播路由分配標簽,因而無法建立LDP LSP。
通過配置LDP引入BGP單播路由,可將BGP單播路由強製引入至LDP,如果該路由通過LSP觸發策略,則為其分配標簽建立LSP。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置LDP引入BGP IPv4單播路由。
import bgp [ as-number ]
缺省情況下,LDP不主動引入BGP IPv4單播路由。
(4) 配置LDP引入BGP IPv6單播路由。
ipv6 import bgp [ as-number ]
缺省情況下,LDP不主動引入BGP IPv6單播路由。
使能LDP後,LDP可將路由表項中的路由引入至LDP,並根據其目的網絡地址劃分FEC。在LSR上配置LSP觸發策略,可以限製哪些引入到LDP的路由表項能夠觸發LDP為其目的網絡地址分配標簽並建立LSP,從而控製LSP的數量,避免LSP數量過多導致設備運行不穩定。
對於引入到LDP的路由表項,LSP觸發策略包括:
· 所有路由表項都會觸發LDP建立LSP。
· 利用IP地址前綴列表對路由表項進行過濾,被IP地址前綴列表拒絕的路由表項不能觸發建立LSP。采用這種LSP觸發策略時,需要創建IP地址前綴列表,創建方法請參見“三層技術-IP路由配置指導”中的“路由策略”。
· 隻有32位掩碼的IPv4主機路由或128位前綴的IPv6主機路由能夠觸發LDP建立LSP。
缺省情況下,隻有32位掩碼的IPv4主機路由或128位前綴的IPv6主機路由能夠觸發LDP建立LSP。在非必要的情況下,建議用戶不要隨意修改LSP觸發策略,以免建立過多的LSP,占用係統和網絡資源。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 LSP的觸發策略。
lsp-trigger { all | prefix-list prefix-list-name }
缺省情況下,隻有引入到LDP的32位掩碼的IPv4主機路由能夠觸發LDP建立LSP。
(4) 配置IPv6 LSP的觸發策略。
ipv6 lsp-trigger { all | prefix-list prefix-list-name }
缺省情況下,隻有引入到LDP的128位前綴的IPv6主機路由能夠觸發LDP建立LSP。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置標簽分發控製方式。
label-distribution { independent | ordered }
缺省情況下,標簽分發控製方式為有序方式(ordered)。
標簽通告控製用來控製向哪些對等體通告哪些FEC—標簽映射,即LSR隻將指定地址前綴的標簽映射通告給指定的對等體。在複雜的MPLS網絡環境中,通過標簽通告控製可以規劃動態建立的LSP,並避免設備通告大量的標簽映射。
如圖1-7,LSR A將FEC目的地址通過地址前綴列表B過濾的FEC—標簽映射通告給LSR B;將FEC目的地址通過地址前綴列表C過濾的FEC—標簽映射通告給LSR C。
在下遊LSR上配置標簽通告控製策略與在上遊LSR上配置標簽接受控製策略具有相同的效果。如果下遊LSR支持配置標簽通告控製策略,則推薦使用標簽通告控製策略,以減輕網絡負擔。
在配置LDP標簽通告控製策略時,需要創建IP地址前綴列表,創建方法請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 FEC標簽通告控製策略。
advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ]
缺省情況下,未配置標簽通告控製策略,即向所有對等體通告滿足LSP觸發策略的所有IPv4地址前綴的標簽映射。
(4) 配置IPv6 FEC標簽通告控製策略。
ipv6 advertise-label prefix-list prefix-list-name [ peer peer-prefix-list-name ]
缺省情況下,未配置標簽通告控製策略,即向所有對等體通告滿足LSP觸發策略的所有IPv6地址前綴的標簽映射。
標簽接受控製用來實現對從指定對等體接收的FEC—標簽映射進行過濾,隻接受指定地址前綴的FEC—標簽映射。在複雜的MPLS網絡環境中,通過標簽接受控製可以規劃動態建立的LSP,並避免設備保存大量的標簽映射。
如圖1-8,LSR A對LSR B通告的FEC—標簽映射進行過濾,隻有FEC的目的地址通過指定地址前綴列表過濾後,才會接受該FEC—標簽映射;對LSR C通告的標簽不進行過濾。
在下遊LSR上配置標簽通告控製策略與在上遊LSR上配置標簽接受控製策略具有相同的效果。如果下遊LSR支持配置標簽通告控製策略,則推薦使用標簽通告控製策略,以減輕網絡負擔。
在配置LDP標簽接受控製策略時,需要創建IP地址前綴列表,創建方法請參見“三層技術-IP路由配置指導”中的“路由策略”。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 配置IPv4 FEC標簽接受控製策略。
accept-label peer peer-lsr-id prefix-list prefix-list-name
缺省情況下,未配置標簽接受控製策略,接受來自所有對等體的所有IPv4地址前綴的標簽映射。
(4) 配置IPv6 FEC標簽接受控製策略。
ipv6 accept-label peer peer-lsr-id prefix-list prefix-list-name
缺省情況下,未配置標簽接受控製策略,接受來自所有對等體的所有IPv6地址前綴的標簽映射。
為了提高LDP會話的安全性,可以配置在LDP會話使用的TCP連接上采用MD5認證,來驗證LDP消息的完整性。
要想在LDP對等體之間成功建立LDP會話,必須保證LDP對等體上的LDP MD5認證配置一致。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 使能LDP的MD5認證功能。
md5-authentication peer-lsr-id { cipher | plain } string
缺省情況下,LDP的MD5認證功能處於關閉狀態。
LDP環路檢測功能用來在LSP的建立過程中檢測是否存在環路,如果檢測到環路則終止LSP的建立,從而避免LSP環路。該功能主要用於存在大量非TTL遞減設備(如標簽控製的ATM交換機)的MPLS網絡。
開啟LDP環路檢測功能後,將同時使用如下兩種方式檢測環路,任一方式檢測到環路都會終止LSP的建立過程:
· 最大跳數環路檢測方式:在傳遞標簽映射(或者標簽請求)的消息中包含跳數信息,每經過一跳該值就加一。Egress節點發送的標簽映射消息和Ingress節點發送的標簽請求消息中跳數為1。當該值達到規定的最大值時即認為出現環路,終止LSP的建立過程。
· 路徑向量環路檢測方式:在傳遞標簽映射(或者標簽請求)的消息中記錄路徑信息,每經過一跳,相應的設備就檢查自己的LSR ID是否在此記錄中。如果記錄中沒有自身的LSR ID,就會將自身的LSR ID添加到該記錄中;如果記錄中已有本LSR的記錄,則認為出現環路,終止LSP的建立過程。
采用路徑向量方式進行環路檢測時,也需要規定LSP路徑的最大跳數,當路徑的跳數達到配置的最大值時,也會認為出現環路,終止LSP的建立過程。
Egress節點發送標簽映射消息和Ingress節點發送標簽請求消息時,本地節點(Egress或Ingress節點)的LSR ID不會記錄到路徑信息中。
LSP經過的所有LSR均開啟本功能才能夠實現環路檢測。
LDP環路檢測功能會產生額外處理開銷占用帶寬,MPLS網絡中大多設備支持TTL遞減時,可以通過TTL遞減機製避免報文被無限循環轉發,不建議開啟本功能。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖或LDP-VPN實例視圖。
¡ 進入LDP視圖。
mpls ldp
¡ 請依次執行以下命令進入LDP-VPN實例視圖。
mpls ldp
vpn-instance vpn-instance-name
(3) 開啟環路檢測功能。
loop-detect
缺省情況下,環路檢測功能處於關閉狀態。
(4) (可選)配置最大跳數環路檢測方式下LSP的最大跳數。
maxhops hop-number
缺省情況下,最大跳數環路檢測方式下LSP的最大跳數為32。
(5) (可選)配置路徑向量環路檢測方式下LSP的最大跳數。
pv-limit pv-number
缺省情況下,路徑向量環路檢測方式下LSP的最大跳數為32。
會話保護功能實現了基本發現機製失效時,利用擴展發現機製來保持與對等體的會話,確保基本發現機製恢複時,LDP協議能夠快速收斂。會話保護功能主要應用在LDP對等體之間存在直連和非直連多條路徑的組網環境中。
使能與指定對等體的會話保護功能後,如果通過Link hello消息發現了該直連的LDP對等體,則本地LSR不僅與其建立Link hello鄰接關係,還會向該對等體發送Targeted hello消息,與其建立Targeted hello鄰接關係。當直連鏈路出現故障時,Link hello鄰接關係將被刪除。如果此時非直連鏈路正常工作,則Targeted hello鄰接關係依然存在,因此,LDP會話不會被刪除,基於該會話的FEC—標簽映射等信息也不會刪除。直連鏈路恢複後,不需要重新建立LDP會話、重新學習FEC—標簽映射等信息,從而加快了LDP收斂速度。
使能會話保護功能時,還可以指定會話保護持續時間,即Link hello鄰接關係被刪除後,用Targeted hello鄰接關係繼續保持會話的時間。如果在會話保護持續時間內,Link hello鄰接關係沒有恢複,則刪除Targeted hello鄰接關係,對應的LDP會話也將被刪除。如果未指定會話保護持續時間,則用Targeted hello鄰接關係永久保持會話。
LDP會話保護功能僅支持在IPv4網絡中進行配置。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 使能會話保護功能。
session protection [ duration time ] [ peer peer-prefix-list-name ]
缺省情況下,會話保護功能處於關閉狀態。
配置LDP GR之前,需要在作為GR restarter和作為GR helper的設備上均配置LDP能力。
隻需要在作為GR Restarter的設備上進行以下配置,但由於設備在GR過程中的角色不可預知,建議在所有設備上均進行以下配置。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 使能LDP協議的GR能力。
graceful-restart
缺省情況下,LDP協議的GR能力處於關閉狀態。
(4) (可選)配置GR重連超時時間。
graceful-restart timer reconnect reconnect-time
缺省情況下,GR重連超時時間為120秒。
(5) (可選)配置GR轉發狀態保持定時器的值。
graceful-restart timer forwarding-hold hold-time
缺省情況下,GR轉發狀態保持定時器的值為180秒。
(1) 進入係統視圖。
system-view
(2) 進入LDP視圖。
mpls ldp
(3) 使能LDP NSR功能。
non-stop-routing
缺省情況下,LDP NSR功能處於關閉狀態。
在OSPF進程、OSPF區域或IS-IS進程下使能LDP IGP同步功能後,所有屬於該OSPF進程、OSPF區域或IS-IS進程的接口上都會自動使能LDP IGP同步功能。用戶可以根據實際需要,在某個接口上關閉LDP IGP同步功能。
LDP IGP同步功能僅支持在IPv4網絡中進行配置。
執行ospf命令時,如果通過vpn-instance vpn-instance-name參數指定了OSPF進程所屬的VPN實例,則該OSPF進程下、該進程的OSPF區域下不能配置LDP IGP同步功能。
執行isis命令時,如果通過vpn-instance vpn-instance-name參數指定了IS-IS進程所屬的VPN實例,則該IS-IS進程下不能配置LDP IGP同步功能。
(1) 進入係統視圖。
system-view
(2) 進入OSPF視圖。
ospf [ process-id | router-id router-id ] *
(3) 使能LDP OSPF同步功能。
mpls ldp sync
缺省情況下,LDP OSPF同步功能處於關閉狀態。
(4) (可選)在接口上關閉LDP IGP同步功能。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 關閉接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情況下,接口上的LDP IGP同步功能處於開啟狀態。
(5) (可選)配置LDP OSPF同步相關參數。
a. 退回係統視圖。
quit
b. 進入LDP視圖。
mpls ldp
c. 配置向IGP通知LDP已收斂的延遲時間。
igp sync delay time
缺省情況下,LDP收斂後立即通知IGP。
d. 配置在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間。
igp sync delay on-restart time
缺省情況下,在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間為90秒。
(1) 進入係統視圖。
system-view
(2) 進入OSPF視圖。
ospf [ process-id | router-id router-id ] *
(3) 進入OSPF區域視圖。
area area-id
(4) 使能LDP OSPF同步功能。
mpls ldp sync
缺省情況下,LDP OSPF同步功能處於關閉狀態。
(5) (可選)在接口上關閉LDP IGP同步功能。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 關閉接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情況下,接口上的LDP IGP同步功能處於開啟狀態。
(6) (可選)配置LDP OSPF同步相關參數。
a. 退回係統視圖。
quit
b. 進入LDP視圖。
mpls ldp
c. 配置向IGP通知LDP已收斂的延遲時間。
igp sync delay time
缺省情況下,LDP收斂後立即通知IGP。
d. 配置在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間。
igp sync delay on-restart time
缺省情況下,在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間為90秒。
(1) 進入係統視圖。
system-view
(2) 進入IS-IS視圖。
isis [ process-id ]
(3) 使能LDP IS-IS同步功能。
mpls ldp sync [ level-1 | level-2 ]
缺省情況下,LDP IS-IS同步功能處於關閉狀態。
(4) (可選)在接口上關閉LDP IGP同步功能。
a. 退回係統視圖。
quit
b. 進入接口視圖。
interface interface-type interface-number
c. 關閉接口的LDP IGP同步功能。
mpls ldp igp sync disable
缺省情況下,接口上的LDP IGP同步功能處於開啟狀態。
(5) (可選)配置LDP IS-IS同步相關參數。
a. 退回係統視圖。
quit
b. 進入LDP視圖。
mpls ldp
c. 配置向IGP通知LDP已收斂的延遲時間。
igp sync delay time
缺省情況下,LDP收斂後立即通知IGP。
d. 配置在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間。
igp sync delay on-restart time
缺省情況下,在LDP協議重啟或倒換後,向IGP通告LDP IGP同步狀態的最大延遲時間為90秒。
LDP快速重路由完全基於IP快速重路由實現,在IP快速重路由使能後,LDP快速重路由即自動使能。有關IP快速重路由的配置內容請參見“三層技術-IP路由配置指導”。
開啟LDP模塊的告警功能後,當LDP會話狀態發生變化時會產生RFC 3815中規定的告警信息。生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。
有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟LDP模塊的告警功能。
snmp-agent trap enable ldp
缺省情況下,LDP模塊的告警功能處於開啟狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後LDP的運行情況,用戶可以通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset mpls ldp命令可以重啟LDP會話。
表1-1 顯示LDP運行狀態
操作 |
命令 |
顯示LDP發現過程相關信息 |
display mpls ldp discovery [ vpn-instance vpn-instance-name ] [ [ interface interface-type interface-number | peer peer-lsr-id ] [ ipv6 ] | targeted-peer { ipv4-address | ipv6-address }] [ verbose ] |
顯示通過LDP學習到的FEC—標簽映射信息 |
display mpls ldp fec [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | [ ipv6 ] [ summary ] ] |
顯示接口的LDP IGP同步信息 |
display mpls ldp igp sync [ interface interface-type interface-number ] |
顯示使能了LDP能力的接口的LDP相關信息 |
display mpls ldp interface [ vpn-instance vpn-instance-name ] [ interface-type interface-number ] [ ipv6 ] |
顯示LDP協議生成的LSP信息,即LDP LSP信息 |
display mpls ldp lsp [ vpn-instance vpn-instance-name ] [ ipv4-address mask-length | ipv6-address prefix-length | ipv6 ] |
顯示LDP的運行參數 |
display mpls ldp parameter [ vpn-instance vpn-instance-name ] |
顯示LDP對等體和LDP會話信息 |
display mpls ldp peer [ vpn-instance vpn-instance-name ] [ peer-lsr-id ] [ verbose ] |
顯示LDP運行數據彙總信息 |
display mpls ldp summary [ all | vpn-instance vpn-instance-name ] |
重啟LDP會話 |
reset mpls ldp [ vpn-instance vpn-instance-name ] [ peer peer-id ] |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!