1、1,第七章 IP路由和标记交换,IP路由过程(路由器处理IP),2019/9/30,2,IP路由表及网络掩码,2019/9/30,3,最长匹配规则地址聚集要求路由器按照最长匹配规则选择路由。如果同一个网络广播了多个前缀(掩码),则路由器必须使用那个较长的子网掩码。(P116例子) 无类域间路由(Classless Interdomain Routing,CIDR)分配原则:为用户分配一块连续的地址空间,含2n个IP;屏蔽码低n位为0,32-n个高位为1。要求多个网络的IP的若干高位相同。 变长子网掩码(VLSM)如书中例子,3个子网用同一掩码是不可行的。这时每个子网可使用不同的掩码。但路由器产
2、品需支持不同子网掩码。见下图。,2019/9/30,4,2019/9/30,5,重负荷的IP路由子网操作的应用,加重路由器运作的复杂性。同时随着互联网的增长,路由器需要维护更大规模的路由表。大量的地址和掩码可能导致路由器瘫痪。一个网可配不同的子网掩码,路由器检查表时开销变大。 路由表修剪规则: 规则1:剪除那些经过掩码操作,目的地址与数据报的目的地址(17216866)不匹配的路由表项。因此,每个路由表项中的路由掩码都要作用于数据报的目的IP地址和路由表项的目的地址。规则2:在路由表中保留具有最长掩码(即最精确的掩码)的路由表项。在最长匹配之后,本例中只剩下2条路由表项。如果有多条路由表项保留
3、下来,则采用的路由取决于度量或者网络管理员的策略。,2019/9/30,6,源路由源路由机制是路由算法的一部分。源路由允许上层协议ULP指定IP节点如何为数据报选择路由。指定一串数据报到达目的地过程中途经的IP节点。如图710所示,IP首先利用指针找到源路由字段中的下一个地址。然后根据这个地址进行路由选择。第2步,IP将自己的地址写入源路由字段中当前目的地址的位置。第3步,它将指针向前移动一个位置,使下一个IP模块可以取得路径中的下一跳地址(或者是最终目的地址)。 路由和标记交换的比较详见书P122123比较图。标签(tag):整体进行运算,许多操作可由硬件完成,提高处理速度。,2019/9/
4、30,7,标记交换 标记的定义标记是协议数据单元(protocol data unit,PDU)首部中的定长而比较短小的字段。它不具有拓扑意义,即不能标识网络或者网络组件(如主机)。它也不具有地理上的意义,例如不能标识区域或区域内的枢纽。再者,它不具备分层结构。例如,它不能标识网络中的子网或者子网内的主机。总之,标记就是一个简单的数值。标记用于数据通信已经有很多年的历史。最早的例子也许是在X.25分组上添加的标记,称为逻辑通道号(logical channel number,LCN);另一种标记应用于帧中继,被称为数据链路连接标识(data link connection identifier
5、,DLCl)。ATM也利用标记。ATM标记称为虚拟路径ID虚拟通道ID(VPIVCl)。,2019/9/30,8,标记交换:转发与控制转发操作:利用数据报首部中的标记来搜索交换表LS。表中不仅包含转发操作所需的所有信息,而且指定完成该操作所需的资源。控制操作:标记交换的控制操作负责路由信息的分发以及将路由信息转换成每个节点内的交换表。可以使用如OSPF和BGP之类的常规路由协议,但还不足以支持LSR间的信息交换和关联建立。另一方案可为标记分发另建协议作为OSPF等的补充。控制模块必须产生一定的信息,以支持标记的本地关联和远程关联。本地关联要求LSR创建并指派该关联,然后在本地存储。远程关联把信
6、息传递给其他LSR或从其他LSR接收。上游节点就是最初发送信息的节点,下游节点就是接收信息的节点。(标记最长24bit),2019/9/30,9,创建标记关联方法1:由信令等控制信息发起,如ATM Q.2931信令可在上游节点和下游节点间发起一次关联操作。RSVP亦可。方法2:只利用进入LSR的分组流。 边界设备的作用对于标记交换,边界设备既执行传统的数据报转发(路由),也执行标记转发(交换)。因此,边界设备接收不携带任何标记信息的传统分组,然后判断这些分组是否需要标记操作。如果这些分组适合标记操作或者下一个接收这些分组的节点是LSR,则边界设备需要创建边界关联。,2019/9/30,10,分
7、类方法 Yankee小组定义了四种交换方法:流分法:将一长串的数据报(流)导入ATM主干网上的一个快速ATM接口,而不是慢速的基于IP/ROUTER的网络。 从第三层映射到第二层:也是基于流的。但它不一定映射到ATM,可为帧中继等。(基于软件的方法) 基于路由服务器(MPOA等):基于硬件的(单独处理器),将IP 地址映射到2层地址或标记。 第三层交换(或分布路由法):在缓存协助的路由后,分布路由,在每个接口模块上都有一个单独的处理器(如ASIC)。路由表由中心处理器计算得到,但不负责转发工作。接口处理器从中心下载路由表,转发数据报。(可达到线速交换),2019/9/30,11,逻辑子网LIS
8、在ATM和AAL5之上封装IP数据报和ATM地址解析协议(ATMARP)数据的方法。用ATM替代传统网而形成。 LIS包括主机以及其中的路由器。这意味着不同子网内的IP主机由一个公共的ATM网络连接起来。所有LIS通过同一个ATM网络通信,但每个LIS仍然是独立的。通信通过IP路由器进行,IP路由器作为ATM网络的端点而连接ATM网络和若干个LIS。RFCl577要求不同IP子网内的主机必须通过一个中介路由器进行通信,因此主机间不能使用单独的ATMVC通信。即使两台IP主机可以通过ATM网络直接建立虚拟通道,以上规则也必须遵守。 尽管如此,RFCl577规定IP节点使用ATMARP获得对方的地
9、址,以便互相通信。因为ARP是为广播式局域网设计的,ATMARP使用ARP服务器,该服务器将IP地址映射为ATM地址(即到达相应LIS的ATM地址)。,2019/9/30,12,操作规则: 所有IP成员(包括主机和路由器)直接与ATM网络相连。 所有成员必须使用相同的IP网络/子网号以及地址掩码。 访问本LIS之外的其他成员只能通过路由器进行。 所有成员都能利用ATMARP将IP地址映射为ATM地址。 所有LIS成员必须能够通过ATM访问本LIS内的其他成员(这意味着所有连接拓扑是 网状的)。 必须能够为PVC和SVC做地址解析。与ATM网络连接的每台“主机必须具有一个ATM地址(就是这台主机
10、的ATM地址)和一个ATMARP请求地址。后者是本LIS内的ATMARP服务器的ATM地址,该服务器可以解析IP和ATM地址,而且必须能够为LIS内的所有IP成员解析所有的ATMARP请求。另外,所有操作必须支持RFCl483定义的IEEE 8022LLCSNAP封装操作。,2019/9/30,13,IP交换标记交换分:IP交换,标签交换,信元交换路由器技术基本思想:先寻路,后交换 IP交换:一种利用IP和高速ATM交换机的实现技术。由IP交换控制器和ATM交换机构成。利用标准ATM硬件,但完全改变其控制软件,即清除掉AAL-5之上的ATM信令、仿真服务器或ARP服务器,而用一个通用交换管理协
11、议GSMP来代替ATM软件,使IP交换控制器具有访问交换机硬件的能力。(见P130图)IP交换控制器是一个高性能的处理器,它运行具有扩展功能的标准IP路由器软件,用来对硬件进行操作,也执行传统的IP路由和转发操作。扩展功能:FMP流量管理协议,处理流在ATM虚通路中的传输;流的分类器:用来决定是否对流建立ATM连接,支接进行交换;通用交换管理协议:控制ATM硬件。,2019/9/30,14,IP交换定义了两种类型的流。主机组流:使用源IP地址、目的IP地址以及生存期TTL标识一个流。端口组流:指源端口、目的端口、源IP地址、目的IP地址、服务类型、协议以及TTL相同的数据报。根据数据流类型,来
12、安排交换或路由(如:文件传输数据可能被交换,DNS可能被路由)。在系统启动时,该交换机(IP交换控制器)和其相邻的交换机间建立默认VC(VPI=0/VCI=15),用以在交换机间以逐跳的非连接方式转发IP数据报。因此,IP交换控制器拥有转发IP分组的能力。ATM端口接收到默认虚通路的信元,重新组装成IP分组,并传送到交换控制器。控制器一方面以标准的IP方式进行转发,同时它还根据分组头标的值完成一个流的分类,以确定属于同一流的后继分组在ATM硬件内是直接交换还是继续被IP控制器逐跳转发。,2019/9/30,15,FMP操作(见P131图)如果交换控制器决定对一个流进行直接交换,它在分组接收端口
13、的标记空间选一空闲的标记VCI=X。同时,控制器从控制端口选一空闲的标记VCI=X。ATM交换机的交换驱动器把X映射到X。当控制器在接收端口的翻译表中建立该流的表项后(由GSMP完成),它向发出该分组的上游节点发送一FMP重定向报文,报文含Lable,流ID和有效时间。当上游节点接收到FMP重定向报文时,完全依本地情况来决定认可否,如认可,则属该流的后继分组都走VCI=X虚通路。当每一个链路的流的标记过程独立进行时,下游节点也很有可能决定对该流进行直接交换,从而会向它的上游交换机(本机)送重定向报文(VCI=Y,端口J),如认可,则属该流的后继分组都走VCI=Y虚通路。当IP交换机的上、下游链
14、路都对一个流进行重定向时,IP交换机通过ATM硬件把X映射到Y,建立该流的ATM直接虚通路。属该流的后续分组就不再经IP交换控制器储存转发,而通过ATM硬件直接进行交换。,2019/9/30,16,通用交换机管理协议概述(GSMP) 交换机端口以32位的端口号表示。交换机分配端口号,并将这32位分为若干子域,而这些子域与交换机的物理结构相对应(例如架、槽和端口)。一般说来,位于交换机上同一物理位置上的端口总是具有相同的端口号。端口号的内部结构对GSMP协议透明。每个交换机端口还拥有一个由交换机指定的端口会话号(portsessionnumber)。携带错误的端口会话号的连接管理报文或端口管理报
15、文会被拒收。这样控制器可以检测到链路故障并保持状态信息同步。只要端口处于可用状态而且链路处于运行状态,端口的端口会话号就保持不变。但是当端口从不可用状态或回送(100pbaek)状态返回可用状态时,或者当链路从关闭 或测试或掉电状态返回运行状态时,端口的端口会话号就会发生变化。端口会话号一般应该利用某种随机数指定。,2019/9/30,17,GSMP还包含一个邻接协议(adjacency protoc01)。该协议可以同步不同链路的状态信息,识别链路另一端实体的标识以及监测该标识的变化。 GSMP分组是变长的,直接通过AAL-5CPC_PDU和LLCSNAP首部封装。利用LLCSNAP封装的报
16、文使用的默认虚拟通道是:VPI=0,VCI=l5GSMP是一个主从式协议。控制器向交换机发出请求报文。该请求报文指示交换机是否需要回送响应报文,而且其中包含一个用于将响应报文与请求报文匹配起来的事务标识号。交换机通过响应报文表示操作成功或失败。 GSMP请求-响应报文共有4类:连接管理、端口管理、统计和配置。另外,交换机还可以产生异步的事件报文以便向控制器报告异步事件。控制器对事件报文不予确认。除此之外还有一种邻接协议报文,用于在不同链路间建立同步以及保持握手状态。对于以上所有的请求-响应报文,每种报文类型对请求报文和成功响应报文的格式都有特定要求。除非特别指明,失败响应报文与导致失败的请求报
17、文基本相同,只是代码字段需要指示失败的性质。事件报文只有一种格式,而且它们无需控制器确认。除了邻接协议报文,在邻接协议取得同步之前,任何GSMP报文都不能在链路上发送,从尚未达到同步的链路上接收的所有GSMP报文将被丢弃。,2019/9/30,18,标签交换包含:转发和控制组件。转发组件利用分组携带的标签信息和由标签交换机维护的标签转发信息转发分组。 控制组件负责在一组互联的标签交换机间维护正确的标签交换信息。 转发组件:标签交换通常需要形成一个标签交换网(含标签边缘路由器,标签交换机,标签散发协议TDP) 标签交换使用的转发操作以标记交换(label swapping)为基础。当携带标签的分
18、组到达标签交换机时,交换机利用该标签在标签信息库(Tag lnformation Base,TIB)中查找。TIB的每项包括一个输入标签,若干类似的子项(输出标签、输出接口、输出链路信息)。如果交换机发现分组携带的标签与表中某项的输入标签吻合,则它将该分组的标签替换为输出标签。如果合适,它还将分组内的链路信息(如MAC地址)替换为(表中的)输出链路级信息,然后将分组转发到输出接口。,2019/9/30,19,转发操作以精确匹配算法为基础,该算法利用定长的短标签为索引。与网络层传统使用的最长匹配转发算法相比,这种转发算法更简单。由于简单,这种算法可以采用硬件实现。转发算法与标签的转发粒度无关。例
19、如,相同的转发算法同时适用于单播和组播单播表项只有一条子项(输出标签、输出接口、输出链路信息),而组播表项包含若干子项(输出标签、输出接口、输出链路信息)(对于支持组播的链路,这种情况下的输出链路层信息可能包括一个组播MAC地址)。 控制组件:与转发操作分离。 标签封装:标签信息在分组中的携带方式有以下几种:在第2层和第3层首部之间插入一个小而“薄”的标签首部。作为第2层首部的一部分(若第2层首部提供了足够的语义支持(如ATM)。作为3层首部的一部分(例如利用pv6的流标识字段)标签转发组件独立于第3层。只要使用针对不同协议设计的控制组件就可以在不同第3层协议上使用标签交换。,2019/9/3
20、0,20,控制组件:控制组件负责创建标签关联并在标签交换机之间分发标签关联信息。控制组件由一组模块组成,每个模块支持一种特定的路由功能。需要支持新的路由功能时可以增加新的模块。 下面就介绍其中一些模块:基子目标的路由:为使得标签交换支持基于目标的路由,标签交换机(正如路由器一样)必须参与路由协议(例如OSPF、BGP),然后根据从这些协议获得的信息构造标签转发信息库TFIB。标签分配和TFIB管理有3种方法:1。下游标签分配;2。按需下游标签分配; 3。上游标签分配。 这三种方法都是由交换机分配标签并将标签与TFIB的地址前缀关联起来。在下游标签分配法中,分组携带的标签由处于链路下游端(相对数
21、据流方向)的交换机创建,并由它,2019/9/30,21,负责将标签与地址前缀关联起来。 在上游分配法中,标签由链路上游端的交换机分配和建立关联。按需分配意味着只有在上游交换机的请求下下游交换机才会分配并发布标签。后一种方法在ATM网络中最为有效,例如在Q.2931连接建立操作过程中。下游标签分配方案的过程如下:交换机为TFIB中的每条路径分配一个标签,然后在TFIB中新建一项,其输入标签就是新分配的标签,随后将这种输入标签与路径之间的关联关系广播给临近的标签交换机。当标签交换机接收到一条路径的标签关联信息时,如果该信息由该路径上的下一节点产生,交换机将标签(包含在标签关联信息中)写入与该路径
22、相应的TFIB表项的输出标签字段中。这样就创建了输出标签和该路径的关联关系。对于按需下游标签分配方案,交换机首先提取TFIB表中每条路径的下一跳地址。然后交换机向下一节点发出请求(通过标签分发协议TDP)。接收到请求以后,,2019/9/30,22,下一节点分配标签,在TFIB中新建一项并将其输入标签字段设置为新分配的标签,然后将标签与路径之间的关联关系返回给发出请求的交换机。在接收到关联信息以后,(上游)交换机在TFIB中新建一项,将该项的输出标签字段设置为从下一节点得到的标签值。上游标签分配法的原理如下:如果标签交换机拥有若干点对点接口,则交换机首先从 TFIB中选出那些下一节点可以通过点
23、对点接口到达的路由项,然后交换机为每条这样的路由 分配一个标签,在TFIB中新建一项并将输出标签字段设置为新分配的标签,随后又将这种标 签和路径之间的关联关系广播给下一节点。当作为下一节点的标签交换机接收到标签关联信 息时,交换机将该标签(包含在关联信息中)写入该路径相应的TFIB表项的输入标签字段。,2019/9/30,23,当TFIB表项的输人标签和输出标签宇段都被填充时,标记交换机就可以利用标签交换转发算法转发该路径上的分组。 当在输出标签和路径之间建立关联时,标签交换机还需利用这种关联更新TFIB。对于自己可以到达的每条路径,标签交换机会尽量利用这些路径的输入标签和输出标签填充自己的T
24、FIB,这样所有的分组都可以通过简单的标签交换转发。因此标签分配由拓扑 (路由)驱动,而不是数据流是因为TFIB表项的存在而导致标签分配,而不是数据分组的到达。 将标签和路径,而不是流关联起来还意味着无需进行流分类操作,无需为每个流分配一个标签。组播 组播的关键是生成树的概念。组播路由操作负责构造这样的生成树(叶子就是接收方),而组播转发负责按照生成树转发组播分组。 为使标签交换支持组播转发,每台标签交换机按照如下方式将标签与组播树关联起来:,2019/9/30,24,当标签交换机新建一条组播转发表项(在一共享树或固定源的树),并为该表项建立一输出接口列表时,交换机还创建本地标签(每输出口一个
25、)。交换机为每个输出接口在TFIB表中新建一项,然后将这些信息(输出标签,输出接口,输出MAC首部)填入表中,其中输出标签字段就是刚创建的本地标签。这样组播树与标签间就建立了关联。随后交换机将向与此项有关的所有输出接口,广播标签和组播树间的关联关系。 当标签交换机从其他交换机得到组播树和标签之间的关联关系时,如果其他交换机是上游邻居(相对于组播树而言),本地交换机将关联中的标签写入与该组播树相应的TFIB表项的输入标签字段。 当一组标签交换机由一个支持组播的子网互联起来时,这些交换机的标签分配操作必须加以协调。其他情况下的组播标签分配过程与基于目标的路由使用的标签分配方法相同。,2019/9/
26、30,25,灵活路由(显式路径) 基于目标的路由的一个明显特征是:用于转发分组的分组信息只有目的地址。虽然这种特征支持可扩展路由,但是它同时也限制了控制分组实际采用的路由的能力。这种限制反过来又影响了在不同链路均分负载的能力,也就是将负载从高利用率的链路分流一部分到利用率低的链路。对于支持不同服务类型的Intemet服务提供商(ISP)来说,基于目标的路由也限制了在不同链路上分配不同类型的服务的能力。当前一些ISP利用帧中继或ATM来克服基于目标的路由的这一缺陷。由于标签的粒度可变,所以标签交换可以解决这些限制而无需使用帧中继或ATM技术。 为了在由基于目标的路由选定的路径之外的路径上提供转发
27、能力,标签交换机的控制组件允许在其他交换机(即位于基于目标的路由选定的路径之外)上建立标签关联。,2019/9/30,26,标签交换与ATM 由于标签交换(tag switching)基于标记交换(label swapping),而ATM转发也是基于标记交换,因此可以通过实现标签交换的控制组件而把标签交换技术应用于ATM交换机。标签交换所需的标签信息可以在VCI字段中传输。如果需要两级标签,则还可以使用VPI字段,但是VPI字段长度对网络规模的限制可能使这种做法变得不实际。但是,对于大多数只需一级标签的应用来说,VCI字段就已经足够了。为了获得足够的控制信息,交换机必须参与第3层的路由协议(例
28、如OSPF,BGP)。如果交换机需要执行路由信息聚集以支持基于目标的单播路由,则交换机还必须负责一部分数据的第3层转发操作。如果需要在ATM交换机上支持(标签交换的)基于目标的路由功能,则交换机需要为一条路由(或者是下一跳地址相同的一组路由)维护多个(而不是一个)标签。,2019/9/30,27,因为本交换机可能从不同的上游标签交换收到许多分组,然后又被同时发送给同一个下游节点,这些不同的标签可以防止在这些分组间产生混淆。按需下游标签分配和上游标签交换方法都可以作为ATM交换机的标签分配和TFIB维护方法。因此,ATM交换机可以支持标签交换,但它至少需要实现第3层路由协议和标签交换控制组件。它
29、可能还需要支持某些网络层转发功能。 在ATM交换机上实现标签交换可以简化路由器和ATM交换机的融合过程一台支持标签交换的ATM交换机对相邻路由器来说就是一台路由器。,2019/9/30,28,服务质量(Qos) 如果需要为经过路由器或标签交换机的分组提供Qos支持,则路由器或交换机必须实现以下两种机制:首先,分组被标识为不同的类型。其次是为每种类型的数据流提供适当的Qos(带宽、丢失率等)。 在最初对分组进行分类以后,标签交换提供了一种方法,可以标记分组所属的特定类型。最初的分组分类操作是利用第3层或更高层的信息进行的。然后路由器或交换机根据分组所属的类型给分组打上特定的标签。这样,带有标签的
30、分组就可以直接由路径上的标签交换路由器处理,而不用重新分类。 标签交换操作实例:见P136-140,2019/9/30,29,信元交换路由器信元交换路由器CSR既支持传统的IP数据报转发也支持信元交换。CSR还可执行ATM信令操作。 在由CSR组成的ATM网络中,基于VPIVCI的信元交换不进行数据报的分段重组以及IP首部的处理,这是由CSR的作用决定的(例如需要一定带宽和QOS保证的通信)。另外,CSR也可以根据IP首部进行传统的逐跳数据报转发。在相邻的CSR间或CSR与相邻的、位于ATM网络上的主机路由器之间,CSR定义了两种不同的ATMVC(如图P141):-默认VC是一条通用VC,由那
31、些采用传统的逐跳IP路由的数据报使用。从该VC到达的信元将被重组成IP数据报,然后按照IP首部进行相应处理。在传统IP模型中建立的VC就属于此类。,2019/9/30,30,-专用VC由某些特殊的IP使用,这些IP由目的IP地址端口、源IP地址端口,或者IPv6流标识指定。一条专用VC可以和承载同一IP数据流的其他专用VC连接起来,从而组成一条专供这些P数据流使用的ATM旁路管道(直通路径)。旁路管道是根据流建立的,它绕过了传统的IP转发过程。如图P141所示,主机A在每个IP数据报中检查特定的标识符。标识符可能是(1)源目的IP地址,(2)源目的IP地址,(3)源目的IP地址和源目的端口,(
32、4)IPv6源IP地址和流标识等。如果标识符指示数据报应该发往ATMVC,则数据报就被导人该VC,同时利用AAL将IP数据报封装成ATM信元。,2019/9/30,31,CSR检查信元的VPIVCI。如果它们与ATM交换表的某项匹配,则这些信元就被直接转发到相应的输出ATM接口。如果在表中未找到匹配,或者匹配的表项中输出端口不是ATM接口,则使用传统的IP路由操作进行转发。图P142显示了CSR如何处理默认和专用VC。属于默认VC的IP数据报由AAL和IP转发模块处理。在接收端,IP数据报的各分片必须由AAL重组,而在发送端又必须由AAL分段。 对于专用VC来说,数据报在旁路管道里直接通过CS
33、R。,2019/9/30,32,CSR的主要特性 CSR和下一跳解析协议(NextHopResolutionProtocol,NHRP)都可以透过IP子网边界提供直接的ATM级互联,但是这两种基于CSR的体系结构之间也存在几点差异。 NHRP必须在ATM云团上管理两套不同的路由协议:网络层操作和ATM操作。在CSR内,IP层路由(模块)选择ATM云团的出口以及子网间路径上的所有CSR。而ATM层路由(模块)选择子网内相邻节点间(CSR或与ATM相连的主机路由器)的ATMVC。由于路由的功能从级别上可分为子网间层次(路由器级别)和子网内层次(ATM交换机级别),ATM路由无需在整个ATM云团上进
34、行,而只需在相互独立的单个IP子网内进行,这样就大大减少了ATM路由协议处理所需的信息量。,2019/9/30,33,当相应的四层路由信息改变时,基于CSR的网络可以动态修改旁路管道的路径。路由发生变化时旁路管道无需拆除或完全重新建立,因为与IP路由变化相关的中间CSR能够跟踪这些变化并据此修改相应旁路管道的路径。 对于任何控制协议序列,CSR都能保持子网间的互联,而且能够在不修改现有ATM上的IP组播路由或其他组播路由技术的情况下支持组播旁路管道。 另外,由于CSR可以处理逐跳传输的RSVP报文,因此在RSVP和旁路管道控制协议的配合下它还可以支持旁路管道的QOS要求。,2019/9/30,
35、34,流属性通知协议CSR使用一种流属性通知协议FANP的标记分发协议。 FANP报文通过ATM云团在LIS间(及LIS中的路由器)传输。 MPOA(自学) 多协议标记交换 MPLS:进出标签交换 网,分别添或除标签。,2019/9/30,35,MPLS的基本原理MPLS(Multi-Protocol Label Switching)继承发扬了TAG交换的基本思想,并由IETF进行标准化,其目的是为了提高网络设备的性能价格比,改善网络层转发处理能力。多协议标记交换不但能支持IPv4,还能支持其他多种网络层协议(如IPv6,IPX,Appletalk,DECnet)。MPLS好比是一个很薄的垫片
36、(shim-layer),处于OSI模型中的第二层和第三层之间,为IP网络提供了面向连接(基于标记)的交换,它的工作机理如下: 为数据流加上标记(label); 用短而固定长度的标记来识别流,简化转发处理; 在某些情况下,MPLS直接利用第二层交换,如链路层是ATM网络或帧中继: 采用标记分发协议(LDP),使MPLS节点为每个流加上标记; 支持传统的路由协议。,2019/9/30,36,MPLS引入了转发等价类FEC(Forwarding Equivalence Classes)的概念,所有需要相同转发处理、并转发到相同下一中继点的分组属于同一转发类。在传统的IP转发坤理中,一个路由器会把符
37、合最长匹配的具有相同网络前缀的目的地址的分组看成是属于同一个转发类,而到了另一个节点,那里的路由器又要重新选择分组所属的转发类。而MPLS在分组进入网络时就将分组划入某一个转发等价类FEC,并赋予一个短而固定长度的标记,这个标记随同分组一起转发到下一个中继点。在随后的中继点上,不再需要分析分组的头标,取而代之的是用标签作为索引在路由表中寻找下一个中继点, 并用新的标记取代老的标记。在MPLS转发处理中,一旦分组被划入某一个转发类,在随后的转发节点上不需要分析分组的头标,所有的转发由标记决定。,2019/9/30,37,如图下图所示。分组在MPLS网络的边缘设备上被分类归属于某一个FEC,并在分
38、组头前插入一个MPLS头标,当核心标记交换路由器LSR收到加有标记后的分组后,它用标记作为索引去查找路由转发表,这种查找方法比IP寻路中的最长匹配查寻算法要快得多,分组在转发前,MPLS头标中的入口标记A被置换成出口标记B,随后被转发到下一个LSR。这种转发过程有点类似于ATM信元的VPI/VCI处理。,2019/9/30,38,标记的定义MPLS在第2层头标和IP头标之间插入一个被称作“shim header” 的MPLS头标,头标的长度为32bits,其中高20位是标记域,如图所示。因此,MPLS被称作第25层协议。MPLS头标在ATM网络中的使用与其他网络有所不同,采用ATM交换的MPL
39、S标记交换机可以将ATM信头的VCIVPI作为标记使用,而在适配MPLS路由器上采用ATM接口时,有多种方法,其中一种方法是在AAL5帧的前面插入MPLS头标。在传统的IP转发中,为防止寻路出现闭环,每一个分组在它的分组头标上携带了一个生存时间TTL值,分组每经过一个路由器,TTL值都会被减一,如果TTL值为0,分组就会被丢弃。除了防止寻路出现闭环外,TTL还在寻路跟踪(traceroute)和组播中起着一定的作用。,2019/9/30,39,在MPLS网络中如果采用“Shim”标记头标,由于头标含有8比特的TTL域,当分组进入MPLS网络时,边缘设备在分组的第二、三层之间加标记头的同时,也将
40、TTL值从分组头中拷贝过来,并同样在每经过一个LSR时,标记头上的TIL值减一,当分组离开MPLS网络时,再将TTL值拷贝到分组头上。如果MPLS网络采用第二层头标中的某些识别符作为标记(如ATM网络中的VPI/VCl),则网络执行的是第二层的交换,而在第二层的头标中不包含TTL域,因此,不可能在途径每一个LSR时将分组头的TIL值减一。由一系列lSR组成的、不能对分组头上的TTL值减一的一段LSP(Label SwitchedPath)被称为“无生存时间的LSP段(non-TTL LSPsegment)” 。在单播情况下,分组在进入无生存时间LSP段时入口节点可根据网络的拓扑结构推算出分组要
41、经过的节点数,然后从分组头上的TTL值减去要经过的节点数。,2019/9/30,40,2019/9/30,41,对于某些分组,也许在无生存时间LSP段的途中就可能出现分组的生存期满,对于这冲分组,无生存时间LSP段的入口节点处就不能用标记交换来处理这些分组,而应该采用传统的逐跳(HOP by HOP)转发处理,以支持寻路跟踪功能。 标记分发协议LDP 能够用标记进行快速交换的关键在于MPLS网络中存在着用网络层路由协议建立的标记通道机制。MPLS规定了沿着IP寻路协议确定的路径自动建立标记通道的协议,即标记分发协议LDP(LabelDistribution P)。LDP由一组规程组成,通过这些
42、规程,LSR能够向另一个LSR通知它所做出的标记FEC绑定决定。用LDP来交换标记FEC绑定信息的两个LSR称为“标记分发对等实体(LabelDistributionPeers)”,它们使用LDP报文获取另一个实体的标记映射信息。,2019/9/30,42,LDP报文有以下4类:(1)发现报文(DiscoveryMessages),用于通告和维护网络中某个LSR的存在。(2)会话报文(Session Messages),用于建立,维护和终止两个对等LDP实体的会话。(3)公告报文(AdvertisementMessages),用于建立、修改和删除标记与FECDE的映射关系。(4)通知报文(No
43、tification Messages),用于提供劝告信息和错误信息。,2019/9/30,43,发现报文在网络中提供了LSR宣布存在的机制,LSR周期性地用UDP协议向子网上所有路由器组播Hello报文,当某个LSR要通过Hello报文与另一个LSR建立会话时,它采用TCP传输建立LDP初始规程,待初始规程成功后,两个LSR就成了LDP对等实体,可以交换公告报文。 向个对等实体请求一个标记或通知一个标记映射关系是由一个LSR局部决定的。一般来说,当一个LSR需要时,它向邻接的LSR请求一个标记映射关系,而当它希望邻接LSR使用这个标记时,它就向邻接LSR通知这个标记的映射关系。 为了保证LD
44、P的可靠性,LDP使用TCP协议传输会话、公告和通知报文,但发现报文则采用UDP传输。 在MPLS体系结构中,一个EEC与标记的绑定关系由下游LSR决定,然后再通知上游LSR,因此标记的分配是由“下游分配的(Downstream-Assigned)”。,2019/9/30,44,如图下图所示,在一个MPLS网络中,首先利用传统的路由协议OSPF建立路由表;然后再根据下游分配原则,利用LDP协议在LSR之间交换标记信息,建立带有标记的路由表;当分组到达MPLS的边缘设备时,根据其目的IP地址划分所属的转发等价类,插入带有标记的MPLS头标,转发到下一个LSR;在核心LSR,只需根据MPLS头标上的标记查找分组的出口和出口标记,并继续转发,直到另一个边缘设备上(即MPLS网络的出口),分组在离开MPLS网络时,分组头前的MPLS头标被剔除。当底层是ATM时,标记通道原封不动地换成虚通路。适配MPLS的ATM交换机利用LDP互相通报目的网络及其对应当虚通路标识符。在将通常的ATM交换机组合时,利用独立于IP层协议的ATM层寻路协议建立虚通路。,2019/9/30,45,