1. MPLS简介
MPLS(多协议标签交换)是一种在数据链路层与网络层之间插入一个标签交换层的网络技术。它支持多种网络层协议,如IPv4/IPv6和IPX,从而实现了基于标签的数据交换。MPLS常用于提高数据传输效率、支持VPN服务以及实现流量工程。
2. MPLS的特点
- 标签交换:MPLS使用标签来转发数据,而不是传统的IP地址。
- 2.5层技术:MPLS位于二层和三层之间,使得数据转发更加高效。
- 支持多种网络层协议:MPLS对三层所使用的协议不敏感,能够支持IPv4/v6等多种网络层协议。
- 高效的数据转发:MPLS通过标签交换转发数据,相比于传统的数据包交换,具有更高的效率。
- MPLS VPN和MPLS TE:MPLS技术支持VPN服务和流量工程,增强了网络服务的灵活性和可管理性。
3. MPLS的工作模式
- 帧模式:在以太网帧中添加MPLS标签。
- 信元模式:在ATM信元中添加MPLS标签。
4. MPLS的数据层面与控制层面
- 控制层面:LDP(标签分发协议)、TDP(标签分配协议)、MP-BGP(多协议BGP)、Rsvp(资源预留协议)等用于标签的分发和控制。
- 数据层面:使用LIB(标签信息库)和FIB(转发信息库)优化数据转发,实现基于标签的转发机制。
5. MPLS术语解释
- FEC(转发等价类):指具有相同转发处理方式的一类数据。
- LSR(标签交换路由器):执行标签交换的路由器,负责标签的交换和去除。
- E-LSR(边界标签交换路由器):位于MPLS网络边界的路由器,负责为来自IP网络的流量添加标签,以及在离开MPLS网络时去除标签。
- LSP(标签交换路径):MPLS数据包通过的路径。
- LIB(标签信息库):存储本地标签分配信息和从其他LSR接收的标签信息。
- FIB(转发信息库):存储基于标签的数据转发信息。
- LFIB(标签转发信息库):包括LIB和FIB的信息。
6. MPLS标签的结构
- 标签长度为20位,范围从16到220。
- EXP字段:3位,用于区分不同的服务等级或进行QoS管理。
- S字段:1位,表示标签是否为栈底标签。
- TTL字段:8位,用于防止标签交换环路。
7. 标签分发协议
- MP-BGP:用于在MPLS VPN中分发标签。
- LDP和TDP:两种标签分发协议,其中LDP是工业标准,TDP是Cisco私有协议。LDP基于TCP(端口646)或UDP(组播地址224.0.0.2)通信。TDP基于UDP(端口711),并使用组播地址255.255.255.255进行广播发送。
- LDP邻居发现:通过发送LDP Hello报文建立邻居关系,周期为5秒,超时时间为15秒。
- LDP会话建立:通过发送LDP初始化报文和Keepalive报文来建立会话,并进行标签的分发。
8. MPLS优化机制
- 倒数第二跳弹出:当MPLS报文到达除最外层标签外的所有标签都已经弹出的LSR时,只会弹出最外层标签,减少了对E-LSR的压力。
- 标签的本地意义:标签只在本地有效,不同LSR可以对同一FEC分配不同的标签。
- 异步分发:标签的分发是异步的,即不同LSR可能以不同的速度接收到标签信息。
9. 配置实例
- 在路由器R2、R3和R5上启用MPLS。
- 在所有路由器上启用EIGRP协议,并配置相应的网络。
- 在接口上启用MPLS,例如: