🏡作者主页:点击!
🤖Datacom专栏:点击!
⏰️创作时间:2025年07月16日14点12分
LDP标签分发协议
LDP协议只在物理接口进行配置,对于loopback等逻辑接口是不用宣告的
- 基于FEC自动分配标签构建LSP
- 用于建立动态LSP
- LDP报文头部结构
- 信息类型
基本术语
LDP对等体:两台设备之间存在LDP的邻居称之为LDP的对等体
LDP邻接体:
- 本地邻接体:使用组播形式发送Hello消息,链路Hello消息,发现的邻接体叫做本地邻接体
- 远端邻接体:使用单播形式发送Hello消息,目标Hello,发现的邻接体叫做远端邻接体
LDP会话:
- 本地邻接体建立的是本地会话
- 远端邻接体建立的是远端会话
Label Space ID:
- 0表示基于全局的标签空间——学到的全是基于平台的
- 1表示基于接口的标签空间(只有ATM是接口的,其他全是基于全局的)
- 基于接口和基于平台两者区别在于:
- 基于接口的标签空间,收到报文不仅要匹配标签,也要匹配接口进行转发
- 基于平台的,收到报文后只匹配标签就行
消息类型
LDP协议使用UDP源目端口646发送Hello报文发现和维护邻居,使用组播地址224.0.0.2意思是发给所有路由器,使用TCP646目的端口建立LDP邻居关系
- 发现:通告和维护网络中LSR的存在,Hello消息
- 会话:用于建立维护和终止对等体之间的会话,initialization消息、keepalive消息
- 通告:用于创建、改变和删除FEC标签映射
- 通知:提供建议性消息和差错通知
LDP邻接就是平常说的LDP邻居,但是在LDP中存在邻居和会话两种概念
LDP通过Hello报文建立的邻居关系,在LDP中默认5s发送一次Hello报文,15s没有收到邻居的Hello报文认为邻居失效
LDP会话是使用keepalive报文维护会话状态,默认15s发送一次,如45s没有收到邻居的keepalive报文,则会话断开
通过hello报文发现邻居之后建立LDP会话(使用TCP来保证报文传输的可靠性)
工作过程
LDP的工作过程分为两个阶段
LDP会话建立
通过hello消息发现邻居,LSR之间家里LDP会话,建立后,LDP对等体之间不断发送hello和keepalive消息来维持会话
- 对等体之间周期性发送hello消息维持邻接关系。如果hello定时器超时仍没有收到新的hello消息,则删除hello邻接关系,删除之后。本端的LSR将发送notification消息,结束LDP会话
- LDP对等体之间通过LDP会话上传送的keepalive维持LDP会话。如果会话定时器超时仍没收到任何keepalive消息,则关闭TCP连接,本端LSR发送notification消息,结束LDP会话
LDP LSP建立
会话建立后,LDP通过发送标签请求和映射消息,在LDP对等体之间通告FEC和标签的绑定关系,建立LSP
工作原理
LDP工作过程
- 发送Hello消息用于发现邻居;UDP发送==(携带自身的LSR-ID,比较大小用来选举建立TCP连接的主动端和被动端,越大越优)==——很重要的一点,LSRID一定使用的是一个已经存在的地址,且是可达的,因为要用它的建立TCP的连接,可以用物理接口,但是使用Loopback接口更加稳定
- LSR_1主动发起并建立TCP连接;TCP进行建立
- 主动方发初始化消息协商参数
- 接收参数则发初始化消息和Keepalive消息
- 接收参数则发送 Keepalive 消息
- 在advertisement中包含了自身所有启用了mpls的接口IP,之后会把自身所有的标签告诉对端
- notification消息是由事件触发的
dis mpls ldp adjacency #查看邻居关系,只能说明邻居关系建立成功,不能说明会话建立成功 dis mpls ldp session #查看邻居会话关系 dis mpls ldp inter g0/0/0 #查看接口状态,接口Down掉之后邻居和会话肯定都断掉