MPLS技术研究及应用
扫描二维码
随时随地手机看文章
本文对MPLS技术进行了全面介绍,指出MPLS技术将发展成为运营商全国骨干网及各城域网的核心技术,同时简要介绍了MPLS技术在中国铁通IP骨干网络中的应用。
MPLS VPN TE
MPLS(多协议标签交换)是一种可提供高性价比和多业务能力的交换技术, 它解决了传统IP分组交换的局限性,在业界受到了广泛的重视,并在中国网通、中国铁通全国骨干网等网络建设中得到了实践部署。采用MPLS技术可以提供灵活的流量工程、虚拟专网等业务,同时,MPLS也是能够完成涉及多层网络集成控制与管理的技术。
1.MPLS概述
1.1、MPLS的基本原理
MPLS是一种第三层路由结合第二层属性的交换技术,引入了基于标签的机制,它把路由选择和数据转发分开,由标签来规定一个分组通过网络的路径。MPLS网络由核心部分的标签交换路由器(LSR)、边缘部分的标签边缘路由器(LER)组成。LSR的作用可以看作是ATM交换机与传统路由器的结合,由控制单元和交换单元组成;LER的作用是分析IP包头,用于决定相应的传送级别和标签交换路径(LSP)。标签交换的工作过程可概括为以下3个步骤:
(1)由LDP(标签分布协议)和传统路由协议(OSPF、IS-IS等)一起,在LSR中建立路由表和标签映射表;
(2)LER接收IP包,完成第三层功能,并给IP包加上标签;在MPLS出口的LER上,将分组中的标签去掉后继续进行转发;
(3)LSR对分组不再进行任何第三层处理,只是依据分组上的标签通过交换单元对其进行转发。
整个操作过程如图1:
#FormatImgID_0# |
图1
IETF标准文档中定义的MPLS包头是插入在传统的第二层数据链路层包头和第三层IP包头之间的一个32位的字段,如图2所示:
#FormatImgID_1# |
图2
Label字段:20位,标签字段。
EXP:3位,实验字段。
S字段:1位,堆栈(Stack)字段。
TTL字段:8位,生存时间字段。
1.2、MPLS信令方式
目前MPLS实现信令的方式可分为两类,一类是LDP/CR-LDP(Label Dispatch Protocol, Constrain based Routing Label Dispatch Protocol),源于ATM网络的思想。CR-LDP和LDP是同一个协议,CR-LDP是LDP的扩展,它使用与LDP相同的消息和机制,如对等发现、会话建立和保持、标签发布和错误处理。另外一类是RSVP,它基于传统的IP路由协议。RSVP和LDP/CR-LDP是两种不同的协议,它们在协议特性上存在不同,有不同的消息集和信令处理规程。从协议可靠性上来看,LDP/CR-LDP是基于TCP的,当发生传输丢包时,利用TCP协议提供简单的错误指示,实现快速响应和恢复。而RSVP只是传送IP包。由于缺乏可靠的传输机制,RSVP无法保证快速的失败通知。从网络可扩展性上看,LDP较RSVP更有优势,一般电信级网络中尤其是ATM网络中,应采用MPLS/LDP。ITU-T倾向于在骨干网中采用CR-LDP。 目前所有支持MPLS功能的路由设置都同时支持CR-LDP和RSVP两种MPLS的信令协议。
1.3、MPLS的网络构成
MPLS网络由标签边缘路由器(LER)和标签交换路由器(LSR)组成。在LSR内,MPLS控制模块以IP功能为中心,转发模块基于标签交换算法,并通过标签分配协议(LDP)在节点间完成标签信息以及相关信令的发送。值得注意的是,LDP信令以及标签绑定信息只在MPLS相邻节点间传递。LSR之间或ISR与LER之间依然需要运行标准的路由协议,并由此获得拓扑信息。通过这些信息LSR可以明确选取报文的下一跳并可最终建立特定的标签交换路径(LSP)。MPLS使用控制驱动模型,即基于拓扑驱动方式对用于建立LSP的标签绑定信息的分配及转发进行初始化。LSP属于单向传输路径,因而全双工业务需要两条LSP,每条LSP负责一个方向上的业务。
1.4、MPLS的核心技术LDP
MPLS通过简单的核心机制来提供丰富的标签分配及相关处理功能。构成MPLS协议框架的主要元素有标签分配协议(LDP),标签映射表(LIB)和转发信息库(FIB),其中LIB和FIB分别为存储标签绑定信息和相应的标签转发信息的数据库。为了能够在MPLS域内明确定义、分配标签,同时使用网络内各元素充分理解其标签含义,LDP提供一套标准的信令机制用于有效地实现标签的分配与转发功能。LDP基于原有的网络层路由协议构建标签信息库,并根据网络拓扑结构,在MPLS域边缘节点(即入节点与出节点)之间建立LSP。LDP信令位于TCP/UDP之上,它通过TCP层保证信令消息可靠传输,同时基于UDP传送发现消息。LDP信令传输使用的TCP和UDP知名端口号均为646。相邻的LSR之间必须建立一条非MPLS连接链路作为信令通道,用于传送LDP信令报文。
1.5、MPLS的主要技术特点
(1)流量工程
传统IP网络一旦为一个IP包选择了一条路径,则不管这条链路是否拥塞,IP包都会沿着这条路径传送,这样就会造成整个网络在某处资源过度利用,而另外一些地方网络资源闲置不用,MPLS可以控制IP包在网络中所走过的路径,这样可以避免IP包在网络中的盲目行为,避免业务流向已经拥塞的节点,实现网络资源的合理利用。
(2)负载均衡
MPLS可以使用两条和多条LSP来承载同一个用户的IP业务流,合理地将用户业务流分摊在这些LSP之间。
(3)路径备份
可以配置两条LSP,一条处于激活状态,另外一条处于备份状态,一旦主LSP出现故障,业务立刻导向备份的LSP,直到主LSP从故障中恢复,业务再从备份的LSP切回到主LSP。
(4)故障恢复
当一条已经建立的LSP在某一点出现故障时,故障点的MPLS会向上游发送Notification消息,通知上游LER重新建立一条LSP来替代这条出现故障的LSP。上游LER就会重新发出Request消息建立另外一条LSP来保证用户业务的连续性。
(5)路径优先级及碰撞
在网络资源匮乏的时候,应保证优先级高的业务优先使用网络资源。MPLS通过设置LSP的建立优先级和保持优先级来实现的。每条LSP有n个建立优先级和m个保持优先级。优先级高的LSP先建立,并且如果某条LSP建立时,网络资源匮乏,而它的建立优先级又高于另外一条已经建立的LSP的保持优先级,那么它可以将已经建立的那条LSP断开,让出网络资源供它使用。
1.6、MPLS QoS
有两种方法用以MPLS流中指示服务类别。一种是IP Precedence,可以指出8种服务类别。它被拷贝到MPLS头中的CoS字段,典型应用是在核心路由器。在另一种方式中,MPLS可用不同组的标签指定服务类别,交换机可自动获知流量需要按优先级排队。目前,MPLS支持最多8种服务类别,编码与IP Precedence相同。这一数量不久将增加,原因是标签的数量多于IP前导的服务类别。采用标签分类后实际的服务类别数量是无限的。
2、基于MPLS的VPN技术
VPN被一致认可为网络运营商的核心应用。网络运营商经常面临的挑战是商业用户需要将他们建立的网络通过VPN扩展到分支机构或外部用户网。这些基于IP的主流应用要求网络的特殊处理,包括私密性,服务质量以及any-to-any的连通性。网络运营商的VPN业务必须具备高度的可扩展性,高性价比并可适应广泛的用户需求。
2.1 基本原理
目前基于MPLS的VPN方案中,以RFC 2547中规定的BGP/MPLS VPN得到了大多数厂家的支持,如Cisco,Juniper等。BGP/MPLS VPN概念中,把整个网络中的路由器分为三类:用户边缘路由器(CE)、运营商边缘路由器(PE)和运营商骨干路由器(P);其中,PE充当IP VPN接入路由器。由于BGP/MPLS VPN采用PE之间通过扩展后的BGP协议(MP-BGP)来承载VPN成员关系和VPN网络可达性,所以使MPLS VPN网络具有良好的扩展性、灵活性和可靠性。
MPLS VPN的工作过程如图3:
#FormatImgID_2# |
图3
(1) CE到PE间通过IGP路由或BGP将用户网络中的路由信息通知运营商路由器(PE),在PE上有对应于每个VPN的虚拟路由表(VRF),类似有一台独立的路由器与CE进行连接。
(2)PE之间采用MP-BGP传送VPN内的路由信息以及相应的标签(VPN的标签,以下简称为内层标签),而在PE与P路由器之间则采用传统的IGP协议相互学习路由信息,采用LDP协议进行路由信息与标签(用于MPLS标签转发,以下称为外层标签)的绑定。到此时,CE,PE以及P路由器中基本的网络拓扑以及路由信息已经形成。PE路由器拥有了骨干网络的路由信息以及每一个VPN的路由信息(VRF)。
(3)当属于某一VPN用户端路由器(CE)有数据进入时,在CE与PE连接的接口上可以识别出该CE属于哪一个VPN,进而到该VPN的VRF路由表中去读取下一跳的地址信息,同时,在前传的数据包中打上VPN标签(内层标签)。下一跳地址为与该PE作Peer的PE的地址,为了到达这个目的端的PE,在起始端PE中需读取MPLS骨干网络的路由信息,从而得到下一个P路由器的地址,同时采用LDP在用户前传数据包中打上用于MPLS标签交换的标签(外层标签)。
(4)在MPLS骨干网络中,初始PE之后的P均只读取外层标签的信息来决定下一跳,因此骨干网络中只是简单的标签交换。
(5)在达到目的端PE之前的最后一个P路由器时,将把外层标签去掉,读取内层标签,找到VPN,并送到相关的接口上,进而将数据传送到VPN的目的地址处
(6)P路由器是MPLS LSR。P路由器完全依据MPLS的标签来作出转发决定。由于P路由器完全不需要读取原始的数据包信息来作出转发决定,P路由器不需要拥有VPN的路由信息。