《什么是MPLS?多协议标签交换》
简介 MPLS的起源
90年代中期,IP技术凭借技术简单和成本低廉实现快速发展,数据海量增长。但由于硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件查找路由,转发性能低下,因此IP技术的转发性能成为当时限制网络发展的瓶颈。
为了适应网络的发展,ATM( Mode)技术应运而生。ATM采用定长标签(即信元),并且只需要维护比路由表规模小得多的标签表,能够提供比IP路由方式高得多的转发性能。然而,ATM协议相对复杂,且ATM网络部署成本高,这使ATM技术很难普及。
如何结合IP与ATM的优点成为热门话题。多协议标签交换技术MPLS( Label )就是在这种背景下产生的。
MPLS最初是为了提高路由器的转发速度而提出的。与传统IP路由方式相比,它在数据转发时,只在网络边缘分析IP报文头,而不用在每一跳都分析IP报文头,节约了处理时间。
随着ASIC技术的发展,路由查找速度已经不是阻碍网络发展的瓶颈,这使得MPLS在提高转发速度方面不再具备明显的优势。但是MPLS支持多层标签和转发平面面向连接的特性,使其在VPN( )、流量工程、QoS( of )等方面得到广泛应用。
MPLS的定义
MPLS位于TCP/IP协议栈中的链路层和网络层之间,用于向IP层提供连接服务,同时又从链路层得到服务。MPLS以标签交换替代IP转发,标签是一个短而定长的、只具有本地意义的连接标识符,与ATM的VPI/VCI以及Frame Relay的DLCI类似。
MPLS不局限于任何特定的链路层协议,能够使用任意二层介质传输网络分组。MPLS起源于IPv4( 4),其核心技术可扩展到多种网络协议,包括IPv6( 6)、IPX( )、、、CLNP( )等。MPLS中的“”指的就是支持多种网络协议。
由此可见,MPLS并不是一种业务或者应用,它实际上是一种隧道技术,在一定程度上可以保证信息传输的安全性。
MPLS的工作原理
MPLS个工作原理主要包含两部分内容:
MPLS的体系结构
MPLS的体系结构由控制平面( Plane)和转发平面( Plane)组成:
MPLS的体系结构如图1-1所示。
图1-1MPLS体系结构示意图使用
MPLS转发平面建立以后,设备中已经生成了IP转发表和标签转发表,就可以对于接收到的数据包进行转发,其过程如图1-2所示。
图1-2MPLS转发数据包过程示意图
MPLS的网络结构
MPLS网络的典型结构如图1-3所示:
图1-3MPLS网络结构示意图
MPLS网络的基本组成单元是标签交换路由器LSR(Label ):
MPLS的实现原理
MPLS的实现原理是指:为FEC(转发等价类, Class)分配标签来建立LSP(标签交换路径,Label Path)。
MPLS LSP
IP包在MPLS网络中经过的路径称为MPLS的LSP,即标签交换的路径,如图1-4所示。
图1-4MPLS LSP
MPLS LSP是一个单向路径,与数据流的方向一致。
其中和既是LSR,又是LER;是LSR。
根据数据传送的方向,LSR可以分为上游和下游。
MPLS标签
标签是一个短而定长的、只具有本地意义的标识符,用于唯一标识一个分组所属的FEC。在某些情况下,例如要进行负载分担,对应一个FEC可能会有多个入标签,但是一台LSR上,一个标签只能代表一个FEC。
标签长度为4个字节,封装结构如图1-5所示。
图1-5MPLS报文首部结构
标签共有4个域:
标签封装在链路层和网络层之间。这样,标签能够被任意的链路层所支持。标签在分组中的封装位置如图1-6所示。
图1-6标签在分组中的封装位置
标签栈(Label stack)也称为多层标签,是指标签的排序集合,如图1-7所示。靠近二层首部的标签称为栈顶标签或外层标签;靠近IP首部的标签称为栈底标签,或内层标签。理论上,MPLS标签可以无限嵌套。
图1-7标签栈
标签栈按后进先出(Last In First Out)方式组织标签,从栈顶开始处理标签。
标签的操作类型包括标签压入(Push)、标签交换(Swap)和标签弹出(Pop),它们是标签转发的基本动作,是标签转发信息表的组成部分。
在最后一跳节点,标签已经没有使用价值。这种情况下,可以利用倒数第二跳弹出特性PHP( Hop ),在倒数第二跳节点处将标签弹出,减少最后一跳的负担。最后一跳节点直接进行IP转发或者下一层标签转发。PHP在节点上配置,通过分配特殊的标签值3来实现。标签值3表示隐式空标签(-null),这个值不会出现在标签栈中。当一个LSR发现自己被分配了隐式空标签时,它并不用这个值替代栈顶原来的标签,而是直接执行Pop操作。节点直接进行IP转发或下一层标签转发。
分配标签来建立LSP
MPLS需要为报文事先分配好标签,建立一条MPLS LSP,才能进行报文转发。标签由下游分配,按从下游到上游的方向分发。
如图1-8所示,由下游LSR在IP路由表的基础上进行FEC的划分,并将标签分配给特定FEC,再通过标签发布协议通知上游LSR,以便建立标签转发表和LSP。
图1-8MPLS LSP的建立
LSP分为静态LSP和动态LSP两种:静态LSP由手工配置,动态LSP则利用路由协议和标签发布协议动态建立。
MPLS可以使用多种标签发布协议,例如LDP(Label )、RSVP-TE( )和MP-BGP( )。
LDP是专为标签发布而制定的协议,也是其中使用较广的一种。LDP规定了标签分发过程中的各种消息以及相关的处理过程。LSR之间将依据转发表中对应于一个特定FEC的入标签、下一跳节点、出标签等信息联系在一起,从而形成标签交换路径LSP。
静态LSP的配置方法
组网图如所示,3个节点运行OSPF作为IGP,在节点上通过配置静态LSP来实现LSRA到LSRC之间的MPLS隧道承载。
图1-9静态LSP配置示例组网图
本例中,分别代表GE 1/0/0,GE 2/0/0。
配置文件示例如所示:
表1-1静态LSP配置文件示例
LSRA
LSRB
LSRC
# sysname LSRA # mpls lsr-id 192.168.1.9 # mpls # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.1.1 255.255.255.0 mpls # interface LoopBack1 ip address 192.168.1.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 192.168.1.9 0.0.0.0 # static-lsp ingress AtoC destination 192.168.3.9 32 nexthop 10.1.1.2 out-label 20 # return
# sysname LSRB # mpls lsr-id 192.168.2.9 # mpls # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.1.2 255.255.255.0 mpls # interface GigabitEthernet2/0/0 undo shutdown ip address 10.2.1.1 255.255.255.0 mpls # interface LoopBack1 ip address 192.168.2.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 10.2.1.0 0.0.0.255 network 192.168.2.9 0.0.0.0 # static-lsp transit AtoC in-label 20 outgoing-interface GigabitEthernet2/0/0 nexthop 10.2.1.2 out-label 40 # return
# sysname LSRC # mpls lsr-id 192.168.3.9 # mpls # interface GigabitEthernet1/0/0 undo shutdown ip address 10.2.1.2 255.255.255.0 mpls # interface LoopBack1 ip address 192.168.3.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.2.1.0 0.0.0.255 network 192.168.3.9 0.0.0.0 # static-lsp egress AtoC incoming-interface GigabitEthernet1/0/0 in-label 40 # return
检查配置结果:在设备上查看静态LSP的状态,以LSRA为列,Lsp 为Up。
display mpls static-lsp verbose
No : 1
LSP-Name : AtoC
LSR-Type : Ingress
FEC : 192.168.3.9/32
In-Label : NULL
Out-Label : 20
In-Interface : -
Out-Interface : GigabitEthernet1/0/0
NextHop : 10.1.1.2
Static-Lsp Type : Normal
Lsp Status : Up
动态LSP(LDP)的配置方法
组网图如所示,3个节点运行OSPF作为IGP,在节点上通过配置动态LSP来实现LSRA到LSRC之间的MPLS隧道承载。
图1-10动态LSP配置示例组网图
本例中,分别代表GE 1/0/0,GE 2/0/0。
配置文件示例如所示:
表1-2动态LSP配置文件示例
LSRA
LSRB
LSRC
# sysname LSRA # mpls lsr-id 192.168.1.9 # mpls # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.1.1 255.255.255.0 mpls mpls ldp # interface LoopBack1 ip address 192.168.1.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 192.168.1.9 0.0.0.0 # return
# sysname LSRB # mpls lsr-id 192.168.2.9 # mpls # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 10.1.1.2 255.255.255.0 mpls mpls ldp # interface GigabitEthernet2/0/0 undo shutdown ip address 10.2.1.1 255.255.255.0 mpls mpls ldp # interface LoopBack1 ip address 192.168.2.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 10.2.1.0 0.0.0.255 network 192.168.2.9 0.0.0.0 # return
# sysname LSRC # mpls lsr-id 192.168.3.9 # mpls # mpls ldp # interface GigabitEthernet1/0/0 undo shutdown ip address 10.2.1.2 255.255.255.0 mpls mpls ldp # interface LoopBack1 ip address 192.168.3.9 255.255.255.255 # ospf 1 area 0.0.0.0 network 10.2.1.0 0.0.0.255 network 192.168.3.9 0.0.0.0 # return
检查配置结果:在设备上查看LDP的会话状态,以LSRA为列,为。
display mpls ldp session
LDP Session(s) in Public Network
Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDD:HH:MM)
An asterisk (*) before a session means the session is being deleted.
---------------------------------------------------------------------------------
PeerID Status LAM SsnRole SsnAge KASent/Rcv
---------------------------------------------------------------------------------
192.168.2.9:0 Operational DU Passive 0000:00:22 91/91
---------------------------------------------------------------------------------
TOTAL: 1 Session(s) Found.
相关信息
如果您需要了解MPLS的更多信息及配置方法,可参考产品文档《NE40E 产品文档》。
发表回复