《计算机网络-鲁士文》10_基于ip的多协议标记交换技术_第1页
《计算机网络-鲁士文》10_基于ip的多协议标记交换技术_第2页
《计算机网络-鲁士文》10_基于ip的多协议标记交换技术_第3页
《计算机网络-鲁士文》10_基于ip的多协议标记交换技术_第4页
《计算机网络-鲁士文》10_基于ip的多协议标记交换技术_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中科院大学 授课教师:鲁士文,中科院大学计算机网络硕士课程 计算机网络课程,第10单元 基于IP的多协议标记交换技术,2014/11/28,1,第10单元 基于IP的多协议标记交换技术,今日(2014/11/28)交练习-9解答的同学:常华利 刘梦雅 刘科栋 阮承霖 贾正义 郑抗乔予思 王小天 姜凯华 吴宏城 卜振江 朱全继王之琢 艾娟 王冬冬 王文武 常乐 张文豪以及其他到现在为止还没有交过习题解答的所有同学。,2014/11/28,中科院大学 授课教师:鲁士文,3,第10单元 基于IP的多协议标记交换技术,10.1 基本思想 10.2 基本概念和操作过程10.3 系统结构 10.4 MPLS的应用10.4.1 基于目的地的转发10.4.2 显式路由选择10.4.3 虚拟专用网络10.5 网络互连,中科院大学 授课教师:鲁士文,2014/11/28,4,第10单元 基于IP的多协议标记交换技术,在因特网的网络层,除了有路由器转发作为数据报的IP分组的机制外,还有一种被因特网服务提供者广泛使用在他们的网络上承载流量的技术,这就是多协议标记交换(MPLS:Multi Protocol Label Switching)。MPLS在每个分组的前面加上一个标记,对它进行基于这个标记而不是目的地址的转发。让标记作为进入一个内部表的索引,使得寻找正确的输出线路只是一个表查询的事。使用这种技术,可以很快地完成路由选择,并且可以沿着通路预留需要的资源。,中科院大学 授课教师:鲁士文,2014/11/28,有许多人试图对路由(routing)和交换(switching)加以区别。路由是在一个表中查找目的地址以确定把分组在哪儿发送的过程。与此相对照,交换则使用取自分组的一个标记作为对转发表的一个索引。当然,这个定义只能被当作一个参考,远非被普遍认同的标准定义。上述新的交换思想曾经被赋予各种各样的名称,包括标记交换(label switching)和标签交换(tag switching)。最终IETF标准化了该思想,取名MPLS(Multi-Protocol Label Switching: 多协议标记交换)。,5,第10单元 基于IP的多协议标记交换技术,中科院大学 授课教师:鲁士文,2014/11/28,第10单元 基于IP的多协议标记交换技术,当一个无连接网络层协议分组从一个路由器传输到下一个路由器时,每个路由器都对分组做独立的转发决定。也就是说,每个路由器都分析分组头,每个路由器都运行一个网络层路由算法。每个路由器都基于它对分组头的分析和运行路由算法的结果,独立地选择分组的下一跳段。分组头包含比仅仅为了选择下一跳段所需要的还要多的信息。因此选择下一跳段可以看成是两个功能的组合。第一个功能把全部可能的分组划分成若干个转发等价类(FEC: Forwarding Equivalence Classes)。第二个功能把每个FEC映射成下一跳段。就转发决定而言,被映射成同一个FEC的不同的分组是不可区分的。来自一个特别的结点属于一个特别的FEC的所有分组将走同一个通路。,6,中科院大学 授课教师:鲁士文,2014/11/28,7,在传统的IP转发中,在典型的情况下,如果两个分组中的目的地址都跟路由器的路由表中的某一个地址前缀x最长匹配,那么该路由器就会把这两个分组看成是属于同一个FEC。当分组穿越网络时,每个跳段都会再次检查分组,并赋给一个FEC。在MPLS中,把一个特别的分组分配给一个特别的FEC的操作只在分组进入网络(指MPLS网络)时进行1次。分配给分组的FEC被编码成一个短的固定长度的值,称作标记。当分组被转发到下一跳段时,该标记跟着它一起发送,也就是说,分组在转发之前被标记。在后面的跳段中,每个结点不再分析分组的网络层头,而是把标记用作查询下一跳段和新标记的一个索引。老的标记被新的标记取代,分组被转发到它的下一跳段。,第10单元 基于IP的多协议标记交换技术,中科院大学 授课教师:鲁士文,2014/11/28,第10单元 基于IP的多协议标记交换技术,与传统的网络层转发相比,MPLS具有下面列出的多个好处。 (1)MPLS转发可以由交换机执行,该交换机执行标记查找和替换,但不用分析网络层头。 (2)由于分组是在它进入网络时被分配到一个FEC的,在决定如何分配的过程中,入口路由器可以使用它所具有的关于该分组的任何信息,包括那些不是从网络层头得到的信息。例如它可以把在不同端口上到达的分组分配到不同的FEC。而在另一方面,传统的转发只考虑在分组头中随分组一起传输的信息。 (3)在一个特别的路由器处进入网络的分组跟在另一个位置的路由器处进入网络的同样的分组(目的地址相同)可以被加上不同的标记,这样入口路由器就能够比较容易地做转发决定。这一点在传统的转发中是做不到的,因为分组的入口路由器的标识不随分组传送。,8,中科院大学 授课教师:鲁士文,2014/11/28,(4)确定如何把分组分配到一个FEC的考虑可能变得越来越复杂,然而这对于仅仅转发加上标记的分组的那些路由器却不会有任何影响。(5)有的时候,需要强使分组沿着一个特别的通路传输,该通路需要在分组进入网络之时或之前明确地指定,而不是在分组通过网络传输时由常规的动态路由算法选择。这可以作为一个策略来实现,或者支持流量工程。在常规的转发中,这需要分组把它的路由编码随它一起传输(源路由)。在MPLS中,可以使用一个标记来表示路由,因此不需要在分组中包含显式的路由标识。,9,第10单元 基于IP的多协议标记交换技术,中科院大学 授课教师:鲁士文,2014/11/28,有些路由器分析分组的网络层头,不仅是为了选择分组的下一跳段,而且还要确定分组的优先级或服务类别。然后它们可能对不同的分组应用不同的丢弃门槛或调度规则。MPLS允许(但不是必须)优先级或服务类别全部地或部分地由标记推知。在这种情况下,我们可以说,标记代表一个转发等价类和一个优先级或服务类别的结合。MPLS表示“多协议标记交换”,之所以称作“多协议”,是因为它的技术可应用于任何网络层协议,然而我们重点把 IP用作网络层协议,并把支持MPLS的路由器称作标记交换路由器(LSR: Label Switching Router)。,10,第10单元 基于IP的多协议标记交换技术,中科院大学 授课教师:鲁士文,2014/11/28,首要的问题是把标记放在何处。由于IP分组不是为虚电路设计的,因此在IP分组中没有虚电路号码可以用的域。出于这个原因,必须把一个新的MPLS头放到IP头的前面。下面的插图示出了在使用PPP作为成帧协议的“路由器到路由器”的线路上的帧格式,包括PPP、MPLS、IP和TCP头。类属MPLS头是4字节长,并且有4个域。最重要的是标记域,它存放索引。QoS域表示服务类别。S域跟堆叠多个标记有关。生存时间域表示分组还可以被转发多少次。它的值每经过一个路由器都减1,当值变成0时分组将被丢弃。这一特征可防止分组在路由选择不稳定的情况下无限制地循环传输。,11,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,12,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,13,MPLS位于IP网络层和PPP链路层协议之间。它实际上不是一个第3层协议,因为它不是直接根据IP或其它网络层地址转发分组,而是根据IP或其它网络层地址建立标记通路。它实际上也不是一个第2层协议,因为它跨越多个跳段而不是仅在单条链路上传输。由于这个原因,MPLS有时被称作2.5层协议。这说明真实的协议不是总可以适配我们的理想层次模型的。因为MPLS头不是网络层分组的部分,也不是数据链路层帧的部分,所以它在很大程度上是独立于这两个层次的。这一特征意味着,可以建立一个MPLS交换机,它既能够转发因特网的IP分组,也能够转发其它网络的协议数据单元,输入的是哪种PDU ,就转发哪种PDU。这一特征也正是在MPLS名称中“多协议”的来源。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,14,当一个经过MPLS增强的分组到达一个配置了MPLS的路由器时,标记被用作一个索引,查询一个表,确定将要使用的出口线路和将要使用的新标记。在所有的虚电路子网中都使用这种标记替换(label swapping),因为标记仅具有本地意义。两个不同的路由器可以在两条线路上向另一个路由器送入两个具有相同标记的不相关的分组,并且后者会在它的同一输出线路上把这两个分组继续向着目的地的方向上转发。为了在另一端可被区别,标记在每一跳段都必须更新。此时,那两个在两条输入线路上接收到的具有相同标记的不相关的分组在同一条输出线路上将被修改成带有不同的新标记。就这一点而言,MPLS采用了跟虚电路交换相同的技术。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,15,MPLS跟传统虚电路的一个差别是聚合的层次。对于通过子网的每个流肯定可以都有其自己的一组标记。然而,更普遍的做法是组合终止于一个特别的路由器或LAN的多个流,并且对它们使用单个标记。组合在单个标记下的多个流被称作是属于同一个FEC(Forwarding Equivalence Class:转发等价类)。这个类别不仅涵盖分组传输的通路,而且也可以涵盖它们的服务类型(在区分服务的意义上),因为从转发的角度上看,它们被同样对待。在传统的虚电路路由选择中,不可能把具有不同终点的多个不同的通路组合进同样的虚电路(连接)标识符,因为那样做在最终目的地处将无法对它们加以区分。对于MPLS分组,除了有MPLS标记外,也包含最终目的地的IP地址,因此在标记路由的端点可以去除MPLS标记头,接着使用网络层目的地址继续进行向前转发分组的操作。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,16,在MPLS和传统的虚电路设计之间的一个重要不同点是建立转发表的方式。在传统的虚电路网络中,当一个用户要建立一条连接时,他首先向网络发送一个setup(建立)分组,确定通路,并产生转发表登录项。MPLS则不是以这种方式工作,对于每一条连接,它都没有setup阶段,因为那样做对现有因特网软件的改变就太大了。取而代之的是,转发信息通过协议建立,该协议结合了路由协议和连接建立协议,而最终用户不必参与。这些控制协议很明显地跟标记转发分离,从而允许使用多个不同的控制协议。MPLS有两种建立转发表登录项的方法: 数据驱动的方法和控制驱动的方法 。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,17,在数据驱动的方法中,当一个分组进入网络时,接收它的第一个路由器联系分组必须前往的下一个处于下游的路由器,请求它为该流产生一个标记。接着递归地使用该方法。实际上,这是一种在需要时即时建立虚电路的方法。做这种传播操作的协议应该非常小心地避免回路。这些协议通常使用一种称作加色线的技术。FEC的后向传播可以比作把一根加上具有唯一性颜色的线回穿进子网。如果一个路由器看到一个已经用过的颜色,它就知道产生了回路,并采用校正措施。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,18,另一种是叫做控制驱动的方法。它有多个变种,其中一种的工作情况如下所述。在MPLS网络上的一个路由器R1启动时,它查看它是哪些路由在MPLS网络上的最终目的地,例如,哪些前缀属于它的接口。然后它为这些前缀建立一个或多个转发等价类(FEC),为每个FEC分配一个标记。同时,R1可以根据IP路由协议,例如OSPF和BGP,获悉网络拓扑信息和到达该MPLS网络内其它任意一个路由器,例如R2,的通路(最短通路)信息,然后它就可以使用LDP(标记分发协议)以下游启动的方式,在从R2到R1的通路上建立一条LSP(标记交换通路)。这样MPLS域中每个路由器对于上述基于前缀的每个转发等价类(FEC)都可以建立一条以R1为出口以其自身为入口的LSP。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,19,在建立通路的过程中,还可以预留资源,从而保证适当的服务质量。其它的控制协议可以建立不同的通路,例如,流量工程通路考虑尚未被使用的容量,并按需建立通路,以支持对适当的服务质量的提供。 MPLS可以在多个层次上运行。在最高层,每个承载网络可以被看成是一种元路由器,有一条通过该元路由器从源到目的地的通路。这个通路可以使用MPLS。然而,在每个承载网络内部也可以使用MPLS,导致第二层标记。事实上,一个分组可以承载有整个标记栈。在下面的插图中的S位允许一个(边界)路由器去除一个标记,从而知道是否还剩有别的标记。对于底层标记S位置1,对于其它层次的标记S位置0。在实践中,这一设施大多用以实现虚拟专用网络和递归隧道。,10.1 基本思想,中科院大学 授课教师:鲁士文,2014/11/28,2014/11/28,中科院大学 授课教师:鲁士文,10.1 基本思想,21,10.2 基本概念和操作过程,标记是一个短的固定长度的具有本地意义的标识符,用以标识一个转发等价类。放在一个特别的分组上的标记表示分配给那个分组的转发等价类。对于一个分组通常是基于它的网络层地址分配给它一个转发等价类。如果Ru(上游)和Rd(下游)都是标记交换路由器,那么它们可能约定,当Ru给Rd发送一个分组时,当并且仅当该分组是一个特别的FEC F的成员时,Ru才会用标记值L标记分组。作为这样的协定的一个结果,L成为Ru表示转发等价类F的输出(outgoing)标记,也成为Rd表示转发等价类F的输入(incoming)标记。,中科院大学 授课教师:鲁士文,2014/11/28,注意,当我们说分组是从Ru向Rd发送时,并不意味着分组源发于Ru,也不意味着分组的最终目的地是Rd。取而代之的是,在其含义中包括途经Ru和Rd转发的中转分组。另外,除了从Ru发往Rd的分组,标记L不必表示在其它任意一对LSR之间与转发等价类F的绑定。L是一个任意值,它与F的绑定限于Ru和Rd本地。已经被加进了标记的分组被称作标记分组。所使用的特别的编码技术(包括标记数值范围)必须由编码标记的实体和解码标记的实体双方协定一致。,22,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,假定Ru和Rd约定,对于从Ru向Rd发送的分组,把标记L绑定到转发等价类F,那么对于这个绑定,Ru是上游LSR,Rd是下游LSR。对于一个给定的绑定,在我们说一个结点是上游、一个结点是下游的时候,这就意味着在从上游结点向下游结点传送的分组中,有一个特别的标记表示一个特别的FEC。在MPLS体系结构中,把一个特别的标记L绑定到一个特别的FEC F的决定是由处于该绑定的下游的LSR做出的。然后下游LSR把这个绑定通知上游LSR。也就是说,标记是下游分配,标记绑定在下游至上游的方向上分发。 MPLS体系结构允许一个LSR显式地从它的下一跳段请求一个特别的FEC和对于那个FEC的标记绑定。这被称作按需下游标记分发。MPLS体系结构也允许一个LSR向没有显式地向它请求的LSR分发绑定,这被称作未被征求的下游标记分发。,23,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,属于一个特别的FEC的分组在传输时所经过的一个或多个标记交换路由器所构成的通路叫做标记交换通路(LSP: Label-switched path )。可以将LSP看作类似穿越MPLS核心网络的一个隧道。由于大多数主机和路由器都不懂得MPLS,所以就有一个什么时候和如何把标记加进分组的问题。这发生在IP分组抵达MPLS网络边缘的时候。标记边缘路由器(LER: Label Edge Router)察看目的IP地址和其它域,确定分组应该走哪条MPLS通路,并在分组的前面加上正确的标记。在MPLS网络内,这个标记被用来转发分组。在MPLS网络的另一边,该标记已经完成了它的使命,并被移除,从而再次显露出IP分组,进入下一网络。下图示出了这一过程。,24,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,25,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,MPLS的实质是将路由器移到网络的边缘,将快速、简单的交换机置于网络主干,对一个连接请求实现一次路由选择,多次交换。其主要目的是将标记交换转发数据报的基本技术与网络路由选择有机地集成。下面描述MPLS系统的操作过程。下面的插图示出的是一个典型的MPLS系统。在下图中,R1和R2是普通的路由器,L1、L2、L3、L4是标记交换路由器(LSR:Label Switching Router),其中,L1是入口LSR,L3是出口LSR。,26,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,27,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,28,10.2 基本概念和操作过程,L1中的下一跳标记转发表目 (NHLFE:Next Hop Label Forwarding Entry) 如表1所示,当R1发出的IP分组到达L1时,L1根据分组的目的地址在转发表中进行最长匹配,选择相应的标记符(如表1中的4)重新封装IP分组,然后从指定的端口输出数据分组。当分组到达L2时,L2仅根据分组头中的入口标记(4),在类似表2的转发表中,以这个标志符为精确索引找到相应的输出标记和端口信息,L2将在数据分组标记栈中的标记弹出,并将新的标记(7)压入标记栈。这也就是分组的标记交换过程。然后L2从相应端口输出数据分组。当数据分组到达出口L3时,L3先将标记从标记栈中弹出,恢复出没有标记的IP分组,然后再按照普通的路由转发机制对这个数据分组进行相应的处理。,中科院大学 授课教师:鲁士文,2014/11/28,29,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,实际上,通过在分组的前面加上多个标记,MPLS可以在多个层次上运行。例如,假定已经有了不同标记的多个分组(这些分组在当前的网络中被区别对待),还需要再经过一个共同的通路才能到达某个目的地。在这种情况下,不必为每个不同的标记都建立一个标记交换通路,而是可以建立单个通路。当已经有了标记的分组到达这个通路的起点时,另一个标记被加到分组的前面。这被称作标记堆栈。外层标记引导分组沿着这段共同的通路传输。在这段通路的终点,该标记被除去,如果还有其它标记,将被显露出来,并被用来继续向前转发分组。MPLS头中的S位允许一个路由器表明在除去一个标记时是否还剩有标记,该位置1表示是底层标记,置0表示还有其它标记。,30,10.2 基本概念和操作过程,中科院大学 授课教师:鲁士文,2014/11/28,31,10.3 系统结构,MPLS的出现源于早期的IP交换解决方案,因此它的体系结构是基于已经提出的IP交换的思想、概念和组成部件。它的基本目标之一是简化通过网络转发IP分组的过程。在传统的IP转发机制中,每个路由器都要分析包含在每个分组头中的信息,提取目的地址,执行基于目的地址的路由表查询,以及计算头检验码、减值TTL(存活时间)和完成合适的出口链路层封装。有效的业务流转发不仅依赖于路由器自身的功能,而且要依赖于路由信息交换协议(即路由选择协议)来计算最佳的下一跳。或者简单地说,每个路由器处理每个分组的过程都是:分析分组的网络层的头字段,根据目的地址前缀为分组分配一个FEC(转发等效类),然后将FEC映射到下一跳路由器。,中科院大学 授课教师:鲁士文,2014/11/28,32,在MPLS网络中,入口路由器不是只把分组所归属的FEC映射到下一跳路由器,而是还要在分组上添加表示它所归属的FEC的一个标记。在下一跳路由器上,因为分组已经跟FEC相关联,所以没有必要再检查网络层的头。标记被用来索引一个包含输出端口和一个新标记的连接表项。旧标记被新标记取代,然后分组被从输出端口转发到下一跳路由器。下图示出了在MPLS网络内部的LSR基于标记替换所进行的分组转发过程。,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,33,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,34,标记交换的一个重要的结构特征是把基于标记的转发操作从网络层的控制功能中分离出来,使得网络运营者能够把若干当前和未来的业务与一组标记相关联。MPLS网络的入口路由器可以把分组映射到不同FEC的任何编号上。例如,一个FEC可能是基于目的地网络、组播、一个源端/目的端地址对、一个源地址或者甚至是网络入口的物理点。一个FEC也可以表示所有经过一个显式的非缺省路径的分组。当相应的标记在网络中分配时,将形成针对每一种业务的端到端的流量通路。,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,35,无论为分组分配FEC的机制多么复杂,网络对分组的转发仍然是基于标记交换。与传统的IP转发机制相比,MPLS使得基于策略的选路能以一种更简单的更直接的方式进行。这样,如果需要引入新的网络层控制功能,就可以不必重新优化或升级转发通路上的组件和设备。当发生不可预见的必要的网络层变化时,已有的投资可以得到保护。例如,当需要引入IPv6以获得更大的地址空间时,不需要对现有的转发通路做任何实质性的修改。,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,36,10.3 系统结构,MPLS包含一些核心组件和技术。第一,MPLS中的关键设备是标记交换路由器(LSR)。它既能运行传统IP的路由选择协议,也能执行一个特定的控制协议与邻接的LSR协调FEC/标记的绑定。第二,MPLS的一个核心技术或组件是标记。标记是包含在每个分组中的一个短的固定长度的数码,被用作如何转发分组的依据。一对LSR必须就标记的代码和意义达成一致。例如,下游LSR可以告知上游LSR一个特别的标记X代表一个被命名为A的特别的FEC。因此,标记只在一对通信的LSR之间起作用,并用以表示一个从上游流向下游的分组是属于一个特别的FEC。标记的形式可以随着物理链路的不同而不同,例如,它可以是VPI/VCI或DLCI,也可以包括COS(Class of Service: 服务类别)。,中科院大学 授课教师:鲁士文,2014/11/28,37,10.3 系统结构,第三,MPLS的另一个核心技术是转发机制,即标记交换。标记交换可以实现一个简单的快速转发过程。标记由交换组件处理。当一个分组包含一个标记栈时,一个MPLS设备仅处理栈中的顶部标记。 下图示出了沿着一个LSP转发分组的过程。,中科院大学 授课教师:鲁士文,2014/11/28,38,10.3 系统结构,在入口LSP上,在分组上贴一个标记,产生一个深度为N的标记栈。沿着LSP的中间MPLS结点接收和处理这个分组。仅栈中的顶部标记被处理,并与对应于下一跳LSR的新标记进行交换。在LSP(标记交换通路)的出口的LSR根据栈中下一个标记的内容作出转发的决定(如果分组在该MPLS网络中传输时只带有一个标记,将基于网络层头的内容作出转发的决定)。也就是说,出口LSR只需弹出栈就可以得到栈中的下一个标记(或网络层头的内容)。如果顶部标记能够在从出口结点算起的倒数第二个LSR处就弹出栈(参见上图),那么就可以得到一个更为优化的方案。然后分组到达出口MPLS设备时,栈中顶部的内容就已经是用于转发分组的标记(或者是网络层目的地址)。,中科院大学 授课教师:鲁士文,2014/11/28,39,10.3 系统结构,MPLS的第四个核心技术是标记分配。标记分配是分配FEC标记绑定信息的过程,目的是为了形成一条标记交换通路(LSP),并且使用标记交换属于某个特别的FEC的分组。这可以通过一个单独的标记分发协议(LDP:Label Distribution Protocol)来完成,也可以利用现有的控制协议(例如RSVP)捎带。LDP定义一组规程,LSR使用这些规程通知另一个LSR用以在它们之间和通过它们转发流量的标记的含义。LDP把每个FEC都与它建立的一个LSP相关联。与一个LSP相关联的FEC指定把哪些分组映射到那个LSP。当LSP通过网络伸展时,每个LSR对于一个给定的FEC都把对应该FEC的输入标记拼接到分配给下一跳段的对应该FEC的输出标记。,中科院大学 授课教师:鲁士文,2014/11/28,每个FEC都被描述成 一个或多个FEC元素,每个FEC元素都标识可以映射到对应的LSP的一组分组。例如,地址前缀就是当前已经定义了的一个FEC元素类型。当并且仅当一个LSP有一个地址前缀FEC元素,并且该地址前缀匹配一个分组的目的地址时,这个特别的分组才匹配该LSP。再如,主机地址是另一个FEC元素类型。如果有一个LSP,它有一个主机地址FEC元素,并且该主机地址等于分组的目的地址,那么就把该分组映射到那个LSP。建立MPLS的LSP,可以基于三种方式:特定数据流的到达,资源预留协议(如RSVP)建立的信息,或选路表更新消息。考虑到可扩展性是最主要的要求之一,以及MPLS是为特大型IP网络而设计的,拓扑驱动是最有可能被普遍采用的方案。下图概念性地表示出在一对LSR之间由拓扑变化引发的路由表更新所启动的FEC/标记绑定信息的交换过程。,40,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,41,10.3 系统结构,中科院大学 授课教师:鲁士文,2014/11/28,42,10.3 系统结构,当LSR #2收到路由选择表更新信息时,触发计算新路径的过程(1),由此在MPLS路由表(FIB: Forwarding Information Base, 转发信息库)中执行添加或修改(2)。LSR #2识别这个过程,并且对于每个FEC(在现在的情况下是地址前缀)在输入端口上分配一个标记,并放置在标记信息库(LIB: Label Information Base)中(3)。这个标记和相关的FEC就被用来与上游的LSR #1使用LDP进行交流(4),然后LSR #1将这一标记放置在它的LIB中相应的输出端口登记项上(5)。,中科院大学 授课教师:鲁士文,2014/11/28,43,课间休息,中科院大学 授课教师:鲁士文,2014/11/28,44,10.4 MPLS的应用,理解MPLS最好的办法是察看它的一些使用范例。下面通过例子说明上述MPLS的三个方面最有意义的应用。,中科院大学 授课教师:鲁士文,2014/11/28,45,10.4.1 基于目的地的逐跳路由转发,MPLS路由选择指的是为一个特别的FEC选择LSP所使用的方法。MPLS体系结构既支持逐跳路由选择,也支持显式路由选择。 逐跳路由允许每个结点为每个FEC独立地选择下一跳段。这是现有的IP网络中通常使用的方法。一个逐跳路由的LSP是使用逐跳路由的方法所选择的LSP。例如,如果一个FEC对应表示分组的目的地网络的一个地址前缀,那么在LDP 为该FEC建立LSP的过程中,入口LSR可以通过在其IP路由表中查找最长匹配该地址前缀的表项确定该LSR 的下一跳段,并请求下一个LSR给该LSP分配一个标记(如果采用按需驱动的方法的话)。此后,中间的各个LSR直到相对于出口LSR的前一个LSR也都执行类似的表查询和对下一跳段的确定过程,同时也为它们所在的跳段分配仅具有本地意义的标记。,中科院大学 授课教师:鲁士文,2014/11/28,为了使用MPLS根据对应一个地址前缀的逐跳路由转发分组,每个LSR必须对于这个地址前缀使用标记分发协议,把一个标记对该地址前缀的绑定分发给它关于该地址前缀的每个标记分发对等实体。 如果到一个特别的地址前缀的路由是通过一个IGP(内部网关协议)发布的,那么对于那个地址前缀的标记分发对等实体是IGP邻居。如果到一个特别的地址前缀的路由是通过BGP发布的,那么对于那个地址前缀的标记分发对等实体是BGP对等实体。在LSP隧道的其它情况下,隧道端点是标记分发对等实体 。 考虑在下图中的网络。在最右边的两个路由器(R3和R4)中的每一个都连接一个网络,前缀分别是10.1.1 / 24 和 10.3.3 /24。其余的路由器(R1和R2)都有路由表,指示往这两个网络之一转发分组时每个路由器要使用哪一个外出接口。,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,46,2014/11/28,47,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,48,当在一个路由器上实现MPLS时,该路由器为在它的路由表中的每个表示目标网络的前缀分配一个标记,并且向它的相邻路由器通告该标记所代表的前缀。如下图(a)所示,该通告在“标记分配协议”中运载。路由器R2把标记值15分配给前缀10.1.1,把标记值16分配给前缀10.3.3。这些标记可以根据执行分配的路由器的方便进行选择,并且可以看成是对路由表的索引。在分配了标记之后,R2把该标记绑定通告给它的邻居。例如,在我们的示例中,R2把在标记15和前缀10.1.1之间绑定信息通告给R1。这样的一个通告在效果上等同于R2在说“请把发送给我的其目的地址前缀为10.1.1的所有分组都加上标记15。”如下图(b)所示, R1把该标记连同相应的前缀存储在一个表中,这个标记就可以被用作对于发送到那个前缀的任何分组的远程或出口标记。,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,49,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,50,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,51,在下图(c)中,另一个对于前缀 10.1.1的标记通告从R3传到R2,R2把从R3获悉的“远程标记”放到在它的表中的适当位置。现在可以看出分组在这个网络上是怎样转发的。假定有一个目的地是10.1.1.5的分组从左边到达R1。在这种情况下R1被称作边缘标记路由器(LER:Label Edge Router);LER对到达的IP分组执行完全的IP查询,然后作为查询的结果对它们使用标记。R1发现,10.1.1.5跟它的转发表中的前缀10.1.1匹配,而且这个登录项既包含外出接口,也包含远程标记值。因此R1在该分组发送之前给它加上远程标记15。当分组到达R2时,R2看到在分组中的标记。在R2处的转发表指明,以标记值15到达的分组应该在接口1送出,并且它们应该携带标记值24(就像路由器R3所通告的那样)。因此R2改写(或称交换)标记,并把分组转发给R3。,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,52,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,53,所有这些对标记的使用和交换究竟完成了什么样的功能呢?注意当R2转发分组时,它从不需要查看IP地址。而R3则需要查看输入标记。这样就在MPLS网络内部用标记查找代替了通常的IP目的地址查找。虽然IP地址都具有相同的长度,但IP前缀是可变长的。IP目的地址查找算法需要找到最长匹配,即匹配被转发分组的IP地址高序位的最长前缀。对比之下,标记转发机制是一种精确匹配算法。可以实施一种非常简单的精确匹配(固定长度)算法,例如,通过使用标记作为进入一个数组的索引,在数组中的每个元素就是转发表中的1行。虽然转发算法从最长匹配改成精确匹配,路由选择算法还是标准的IP路由选择算法(例如OSPF)、分组经过的通路跟没有引入MPLS时的通路相同,仍然是依据IP路由选择算法。所有改变了的就是转发算法。,10.4.1 基于目的地的逐跳路由转发,中科院大学 授课教师:鲁士文,2014/11/28,54,10.4.2 显式路由选择,MPLS为把类似于源路由选择的功能加到IP网络提供了一个方便的途径。不过该功能在这里被称作“显式路由选择”,而不叫源路由选择。修改名称的一个理由是,通常不由真正的分组源选择路由,更多地是由在服务提供方网络中的一个路由器选择实际的路径。在一个显式路由LSP中,每个LSR不是独立地选择下一跳段,而是由单个LSR,通常是LSP入口或LSP出口结点,指定在LSP中的多个或所有的LSR。如果指定的是LSP中的所有LSR, 那么该LSP是严格的显式路由。如果指定的仅是LSP 中的部分LSR,那么该LSP是松散的显式路由。显式路由LSP所遵循的LSR序列还可以利用路由协议信息建立。例如,出口结点可以利用从链路状态数据库获悉的拓扑信息来计算终止于该出口结点的树的所有通路。,中科院大学 授课教师:鲁士文,2014/11/28,10.4.2 显式路由选择,显式路由可以用于多个目的,例如策略路由或流量工程。在MPLS中,显式路由LSP需要在分配标记的时候建立,但不必为每个IP分组重复执行这个建立过程,也不用在分组中携带LSP所遵循的LSR序列。这使得MPLS显式路由比IP源路由更有效。下图通过一个示例说了如何应用MPLS的显式路由能力。假定在下图中的网络的运营商决定,任何从R1前往R7的流量应该遵从通路R1-R3-R6-R7,任何从R2前往R7的流量应该遵从通路R2-R3-R4-R5-R7。做这样选择的一个理由是优化对沿着R3到R7的两条不同通路的可用带宽的使用率。这一目的不是采用常规的IP路由选择就能容易达到的,因为R3在做其常规转发决定时并不察看流量来自何处。,中科院大学 授课教师:鲁士文,55,2014/11/28,56,10.4.2 显式路由选择,中科院大学 授课教师:鲁士文,2014/11/28,57,10.4.2 显式路由选择,因为MPLS使用标记交换转发分组,如果路由器实现了MPLS功能,就容易取得所希望的路由。如果在发送给R3之前,R1和R2给分组加上不同的标记,那么R3就可以把来自R1和R2的分组沿着不同的通路转发。问题在于,在网络中的所有路由器怎样就如何使用什么样的标记以及如何转发带有特定标记的分组达成协定。显然,我们不可以使用跟前述逐跳路由转发相同的过程来分配标记,因为那些过程建立的标记会使得分组遵从IP路由选择确定的常规通路,而这正好是我们所要避免的。在这里可以看出,需要有一种新的机制。可以执行这个任务的一个协议是资源预留协议(RSVP)。具体的做法是沿着一个显式指定的通路(例如R1-R3-R6-R7)发送一个RSVP报文,并使用它沿着那条通路建立标记转发登录项。这很类似建立一条虚电路的过程。,中科院大学 授课教师:鲁士文,2014/11/28,58,10.4.2 显式路由选择,显式路由的一个应用是流量工程,后者的任务是保证网络可提供足够的资源来满足对它的要求。控制流量准确地在哪条通路上流动是流量工程的一个重要的部分。显式路由还可以帮助网络在发生故障的情况下具有更强的鲁棒性,具体的实现是使用快速重新路由的功能。例如,从路由器A到路由器B可以事先计算一条显式地避免某条链路L的通路。在链路L失效的情况下,路由器A可以把所有前往B的流量都沿着事先计算好的通路发送。结合事先计算的备份路由和对分组的显式路由,A不必等待路由协议分组在网络上的传送,也不必等待在网络的其他结点上执行路由算法。在一些情况下,这可以显著地减少绕过故障点重新选择路由的时间。,中科院大学 授课教师:鲁士文,2014/11/28,59,10.4.3 虚拟专用网络,因特网的一个重要目标是让不同网络上的结点能够以不受限制的方式互相通信。每个人都可以给其他任何人发送电子邮件,一个新的Web场点的创建者希望到达尽可能广泛的观众。然而,还有许多情况又需要比较受控的连接。这种情况的一个重要的例子就是虚拟专用网络(VPN:Virtual Private Network)。术语VPN已经被滥用,定义也有所不同,但是在本来的含义上,可以通过首先考虑专用网络的思想来定义VPN。具有许多场点的公司通常采用从电话公司租用传输线路并使用这些线路互连场点的方式建立专用网络。在这样的一个网络中,通信被限制仅在该公司的各个场点之间进行。出于安全方面的考虑,这样做是有必要的。为了使得专用网络虚拟化,租用的专用线路(不跟任何其他公司共享)将被某种类型的共享网络代替。,中科院大学 授课教师:鲁士文,2014/11/28,60,10.4.3 虚拟专用网络,虚拟电路是租用线路的一个非常合理的代替物,因为它在公司的场点之间仍然提供逻辑的点到点连接。也可以使用IP网络提供场点之间的连接性。为了解决这个问题,需要引入一个新的概念-隧道。有的时候,一个路由器Ru采用显式动作促使一个特别的分组被投递到另一个路由器Rd,尽管Ru和Rd不是该分组逐跳通路上连续的路由器,并且Rd 不是分组的最后目的地。例如,这可以通过把分组封装在其目的地址是Rd的一个网络层分组内来实现。这就建立了从Ru到Rd 的一个隧道。我们把任何以这种方式传输的分组都称作隧道分组。如果封装分组的网络层分组是因特网的IP分组,那么所建立的隧道就是IP隧道。,中科院大学 授课教师:鲁士文,2014/11/28,10.4.3 虚拟专用网络,通过提供在隧道另一端(远处)的路由器的IP地址,可以在通往隧道入口处的路由器那里建立在隧道两端之间的虚拟连接。每当在隧道入口处的路由器在这条虚拟连接上发送一个分组时,它把分组封装在一个IP数据报内。在IP头中的目的地址是在隧道另一端的路由器的地址,而源地址就是做封装操作的路由器的地址。在隧道入口处的路由器的转发表中,虚拟连接看起来很像通常的链路。例如,考虑在下图中的网络。从R1到R2配置了一个隧道,并分配一个虚拟接口号0。因此在R1 中的转发表看起来可以像表3所示的那样。,中科院大学 授课教师:鲁士文,61,2014/11/28,62,10.4.3 虚拟专用网络,中科院大学 授课教师:鲁士文,2014/11/28,63,10.4.3 虚拟专用网络,R1有两个物理接口,接口0连接到单位网络1。接口1连接到一个大的因特网,它也是所有不与转发表中的比较具体的登录项匹配的所有流量的缺省出口。此外,R1还有一个虚拟接口,它是通往隧道的接口。假定R1从网络1接收到一个分组,它包含的目的地址是网络2中的一个地址。转发表说,这个分组应该在虚拟接口0上送出。为了在这个接口上发送一个分组,路由器取这个分组,加上前往R2的一个IP头,然后开始转发分组,就像它被刚刚收到那样。R2的地址是11.0.0.1;由于这个地址的网络号是11,不是1或2,发送给R2的分组将在缺省接口上转发进因特网。,中科院大学 授课教师:鲁士文,2014/11/28,64,10.4.3 虚拟专用网络,一旦分组离开R1时,它对外部世界看起来就像一个常规的前往R2的分组,并相应地被投递。在因特网中的所有路由器都使用常规的手段对它进行转发。当R2接收到该分组时,它发现它运载了自己的地址,因此它除去IP头,察看分组载荷。它发现的是一个内部IP分组,其目的地址在网络2中。现在R2就像对待收到的任何其它IP分组那样处理这个分组。由于R2直接连接到网络2,它在那个网络上转发该IP分组。前面的插图还示出了通过该网络时分组封装的改变。虽然R2在起一个隧道端点的作用,但并不阻止它执行一个路由器的常规功能。例如,它可以接收一些非隧道传送的分组,但那是目的地址指向它知道如何到达的网络的分组,并且它用通常的方式转发它们。,中科院大学 授课教师:鲁士文,2014/11/28,65,10.4.3 虚拟专用网络,在这里,为什么要找建立隧道并且通过因特网时还要改变封装的麻烦呢?一个理由是安全性。辅以加密,就可以把一个通过公用网络的隧道变成一种非常专有性的链路类型。另一个理由可能是R1和R2具有某些在中介网络中没有广泛提供的功能,比如说组播路由选择。通过使用隧道连接这些路由器,人们可以建立一个虚拟网络,使得其中具有这种功能的所有路由器看起来都是直接互连的。事实上MBone(组播主干)就是这样建立起来的。第三个理由是建立隧道通过IP网络运载来自非IP协议的分组。只要在隧道任一端的路由器都知道如何处理这些非IP分组,IP隧道在它们看来就像一条点到点的链路,可以在其上发送非IP协议分组。,中科院大学 授课教师:鲁士文,2014/11/28,66,10.4.3 虚拟专用网络,隧道还提供一种机制,让人们强制把一个分组投递到一个特别的地方,尽管原先的头(封装在隧道头的内部)可能表示要去另外一个地方。事实上,在移动主机中就有这样情况的应用。隧道是通过因特网建立虚拟链路的一种强大而又相当通用的技术。MPLS也是建立隧道的一个途径,因此,这使得它适合建立各种类型的VPN。 如果一个隧道分组在从Ru传输到Rd的过程中遵从逐跳通路,我们就称它是在一个逐跳路由隧道中,该隧道的发送端点是 Ru,接收端点是Rd。如果一个隧道分组通过一个不是逐跳通路的通路从Ru传输到Rd,我们就称它是一个显式路由隧道,其发送端点是 Ru,接收端点是Rd。例如,我们可以把一个分组封装在一个采用源路由的分组中,从而通过一个显式路由隧道发送分组。,中科院大学 授课教师:鲁士文,2014/11/28,10.4.3 虚拟专用网络,可以把一个隧道实现成一个LSP,不是使用网络层封装,而是使用标记交换促使分组通过隧道传输。这样隧道将是一个LSP 这里的R1是隧道的发送端点, Rn是隧道的接收结点。我们把这种隧道称作LSP隧道。通过LSP隧道发送的一组分组组成一个FEC,在隧道中的每个LSR都赋给该FEC一个标记。把一个特别的分组分配给一个LSP隧道的标准是在发送端点跳段上的一个本地选择。为了 把一个分组送进一个LSP隧道,发送端点把用于该隧道的一个标记推进标记栈,并把所形成的标记分组发送到在隧道中的下一跳段。如果隧道的接收端点不一定能够确定它接收的哪个分组来自于该隧道,那么标记栈在隧道的倒数第二个LSR处弹出。,中科院大学 授课教师:鲁士文,67,2014/11/28,10.4.3 虚拟专用网络,逐跳路由LSP隧道在发送端点和接收端点之间实现成逐跳路由LSP的隧道。显式路由LSP隧道是在发送端点和接收端点之间实现成显式路由LSP的隧道。考虑一个LSP。假定R1接收无标记分组P,把一个标记推进它的标记栈,使它遵循这个通路,这实际上是一个逐跳通路。再进一步假定R2和R3不是直接连接的,而是借助是一个LSP隧道的端点成为邻居。因此P实际通过的LSR序列是 。当P从R1向R2传输时,它有一个深度1的标记栈。交换标记的R2确定P必须进入隧道。R2首先用一个对R3有意义的标记替换输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论