简介
MPLS(Multiprotocol Label Switch)是使用标签为了做出数据转发决策的数据包转发技术。利用 MPLS 技术,只需一次(当数据包进入 MPLS 域时)即可完成第 3 层报头分析。标签检查可推动后续的数据包转发。MPLS 可为以下应用带来益处:
虚拟专用网络 (VPN)
流量工程 (TE)
服务质量 (QoS)
任何基于 MPLS 的传输 (AToM)
另外,它还可减少核心路由器上的转发开销。MPLS 技术适用于任何网络层协议。
转发等价类 (FEC)
MPLS实际上是一种分类转发的技术,它将具有相同转发处理方式(目的地相同、使用的转发路径相同、具有相同的服务等级等)的分组归为一类,这种类别就称为转发等价类
MPLS首先要启用CEF
1、启用CEF可以被ASIC调用转发
2、基于拓扑驱动
3、CEF将路由和下一跳关联,解决递归问题
4、CEF是唯一一种提供MPLS标签插入的转发机制
5、CEF形成FIB,而TDP/LDP根据FIB来分发标签
CEF(Cisco Express Forwarding,Cisco特快交换)
CEF技术是思科公司推出的一种全新的路由交换方案,它具有良好的交换性能,增强的交换体系结构和极高的包转发速率。
CEF是一种高级的第三层交换技术,它主要是为高性能、高伸缩性的第三层IP骨干网交换设计的。为优化包转发的路由查找机制,CEF定义了两个主要部件:转发信息库(Forwarding Information base)和邻接表(Adjacency Table)。要注意区分FIB表和LIB表,LIB表是MPLS里面的一个数据库,叫标签信息数据库,用Show mpls ip binding查看。
LFIB(Label Forwording Information Base)标签转发信息库;内部存储着标签的转发信息,根据标签信息转发
RIB(route information base)路由信息库;
FIB(Forwording Information Base)转发信息库;缓存路由表信息
LIB(Label Information Base)标签信息库;存储着网段对应本地的标签和学到的
MPLS标签的结构
标签是短,用于为了识别转发等效类(FEC)的四字节,固定长度,局部重要的标识符。放置在特定数据包上的标签表示该数据包将要分配到的 FEC。
标签-标签值(无特定结构的), 20个位
Exp -试验使用, 3个位;当前使用作为业务类别(QoS)字段
S -栈底, 1个位
表示是否是最底层封装,1表示是,0表示不是;MPLS 1层封装;MPLS-VPN 2层封装 MPLS-TE 3层封装存活的TTL跳数, 8个位
标签将附加到数据包中的位置
标签将附加到数据链路层(第 2 层)报头和网络层(第 3 层)报头之间。标签堆栈的顶部先出现在数据包中,底部最后出现。网络层数据包紧跟在标签堆栈中的最后一个标签之后。
以太网数据包格式
第三个包代表以太网上面封装的协议类型
IPv4 0x0800
单播 0x8847
多播 0x8848
标签交换路由器 (LSR):运行在MPLS域中的路由器,负责交换标签
边界标签交换路由器(Edge LSR):运行在MPLS域边缘的连接运行其他协议的路由器,负责压入、弹出标签
LSR运行过程:
转发完全依靠LFIB,不需要查看路由表
Edge LSR运行过程
进来的数据如果没标签就打上标签,然后根据LFIB转发,如果有标签就拆掉标签,然后根据FIB缓存的路由表信息转发
TDP和LDP的区别
TDP:
1、TDP是私有协议;
2、思科在支持MPLS 之前,主推TDP,当MPLS 标准化以后,由于其不适用于开放的网络及端到端的业务,不被运营商认同,所以思科也不再推行TDP,转而推荐用户升级到LDP;
3、由于TDP是遭到淘汰的技术,思科没有进行持续的投入,几乎没有可扩展性,如在其文献中没有对QOS及Ipv6的支持有完善的解决方案,网管也不完整,但VPN客户基本是大客户,对QOS和可管理性有很高的要求;
4、TDP不支持组播;
5、由于业务开展越多,从TDP升级到MPLS(LDP)所带来的损失也越大(大客户业务的中断),成本也越高(思科对MPLS的支持有Lisence限制,MPLS VPN用户越多,收费越高),因此国内绝大部分运营商的骨干网早也升级完毕。小网通骨干网还没有升级,是因为已经有MPLS VPN业务,收费非常高,而且很难保证业务不中断,后果就是小网通现在很难发展新的大客户;
MPLS(LDP):
1、MPLS基于标准,各厂商必须支持,互通性好,被终端用户认同,能够开展端到端的业务。因此,其永远不会被某一厂家当做技术壁垒达到垄断的目的,便于运营商引入竞争,节约成本;
2、MPLS对QOS、Ipv6有完善的支持,网管也很完善; 3、MPLS支持组播;
4、MPLS由IETF专门工作组负责,有持续的研发和投入,可持续扩展,不会
被淘汰。
总的来看,TDP是过时的、私家协议,不能保证与其他厂商的互通,同时,缺乏对其持续的投入,可扩展性差,不能满足当前或未来区别化业务的需求,因此不能保证被最终用户的认同;相反,MPLS基于标准,适合开展端到端的业务,同时,由于有组织保证,技术先进,有完整的解决方案,可扩展性更好。从二者的分析可以看出,TDP越早升级到LDP越好。
TDP和LDP都是通过UDP发送hello报文,通过TCP建立连接,TDP:UDP/TCP 711 LDP:UDP/TCP 646
同一个MPLS域中不同的路由器对同一个网段打上的标签不一定相同
MPLS中上游和下游是针对数据包的流向,源地址为上游,目标地址为下游
MPLS中出入标签是针对数据包的流向,入标签是本端分配给邻居的,出标签是邻居分配给本端的