MPLS LDP協議


一、LDP 協議

  LDP(Label Distribution Protocol,標簽分發協議),應用於MPLS網絡,具有配置簡單、可提供路由拓撲驅動建立LSP、支持大容量LSP等優點。

  LDP的工作需要依靠底層的IGP協議。是MPLS的一種控制協議,LDP通過Hello報文發現鄰居,並且基於TCP建立鄰居間的會話,能夠動態地為FEC分配標簽,並建立LSP(Label Switched Path,標簽交換路徑)。

 

二、LDP對等體及LDP會話

  LDP對等體

  LDP對等體是指相互之間存在LDP會話、使用LDP來交換標簽信息的兩個LSR。LDP對等體通過它們之間的LDP會話獲得對方的標簽映射,LDP對等體也稱為LDP鄰居。

  LDP會話

  

  本地LDP會話(Local LDP Session):建立會話的兩個LSR之間是直連的。(如圖:R1和R2、R2和R3、R3和R4)

  遠程LDP會話(Remote LDP Session):建立會話的兩個LSR之間可以是直連的,也可以是非直連的。(如圖:R2和R4)

 

三、LDP四種報文類型

  (1)發現(Discovery)報文:用於通告和維護網絡中LSR的存在,使用Hello報文。

  (2)會話(Session)報文:用於建立、維護和終止LDP對等體之間的會話,如Initialization報文、Keepalive報文。

  (3)通告(Advertisement)報文:用於創建、改變和刪除FEC的標簽映射。

  (4)通知(Notification)報文:用於提供建議性的報文和差錯通知。

  為保證LDP報文的可靠發送,除了Discovery報文使用UDP傳輸外,LDP的Session報文、Advertisement報文和Notification報文都使用TCP傳輸

 

四、基本概念

  4. 1 LSR ID

  (1)每一台運行MPLS的LSR必須擁有一個域內唯一的LSR ID

  (2)激活MPLS之前,必須為設備配置 MPLS ID使用配置命令 mpls lsr-id)。

  (3)LSR ID長度為32bit,與IPv4地址的格式相同。

  (4)通常情況,我們選擇使用Loopback接口地址作為 LSR ID。

 

  4.2 LDP ID

  (1)每一台運行了LDP的LSR設備必須擁有LSR ID外,還必須擁有LDP ID。

  (2)LDP ID的長度為48bit,由32bit的LSR ID 與 16bit的標簽空間標識符(Label Space ID)構成。

  (3)LDP ID以 “LSR ID : 標簽空間標識” 的形式表示,如 2.2.2.2:0。

  (4)標簽空間標識一般存存兩種形態:

    值為0:表示基於設備(或基於平台)的標簽空間。

    值為1:表示基於接口的標簽空間。

 

  4.3 傳輸地址

  (1)互為鄰居的LSR需基於雙方的傳輸地址(Transport Address)建立TCP連接。

  (2)鄰居之間通過Hello報文知曉鄰居的傳輸地址

  (3)在鄰居知道了通信雙方的傳輸地址后,鄰居之間嘗試TCP三次握手(基於傳輸地址),來交互LDP的初始報文、標簽映射報文,這些報文都使用傳輸地址來通信。

  (4)傳輸地址會被用於鄰居間TCP連接,因此LSR必須擁有到達鄰居傳輸地址的路由

  (5)缺省情況下,公網LDP的傳輸地址等於設備的LSR ID,私網的傳輸地址等於接口的主IP地址。

  (6)在接口視圖下,使用mpls ldp transport-address命令,可以修改傳輸地址

 

 五、LDP會話建立過程

  

  (1)通過發Hello報文發現鄰居。

  (2)通過TCP三次握手來創建會話。

 

六、在MPLS中,運行LDP協議的過程

  (1)LSR 首先通過運行IGP協議(如:OSPF、IS-IS)來構建路由表,FIB表

  (2)LDP根據相應的模式,為路由表中的路由前綴(FEC)分配標簽。

  (3)LDP根據相應的模式,將自己為路由前綴分配的標簽,通過LDP通告給LDP鄰居。

  (4)LSR將自己為路由前綴分配的標簽,以及LDP鄰居為路由前綴通告的標簽存儲起來,並形成關聯。

  (5)當LSR轉發到達目的網絡的標簽時,所使用的出站標簽總是下游LDP鄰居所通告的標簽(即設備到達目的網絡的下一跳設備)

 

七、隱定空標簽、PHP特性

  PHP(Penultimate hop popping,次末跳彈出);值為3的標簽,被稱為隱式空標簽(Implicit Null Label)。

  (1)倒數第地跳LSR進行標簽交換時,如果發現交換后的標簽值為3,則將標簽彈出,並將報文直接發給最后一跳,最后一跳收到報文直接進行IP轉發或下一層標簽轉發。

  (2)MPLS標簽在LSP的最后一跳是沒有使用價值的,因此可以在倒數第二跳就彈出MPLS標簽,從而提升轉發效率。

  

八、顯示空標簽

  為了保證端到端的Qos信息不丟失,在配置MPLS Qos的應用時,需要配置 label advertise explicit-null,使LSR設備在給最后一跳設備傳值時,使用的是顯示空標簽。標簽值為特殊的值:0

 

九、LDP的基礎配置

  

  (1)在R1、R2、R3、R4上運行OSPF,實現全網互通。

  (2)在RR1、R2、R3、R4上激活MPLS及LDP,設備的Loopback 0接口作為LSR ID。

  (3)R1的配置如下(R2、R3、R4配置類擬):

    [R1] mpls lsr-id 1.1.1.1                   //配置lSR-ID

    [R1] mpls ldp                                  //激活全局ldp功能

    [R1-ldp] lsp-trigger all                     //配置LSP觸發策略

    [R1] int gi0/0/0

    [R1-Gi0/0/0] mpls en                       //在接口激活mpls

    [R1-Gi0/0/0] mpls ldp  en                //激活ldp功能

 

九、相關命令

  dis mpls ldp peer                              //查看LDP的鄰居

  dis mpls interface                             //查看MPLS的接口信息

  dis mpls ldp interface                       //查看LDP的接口信息

  dis mpls lsp                                      //查看MPLS的LSP路徑

  dis mpls lsp ver                                //查看MPLS的LSP路徑詳細

  dis mpls ldp lsp                                 //查看LDP的LSP路徑

  [mpls] label advertise { explicit-null | implicit-null | non-null }      //分別對應顯示空標簽、隱式空標簽、正常標簽

  ping lsp                                            //ping命令

  tracert lsp                                        //tracert命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM