文章目录
MPLS
技术背景
- IP转发采用最长匹配,需多次查表,效率不高
- 当时路由器多采用CPU处理数据转发,性能有限
- ATM技术采用唯一精确匹配,一次查表,效率高,但协议复杂,成本高
MPLS定义
- 多协议标签交换,采用一个短而定长的标签来封装网络层分组,交换机或路由器根据标签转发报文
MPLS优势
- 转发数据唯一精确匹配,查询速度快
- 支持多协议,几乎可运行在任何现有协议之上,无需更换专用设备
MPLS网络组成
-
非MPLS网络:没有运行MPLS的网络,如普通IP网络
-
MPLS网络:使用MPLS协议传输数据的网络
-
LSR:标签交换路由器,指运行了MPLS的网络设备
-
Ingress LSR:入节点LSR,指数据报文的入口LSR,负责为进入MPLS网络的报文添加标签
-
Transit LSR:传输节点LSR,MPLS网络内部的中间LSR,根据标签沿着一系列LSR构成的LSP将报文传送给出口LSR
-
Egress LSR:出节点LSR,负责弹出报文中的标签,并转发至非MPLS网络
注意:入节点和出节点根据数据流的方向划分,边缘LSR可能即是入节点,也是出节点
-
FEC:转发等价类,MPLS将具有相同特征的报文归为一类,成为FEC,一组按照同一LSP路径转发的数据流
-
LSP:标签交换路径,同一组FEC的报文在MPLS网络中的转发路径
MPLS标签
定义
- 一个短而定长的标识,通常只具有局部意义
- MPLS标签通常封装于二层和三层的头部之间
- LSR根据MPLS标签决定如何转发数据
标签结构
Label:标签值,16以下为保留标签,3为最后一个标签
TC:标识QOS优先级
S:栈底标识
S置位1,该标签为最后一个标签
S置位0,该标签后续还有标签
TTL:存活时间,每经过一次标签交换,TTL值-1
MPLS标签识别
- 以太网帧中,通过TYPE字段对MPLS进行识别
- TYPE=8847,代表承载的是MPLS报文
标签分配协议LDP
定义
- 标签分配协议,简单可靠,使用最广泛的MPLS协议之一
LDP报文
属性 | 描述 |
---|---|
Discovery messages | 发现消息,用于LDP邻居建立和维持 |
Session messages | 会话消息,用于LDP邻居会话建立、维持和中止 |
Advertisement messages | 通告消息,用于向邻居通告标签值、地址等信息 |
Notification messages | 通知消息,用于向LDP邻居报告事件或错误 |
LDP会话建立和维护
- 邻居发现
- 建立TCP连接
- 建立会话
- 会话维护
上游与下游
- 设备的上下游与数据转发的方向相对应
- 数据先到达的设备是上游,数据后到达的设备是下游
标签转发表
-
LDP会话建立完成后,路由器根据路由表进行标签分配,形成MPLS标签转发表
-
标签转发表包含入标签、出标签和出接口
-
入标签:接收到的报文携带的标签
-
出标签:转发数据把入标签替换为出标签
-
出接口:数据报文发出的接口
LSP建立流程
1.出节点LSR收到上游标签分配请求后,建立LSP
出标签为空
入标签设置为3
出接口为IP路由表中目的网段的出接口
2.出节点LSR向上游LSR发布标签映射消息,通告本LSR的入标签
3.上游LSR根据标签映射消息建立LSP
出标签为下游LSR通告的标签映射消息中的入标签
入标签随机产生
出接口为收到标签映射消息的接口
4.LSR继续向上游发布标签映射消息,直到入节点
5.入节点LSR建立LSP
出标签为下游LSR通告的入标签
入标签为空
出接口为收到标签映射消息的接口
标签通告模式
- DOD:下游按需标记分配。上游LSR先向下游LSR发送标签请求消息,下游LSR收到标签请求消息后,为此FEC分配标签,并向上游逐层通告。
- DU:下游自主标记分配。下游LSR在LDP会话建立后,主动向上游LSR通告标签映射消息,无需等待上游请求。
标签控制模式
- 有序:只有从最下游的LSR开始建立标签后,才逐层通告
- 无序:不管有没有收到下游的标签映射消息,都立即向上游发送标签映射消息
标签保持方式
-
保守
只保留来自IP路由表中最优下一跳发来的标签 特征: 节省内存和标签空间 LSP收敛慢
-
自由
保留所有邻居的标签 特征: LSP收敛快 需要更多的内存和标签空间
MPLS转发流程
- 报文进入MPLS网络,入节点检查标签转发表,进行标签PUSH操作:打上出标签
- 报文在Transit LSR中传输时,路由器检查标签,并在标签转发表中匹配,并进行标签SWAP操作:匹配成功则把标签替换为对应的出标签
- 报文到达出节点,路由器弹出(POP)标签,并按照普通数据报文进行转发