设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1650|回复: 5
收起左侧

[分享] MPLS(Multiprotocol Label Switching,多协议标签交换)概述

[复制链接]
 成长值: 59260
发表于 2017-11-7 10:21:50 | 显示全部楼层 |阅读模式
思科知识点汇总贴
http://bbs.hh010.com/thread-529979-1-1.html
(出处: 鸿鹄论坛)


MPLS概述
1.MPLS产生背景
MPLS(Multiprotocol Label Switching,多协议标签交换)起源于IPv4,最初是为了提高转发速度而提出的,其核心技术可扩展到多种网络协议,包括IPv6、IPX(Internet Packet Exchange,网际报文交换)和CLNP(Connectionless Network Protocol,无连接网络协议)等。MPLS中的“M”指的就是支持多种网络层协议。它吸收了ATM的VPI/VCI交换思想,无缝地集成了IP路由技术的灵活性和二层交换的简捷性。IGP、BGP等路由协议负责收集路由信息,MPLS利用路由信息建立虚连接——基于标签的转发路径,在面向无连接的IP网络中增加了面向连接的属性,从而为IP网络提供一定的QoS保证,满足不同类型服务对QoS的要求。
2.MPLS的技术优势
利用短而定长的标签来封装网络层分组。MPLS网络中的路由器不再根据目的IP地址遵循查找路由(最长匹配),而是根据标签转发分组(精确匹配),加快了转发速度。早期的硬件技术只能实现精确匹配。
分组转发路径上的各个节点通过分配标签,建立分组转发的虚拟通道,从而为网络层提供面向连接的服务。
支持各种链路层协议和网络层协议。MPLS位于链路层和网络层之间,它可以建立在各种链路层协议(如PPP、ATM、帧中继、以太网等)之上,为各种网络层(IPv4、IPv6、IPX等)提供面向连接的服务。
不仅支持各种路由协议,还支持基于策略的约束路由,可以满足各种新应用对网络的要求。
应用广泛。MPLS最初是为提高路由器的转发速度而提出的一个协议,但是它的用途不仅仅局限于此,MPLS还可以用来构建VPN网络、实现流量工程、提供QoS保证等,受到大规模IP网络的青睐。
3.MPLS与路由协议
LDP通过逐跳方式建立LSP时,利用沿途各LSR路由转发表中的信息来确定下一跳,而路由转发表中的信息一般是通过IGP、BGP等路由协议收集的。LDP并不直接和各种路由协议关联,只是间接使用路由信息。另一方面,通过对BGP、RSVP等已有协议进行扩展,也可以支持标签的分发。
在MPLS的应用中,也可能需要对某些路由协议进行扩展。例如,基于MPLS的VPN应用需要对BGP进行扩展,使BGP能够传播VPN(Virtual Private Network,虚拟专用网)的路由信息;基于MPLS的TE(Traffic Engineering,流量工程)需要对OSPF或IS-IS协议进行扩展,以携带链路状态信息。
4.MPLS MTU
MPLS标签栈像“垫层”一样,位于二层数据帧头和三层IP头部之间。在MPLS转发过程中,虽然网络层报文长度小于接口的MTU,但是增加MPLS标签后,报文长度可能超过链路层允许发送的范围,从而导致报文无法正常转发。为此,设备上定义了MPLS MTU,MPLS转发时将增加标签后的报文长度与MPLS MTU比较。报文长度大于MPLS MTU时,如果允许分片,则将报文分片后再进行转发;如果不允许分片,则直接丢弃。这个MPLS MTU只对MPLS分组生效。
5.MPLS基本概念
转发等价类
MPLS作为一种分类转发技术,将具有相同转发处理方式的分组归为一类,称为FEC(Forwarding Equivalence Class,转发等价类)。相同FEC的分组在MPLS网络中将获得完全相同的处理。
FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型、服务等级或VPN等为划分依据的任意组合。例如,在传统的采用最长匹配算法的纯IP网络中,到同一个目的网络的所有报文就是一个FEC。
标签
a)标签的格式
标签是一个长度固定,仅具有本地意义的短标识符,用于唯一标识一个分组所属的FEC。一个标签只能代表一个FEC。
标签长度为4个字节,其结构如下图所示。标签共有4个域:

                               
登录/注册后可看大图

- Label:20bits,标签值字段。是标签转发表的关键索引,用来标识一个FEC。
- Exp:3bits,保留,协议中没有明确规定,通常用作CoS。
- S:1bit,栈底指示符。MPLS支持多重标签。值为1时表示为最底层标签。
- TTL:8bits,和IP分组中的TTL意义相同,可以用来限制环路。这个值从IP报文头TTL域拷贝过来,没进行一次Lable交换时,外层Lable的TTL值就会减去“1”。
b)标签的位置
如果链路层协议具有标签域,如ATM的VPI/VCI,则标签封装在这些域中;否则,标签封装在链路层头部和网络层头部之间的一个垫层中。这样,任意链路层都能够支持标签。标签在分组中的封装位置如下图所示:
1.jpg
标签交换路由器
LSR(Label Switching Router,标签交换路由器)是MPLS网络中的基本元素,所有LSR都必须支持MPLS技术。LSR构成的网络称为MPLS域。
标签边缘路由器(LER)
位于MPLS域边缘、连接其他网络的LSR称为LER(Label Edge Router,边缘LSR)。
标签交换路径
一个转发等价类在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。LSP在功能上与ATM和帧中继(Frame Relay)的虚电路相同,是从MPLS网络的入口到出口的一个单向路径。LSP中的每个节点由LSR组成。
标签分发协议
LDP(Label Distribution Protocol,标签分发协议)是MPLS的控制协议,它相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等一系列操作。
MPLS可以使用多种标签分发协议,包括专为标签发布而制定的协议,例如:LDP、TDP、CR-LDP(Constraint-Based Routing using LDP,基于约束路由的LDP);也包括现有协议扩展后支持标签发布的,例如:BGP(Border Gateway Protocol,边界网关协议)、RSVP(Resource Reservation Protocol,资源预留协议)。同时,还可以手工配置静态LSP。
LSP的嵌套
2.jpg
MPLS通过在分组中插入多层标签(即标签栈,Label Stack)实现LSP的嵌套。标签栈按照“后进先出(Last-In-First-Out)”方式组织标签,MPLS从栈顶开始处理标签。每一条LSP隧道的入口和出口处,分别进行标签的压入(PUSH)和弹出(POP)操作。如图,R1为分组压入第一层标签,R2为分组压入第二层标签;R3弹出分组中的第二层标签,R4弹出分组的第一层标签;在LSP 2上根据第二层标签转发分组,在LSP 1上根据第一层标签转发分组。
如果隧道经由的路由与逐跳从路由协议中取得的路由一致,这种隧道就称为逐跳路由隧道(Hop-by-Hop Routed Tunnel);否则称为显式路由隧道(Explicitly Routed Tunnel)。
MPLS对标签栈的深度没有限制。若一个分组的标签栈深度为m,则位于栈底的标签为第1层标签,位于栈顶的标签为第m层标签。若一个分组的标签栈深度为零,则表示该分组未压入标签。


发表于 2019-7-3 18:17:16 | 显示全部楼层
感謝樓主分享
5# 2019-7-3 18:17:16 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2019-7-3 18:17:51 | 显示全部楼层
感謝樓主分享
6# 2019-7-3 18:17:51 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 10:42 , Processed in 0.073091 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表