3.6 MPLS多协议标签交换 MPLS—(Multi-Protocol Label Switching)多协议标签交换,是一种用标签交换代替路由,实现数据包快速转发的技术体系,它的价值在于能够在一个无连接的网络中引入连接模式的特性;其主要优点是在提供IP业务时能确保QoS和安全性,具有流量工程能力。 举个例子,我们在某网站上下载一部几个G的电影,文件会分成至少几百万个数据包从服务器传送到你的电脑,这几百万个数据包的源地址和目的地址都是相同的。按照传统的路由方式,对于每一个数据包路由器都需要查找一次路由表,决定从哪个接口转发,一共要进行几百万次的路由,这样的方式显然是很浪费路由器的能力资源的。 这就像一百个人走到一个地方问你路,他们的目的地是同一个地方,你就没有必要给每个人都说一遍怎么走,只要给第一个人指路之后,告诉后面的人:全部跟着第一个人走就好了。对于数据包的路由,我们同样可以只对第一个数据包进行路由选择,后面的相同目的地的数据包都贴上相同的标签,按照第一次路由的结果进行转发。 MPLS技术最初就是为了提高路由器的转发效率而问世的,从另一方面我们也不难发现,对于MPLS网络来说,到相同的目的的数据包被分发相同的标签,走相同的路径,这样就在IP网中打通出一条虚拟的“路(LSP)”出来,也就是将IP网从无连接变成了有连接的网络,那真是,世界上本没有路,走的人多了,便变成了路,有了“路”之后在此基础上对数据转发路径的管理也就可以实现了。 总结一下:标签交换的效果有2个:提高了转发效率,无连接变为有连接。 MPLS相关名词、术语的解释: 多协议: MPLS不但可以支持多种网络层协议,还可以兼容第二层的多种链路层技术。 标签交换:它提供了一种方式,在MPLS边缘的路由器(LER)将IP地址映射为简单的具有固定长度的标签,将标签添加到二层和三层帧格式之间,在MPLS网络的内部标签交换路由器(LSR)使用标签快速交换代替路由。 QOS:服务质量(Quality of Service),是一种网络安全机制。当网络过载或拥塞时,QoS 能通过业务的优先级划分,确保重要业务量不受延迟或丢弃。克拉玛依火灾中“让领导先走”就是QOS在现实中的生动的例子。 流量工程:合理分配流量,保证网络资源得到充分的利用,避免网络过度闲置和拥塞。与流量工程对应的是网络工程,如果将网络工程比作道路新建、改扩建的话,流量工程就是缓堵保畅。 FEC:转发等价类,如果入口路由器收到分组都到达同一子网的,则这些分组就属于同一类,叫做转发等价类,同一FEC的分组都会转发给同样的下一跳。前面问路的例子中,那100个人就属于同一个转发等价类。 LSP:标签交换路径(Label Switched Path),一个转发等价类在MPLS网络中经过的路径。 LER:标签边缘路由器(Label Edge Router),位于MPLS域边缘连接其它用户网络的路由器,主要完成连接MPLS域和非MPLS域以及连接不同MPLS域,实现FEC划分,分发标签,剥去标签。 LSR:标签交换路由器(Label switching Router),MPLS区域内部的路由器,负责标签交换和标签分发。 MPLS的原理: MPLS的原理概括下来就是:一次路由,多次转发(交换),具体过程如下: MPLS根据数据包的流向的路径,按照某种方式为每个路由器分配标签,同一FEC可以对应一个或者多个标签(为了负荷分担),但是不同FEC一定对应不同的标签。 标签分发方式有两种,下游按需标签分发(DOD)和下游自主标签分发(DU),DOD就是收到上游标签分配申请才分配标签,DU是下游自主分配标签,无需上游申请。 标签分发之后LSR需要将FEC与标签映射关系向其他LSR通告,通告分为两种方式:独立LSP控制和有序LSP控制方式。独立控制是指LSR分发标签后即通告给上游LSR,有序控制是指LSR需要收到下游LSR对此LSP通告后向上游发送映射通告。 LSR对于收到的FEC映射标签,可以完全保留,也可以只选择LSP的映射标签保持,前者叫做自有保持方式,后者叫做保守保持方式。 标签的分发、通告、保持方式,涵盖了LSR对于标签处理的不同方面,假设一条LSP从上游至下游依次经过A、B、C、D、E多个LSR,分发方式DOD就是只有路径上这些路由器才会为此FEC分发标签,而DU方式是指其他非LSP上的节点也会为此FEC分配标签;独立控制方式是指ABCDE同时向上游通告,而有序通告则需要E通告给D之后,D才会给C通告,以此类推。自由保持方式是指收到的映射全部保留,保守保持是指A只保留B通告的映射,将其他的删除。 其实这些方式都是协议内部的事,我们只需要知道,大家通过一系列的流程,获得了对于一个FEC的标签分配方式。 标签全部分发通告完成之后,LSR就可以根据标签进行交换:进入MPLS网络的数据包,在LER处根据IP头部判定FEC并查找标签、出接口,将标签插入到二层头和三层头部中间,从出接口转发出去。 带有标签的MPLS包在LSR路由器处,只查找入标签对应的出标签和出口,进行标签交换(用入标签替换出标签),在出接口发送分组,标签在离开MPLS域的LER处被剥离。由于标签交换的原理类似于二层交换,都是固定字符的匹配查找,所以数据转发的效率会大大提高。 传统路由方式 MPLS标签转发 MPLS协议栈 同路由的分类一样,标签交换路径LSP分为静态LSP和动态LSP两种。静态LSP由管理员手工配置,动态LSP则利用路由协议和标签发布协议动态产生。 动态的LSP功能实现模块由两部分组成:控制单元和转发单元。 控制单元负责标签的分配、路由的选择、标签转发表的建立、标签交换路径的建立、拆除等工作,转发单元负责按照LIB(标签信息表)替换标签并转发数据包,类似于二层交换机的功能。 控制单元协议包括路由协议和信令协议。路由协议就是前面介绍的OSPF、ISIS、BGP等,路由协议通过路由器之间的信息交互形成路由表、网络拓扑,收集链路状态信息。 信令协议(标签分发协议)是MPLS的控制协议,负责FEC划分、标签的分配以及LSP的建立和维护等一系列操作,MPLS可以使用多种标签发布协议,包括专为标签发布而制定的协议,例如:LDP(标签分发协议)、CR-LDP(限制路由的标签分发协议),也包括现有协议扩展后支持标签发布的,例如: RSVP-TE(扩展资源预留协议),MP-BGP(多协议扩展BGP)。通过路由协议扩展,可以在每台路由器上维护网络的链路属性和拓朴属性,包括最大链路带宽、最大可预留带宽、当前预留带宽等,形成流量工程数据库TED,路由决策都是由IGP协议及其TE扩展和CSPF作出的。 其中LDP仅负责标签分发,不去关心链路状态,也无法指定经过的路由,仅能够实现快速转发的功能,如果需要支持显式路由、流量工程和QoS等业务时,就必须使用其他标记分发协议。CR-LDP和RSVP-TE在功能上比较相似,但在协议具体实现上不同。 MPLS利用标签在IP网中打通了有连接的隧道,但是我们传送网要承载无线、宽带、大客户专线等业务,可能在一个运营商站点下面同时下挂了某大客户CE路由器、移动基站NodeB、宽带接入网OLT等设备,从业务安全的角度,MPLS网中这些业务彼此之间是需要相互隔离的,我们需要为数据包多加一层标签---私网标签,私网标签用来区分不同的业务,比如A公司和B公司之间通过私网标签形成两个相互隔离的VPN。 举个例子,A公司在某酒店举行年终总结大会,在某酒店定了30个房间,那这个会议的所有成员就相当于一个VPN,在酒店前台就会有针对A公司会议的30个房间号对应的人员的清单,这个清单就相当于VRF表,到达酒店的客人只要报出A公司名称(相当于VPN号),就能且仅能与会议成员取得联系。虽然酒店有100个房间,但是在会议来看,可以看成一个30个房间的专用酒店。 这样用户数据包虽然在MPLS网络中在同一隧道中传送,但是在运营商网络和用户CE连接处,PE为每个VPN都维护一个单独的VRF(虚拟路由表),表中只有本VPN对应的站点,这样就达到了隔离的效果。 下面一节,我们来了解一下VPN。 |