MPLS LDP协议——基于目的地的LDP会话 一般情况下,LDP邻居都是建立在直连的LSR上的,但是在AToM、TE隧道网络中需要建立跨LSR的邻居,这些邻居不是直连的。 MPLS LDP协议——LDP认证 LDP建立在TCP基础之上,因此所有对TCP的攻击都会影响到LDP,如半开连接 LDP邻居可以使用MD5认证 配置:mpls ldp neighbor [vrf vpn-name] ip-addr password [0-7] pwd MPLS LDP协议——标签分发控制(出站过滤) 可以配置LDP,使得对某一个LDP邻居通告或者不通告特定的标签,这在MPLS VPN的环境中,只有对发送VPN的流量需要的prefix(BGP下一跳地址)才是需要的流量,因此可以配置P、PE路由器,只发送关于这些prefix的标签给邻居。 配置方式: 1.Mpls ldp advertise-labels [vrf vpn-name] [interface intf] for acl1 to acl2 //acl1表明哪些prefix需要被通告 //acl2表明哪些对等体可以收到该通告 //acl1、2都是标准访问列表 2.No mpls ldp advertise-labels //这句话一定要加,否则前面那句话就无效 MPLS LDP协议——标签分发控制(入站过滤) 配置方式: Mpls ldp neighbor [vrf vpn-name] nbr-address labels accept acl MPLS LDP协议——LDP自动配置 一般情况下,会在所有启用了IGP的接口上启用LDP,LDP自动配置允许路由器自动启用启用了IGP的接口上的LDP,该命名只支持OSPF 配置方式: 1.Mpls ldp autoconfig [aree area-id] 2.No mpls ldp igp autoconfig //使得某个启用了IGP的接口不启用LDP 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)配置:
(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表 【编辑推荐】 |
|