《数据链路层之MPLS协议.docx》由会员分享,可在线阅读,更多相关《数据链路层之MPLS协议.docx(11页珍藏版)》请在第一文库网上搜索。
1、为什么需要MP1S?在20世纪90年代中期,随着IP网络的快速发展,Internet数据量急剧增长。由于当时的硬件技术存在限制,基于最长匹配算法的IP技术必须使用软件方法查找路由,转发性能低下,所以IP的转发性能成为当时限制网络发展的瓶颈。在这种背景下,IETF提出了MP1S协议。MP1S最初的目的就是为了提升IP网络中路由设备的转发速率。XXXXXIP路由与MP1S转发方式对比与传统的IP路由方式相比,MP1S通过以下两种方式提升转发速率:将查找庞大的IP路由表转化为简洁的标签交换,显著减少指导报文转发的时间。当报文进入MP1S区域之后,只需在位于边缘的入、出节点解析IP报文头,封装或解封装
2、标签,而在中间的所有节点上都无需解析IP报文头,只进行标签交换,进一步节约了转发报文的处理时间。后来,随着ASIC(App1icationSpecificIntegratedCircuit,专用集成电路)技术的迅速发展JP路由表查找逐步改用硬件方法,处理速度大大提高,这使得MP1S在提高IP网络转发速率方面不再具备明显的优势。但是,MP1S的标签转发本质上是一种隧道技术,它还支持封装多层标签,并且MP1S天然兼容多种网络层和链路层协议,因此,MP1S非常适合在各种VPN业务中充当公网隧道。此外,由于MP1S的报文转发依靠一条固定的标签交换路径,所以MP1S是一种面向连接的转发技术,这使得MP1
3、S在流量工程(TrafficEngineering,TE)、QoS等领域也有着广泛的应用。MP1S有哪些特征?MP1S的基本概念有哪些?想了解MP1S是什么,首先要知道MP1S的基本概念,下面介绍几个核心概念。FECMP1S是一种分类转发技术,它将具有相同转发处理方式的数据分组归为一类,称为FEC(ForwardingEquiva1enceC1ass,转发等价类)。MP1S对相同FEC的数据分组采取完全相同的处理方式。FEC的划分方式非常灵活,可以是源地址、目的地址、源端口、目的端口、协议种类、业务类型等要素的任意组合。例如,在采用最长匹配算法的IP路由转发中,去往同一个目的地址的所有报文就是
4、一个FECoMP1S标签是一个简短且长度固定的标识符,它只具有本地意义,用于唯一标识一个分组所属的FEC。在某些情况下(例如,进行负载分担)对应一个FEC可能会有多个MP1S标签,但是在一台设备上,MP1S标签只能代表一个FECoMP1S标签长度为4个字节,封装结构如下图所示。O192223311abe1EXPBoSTT1MP1S标签封装结构MP1S标签共有4个域: 1abe1:20bit,标签值域。 Exp:3bit,用于扩展。现在通常用做CoS(C1assofService,服务分类)。 BoS:Ibit,栈底标识。MP1S支持多层标签,即标签嵌套。BoS值为1时表明为最底层标签。 TT1
5、:8bitf和IP分组中的TT1(TimeTo1ive)意义相同。MP1S标签封装在链路层和网络层之间,它在报文分组中的封装位置如下图所示。MP1S标签能够被任意的链路层协议所支持。1ink1ayerheader1abe11ayer3header1ayer3pay1oadMP1S标签的封装位置MP1S标签栈(1abe1stack)也称为MP1S多层标签,是指MP1S标签的排序集合,如下图所示。靠近二层首部的标签称为栈顶标签或外层标签;靠近IP首部的标签称为栈底标签,或内层标签。MP1S标签栈按后进先出(1aStInFirstOut)方式组织标签,从栈顶开始处理标签。1ink1ayerheade
6、rOuter1abe1Inner1abe11ayer3header1ayer3pay1oadI-V1abe1stackMP1S标签栈标签操作MP1S标签的基本操作包括标签压入(Push)、标签交换(SW叩)和标签弹出(Pop),它们是标签转发的基本动作,是标签转发信息表的组成部分。标签基本操作MP1S标签的基本操作详解如下: Push:指当IP报文进入MP1S域时,MP1S边界设备在报文二层首部和IP首部之间插入一个新标签;或者MP1S中间设备根据需要,在标签栈顶增加一个新的标签(即标签嵌套封装)。 SW叩:当报文在MP1S域内转发时,根据标签转发表,用下一跳分配的标签,替换MP1S报文的栈顶
7、标签。 Pop:当报文离开MP1S域时,将MP1S报文的标签去掉;或者MP1S倒数第二跳的节点处去掉栈顶标签,减少标签栈中的标签数目。在最后一跳的节点上,MP1S标签实际已没有使用价值。这种情况下,可以利用PHP(Penu1timateHopPopping,倒数第二跳弹出)特性,在倒数第二跳的节点上就将标签弹出,这样最后一跳的节点可直接进行IP转发或者下一层标签转发,从而减少最后一跳的处理负担。PHP特性是通过分配特殊的标签值3来实现的。标签值3表示隐式空标签(Imp1icit-nu11),这个值不会出现在标签栈中。当倒数第二跳节点发现自己被分配了标签值3时,它并不用这个值替代栈顶原来的标签,
8、而是直接执行PoP操作,使最后一跳节点直接进行IP转发或下一层标签转发。1SP1SP(1abe1SwitchedPath,标签交换路径)是指属于同一FEC的报文(即封装了MP1S标签的报文)在MP1S域内转发所经过的路径,如下图所示。1SP示意图1SP是一条从入口到出口的单向通道,包含以下角色: 1SP的起始节点称为入节点(IngreSS),一条1SP只能有一个IngresseIngress的主要功能是给IP报文压入一个新的MP1S标签,将其封装成MP1S报文。 位于1SP中间的节点称为中间节点(Transit),一条1SP可能有O个或多个TransitoTransit的主要功能是查找标签转发
9、信息表,通过标签交换完成MP1S报文的转发。 1SP的末尾节点称为出节点(Egress),一条1SP只能有一个EgressoEgress的主要功能是弹出标签,恢复成原来的报文进行相应的转发。MP1S网络是什么样的?MP1S网络的典型结构如下图所示。MP1S网络结构示意图MP1S网络主要包含以下要素: 支持MP1S功能的网络设备称为1SR(1abe1SwitchingRouter,标签交换路由器),它是MP1S网络的基本组成单元。由一系列连续的1SR构成的网络区域称为MP1S域。 MP1S域内部的1SR称为Core1SR,如果一个1SR的相邻节点都运行MP1S,则该1SR就是COre1SRo 位
10、于MP1S域边缘、连接其它网络的1SR称为1ER(1abe1EdgeRouter,标签边缘路由器),如果一个1SR有一个或多个不运行MP1S的相邻节点,那么该1SR就是1ERo在MP1S网络中,任何两个1ER之间都可以建立1SP,用来转发进入MP1S域的报文,中间可途径若干个Core1SRc因此,一条1SP的Ingress和Egress都是1ER,而Transit是Core1SRoMP1S有什么价值?MP1S在当前的IP网络中得到了广泛的应用,其主要价值体现在以下几方面:MP1S完全兼容IP网络,相当于在IP网络的基础上进行改进,建设成本低,易于推广。 MP1S的控制平面和转发平面是分开的,在
11、控制平面依靠IP路由来建立1SP,MP1S可以借用IP路由的各种灵活性、可靠性机制;在转发平面通过1SP来传输报文,是面向连接的,MP1S可以有效的实施流量工程和QoS。 MP1S是一种与链路层协议无关的技术,它同时支持帧中继、ATM、PPP和SDH等协议,保证了多种网络的互通,兼容性非常好。 MP1S网络支持层次化的拓扑结构,适合在IP骨干网中部署。 MP1S标签栈在理论上可支持标签的无限嵌套,正好契合了VPN业务对公、私网标签多层封装的要求,因此MP1S为VPN业务的蓬勃发展提供了强有力的支持。MP1S是如何工作的?简单来说,MP1S的工作就是将进入MP1S域的报文正确地转发到目的地。MP
12、1S的工作可以概括为两个过程:建立1SP.报文通过1SP转发。MP1S是如何建立1SP的?MP1S是一种依靠标签交换来指导转发的技术,因此,1SP的建立过程实际上就是沿途1SR为特定FEC确定标签的过程。MP1S标签由下游分配,按照从下游到上游的方向进行分发。如下图所示,下游1SR根据IP路由的目的地址进行FEC划分,并将标签分配给对应指定目的地址的FEC1再将标签发送给上游1SR,触发上游1SR建立标签转发信息表,最终使一系列1SR形成一条1SPo1SP的建立过程示意图1SP按建立方式可以分为静态1SP和动态1SP两种:静态1SP是管理员通过手工为各个FEC分配标签而建立的1SP0手工分配标
13、签需要遵循的原则是:上游1SR出方向的标签的值等于下游1SR入方向的标签值。动态1SP是各1SR通过标签发布协议动态的生成和发布标签而建立的1SP,下游1SR向上游1SR发送标签时需要依赖IP路由。MP1S支持多种标签发布协议,例如:1DP(1abe1DistributionProtoco1)sRSVP-TE(ResourceReservationProtoco1TrafficEngineering)和MP-BGP(Mu1tiprotoco1BorderGatewayProtoco1)报文是如何通过1SP转发的?以支持PHP特性的1SP为例,MP1S报文在该1SP中的基本转发过程描述如下:1.
14、 Ingress收到目的地址为192.168.1.1/24的IP报文,压入标签Y(Push)f封装为MP1S报文并继续转发。2. TranSit收到该MP1S报文,进行标签交换(SW叩),将标签Y换成标签X。3. 倒数第二跳的Transit收到该MP1S报文,因为Egress分给它的标签值为3,所以进行PHP操作,弹出标签X并继续将IP报文转发给Egresso4. Egress节点收到该IP报文,将其转发给目的地192.168.1.1240报文通过1SP转发的示意图什么是MP1SVPN?MP1SVPN是指利用MP1S在IP骨干网络上构建VPN的技术。VPN的实质就是在公网上像私有专用网一样传输
15、业务数据,这就需要在公网上建立一条隧道,让数据报文通过隧道直达目的地,从而达到私有专用网络的效果。概括地讲,MP1SVPN就是采用MP1S建立的1SP作为公网隧道来传输私网业务数据的。MP1SVPN的基本模型主要由以下三种角色构成: CE(CustomerEdge):用户网络边缘设备,有接口直接与服务提供商SP(ServiceProvider)网络相连,用户的VPN站点(Site)通过CE连接到SP网络。CE可以是网络设备,也可以是一台主机。通常情况下,CE感知不到VPN的存在,也不需要支持MP1S。 PE(ProviderEdge):是服务提供商网络的边缘设备,与CE直接相连。在MP1S网络中,PE设备作为1SR,对MP1S和VPN的所有处理都发生在PE上,对PE性能要求较高。 P(Provider):服务提供商网络中的骨干设备,不与CE直接相连。在MP1S网络中,P设备作为1SR,只需要处理MP1S,不维护VPN信息。Site3MP1SVPN的基本模型MP1SVPN充分利用了MP1S的技术优势,是目前应用最广泛的VPN技术。从用户角度来看,MP1SVPN具有如下价值: 一个MP1S标签对应一个指定业务的数据流(特定FEC),非常有利于不同