概念
LDP 定義了一組程式和訊息,通過它們一個 LSR 可以通知另一個 LSR 其已經形成的標籤捆綁。通過網路層路由信息與數據鏈路層交換路徑之間的直接映射,LSR 可以使用 LDP 協定通過網路來建立標籤交換路徑。
利用 LDP 交換標籤映射信息的兩個標籤交換路由器(LSR)作為 LDP 對等結點,並且它們之間有一個LDP標籤分發協定會話。在一個單個會話中,每一個對等結點都能獲得其它的標籤映射,換句話說,這個協定是雙向的。
標籤分發協定結構
2 bytes
| 2 bytes
|
Version
| PDU Length
|
LDP Identifier (6 bytes)
| |
LDP Messages
| |
Version ― 協定版本號,當前為1。
PDU Length ― PDU 總長,不包括版本和 PDU 長欄位。
LDP Identifier ― 該欄位唯一識別由 PDU 請求的傳送 LSR 的標籤空間。起始的4 Octet 對分配給 LSR 的 IP 地址進行編碼,最後的2 Octet 表示 LSR 中的標籤空間。
LDP Messages ― 所有
LDP標籤分發協定信息格式
U
| Message Type
| Message Length
|
Message ID
| | |
Parameters
| | |
U ― U 是一個未知信息位。
Message type ― 信息類型。信息類型包括:Notification、Hello、Initialization、Keep Alive、Address、Address Withdraw、Label Request、Label Withdraw、Label Release和 Unknown Message 名稱。
Message Length ― 信息 ID、命令參數和可選參數長(八位)。
Message ID ― 32位值,提供信息識別。
Parameters ― 參數包括 TLV。既有命令參數也有可選參數。有些信息沒有命令參數,有些信息沒有可選參數。
LDP訊息LDP訊息
在LDP協定中主要有4種訊息:
(1)發現訊息:用於通告和維護網路中LSP的存在;
(2)會話訊息:用於建立、維護和終止LDP對等實體之間的會話連線;
(3)通告訊息:用於創建、改編和刪除FEC-標記綁定;
(4)通知訊息:用於提供建議性的訊息和差錯通知。
LDP發現過程中,LSR通過周期性地傳送HELLO訊息來通告自身的存在。HELLO訊息以UDP分組的形式發往“所有路由器”的組播地址。通過相互傳送會話訊息,l兩個LSP將那能夠完成初始化國曾,成為LDP對等體。兩個LDP對等體之間便可以通過交換通告訊息執行標記的分發、收回等操作。而對LDP協定執行過程中出現的差錯以及意外事件的報告則由通知訊息傳遞。為了保證這些操作的正確可靠,LDP使用TCP協定傳送會話、通告和通知訊息。
除發現訊息以外的所有LDP訊息都被封裝在LDP協定數據單元(PDU)中,通過LDP對等體之間的TCP會話連線進行傳遞。LDP訊息封裝的方式非常靈活,既不限制一個LDP PDU中承載訊息的數量,也不要求這些訊息之間存在任何關聯。
TLV
對於訊息中所包含的信息,LDP使用“類型-長度-值”(TLV,TYPE-LENGTH-VALUE:TLV)的編碼結構進行封裝。顧名思義,經過TLV封裝後的信息將包含3個部分:首先是用於指示訊息類型的部分;之後的長度欄位指示“值”欄位所包含的位元組數;而“值”欄位則沒有限制。而且“值”欄位本身就可以由多個TLV組成。常見的TLV包括FEC TLV 、標記TLV、跳數TLV、狀態TLV等等。
TLV格式
U
F
Type
Length
Value
TLV Format
U ― U 是未知 TLV 位。
F ― 轉發未知 TLV 位。
Type ― 對 Value 欄位轉換進行編碼。
Length ― 規定 Value 欄位長(八位)。
Value ― 八位長度串,Type 欄位指定的信息編碼長度
有些LDP訊息在被LSR接收後需要繼續向其他LSR傳遞,對於那些包含未知TLV並且其中U比特置為1的訊息,LSR將依據F比特進行轉發決策。LDP中規定,只有當F比特置為1事,才能執行對此類訊息的轉發。
LDP會話機制
LDP 會話用於在LSP之間進行標記信息交換
(1)LDP會話的建立
在MPLS中,使用標記分發協定交換標記與FEC之間綁定信息的兩個LSR稱為標記分發對等體。假設由Ru發往Rd的數據流被映射為FEC_F,Ru和Rd經過協商,決定將標記L綁定給FEC_F。於是,就L與FEC_F之間的綁定關係而言,Ru和Rd稱為標記分發對等體,作為數據傳送方的Ru被稱為上游LSR,Rd則相應地被稱為下游LSR。注意,所謂標記分發對等關係以及上下游關係都是針對於特定FEC與特定標記之間的綁定而言,是一種基於標記分發協定的邏輯關係,與兩個LSR在物理上是否相鄰並無直接聯繫。
(2)LDP 會話的維護
LDP會話的簡歷取決於兩個LSR之間是否存在相應的HELLO鄰居關係以及各自的會話參數能否為對方所接受。要將新建的會話保持下去,也需要以這兩個條件繼續成立為前提。