1.MPLS出现的原因:
传统的IP转发机制速度太慢,加速数据包的转发。然而,由于硬件的速度不断提升,提速的运用已经不明显了。当前,MPLS的功能主要体现在它的拓展运用上,例如MPLS ×××和MPLS TE(流量工程)。
2.MPLS的特性:
a MPLS 是基于CEF的交换机制,是基于标签的数据包转发技术;
b MPLS 的标签是根据IP路由前缀产生的;
c MPLS是一种转发等价类FEC,它将 destination相同,forwarding path相同,service level相同的数据归为一组,以一种相同的处理方式转发之。
d MPLS 支持多种协议,包括IPX.
3.路由器的交换机制
a 基于进程的交换:每一次收到报文后,将处理报文的CPU进程加入到进程队列,轮到时,执行查找路由表的操作;
b 基于缓存的交换:第一报文使用进程交换触发,以后相同的报文使用缓存快速交换;
c 基于CEF的交换:预先建立缓存表,报文不需要经过触发,即可使用预先建立的缓存表。
4.有关MPLS的表描述
aLIB(Lable Information base):存放本地产生和收到了标签。
命令:show mpls ldpbinding [detail]
b LFIB(LabelForwarding Information base) : 标签与网段的映射表
命令:show mpls forwarding-table
c FIB(Forwarding Information base) : 是LFIB和LIB的集合
命令:show ip cef detail
3种表:
FIB:CEF从Routingtable直接Download下来的 show ip cefdetail
LIB:存放本地分配给邻居的标签+从邻居学到的标签 show mpls ldp binding[detail]
LFIB:动态形成的入标签/出标签映射 show mpls forwarding-table
5.MPLS首先启用CEF的原因:
a CEF可以将路由和下一跳直接绑定,解决了递归查找的步骤;
b CEF是唯一一种支持MPLS 插入的机制;
c CEF可以形成FIB表,而LDP根据FIB表产生标签的。
d基于拓扑的驱动
6.MPLS的体系架构
Acontrol plane(控制层面)
·exchange routing information and labels
·exchange routing information including RIP,OSPF,EIGRP,BGP
·exchange labels ,such as BGP,LDP,RSVP
B data plane(数据层面)
·forwarding packets based on labels
·complex forwarding engine
7.MPLS label的Format(32bits)
[-----Label-------][EXP] [S] [TTL]
20-bit 3-bit 1-bit 8-bit
a Label 20bits 可以有2^20个标签,但是【0-15】是保留的
b EXP 3bits 用于QOS
c S 1bit 栈底位
如: 1层Label 纯MPLS
2层Label MPLS×××
3层Label MPLSTE(流量工程)
d TTL: 8-bit(0-255)
8.Edge LSR的功能:
l impose label and forward them intothe MPLS domain
l pop label and forward IP packets outof the MPLS domain
9.这个条目是最为重要的!做实验演示,证明MPLS的分发过程
标签分发步骤:(在Frame Mode MPLS中)
1、运行路由协议,建立路由表;
2、默认开启CEF,根据Route Table形成FIB;
3、每个LSR上运行LDP/TDP,针对FIB中目标网络前缀分发标签;
——>MPLS不会给BGP路由分发标签!!!
4、 LSRs向其他LSR通告它们分配的labels
5、每个LSR建立自己的LIB、LFIB
注意:MPLS运行于ISP网络!
标签分发:
-每一台LSR针对每个目标路由分发一个标签,(BGP路由除外)
-Label本地有效
-标签的分发是异步的
Upstream/Downstream是针对数据包的流向
-数据包的源:Upstream
-数据包的目标:Downstream
入标签/出标签也是针对数据包的流向
-入标签是本端分配给邻居的
-出标签是邻居分配给本端的
在MPLS网络中,将标记L绑订到特定FEC F是由Downstream LSR决定的。同时Downstream LSR 会将绑订的信息通知Upstream LSR。因此标记是被Downstream分配的,并且标记绑订的方向是由Downstream到Upstream。若LSR是根据此机制而设计的,那么标记就必须保证在某个数值范围内。
Penultimate HopPoping(次末跳弹出)
EdgeLSR针对某条路由向邻居分发的是保留标签3,标示接收者是倒数第二跳LSR。
Configure MPLS:
0、配置路由协议
1、开启CEF
2、(在Frame Mode接口配置MPLS)在接口模式下 mpls ip
3、(可选)configure MTUsize in label switching
改动后的MTU
1504 1层标签
1508 2层标签
1512 3层标签
LDP 建立的过程:
1.show mpls ldpdiscovery detail
第一阶段:UDP 646发送hello packet 224.0.0.2;interval 5s,dead 15s
默认transport ip就是route-id 用于建立邻居(ldp的邻居建立不是通过相连链路两端的ip地址建立,而是通过
Transport ip建立,所以这里的transport ip必须“单播可通”。
注:no route to XXXX 。。。表示 transport ip 单播不可通
2.show mpls ldp neighbor detail
第二阶段:TCP 646 router-id 大的一方去执行“三次握手”过程(小的,show可以显示646)
如果是使用TDP,那么使用TCP 711建立邻居关系。
影响邻居建立的因素:
1.transport ip;
2.协议不匹配。(链路两端一端是TDP,一端是LDP)
Untag 可能的原因:show mpls forwrading-table
1.无ldp邻居
2.路由不匹配
3.关闭ip cef
4.FR map 没有配置broadcast-->IGP无法基于帧中继建立
5.label acl
补充:
1.强制定义LDP router-id(transport ip)
全局模式下 mpls ldp router-id loopback0 force
2.将物理口作为transport ip:
在对端接口下 mplsd ldp discovery transport-address interface
3.修改hello,dead时间:mpls ldp discovery hello [interval | holdtime]
Q1:MPLS转发等价类FEC体现在什么地方?标签的分配是否是随机的?如何定义想要的标签范围?
MPLS是一种转发等价类FEC,它将 destination相同,forwarding path相同,service level相同的数据归为一组,以一种相同的处理方式转发之。
便签的产生是随机的,但是,一旦给定就不会再做改变。
定义标签范围
config)#mpls label protocol [ldp|tdp]
config)#mpls lable range 30 40 (该命令必须保存配置,reload后生效!)
Q2:在LFIB表中各个参数的准确含义是什么?
入标签/出标签也是针对数据包的流向
-入标签是本端分配给邻居的
-出标签是邻居分配给本端的
便签的确是会传送给该LSR所有的LSR邻居,但是,在传送的Label中,只有downstrean向upstream的传送才是正确有效的。以为192.168.45.0/24分配标签为例,根据label的传递方向,downstream->upstream,R2处于uppstream。虽然R仍然为192.168.45.0/24网段产生了36标签,并且把他传送给了R2的LSR邻居R3,R3也确实收到了,但是,这样的标签是不会被使用的!
因为,这个标签,并不是由下行传递给上行的label。
Q3:出现Untaged,POP tag和implicit null的区别在哪里?依据untaged标签产生原因分析,产生untanged的便签是否说明标签错误?
答: 相同点 不同点
Untaged : 直接查找LFIB表 去掉所有的标签
POP tag : 直接查找LFIB表 去掉一个标签,还是隐式空标签3
Implicit null: 直接查找LFIB表 没有标签
产生Untagged并不代表是错误的!例如:R2对R1的1.1.1.0网段,就是untagged,因为R2是Edge LSR,左边的接口没有启用MPLS,不是1.1.1.0的倒数第二跳!!!
Q4:MPLS究竟如何为个网段分配标签,是只为在mpls域内的网段分配标签,还是说为所有路由可达的网段分配标签?
如果是这样的话,既然mpls不能够到达这个域,又为什么会为该网段产生标签呢?
答:
1)由以上问答中的截图可得:MPLS会为路由可达的所有网段分配标签!(笔者实验所得!)
2)首先,任何LSR或者非LSR都不会为直连的网段分配标签(或者说不会出现在标签转发表中,因为直连的网段不需要标签转发!已经是最犹的了!)
再而,我们说使用MPLS技术来答题ip转发技术室局限于MPLS域内的。(也就是运营商内部的!这样可以用来支撑其他的网络协议!)但是,分配标签是没有区域的范围的,只要存在该路由前缀,MPLS就会为他产生MPLS label,至于MPLS域,在这个角度来将的话,知识用来局限LSR标签转发的范围!(类似于,中国有可以大道别的国家的×××!但是,×××被局限在中国国内!)