1.48k likes | 1.61k Vues
第 7 章. MPLS 与服务质量控制. 7.1 标记交换原理. 7.1.1 标记交换的概念 标记交换就是根据入分组中的“标记”检索交换机内部的转发信息库,使用转发消息库给定的出口信息完成该分组的转发 。 所谓“标记”就是一个短且长度固定的数字, 且只具有本地意义 。. 7.1.2 标记交换的特点. 标记交换的最大特点便是面向无连接的业务。 标记交换还是一种支持多协议的技术 图 7.1 标记交换的多协议. 7.1.3 标记交换中的几个基本概念. 标记交换路由器( LSR ):具有标记交换能力的路由器。它是标记交换的基本构成单元。
E N D
第7章 MPLS与服务质量控制
7.1 标记交换原理 7.1.1 标记交换的概念 • 标记交换就是根据入分组中的“标记”检索交换机内部的转发信息库,使用转发消息库给定的出口信息完成该分组的转发。 • 所谓“标记”就是一个短且长度固定的数字,且只具有本地意义 。
7.1.2 标记交换的特点 • 标记交换的最大特点便是面向无连接的业务。 • 标记交换还是一种支持多协议的技术 • 图7.1 标记交换的多协议
7.1.3标记交换中的几个基本概念 • 标记交换路由器(LSR):具有标记交换能力的路由器。它是标记交换的基本构成单元。 • 标记交换通道(LSP):允许包以标记交换的方式从一个LSR转发到另一个LSR的一条路径。 • 转发等效类(FEC):以相同方法转发的一组网络层数据分组。
7.1.3标记交换中的几个基本概念 • Stream:沿着同一路径、属于同一FEC的一组分组被为一个“stream”。 • Flow:一个应用到应用的数据流称为“flow”。 • Upstream(上游)和Downstream(下游):“上游”和“下游”是根据“stream”的流向而定的。Stream是有流向的,就如同河流一样,从源到目的。这与电信中通常的“双向通信”的概念不同。从A用户到B用户的一个流与从B用户到A用户的流是完全独立的,无论是路由的选择还是标记的分配,都互不相关。
7.1.3标记交换中的几个基本概念 • 图7.2 流的上游和下游
7.1.3标记交换中的几个基本概念 • FIB(转发信息库):转发信息库用于存放下一跳的相关信息。 • 流分类:在业务流进入LSR时首先需要进行分类,也就是将业务流划分为不同的转发等效类(FEC)。
7.1.3标记交换中的几个基本概念 • 标记交换的封装:当标记交换以ATM或帧中继作为其链路层协议时,就借用ATM和帧中继的封装,标记也相应地采用VPI/VCI或DLCI。但当标记交换的链路层是FDDI、Ethernet或PPP时,因为它们原有的格式中完全不具备标记信息,必须加上额外的封装,标记交换采用的是被称为shim的格式,shim有一个或多个如图7.3所示的标记栈条目组成。
7.1.3标记交换中的几个基本概念 • 图7.3 标记栈条目 • 图7.4 标记交换的封装
7.2 MPLS的网络构成 • MPLS网络由标记边缘路由器(LER)和标记交换路由器(LSR)组成,如图7.5所示。 • 通过标记发布协议(LDP)在结点间完成标记消息的发布。LSR与LER之间、LSR与LSR之间依然需要运行路由协议(如OSPF、BGP等),它们通过路由协议来获取网络拓扑信息,并根据这些信息决定数据包的下一跳(在第3层转发时)或交换路径如何建立(在第2层转发)。
7.2 MPLS的网络构成 图7.5 MPLS网络结构
7.3 MPLS的基本概念 • 7.3.1 标记的含义 标记是用来简化用户数据传递的一个固定长度的数字。标记只具有本地意义,更确切地讲,标记只在两个相邻结点之间有意义,但相邻并不一定要存在物理连接,以虚连接相连的两个节点也可称为相邻,是否相邻与网络的层次结构和对等关系等有关。
7.3.1 标记的含义 转发等效类(FEC)用来标识一组以相同方法转发的第3层数据包,通常一个FEC对应一个标记,但有时也会对应多个标记(在不支持合并的结点处)。 MPLS在边缘一次完成到FEC的映射,映射的判据可以有多种不同的细度,就如同ARIS的出口标识符一样,可以是一个主机地址,也可以是一个CIDR前缀,甚至可以是BGP下一跳。
7.3.1 标记的含义 FEC映射判据细度被称为业务流粒度,框架协议示例了以下几种粒度: (1)单播 PQ:相同IP源地址和目的地址、相同TTL、相同IP协议、相同TCP/UDP源和目的端口号。 PQT:相同IP源地址和目的地址、相同TTL、相同IP协议、相同TCP/UDP源和目的端口号、相同TOS字段(IP头中的业务类型字段)。 HP(主机对):相同的源和目的地址(32地址)。
7.3.1 标记的含义 NP(网络对):相同的源和目的地址前缀(地址可变长)。 DN(出口路由器):相同出口路由器标识符(如OSPF)。 NAS(下一跳自治域):相同的下一跳AS号(BGP)。 DAS(目的AS):相同的目的AS号(BGP)。 (2)多播 SST(特定源的树):相同的源地址和多播组地址。 SMT(共享组播发布树):相同多播组地址。
7.3.2 MPLS的封装 • 在MPLS专用的环境中,也就是在以太网和点到点这样的链路上,采用前面所介绍的“shim”封装。shim位于第3层协议和第2层协议头之间,与两层协议无关,因而被称为通用MPLS封装。 • 通用MPLS封装包括标记栈、TTL和CoS(业务等级)等字段。
7.3.2 MPLS的封装 在ATM交换机作为LSR的环境中,仍然延用ATM的信元封装。标记栈信息也就相应地有了一定的改变。MPLS规定了3种对ATM信元头的编码: ATM SVC编码:标记栈是用VPI和VCI字段共同组成的一层标记。 ATM SVP编码:标记栈是用VPI和VCI字段分别构成的两层标记,VPI位于栈顶,VCI位于栈底。 ATM SVP多点编码:标记栈仍是由VPI和VCI组成的两级栈,但VCI只使用了原来VCI字段的一部分,VCI字段的剩余部分用来标识LSP的入口。
7.4 MPLS的层次化结构 • 对于MPLS而言,要实现层次化结构,有3项工作必须完成。 • 一是标记发布协议必须能够分层传递标记,也就是不只在直接相连的结点间传递标记,而且必须能够透过其他结点传递标记信息。 • 二是必须在数据包中传递标记栈信息,也就是说数据包必须同时携带多层标记信息。 • 三是必须让LSR知道何时使用分层标记,也就是必须配置路径的两个端结点,以便它们能够完成“换层”的处理。
7.4 MPLS的层次化结构 • 第一项和第三项工作都由标记发布协议(LDP)完成。第二项工作是在封装中引入标记栈,从上一节“MPLS的封装”的介绍可以看出,MPLS已经完成了这项工作。
7.4 MPLS的层次化结构 MPLS层次化结构的技术只适用于以MPLS特定的硬件且封装采用MPLS封装的环境。在通用MPLS封装格式中,label字段是由多个label组成的label栈,而不是FR的DLCI,或是ATM的VPI/VCI。每一级label栈对应一层的标记交换,这类似于ATM的VP级交换和VC级交换。可以说,从FR到ATM是由一级交换发展为二级交换,而从ATM到MPLS,则是从二级交换发展到多级交换。
7.4 MPLS的层次化结构 从图7.6所示的层次结构看,它与ATM的管道结构(粗管套细管)似乎相 去甚远,其实不然。MPLS采用的是标记栈的方式,那就是先进后出。若有一个数据包要从R1到R11,因为两结点间没有直达的物理连接,假定物理连接的结构为R1-R2-R3-···-R10-R11,则在R1结点需要入栈的label有两级,LSP1的label则位于栈底。在R2结点只进行LSP11的label交换之前需要先将LSP11和LSP12的label弹出。 图7.6 MPLS分层标记交换
7.4 MPLS的层次化结构 • 从栈操作的方式看,MPLS分层标记交换似乎与ATM很 不相同。但如果想象LSP1是ATM的VC级连接,而 LSP11、LSP12、LSP13、是这条VC所借助的3条VP管 道,两者的交换方式就完全相同了。 本例中LSP1之所以划分了几个LSP,其原因会有以下几种: • LSP11、LSP12、LSP13分属于不同域(Domain)。 • LSP11、LSP12、LSP13分别支持不同的路由选择协议(hop by hop 或显式路由)。
7.5 交换路径的建立 7.5.1交换路径的类型 • MPLS框架协议规定MPLS支持4种交换路径: • 点到点 • 多点到多点 • 点到多点 • 多点到多点 两个因素决定使用哪一种交换路径,一是交换机的能力, 另一个是建立交换路径的目的,也就是交换路径所要承载的业 务流类型。
7.5.1交换路径的类型 • 点到点交换路径连接入口结点和出口结点,可用于传送单播业务。因为每个入口结点到所有出口结点都有一条连接,所以连接个数会存在问题,因而网络的可扩展性较差。点到点交换路径可用于PQ、PQT、HP等粒度的业务流。
7.5.1交换路径的类型 多点到多点交换路径将所有入口结点与一个出口结点相连。MPLS域中多点到点交换路径的个数为O(n),因而它的可扩展性较强。但是,因为多点到点交换路径存在合并,合并后的路径无法保证单个业务流的服务质量,因此多点到点交换路径只为Best Effort型业务提供服务。
7.5.1交换路径的类型 • 点到多点交换路径用于发布组播数据,与用组播路由\ 协议建立的多播发布树相对应。 • 多点到多点交换路径可以用来将多个源发出的多播业 务流结合到一个多播发布树中。多点到多点交换路径就是 多播中SMT的应用,他可以让多个多播源共享一条路径。 我们假定一个多播组中有n条成员,每个成员都可以向其他 成员发布消息,那么网络就需要为这个多播组建n条点到多 点交换路径,而只需要建立一条多点到多点交换路径。因 此,多点到多点交换路径具有更强的可扩展性。
7.5.2 标记分配 建立交换路径有两个步骤,一是分配标记,二是发布 标记。 • 标记分配分为上游分配、下游分配和按需下游分配3种,这在前面部分中已经有过介绍。不论由谁分配标记,都存在如何启动其分配的问题,也就是标记分配的驱动力问题。 • MPLS结合使用了3种标记分配的驱动力:拓扑驱 动、基于请求的控制驱动和业务流驱动。
7.5.2 标记分配 • 拓扑驱动是指依靠路由协议控制业务流来驱动标记的分配,进而完成交换路径的建立。因为标记是预分配的,路径是预建立的,所以在数据到达时可以以最快的速度转发。使用拓扑驱动的技术有标签交换等。
7.5.2 标记分配 基于请求的控制驱动是指由基于请求的控制业务流驱动标记的分配过程,这种驱动方式与拓扑驱动一样具有路径预建立的优点,但比拓扑驱动耗费更多的标记资源,这种方式非常适用于有特殊质量需求的业务。基于请求的控制业务流有RSVP。
7.5.2 标记分配 • 业务流驱动的优点是可以避免不必要的标记资 源的占用,但因为业务流驱动是在业务流到达时临时交换路径和进行标记分配,所以部分数据包的转发速度会比较低,同时它还要求交换机有较高的处理能力(建立路径的同时还需要处理数据转发)。 例如Ipsilon使用的是业务流驱动的方式。
7.5.3标记发布 • 和前面所介绍的标记交换技术一样,MPLS也使用了 两种标记发布方式,即用控制报文携带和使用专用标记发 布协议。 • 虽然使用专用标记发布协议会使路由的发布和标记的 发布分离,但是因为使用控制报文存在诸如无法协商标记 的可用范围、无法处理无效的标记分配等问题。尽管如 此,框架协议并未能明确指定MPLS必须采用专用发布协 议——标记发布协议(LDP)。但不可否认的是,LDP是 MPLS的一个重要组成。
7.5.3标记发布 • (1)标记发布协议中的几个基本概念 • LDP对等:两个用LDP相互交换标记到流的映射信息的LSR被认为存在LDP对等。LDP对等有两类:本地对等和远地对等。本地对等就是两个对等之间有直接的链路连接,远地对等就是两个对等之间没有直接链路连接。而从远地对等间标记发布的层次看又可分为两种,一 是显式对等,即两个对等之间建立LDP连接;另一个是隐式对等,即两个对等之间没有LSP连接,远地对等间的标记将透过低层的对等(本地对等)传递。
7.5.3标记发布 • (1)标记发布协议中的几个基本概念 LDP会话:在LDP对等之间的交互被称为LDP会话。LDP会话是双向的。LDP用TCP保证会话间协议数据的可靠传输,并且一个TCP连接只承载一个LDP会话。
7.5.3标记发布 (1)标记发布协议中的几个基本概念 标记空间:可使用的标记范围,相当于ATM中的VPI/VCI范围。MPLS规定了两种方法划分标记空间。每个接口一个标记空间和每个平台一个标记空间。 标记空间划分主要针对于入口标记而言。 每个接口一个标记空间就是指入口标记按接口有效,不同接口可以重复使用标记,也就是前面所提到的“一个接口一个FIB”。这种标记空间的划分方法只能应用于直接相连的对等结点之间。 每个平台一个标记空间是指一个入口标记可以在多个接口间共享。这种标记空间的划分方法可以应用于隐含对等的结点之间。
7.5.3标记发布 (1)标记发布协议中的几个基本概念 LDP标识符:是一个用来标识LSR标记空间的长度为6字节的数。前4个字节是LSR的IP地址,后两个字节是该LSR中的标记空间。当按平台划分标记空间时,后两个字节的编码为0。
7.5.3标记发布 (2)标记发布过程 • LDP用四类信息完成标记的发布过程: • 发现报文:用来声明和维护网络中一个LSR的存在。 • 会话报文:用来建立、维护和终止LDP对等间的会话。 • 发布报文:用来生成、改变和删除FEC的映射标记。 • 通知报文:用来提供劝告信息和通知错误。
7.5.3标记发布 • 标记发布协议的运行也可以分为3个阶段: • 发现阶段:在这个阶段里,LSR可以自动发现它的LDP对等,而无需进行人工配置。 • LDP将发现机制分为两种,一是基本发现机制,用来发现本地的LDP对等;一是扩展的发现机制
7.5.3标记发布 • 会话建立阶段:在两个LSR交互发现“Hello”分组后,就会启动LDP会话建立阶段。会话建立阶段又划分为两个阶段——建立传输层连接和初始会话。建立传输层连接就是在两个LSR之间建立TCP连接,而初始会话就是通过交互LDP初始化消息来协商会话的参数,包括LDP之间建立TCP连接,而初始会话就是通过交互LDP初始化消息来协商会话的参数,包括LDP协议版本、标记发 布的方法、定时器值、标记的范围。
7.5.3标记发布 会话的维持和删除:LDP通过监测会话传输连接上LDP PDU的连接情况来判定会话连接是否完整。一个LSR为每个会话保持一个“保持存活”定时器到时,则LSR认为该传输连接中断,该对等失败,并由此关闭传输连接,从而终止这个对等会话。
7.5.3标记发布 (3)标记发布控制模式 • 标记发布控制有两种模式:独立的标记发布控制和有序的标记发布控制。 独立标记发布控制是指每个结点可以在任何时候向其相邻结点发布标记映射信息。 有序标记发布控制是指LSR只有在两种情况下才发起标记映射的传输,一种情况是该标记映射已经拥有了到下一条的标记映射,另一种情况是LSR是出口LSR。
7.5.3标记发布 (3)标记发布控制模式 MPLS没有指定使用哪种模式,但可以肯定的是,有序标记发布控制模式只能在LSP上的所有LSR支持这种模式并且运行这种模式的前提下才可以实现;而独立标记发布控制模式则可以在各结点混合使用两种模式的情况下实现。
7.5.3标记发布 (4)标记保持模式 • 下游结点会向所有上游对等结点发布标记报文,但上游结点只会记录其下一跳结点所发布的标记,而对于其他非下一跳所发布的标记捆绑信息,有两种处理方法:记录和丢弃。
7.5.3标记发布 (4)标记保持模式 • MPLS将只记录下一跳所发布的标记信息的处理模式称为保守的标记保持模式。因为在这种模式下会丢弃非下一跳发布的标记信息,所以在路由发生改变时,就必须借助下游结点按需分配向新的下一跳LSR申请标记。正因如此,保守的标记保持模式通常和标记通知模式中的下游结点按需分配模式一起使用。 采用这种模式的优点是可以节省存储器空间。
7.5.3标记发布 (4)标记保持模式 MPLS将记录所有对等LSR发布的标记信息的处理模式称为自由的标记保持模式。采用这种模式,在路由发生转换时,可以在所记录的标记信息中找出新的下一跳结点曾发布的信息,所以可以加快路由转换的速度。
7.5.3标记发布 (5)标记通知模式 • 标记通知模式分为上游标记分配、下游标记分配和下游结点按需分配3种分配方式。LDP只规定了其中两种:下游分配和下游按需分配。 • 下游分配模式是由下游结点发起标记的分配和发布过程,而下游按需分配模式则是由上游结点发起申请,由下游结点完成标记的分配和发布。在ATM环境下通常使用下游按需分配模式。
7.5.3标记发布 (6)实现层次化结构的两项工作 实现层次化结构的第一项和第三项工作是由标记发布 协议来完成的。 • 标记发布协议不仅可以在两个有直接链路连接的LSR 之间建立会话,而且可以在没有直接链路连接的LSR之间 建立LDP会话,这种会话通过两个LSR之间的LSP来建立
7.5.3标记发布 • 如图7.7所示,R1和R4之间通过LSP1互联,R1和R4是一对LDP对等,值得注意的是,R1和R2也是一对LDP对等,但是R1-R2对等层在R1-R4对等层之下。因为R1和R4之间没有直接链路,所以R1-R4的LDP会话间的各种消息通过LSP1传输。R1会记录两个标记发布消息,一是R2通过R1-R2会话为FEC分配的标记,二是R4通过R1-R4会话为FEC分配的标记。
7.5.3标记发布 • 在该FEC的数据流到达R1时,R1首先将R4分配的标记压入标记栈中,然后将R2分配的标记入栈。在LSP1的各个结点(R2,R3),将始终使用上一层的标记进行交换,在数据流到达LSP1的终点R4时,R4弹出上一层标记栈,使用下一层栈中记录的R4为FEC分配的标记进行交换。
7.5.3标记发布 • 图7.7 LDP会话
7.5.3标记发布 (7)标记发布的循环控制 MPLS提供了一种可选的防止循环机制。防止循环机制以扩展的方式实现。LSR在检测到一个FEC的新的下一跳后,就向它的每个上游对等LSR发送一个请求报文。每个接收到这个请求报文的LSR都会检查该报文是否源于该FEC的下一跳。