标籤分发协定LDP(Label Distribution Protocol)是 MPLS 体系中的一种主要协定。在 MPLS 网路中,两个标籤交换路由器(LSR)必须用在它们之间或通过它们转发流量的标籤上达成一致。
基本介绍
- 中文名:标籤分发协定
- 外文名:Label Distribution Protocol
- 体系:MPLS 体系
- 简称:LDP
概念
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邻居关係以及各自的会话参数能否为对方所接受。要将新建的会话保持下去,也需要以这两个条件继续成立为前提。