MPLS
MPLS
一、MPLS概述
传统IP转发
1、IP的转发原理
利用路由协议生成路由表
根据目的IP地址进行转发
2、传统IP转发在流量工程方面的缺陷
流量工程:对流量的引导、操纵的过程。
MPLS标签转发
1、MPLS标签报文格式
在二层报头与三层报头之间插入MPLS报头,可以插入多个MPLS头部
这种标签模式也被称为‘帧模式’(Frame Mode)
字段 | 长度 | 含义 |
---|---|---|
Label | 20比特 | 标签值字段,用来标识一个FEC。 |
EXP | 3比特 | 用于扩展。现在通常用做CoS(Class of Service),其作用与Ethernet802.1p的作用类似。 |
S | 1比特 | MPLS支持多重标签。值为1时表示为最底层标签。 |
TTL | 8比特 | 和IP分组中的TTL意义相同,可以用来防止环路。 |
靠近二层的标签称为顶层标签,该标签作为转发时的依据(在某些复杂的转发中会看内层标签);
靠近IP层的标签称为底层标签,并且只有该头部中的S位被置1.
2、MPLS应用
MPLS TE、MPLS QoS
3、备注
Ether II的上层承载MPLS单播时,Type字段值为0x8847;MPLS多播报文时,Type字段值为0x8848
二、MPLS基本原理
1、MPLS基本结构
MPLS标签嵌套:标签栈
PID标识二层头部后面的报文类型,LSR判断报文类型
• Ethernet:0x800 IPv4,0x8847 MPLS单播报文,0x8848 MPLS多播报文
• PPP:0x8021 IPv4,0x8281 MPLS单播报文,0x8283 MPLS多播报文
S标识是否是栈底标签
标签嵌套应用
• MPLS VPN
• MPLS TE
2、MPLS标签格式
3、MPLS转发流程传统IP转发
MPLS转发:Ingress LER
NHLFE:Next Hop Label Forwarding(下一跳标签转发事项)
FEC:forwarding equivalence classes(转发等价类)
FEC:在转发过程中以等价的方式处理的一组数据分组,例如目的前缀相同的数据分组;通常对一个FEC分配唯一的标签。
如:根据特定的组播报文、相同的目的IP、DSCP字段、相同QoS策略~~~~
MPLS转发:LSR
ILM Incoming Label Map
display mpls lsp include 1.1.1.0 24 in-label 1030 verbose
标签操作类型(Label Operations)
Push:指当IP报文进入MPLS域时,MPLS边界设备在报文二层首部和IP首部之间插入一个新标签;或者MPLS中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)
Swap:当报文在MPLS域内转发时,根据标签转发表,用下一跳分配的标签,替换MPLS报文的栈顶标签。
POP:当报文离开MPLS域时,将MPLS报文的标签去掉。
LDP协议原理
LDP基本概念
LDP邻居发现和会话建立
1、LDP基本概念
LDP是用来在LSR之间建立LDP Session并交换Label/FEC映射信息的协议
LDP消息类型
discovery message:宣告和维护网络中一个LSR的存在
Session message:建立、维护和终止LDP Peer之间的LDP session
advertisement message:生成、改变和删除FEC的标签映射
notification message:宣告告警和错误信息
LDP封装格式:
LDP消息作用:
discovery message:
hello:LDP发现机制中宣告LSR本LSR并发现邻居
session message:
initialization:在LDP session建立过程中协商参数
keepalive:监控LDP session的TCP连接的完整性
advertisement message:
address:宣告接口地址
address withdraw:撤销接口地址
label mapping:宣告FEC/Label映射信息
Label Request:请求FEC的标签映射
Label abort request:终止未完成的label request message
label withdraw:撤销FEC/Label映射
label release:释放标签
notification message:
notification:通知LDP Peer错误信息
LDP会话建立及session建立过程:
LDP基本发现机制:发现直接连接在同一连路上的LSR邻居
LSR通过周期性(5S)发送hello message表明自己的存在;消息是封装在UDP报文中的,目的IP地址为组播IP地址:224.0.0.2;目的端口号:646
发送消息时,目的端口号与源端口号都是646;消息发送完成后,建立TCP连接时,由transport address大的发起,目的端口号646,源端口号任意
LDP扩展发现机制:发现非直连的LSR邻居
单播发送hello包,源端口号与目的端口号都是646;hello包发送完成后,由transport address大的发起TCP连接。
transport address:默认时LSR-ID,发现邻居后去创建TCP连接用的地址
TCP建立连接完成后,由TCP主动端(transport address大的)发送初始化(initialization)消息
对端回复一个初始化消息,并发送一个对主动端初始化消息的确认的Keepalive消息,主动端也回复一个Keepalive消息。LDP会话建立成功,
传递标签映射信息: