LDP是用来在LSR之间建立LDP Session并交换Label FEC映射信息的协议
LDP消息类型
Discovery message:宣告和维护网络中一个LSR的存在
Session message:建立、维护和终止LDP Peers之间的LDP Session
Advertisement message:生成、改变和删除FEC的标签映射
Notification message:宣告告警和错误信息
LDP的工作过程
1.选举LDP router-id
2.使用LDP RID的地址建立直连路由器之间的LDP邻居
3.通过路由协议学习到路由条目后,每台路由器针对这条路由条目本地分配一个标签
4.通过LDP协议无序分发标签,从而形成LIB表(无序:给上游和下游分发标签)
LDP邻居建立过程
1.使用UDP源目端口号为646发送hello包
LDP的hello消息目的IP发往224.0.0.2(用物理口大的发给小的)
2.协商相关参数 LDP的RID(与ospf的RID选举一样)选大的
3.使用TCP646为目的端口建立LDP邻居关系(源端口随机(大的逻辑地址)用逻辑口大的向小的建立连接)
目的IP为对方的LDP ID 使用TCP三次握手建立连接
邻居发现使用UDP,会话建立使用TCP
mpls lsr-id 1.1.1.1
mpls
mpls ldp
int g0/0/0
mpls
mpls ldp
dis mpls ldp peer 查看邻居
dis mpls ldp session(verbose) 查看会话
dis mpls ldp
dis mpls lsp 查看标签
dis mpls ldp lsp
远端LDP会话(跨路由器)
mpls lsr-id 1.1.1.1
mpls
mpls ldp
mpls ldp remote-peer test
remote-ip 3.3.3.3
LDP发现机制
基本发现机制:发现直接连接在同一链路上的LSR邻居 相邻之间
扩展发现机制:发现非直连的LSR邻居 不相邻
在MPLS域中数据是基于IP还是标签,首先数据进来的时候查看fib表,如果其中的tunnelID
为0x0则是基于IP转发,不为0则基于标签
数据带标签时查看LFIB,没有带标签时查看FIB表
MPLS中TTL处理
统一模式:ip的TTL减一并拷贝到label中的TTL,在域中(非边界)label的TTL减一,而ip
中的TTL不变,出去的时候label的TTL拷贝到ip中的TTL
管道模式:ip的TTL减一但没有拷贝到label中而是将label中的TTL强制置为255,在域中(非边界)
label的TTL减一而ip中的TTL不变,出去的时候ip的TTL减一
mpls
undo ttl propagate public 关闭统一模式
标签空间
基于平台:所有接口的标签都一样
基于接口:接口的标签可能一样也可能不一样
标签分发
DU:自己主动向上游和下游(数据目的)发送标签 默认
DOD:自己先向邻居请求标签,然后邻居分发标签给自己,下游无需上游的请求
int g0/0/0
mpls ldp advertisement dod
标签控制
independent:快、但数据包走标签和ip
ordered:数据一直走标签
标签保持
conservative:如果有多条链路,则备份的链路的标签会被丢弃
liberal:如果有多条链路,则备份的链路的标签会放在内存中,作为备份
MPLS封装方式
帧模式 底层协议为以太网、ppp、fr
信元模式 底层协议为ATM
MPLS环路检测方法
IGP igp路由协议的防环 控制平面
TTL 数据平面
LDP 控制平面 有LDP路径向量法防环和最大跳数法
LDP路径向量法防环
路由器向下游发送label request并且带上自己的lsr id,如果收到的时候有自己lsr id
则丢弃该数据包
最大跳数法
数据包发送出去的时候设置一个最大跳数,超出最大跳数的时候则丢弃
ldp防环默认关闭,因为已经有TTL了
lope-detect 开启ldp防环
hops-count 10 跳数 默认32