IPRAN中MPLS TE的概念和原理(中上)

IPRAN中MPLS TE的概念和原理(中上)

后面的信息有点多,不想详细看的话只需要看下面关于4大组件的描述即可,MPLS TE的四大组件在考试中也是常见考点,可以简单了解一下。

MPLS TE的四大组件

组件名称 组件描述
信息发布组件 除了网络的拓扑信息外,流量工程还需要知道网络的负载信息。为此,MPLS TE引入信息发布组件,即通过对现有的IGP进行扩展,来发布TE信息,包括最大链路带宽、最大可预留带宽、当前预留带宽、链路颜色等。每个节点收集本区域所有节点每条链路的TE相关信息,生成流量工程数据库TEDB。
路径计算组件 路径计算组件是通过CSPF(Constraint Shortest Path First)算法,利用TEDB中的数据来计算满足指定约束的路径的。CSPF算法由最短路径优先算法演变而来,它首先在当前拓扑结构中删除不满足隧道约束条件的节点和链路,然后再通过SPF(Shortest Path First)算法来计算。
路径建立组件 路径建立组件用于建立隧道的CR-LSP,其中包括以下两类:静态CR-LSP:静态CR-LSP通过手工配置转发信息和资源信息,不涉及信令协议和路径计算。由于不需要交互MPLS相关控制报文,消耗资源比较小,但静态CR-LSP不能根据网络的变化动态调整,通常适用于拓扑简单、规模小的组网。动态CR-LSP:CX600采用RSVP(Resource Reservation Protocol)TE信令建立CR-LSP隧道。RSVP-TE信令都能够携带LSP的带宽、部分显式路由、着色等约束参数。通过信令动态地建立LSP隧道可以避免逐跳配置的麻烦。适用于规模大的组网。
流量转发组件 报文转发组件用于将流量引入到MPLS TE隧道,并进行MPLS转发。前面三个组件已经能够建立完成一条MPLS TE隧道。但是,对于一条已建立完成的MPLS TE隧道而言,并不能自动引入流量,需要进行相应的配置将流量引入到隧道中进行转发。

一、信息发布组件

流量工程的目标是控制网络中流量的分布,从而优化网络资源的利用。这就意味着MPLS TE网络中的各个节点尤其是隧道的首节点要知道网络中的资源分布情况,之后才能根据资源的分布情况决定MPLS TE隧道要经过哪些路径和节点。在MPLS TE中这项工作是由信息发布组件来完成的。

1、信息发布内容

要使网络中的各节点知道网络中的资源分布情况,就需要对资源信息做一些定义,MPLS TE采用以下一些方面来定义网络中的链路资源,这些链路资源的定义也就是信息发布的内容:

  • 链路状态信息:IGP协议本身收集的信息,如接口IP地址、链路类型、链路开销
  • 带宽信息:包括链路最大物理带宽、最大可预留带宽和每个优先级对应的当前可用带宽
  • TE Metric:链路的TE度量值。缺省情况下,链路采用IGP的度量值作为TE度量值
  • 管理组和亲和属性

2、信息发布时机

为了形成本区域内统一的流量工程数据库,OSPF TE和IS-IS TE需要对链路信息进行泛洪。除了首次配置MPLS TE隧道会触发泛洪之外,其他的泛洪的时机和条件如下:

  • 达到IGP TE的泛洪周期,此周期可由用户配置

  • 链路生效或失效

  • 由于没有足够的资源来预留带宽导致LSP无法建立时,该节点会马上泛洪,通告链路的当前可用带宽

  • 链路属性发生变化,如链路的管理组和亲和属性发生变化

  • 链路带宽发生变化

    当MPLS接口的剩余带宽发生变化时,系统会更新TEDB并进行泛洪。当节点上创建大量需要预留带宽的隧道时,系统会频繁更新TEDB并泛洪。例如某条链路带宽为100Mbit/s,在此链路上建立100条1Mbit/s的TE隧道时,则需要进行100次泛洪。

    为了抑制更新TEDB和泛洪的频率,提供了如下带宽泛洪机制:

    • 一条链路上为MPLS TE隧道保留的带宽与TEDB(Traffic Engineering DataBase)中的链路剩余带宽的比值等于或大于设定的阈值
    • MPLS TE隧道释放的带宽与TEDB中剩余带宽的比值等于或大于设定的阈值

    当满足以上两种条件的任意一个时,IGP将对该链路信息进行泛洪,CSPF随之更新TEDB。

    例如某条链路剩余带宽为100Mbit/s,在此链路上建立100条1Mbit/s的TE隧道时,如果设置泛洪阈值为10%,则变化带宽与剩余带宽的比值如下图。

    建立第1~9条时,不进行泛洪;当建立第10条时才对第1~10条所占用的10Mbit/s带宽进行泛洪。此时剩余带宽为90Mbit/s。当建立第11~18条隧道时不进行泛洪,当建立第19条时才泛洪。依此类推。

二、路径计算组件

IS-IS和OSPF通过SPF计算出到达网络各个节点的最短路径。MPLS TE则是使用CSPF算法计算出到达某个节点的最优路径。CSPF(Constrained Shortest Path First)是带有约束条件的SPF算法,从SPF算法衍生来的。

1、CSPF算法的计算依据

CSPF有两个计算依据:

  • 待建立隧道的隧道属性,这些都在隧道的入口处配置;
  • 流量工程数据库TEDB。

说明:如果网络中不配置IGP TE,就不能形成TEDB。这种情况下生成的CR-LSP是由IGP路由得到的,而不是CSPF计算出来的。

2、CSPF算法的计算过程

CSPF的计算过程如下:

  1. 针对待建立隧道的隧道属性,先对TEDB中的链路进行裁剪,把不满足属性要求的链路剪掉;
  2. 再采用SPF算法,寻找一条到隧道目的地址的最短路径。

说明:缺省情况下,CSPF在计算路径时预先采用OSPF协议生成的TEDB来计算CR-LSP的路径。如果根据OSPF的TEDB计算出路径,则不会再根据IS-IS协议的TEDB数据计算。如果根据OSPF的TEDB数据计算失败,则根据IS-IS协议的TEDB数据再次计算。

用户可以根据需要设置CSPF优先采用IS-IS协议生成的TEDB来计算CR-LSP路径;如果计算失败才采用OSPF的TEDB数据再次计算。

CSPF在计算路径的过程中,如果遇到多条权值相同的路径,将根据策略选择其中的一条。这个过程称为仲裁(tie-breaking)。可用的仲裁策略有:

  • Most-fill:选择已用带宽和最大可预留带宽的比值最大的链路,使链路带宽资源高效使用;
  • Least-fill:选择已用带宽和最大可预留带宽的比值最小的链路,使各条链路的带宽资源均匀使用;
  • Random:随机选取,使每条链路上的LSP数量均匀分布,不考虑带宽因素。

在比率相同的情况下,比如没有利用保留带宽,或者利用的份额都是一样,此时不管配置的是least-fill还是most-fill,选择的是首先发现的链路。

如下图中所示,除了标注具体带宽以及颜色的链路外,其他链路都为100M,颜色为黑色,此时需要建立一条目的地址为LSR E,带宽为80M,亲和属性为黑色且必须经过LSR H节点的MPLS TE隧道,其中经过CSPF计算裁剪后的链路拓扑如下图所示。

裁剪后将按照SPF算法进行计算,其最终的计算结果如下图所示。

3、CSPF与SPF的区别

CSPF是专门用于MPLS TE路径计算的算法,它与一般的SPF算法相差不大,但又有几点区别:

  • CSPF只计算到达隧道终点的最短路径,而SPF需要计算到达所有节点的最短路经。
  • CSPF不再使用简单的邻居间链路代价作为度量值,而使用带宽、链路属性和亲和属性作为度量值。
  • CSPF不存在负载分担,当两条路径有同样的属性时还有三种仲裁方法。

三、路径建立组件(RSVP-TE)

1、RSVP-TE简介

资源预留协议RSVP是为integrated service模型而设计的,用于在一条传输路径的各节点上进行带宽资源预留。这种带宽预留能力使得其非常适合作为MPLS TE路径建立的信令协议。

MPLS TE对原始RSVP协议进行了一定程度的扩展,以使其能满足MPLS TE的要求,扩展后的RSVP称为RSVP-TE。RSVP-TE对RSVP扩展的内容主要有:

  • 在RSVP的PATH消息中引入Label Request对象,支持发起标签请求;在RSVP Resv消息中引入Label对象支持标签分配。这样就可以建立CR-LSP了。
  • 扩展的消息除了可以携带标签绑定信息外,还可以携带限制信息,从而支持CR-LSP约束路由的功能。
  • 此外,RSVP-TE通过扩展对象支持MPLS-TE相关的属性,使其具有资源预留功能。

2、RSVP-TE工作原理

RSVP-TE在MPLS TE中有如下四个作用:

作用 描述
路径建立 根据CSPF的路径计算结果或者严格显式路径建立CR-LSP。路径建立由隧道入节点发起。
路径维护 CR-LSP建立完成后,RSVP-TE仍会发送信令消息对各个节点上的路径状态进行维护。
路径拆除 拆除CR-LSP,并释放LSP沿途节点的标签资源及带宽资源。与路径建立类似,路径拆除也是由入节点发起的。
错误通告 RSVP节点在路径的建立和维护过程中发生消息处理错误时或故障时,会向上下游节点通告发生的错误。

3、RSVP资源预留风格

资源预留风格是指RSVP节点处理上游节点的资源预留请求时的资源预留方式。常用的预留风格有:

  • 固定过滤风格FF(Fixed Filter):为每个资源预留请求的发送者创建单独的预留,该预留不与其他发送者共享。即同一链路的不同LSP有不同的资源预留。
  • 共享过滤风格SE(Shared Explicit):建立单一的资源预留。该预留允许指定的一系列发送者共享。即同一链路的不同LSP共享一个资源预留。

4、路径状态维护及RSVP软状态机制

RSVP消息是以IP数据报的形式传输的,因此RSVP消息的传输是不可靠的。CR-LSP在建立后,各节点仍然会周期性的向上下游邻居节点发送Path消息和Resv消息以维护各邻居间的状态,把此时发送的Path消息和Resv消息统称为RSVP Refresh消息,用于在RSVP邻居节点进行状态(包括PSB和RSB)同步。这就是RSVP的“软状态”机制。

说明:Refresh消息并不是一种新的消息,它是以前发布过的消息的再次传送。刷新周期即为消息的Time Value字段指定的时间间隔。

对于某个状态,如果在keep-multiplier个刷新周期内没有收到刷新消息,这个状态将被删除。keep-multiplier表示节点连续未收到刷新消息的次数,缺省设置为3。

RSVP Refresh消息除了可以进行节点间状态(包括PSB和RSB)同步之外,另外起到的一个作用就是可以检测各邻居间的可达性,维护RSVP节点之间的邻居关系。

下图即为RSVP刷新消息的一个示例,其中相邻节点间发送的Path和Resv消息在时间上是独立的。

5、路径拆除

入节点在收到用户的删除LSP的命令或者ResvErr消息后,会立即向下游发送PathTear消息通告下游节点拆除路径,下游节点收到此消息后会回复ResvTear消息给上游节点并拆除路径。

其中:

  • PathTear消息:用来删除节点路径信息,其作用与Path消息相反。
  • ResvTear消息:用来删除节点预留状态,其作用与Resv消息相反。

6、错误通告

RSVP-TE依靠以下两种类型消息进行LSP的错误通告:

  • PathErr消息:RSVP节点在处理Path消息的时候,如果发生错误,就向上游发送PathErr消息。中间节点收到PathErr消息后,继续向上游转发,直至入节点。
  • ResvErr消息:RSVP节点在处理Resv消息时,如果发生错误,就向下游发送ResvErr消息;中间节点收到ResvErr消息后,继续向下游转发消息,直至出节点。

四、流量转发组件

通过信息发布组件、路径选择组件和路径建立组件三大组件,已经可以成功建立一条MPLS TE隧道。但不同于LDP LSP,MPLS TE建立的LSP隧道不能自动将流量引入到隧道中进行转发,需要采用一定的方式将流量引入到MPLS TE隧道中。之后,隧道才能对流量进行基于标签的转发。本节将详细介绍以下几种将流量引入MPLS TE隧道的方式:

1、静态路由

沿MPLS TE隧道接口转发流量的最简单的方法是使用静态路由。TE隧道上的静态路由没有什么特殊之处,它的工作方式和普通的静态路由一样,将TE隧道的接口设置为静态路由的出接口即可。

2、自动路由

自动路由(Auto Route)是指将TE隧道看作逻辑链路参与IGP路由计算,使用隧道接口作为路由出接口。这里,隧道被看做点到点链路,并且可以设置其Metric值。自动路由方式有两种:

  • 转发捷径(IGP Shortcut):不将这条LSP链路发布给邻居节点,因此,其他节点不能使用此隧道。

  • 转发邻接(Forwarding Adjacency):将这条LSP发布给邻居节点,因此,其他节点能够使用此隧道。

    Forwarding Adjacency是通过在OSPF第10类Opaque LSA的Remote IP Address子TLV和IS-IS可达性TLV的Remote IP address子TLV中携带邻居地址来发布该LSP的。

    使用转发邻接时,隧道两端必须在同一区域中。

可以通过如下的例子来了解两种自动路由方式的区别:

在上图中,在R7上建立一条目的地址为R2、路径为R7→R6→R2的TE隧道,且设置此隧道的TE Metric为图中所示的值。则有如下情形:

  • 不配置自动路由:在R5和R7上分别查询去往R2和R1的路由,路由的下一跳为R4和R6。
  • 配置自动路由将流量引入:
    • 采用转发捷径方式发布TE隧道Tunnel 1,在R5和R7上分别查询去往R2和R1的路由,R5的下一跳仍为R4,R7的下一跳变为了Tunnel 1。可见R5并不感知隧道的存在,并未利用Tunnel 1来进行IGP选路,只有R7自己感知并利用Tunnel 1进行IGP的选路。
    • 采用转发邻接方式发布TE隧道Tunnel 1,在R5和R7上分别查询去往R2和R1的路由,R5的下一跳变为了R7,R7的下一跳变为了Tunnel 1。可见R5和R7都感知并利用Tunnel 1进行IGP的选路。

3、策略路由

策略路由根据用户制定的策略进行路由选择,可应用于安全、负载分担等目的。在MPLS网络中,可使符合过滤条件的IP报文通过指定的LSP路径转发。

TE的策略路由的定义和IP单播策略路由完全一样,可以通过定义一系列匹配的规则和动作来实现,即将apply语句的出接口设置为TE隧道的接口。如果报文不匹配策略路由规则,将进行正常IP转发;如果报文匹配策略路由规则,则报文直接从指定隧道转发。

如果将策略路由与CR-LSP备份特性相结合,可以用指定的备份LSP转发TE流量。通常情况下,备份LSP可能相对空闲,可以承担一部分流量。

4、隧道策略

在VPN应用隧道策略(Tunnel Policy)可以将VPN流量引入到MPLS TE隧道中。包括如下两种方式:

  • 按优先级顺序选择(Select-seq)方式:系统会按照隧道策略中配置的隧道类型优先级顺序将TE隧道选择为VPN的公网隧道。
  • 隧道绑定(Tunnel Binding)方式:绑定类型的隧道策略是指将某个目的地址与某条TE隧道进行绑定,但该策略只对TE隧道有效。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xumeng32@126.com

文章标题:IPRAN中MPLS TE的概念和原理(中上)

文章字数:4.4k

本文作者:F_numen

发布时间:2020-04-16, 21:54:24

最后更新:2020-04-22, 01:04:15

原始链接:https://netheroone.cn/archives/f29aa9f0.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
/*baidu统计*/