MPLS LDP协议—— 操作过程
1.对于IP路由表中的每个一个IGP的IP prefix来说,每台运行LDP的LSR都会产生一个label与之做一个mapping,然后LSR会将这个mapping传个所有LDP邻居(运行LDP的LSR会建立邻居关系)。
2.每个LSR都会保存一张LIB表(label information base)(标签信息库),该表收集了从所有LDP邻居收到的所有prefix和label的mapping,因此,关于某个IP prefix,肯定会有多个label与之对应,原因:
拓扑:routerA---routerB---routerC----10.0.0.0/24
三台路由器直连,运行了OSPF,他们路由表都有到10.0.0.0/24的prefix,因此自身都会产生一条关于该prefix和label的mapping,而且也会收到其他LSR关于这个label的mapping,如B就会同时收到A、C的mapping,那么到底选A还是C?
事实上,LDP在LSR上建议另外一个表,叫LFIB(label forwarding information dase)(标签转发信息库),该表中,本地的mapping中的label作为入站label,而路由表中的关于10.0.0.0/24的下一跳发送过来的mapping中的label作为出站label(本例中,10.0.0.0/24的下一跳是C,那么B就会将C发来的mapping中的label作为出站label,而A就将B发来的label作为出站label),这就引出了LDP中一个很重要的原理:关于某个prefix,所有路由器发送去往该prefix的报文时,他的label都是由该prefix的下一跳(即该prefix在路由表中对应的下一跳)发给他的,而他也会将他的label发送给他的上一跳路由器.
MPLS LDP协议—— LDP的LSR发现(注意,只是发现,并未建立邻居,类似于OSPF中的2-way状态)
(1)配置:
- Ip cef
- //启用CEF
- Mpls label protocol ldp
- //指定MPLS协议,默认是LDP
- Int e0/0
- Mpls ip
- //在接口下启用MPLS
(2)LDP的hello消息是一个UDP端口号646,发往224.0.0.2的消息
(3)Sh mpls ldp discovery查看LDP邻居
(4) Sh mpls int查看所有启用了LDP的接口
(5)LDP ID:类似以OSPF的router ID,选举规则也一样;使用mpls ldp router-id interface force改变LDP ID
(6)在LDP邻居发现时,邻居之间的LDP ID必须IGP可达,否则在sh mpls ldp discovery的最后一行会出现no route,即邻居发现没有建立成功
MPLS LDP协议—— LDP会话建立和维护
(1)当两端都收到Hello后,他们就可以尝试见了LDP会话了,一台LDP会去打开对端的TCP646端口,到另外一台LSR。如果TCP建立成功,那么他们就会交换一下信息:
1.计时器的值
2.标签分发方式
如果两台LSR都认可了参数,那么就会建立LDP邻居
(2)Sh mpls ldp nei查看邻居关系
MPLS LDP协议—— Label&prefix mapping 通告
LSR会将自己IGP路由表中所有的prefix mapping到一个label中,然后通告给所有他的LDP邻居
一个下游LDP邻居因此会收到同一个prefix的多个label的mapping,他如何选择?
下游LSR是通过在路由表中查找这个prefix的下一跳IP,通过该IP查找到某个特定的LDP ID,然后通过这个LDP ID查找到与之对应的label。要多次查找的原因:当某个LSR向其LDP邻居发送mapping时,他只包括自身的LDP ID、需要label的prefix、相应的label,而其下游路由器选择LFIB的mapping时,是通过IGP路由表中的下一跳来选择的,而通过该下一跳IP并不能查找到相应的LDP IP,也就不能找到相应的mapping,因此事实上,每个LSR在发送mapping的时候,还会把自己所有接口的IP和LDP ID的绑定发送出去。那么现在好了,他的下游路由器就能通过下一跳IP,找到下一跳IP对应的IDP ID,然后哦天那干过LDP IP,找到相应的mapping。Sh mpls ldp nei detail可以看到LDP邻居发送的所有接口IP(Addresses bound to peer LDP Ident)
Sh mpls ip binding查看LIB表,后面有inuse的表示进入LFIB表
Sh mpls ip forwarding-table查看LFIB表
MPLS LDP协议的更多内容请阅读上篇