MPLS基本技术介绍
原文转自自H3C公司:http://www.h3c.com.cn/Products___Technology/Technology/MPLS/Other_technology/Technology_recommend/200805/606207_30003_0.htm
再次学习了下MPLS基础知识,mark一下~~!!!
目 录
MPLS Basics
MPLS简介
MPLS基本概念
MPLS体系结构
MPLS与路由协议
MPLS的应用
MPLS基本配置简介
标签的发布和管理
倒数第二跳弹出
MPLS MTU
MPLS对TTL的处理
检测MPLS LSP
LDP协议简介
LDP基本概念
LDP标签分发
LDP基本操作
LDP环路检测
LDP 标签过滤
LDP GR
MPLS Basics
MPLS简介
MPLS技术集二层的快速交换和三层的路由转发于一体,可以满足各种新应用对网络的要求。
MPLS结构的详细介绍可参考RFC 3031(Multiprotocol Label Switching Architecture)。
MPLS基本概念
1. 转发等价类
FEC的划分方式非常灵活,可以是以源地址、目的地址、源端口、目的端口、协议类型或VPN等为划分依据的任意组合。例如,在传统的采用最长匹配算法的IP转发中,到同一个目的地址的所有报文就是一个FEC。
2. 标签
标签是一个长度固定,仅具有本地意义的短标识符,用于唯一标识一个分组所属的FEC。一个标签只能代表一个FEC。
l Label:标签值字段,长度为20bits,用来标识一个FEC。
l Exp:3bits,保留,协议中没有明确规定,通常用作CoS。
l S:1bit,MPLS支持多重标签。值为1时表示为最底层标签。
l TTL:8bits,和IP分组中的TTL意义相同,可以用来防止环路。
如图 2所示,如果链路层协议具有标签域,如ATM的VPI/VCI,则标签封装在这些域中;否则,标签封装在链路层头和网络层数据之间的一个垫层中。这样,任意链路层都能够支持标签。
3. 标签交换路由器
LSR(Label Switching Router,标签交换路由器)是MPLS网络中的基本元素,所有LSR都支持MPLS技术。
4. 标签交换路径
一个转发等价类在MPLS网络中经过的路径称为LSP(Label Switched Path,标签交换路径)。在一条LSP上,沿数据传送的方向,相邻的LSR分别称为上游LSR和下游LSR。如图 3中,R2为R1的下游LSR,相应的,R1为R2的上游LSR。
LSP在功能上与ATM和帧中继(Frame Relay)的虚电路相同,是从MPLS网络的入口到出口的一个单向路径。LSP中的每个节点由LSR组成。
5. 标签分发协议
LDP(Label Distribution Protocol,标签分发协议)是MPLS的控制协议,它相当于传统网络中的信令协议,负责FEC的分类、标签的分配以及LSP的建立和维护等一系列操作。
6. LSP隧道技术
7. 多层标签栈
如果分组在超过一层的LSP隧道中传送,就会有多层标签,形成标签栈(Label Stack)。在每一隧道的入口和出口处,进行标签的入栈(PUSH)和出栈(POP)操作。
标签栈按照“后进先出”(Last-In-First-Out)方式组织标签,MPLS从栈顶开始处理标签。
MPLS对标签栈的深度没有限制。若一个分组的标签栈深度为m,则位于栈底的标签为1级标签,位于栈顶的标签为m级标签。未压入标签的分组可看作标签栈为空(即标签栈深度为零)的分组。
MPLS体系结构
1. MPLS网络结构
如图 4所示,MPLS网络的基本构成单元是LSR,由LSR构成的网络称为MPLS域。
位于MPLS域边缘、连接其它用户网络的LSR称为LER(Label Edge Router,边缘LSR),区域内部的LSR称为核心LSR。核心LSR可以是支持MPLS的路由器,也可以是由ATM交换机等升级而成的ATM-LSR。域内部的LSR之间使用MPLS通信,MPLS域的边缘由LER与传统IP技术进行适配。
分组在入口LER被压入标签后,沿着由一系列LSR构成的LSP传送,其中,入口LER被称为Ingress,出口LER被称为Egress,中间的节点则称为Transit。
(1) 首先,LDP和传统路由协议(如OSPF、ISIS等)一起,在各个LSR中为有业务需求的FEC建立路由表和LIB(Label Information Base,标签信息表);
(2) 入口LER接收分组,完成第三层功能,判定分组所属的FEC,并给分组加上标签,形成MPLS标签分组;
(3) 接下来,在LSR构成的网络中,LSR根据分组上的标签以及LFIB(Label Forwarding Information Base,标签转发表)进行转发,不对标签分组进行任何第三层处理;
(4) 最后,在MPLS出口LER去掉分组中的标签,继续进行后面的IP转发。
2. MPLS节点结构
l 控制平面(Control Plane):负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作;
l 转发平面(Forwarding Plane):依据标签转发表对收到的分组进行转发。
MPLS与路由协议
MPLS的应用
最初,MPLS技术结合了二层交换技术和三层路由技术,提高了路由查找速度。但是,随着ASIC(Application-Specific Integrated Circuit,专用集成电路)技术的发展,路由查找速度已经不成为阻碍网络发展的瓶颈。这使得MPLS在提高转发速度方面不具备明显的优势。
但由于MPLS结合了IP网络强大的三层路由功能和传统二层网络高效的转发机制,在转发平面采用面向连接方式,与现有二层网络转发方式非常相似,这些特点使得MPLS能够很容易地实现IP与ATM、帧中继等二层网络的无缝融合,并为QoS(Quality of Service,服务质量)、TE、VPN等应用提供更好的解决方案。
1. 基于MPLS的VPN
传统的VPN一般是通过GRE、L2TP、PPTP等隧道协议来实现私有网络间数据流在公网上的传送,LSP本身就是公网上的隧道,因此,用MPLS来实现VPN有天然的优势。
基于MPLS的VPN就是通过LSP将私有网络的不同分支连接起来,形成一个统一的网络。基于MPLS的VPN还支持对不同VPN间的互通控制。
图 6是基于MPLS的VPN的基本结构:CE(Customer Edge,用户边缘设备)可以是路由器,也可以是交换机或主机;PE(Provider Edge,服务商边缘路由器)位于骨干网络。
PE负责对VPN用户进行管理、建立各PE间LSP连接、同一VPN用户各分支间路由分派。PE间的路由分派通常是用LDP或扩展的BGP协议实现。
基于MPLS的VPN支持不同分支间IP地址复用,并支持不同VPN间互通。与传统的路由相比,VPN路由中需要增加分支和VPN的标识信息,这就需要对BGP协议进行扩展,以携带VPN路由信息。
2. 基于MPLS的流量工程
基于MPLS的TE和差分服务Diff-serv特性,在保证网络高利用率的同时,可以根据不同数据流的优先级实现差别服务,从而为语音、视频等数据流提供有带宽保证的低延时、低丢包率的服务。
由于全网实施流量工程的难度比较大,因此,在实际的组网方案中往往通过差分服务模型来实施QoS。
Diff-Serv的这种对服务质量的分类和MPLS的标签分配机制十分相似,事实上,基于MPLS的Diff-Serv就是通过将DS的分配与MPLS的标签分配过程结合来实现的。
MPLS基本配置简介
标签的发布和管理
在MPLS体系中,由下游LSR决定将标签分配给特定FEC,再通知上游LSR。即,标签由下游指定,标签的分配按从下游到上游的方向。
1. 标签发布方式(Label Advertisement Mode)
标签发布方式分为两种:
l 下游按需方式DoD(Downstream On Demand):对于一个特定的FEC,LSR从上游获得标签请求消息之后才进行标签分配与分发;
l 下游自主方式DU(Downstream Unsolicited):对于一个特定的FEC,LSR无须从上游获得标签请求消息即进行标签分配与分发。
具有标签分发邻接关系的上游LSR和下游LSR之间必须使用相同的标签发布方式,否则LSP无法正常建立。
2. 标签分配控制方式(Label Distribution Control Mode)
标签分配控制方式分为两种:
l 独立标签分配控制(Independent):LSR可以在任意时间向与它连接的LSR通告标签映射。这种方式可能导致在收到下游标签之前就向上游发布了标签。
l 有序标签控制方式(Ordered):对于LSR上某个FEC的标签映射,只有当该LSR已经具有此FEC下一跳的标签映射消息或者该LSR就是此FEC的出口节点时,该LSR才可以向上游发送此FEC的标签映射。
3. 标签保持方式(Label Retention Mode)
标签保持方式是指LSR对收到的、但目前暂时用不到的标签—FEC绑定的处理方式。
标签保持方式也分为两种:
l 自由标签保持方式(Liberal):对于从邻居LSR收到的标签映射,无论邻居LSR是不是自己的下一跳都保留。
l 保守标签保持方式(Conservative):对于从邻居LSR收到的标签映射,只有当邻居LSR是自己的下一跳时才保留。
使用自由标签保持方式,LSR能够迅速适应路由变化;而使用保守标签保持方式,LSR可以分配和保存较少的标签数量。
保守标签保持方式通常与DoD方式一起,用于对于标签空间有限的LSR。
4. 标签交换中的几个基本概念
l NHLFE(Next Hop Label Forwarding Entry):下一跳标签转发项。用于描述对标签执行的操作,包括入栈(Push)操作和交换(Swap)操作。
l FTN(FEC to NHLFE map):在Ingress节点将转发等价类FEC映射到NHLFE的过程。
l ILM(Incoming Label Map):入标签映射。对于接收的标签分组,LSR将标签映射到NHLFE的过程,包括空(Null)操作、出栈(Pop)操作。
5. 标签交换的过程
(1) LSP沿途的所有LSR都先建立ILM,入标签是根据ILM表项进行映射的;
(2) 对于接收到的标签分组,LSR将标签映射到NHLFE;
(3) LSR只需根据标签从标签信息表中找到相应的NHLFE,用新的标签替换原来的标签,然后对标签分组继续转发。
倒数第二跳弹出
在介绍MPLS的基本工作过程时提到:在MPLS网络中,核心LSR根据分组上的标签进行转发;在Egress节点(出口LER)去掉分组中的标签,继续进行IP转发。
实际上,在比较简单的MPLS应用中,Egress节点只需要进行IP转发,标签已经没有使用价值。这种情况下,为了减轻Egress节点的负担,提高MPLS网络对报文的处理能力,可以利用PHP(Penultimate Hop Popping,倒数第二跳弹出)特性,在倒数第二个节点处将标签弹出,Egress节点就不再进行标签操作了。
MPLS MTU
MPLS对TTL的处理
MPLS的TTL处理包括IP TTL复制和ICMP响应报文返回路径这两个方面。
1. IP TTL复制
MPLS标签中包含一个8位的TTL域,其含义与IP头中的TTL域相同。
TTL除了用于防止产生路由环路外,也用于实现tracert功能:
l 如果在Ingress节点使能IP TTL复制功能,报文在LSP中经过的每一跳都体现为IP TTL逐跳递减,tracert的结果将反映报文实际经过的路径;
在MPLS VPN应用中,出于网络安全的考虑,需要隐藏MPLS骨干网络的结构,这种情况下,对于私网报文,Ingress节点上不能使用TTL的复制功能。
2. ICMP响应报文
对于仅有一层标签的MPLS报文,当TTL超时时,直接使用IP路由返回ICMP响应报文。
检测MPLS LSP
在MPLS中,如果LSP转发数据失败,负责建立LSP的MPLS控制平面将无法检测到这种错误,这会给网络维护带来困难。
l MPLS LSP Traceroute是对LSP的错误进行定位的工具。采取方法是Echo Request数据包被发送到每一个中间LSR的控制平面,以确定本LSR是否是此路径的中间节点。
LDP协议简介
LDP基本概念
1. LDP对等体
LDP对等体是指相互之间存在LDP会话、使用LDP来交换标签/FEC映射关系的两个LSR。LDP对等体通过它们之间的LDP会话获得对方的标签映射消息。
2. LDP会话
LDP会话用于在LSR之间交换标签映射、释放等消息。LDP会话可以分为两种类型:
l 本地LDP会话(Local LDP Session):建立会话的两个LSR之间是直连的;
l 远端LDP会话(Remote LDP Session):建立会话的两个LSR之间是非直连的。
3. LDP消息类型
l 发现(Discovery)消息:用于通告和维护网络中LSR的存在;
l 会话(Session)消息:用于建立、维护和终止LDP对等体之间的会话;
l 通告(Advertisement)消息:用于创建、改变和删除标签—FEC绑定;
l 通知(Notification)消息:用于提供建议性的消息和差错通知。
为保证LDP消息的可靠发送,除了发现阶段使用UDP传输外,LDP的Session消息、Advertisement消息和Notification消息都使用TCP传输。
4. 标签空间与LDP标识符
LDP标识符(LDP Identifier)用于标识特定LSR的标签空间,是一个六字节的数值,格式如下:
其中,LSR ID占四字节,标签空间序号占两字节。标签空间序号取值为1时表示每个接口指定一个标签空间;取值为0时表示整个LSR使用一个标签空间。
LDP标签分发
例如,图 7中的LSP1上,LSR B为LSR C的上游LSR。
本章前面提到,标签的分发过程有两种模式,主要区别在于标签映射的发布是上游请求(DoD)还是下游主动发布(DU)。
2. DoD(downstream-on-demand)模式
下游LSR何时反馈标签映射消息,取决于该LSR采用的标签分配控制方式。
l 采用Ordered方式时,只有收到它的下游返回的标签映射消息后,才向其上游发送标签映射消息;
l 采用Independent方式时,不管有没有收到它的下游返回的标签映射消息,都立即向其上游发送标签映射消息。
上游LSR一般是根据其路由表中的信息来选择下游LSR。在图 7中,LSP1沿途的LSR都采用Ordered方式,LSP2上的LSR F则采用Independent方式。
3. DU(downstream unsolicited)模式
下游LSR在LDP会话建立成功后,主动向其上游LSR发布标签映射消息。上游LSR保存标签映射信息,并根据路由表信息来处理收到的标签映射信息。
LDP基本操作
1. 发现阶段
在这一阶段,希望建立会话的LSR向相邻LSR周期性地发送Hello消息,通知相邻节点自己的存在。通过这一过程,LSR可以自动发现它的LDP对等体,而无需进行手工配置。
基本发现机制用于发现本地的LDP对等体,即通过链路层直接相连的LSR,建立本地LDP会话。
这种方式下,LSR周期性以UDP报文形式从接口发送LDP链路Hello消息(LDP Link Hello),发往标识“子网内所有路由器”的组播地址。
LDP链路Hello消息带有接口的LDP标识符及其他相关信息,如果LSR在某个接口收到了LDP链路Hello消息,则表明在该接口(链路层)存在LDP对等体。
扩展发现机制用于发现远端的LDP对等体,即不通过链路层直接相连的LSR,建立远端LDP会话。
这种方式下,LSR周期性以UDP报文形式向指定的IP地址发送LDP目标Hello消息(LDP Targeted Hello)。
LDP目标Hello消息带有LSR的LDP标识符及其他相关信息,如果LSR收到LDP目标Hello消息,则表明在网络层存在LDP对等体。
2. 会话建立与维护
(2) 随后对LSR之间的会话进行初始化,协商会话中涉及的各种参数,如LDP版本、标签分发方式、定时器值、标签空间等。
会话建立后,通过不断地发送Hello消息和Keepalive消息来维护这个会话。
3. LSP建立与维护
LSP的建立过程实际就是将FEC和标签进行绑定,并将这种绑定通告LSP上相邻LSR。这个过程是通过LDP实现的,以DU模式、有序标签控制方式为例,主要步骤如下:
(1) 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的目的地址,并且这一地址不属于任何现有的FEC,则该边缘节点需要为这一目的地址建立一个新的FEC。
(2) 如果此边缘节点存在上游LSR,并且尚有可供分配的标签,则该节点为FEC分配标签,并向上游发出标签映射消息,其中包含分配的标签等信息。
(3) 收到标签映射消息的LSR记录相应的标签映射信息,若消息由对应FEC的下一跳发送,则将在其标签转发表中增加相应的条目。此LSR为它的上游LSR分配标签,并继续向上游LSR发送标签映射消息。
(4) 当入口LSR收到标签映射消息时,在标签转发表中增加相应的条目。这时,就完成了LSP的建立,接下来就可以对该FEC对应的数据分组进行标签转发了。
4. 会话撤销
LDP通过检测Hello消息来判断邻接关系;通过检测Keepalive消息来判断会话的完整性。
l Hello保持定时器:LDP对等体之间,通过周期性发送Hello消息表明自己希望继续维持这种邻接关系。如果Hello保持定时器超时仍没有收到新的Hello消息,则删除Hello邻接关系。
l Keepalive定时器:LDP对等体之间通过LDP会话连接上传送的Keepalive消息来维持LDP会话。如果会话保持定时器超时仍没有收到任何Keepalive消息,则关闭连接,结束LDP会话。
LDP环路检测
在MPLS域中建立LSP也要防止产生环路,LDP环路检测机制可以检测LSP环路的出现,并避免发生环路。
如果对MPLS域进行环路检测,则必须在所有LSR上都配置环路检测。但在建立LDP会话时,并不要求双方的环路检测配置一致。
1. 最大跳数
在传递标签绑定(或者标签请求)的消息中包含跳数信息,每经过一跳该值就加一。当该值达到规定的最大值时即认为出现环路,LSP建立失败。
2. 路径向量
在传递标签绑定(或者标签请求)的消息中记录路径信息,每经过一跳,相应的设备就检查自己的LSR ID是否在此记录中。在以下条件之一时认为出现环路,LSP建立失败:
LDP 标签过滤
LDP协议在缺省的情况下,从下游邻居接收到的所有FEC的标签映射(标签-FEC绑定)都将接受;并按照水平分割的原则向各个上游邻居通告FEC的标签映射。
LDP标签过滤提供了两种机制,可以有选择的接受从指定LDP下游邻居接收到的标签映射、也可以选择性地向指定LDP上游邻居通告指定地址前缀的标签映射。
1. 标签接受控制
标签接受控制(Label Acceptance Control)或入站标签过滤(Inbound Filtering),选择性地接受指定下游设备通告过来的、指定地址前缀的标签映射。
2. 标签通告控制
标签通告控制(Label Advertisement Control)或出站标签过滤(Outbound Filtering),选择性地向指定上游设备通告指定地址前缀的标签映射。
LDP GR
MPLS基本技术介绍相关推荐
- 【建站系列教程】3、建站基本技术介绍
[建站系列教程]3.写网页基本技术介绍 摘要 html.css.js jQuery ui框架 bootstrap jQuery-ui vue的ui 后端 采用ajax 或者 php cookie也可以 ...
- 1.1、SR(Segment Routing Over MPLS) 介绍
目录 SR-MPLS 介绍 Segment Routing定义与背景 业内对Segment Routing技术的评价 Segment Routing目的 传统思路网络架构设计 新思路:业务定义网络架构 ...
- 【建站系列教程】2.3、分享一些小说的api接口
[建站系列教程]2.3.分享一些小说的api接口 一.追书神器api 二.资源二api 三.宜搜api 四.结语 写在前面:大家好,我是热爱编程的小泽. [建站系列教程]是我的亲身建站经历写给广大建站 ...
- ASCII,Unicode和UTF-8终于找到一个能完全搞清楚的文章了
前言 查看全文 http://www.taodudu.cc/news/show-166776.html 相关文章: [ES6]字符串的拓展 [ES6]正则表达式的拓展 [ES6]数值的拓展 [ES6] ...
- epoll实现高并发聊天室
http://blog.csdn.net/qq_31564375/article/details/51581038 项目介绍 本项目是实现一个简单的聊天室,聊天室分为服务端和客户端.本项目将很多复杂的 ...
- 某软件平台定制开发项目技术标书
LOGO GG市xxxxx管理局 XXXXXXXXXX平台建设项目 招标编号: XXXXXXXX-XXX 技 术 文 件 单位全称(公章):浙江某某有限公司 地 址: 邮 编:3100 ...
- C++实现即时通信软件
1.1 实验内容 本实验使用 C++ 实现一个具备服务器端和客户端的即时通信聊天室. 这个项目会学习C++网络开发的基本概念,同时可以熟悉Linux下的C++程序编译方法及简单的Makefile编写. ...
- MPLS TE技术介绍
MPLS TE技术介绍 本文转自:http://www.h3c.com/cn/d_200805/606208_30003_0.htm 如有侵权,请联系删除. 注:转载目的只是为了方便保存,为日后查找方 ...
- BGP MPLS中MCE技术介绍
技术产生背景 我们都知道BGP MPLS VPN应用较为广泛,不仅被应用于运营商网络,也被应用于企业网用户内部.而企业网的网络被分为核心层.汇聚层和接入层,也就是典型网络的层次结构.我们都知道典型网络 ...
最新文章
- 计算机三级考试网络技术怎么复习,2017计算机三级考试的三大复习阶段(网络技术为例)...
- 延迟加载图片并监听图片加载完成
- 并发编程-14线程安全策略之并发容器(J.U.C)中的集合类
- 信息系统项目管理师-信息文档与配置管理核心知识点思维脑图
- 乾颐堂安德网工认证1000问(持续更新)
- 淘宝架构师为你揭秘2017双十一分布式缓存服务Tair
- BZOJ3453 XLkxc(拉格朗日插值)
- MySQL基础——DML语言学习\插入数据\删除数据\更新数据
- 读懂 x86 架构 CPU 虚拟化,看这文就够了 | 赠书
- Windows 8 Directx 开发学习笔记(二)建立模型及初始化设备
- 免费2款标注工具实操(内含下载链接)
- [myeclipse] 官方中文网站
- OSPF定义的5种区域类型:标准区域、主干区域、存根区域、完全存根区域
- MacOS开发必备工具brew,安装nginx反向代理,替代linux工具 apt-get和 yum
- vue项目性能优化详解汇总
- 超级详细的pytest测试和allure测试报告
- crxmouse在其他页面失效
- hbuilder_工具的服务端口已关闭。要使用命令行调用工具,请在下方输入 y 以确认开启,或手动打开工具 -> 设置 -> 安全设置,将服务端口开启。
- 超详细的Latex快速基础入门 (第二节)【关于latex命令的一些知识】
- 实验:Android案例——小宝宝装备选择