14、IS-IS TE

IS-IS TE

传统的路由器选择最短的路径作为主路由,不考虑带宽等因素。这样,即使某条路径发生拥塞,也不会将流量切换到其他的路径上。MPLS TE(Multiprotocol Label Routering Traffic Engineering)解决网络拥塞问题有自己的优势。通过MPLS TE,用户可以精确地控制流量流经的路径,从而可以避开拥塞的节点。同时,MPLS TE在建立隧道的过程中,可以预留资源,保证服务质量。

为了保证服务的连续性,MPLS TE还引入路由备份和快速重路由的机制,可以在链路出现问题时及时进行切换。通过MPLS TE技术,服务提供商能够充分利用现有的网络资源,提供多样化的服务。同时可以优化网络资源,进行科学的网络管理。

MPLS TE为了实现上述目的,需要了解整个网络中所有路由器的TE配置信息,但是MPLS TE缺乏这样一个机制:每个路由器在整个网络中泛洪各自的TE信息,并完成整网TE信息的同步。这个机制恰恰是IS-IS路由协议的一个基本特性,MPLS TE需要借助IS-IS完成TE信息的发布和同步。

IS-IS TE是IS-IS为了支持MPLS TE而做的扩展,它遵循RFC5305和RFC4205中关于IS-IS部分扩展的规定,通过在IS-IS LSP报文中定义新的TLV的方式,携带该路由器MPLS TE的配置信息,通过LSP的泛洪同步,实现MPLS TE信息的泛洪和同步。IS-IS TE把所有LSP中携带的TE信息提取出来,传递给MPLS的CSPF(Constraint Shortest Path First)模块,用来计算隧道路径。IS-IS TE在MPLS TE的流程中扮演着“搬运工”的角色,IS-IS TE和MPLS TE、CSPF的关系可以用图1来概括。
图1 MPLS TE、CSPF和IS-IS TE关系图

IS-IS TE新增TLV

IS-IS TE为了在LSP中携带TE信息,在RFC5305中新定义了如下四种TLV:

  • Extended IS reachability TLV

    此TLV用来替换IS reachability TLV,并采用sub TLV的形式扩展了原来的TLV格式。sub TLV在TLV中的实现方式与TLV在LSP中的实现方式相同。这些sub TLV用来携带配置在物理接口下的TE信息。

    目前支持RFC5305中定义的所有sub TLV以及RFC4124中定义的22号sub TLV。

    表1 Extended IS reachability TLV已经定义的sub TLV

    名称

    类型

    长度(Byte)

    Administrative Group

    3

    4

    管理组

    IPv4 Interface Address

    6

    4

    本端IPv4接口地址

    IPv4 Neighbour Address

    8

    4

    邻居的IPv4接口地址

    Maximum Link Bandwidth

    9

    4

    最大链路带宽

    Maximum Reserved Link Bandwidth

    10

    4

    最大预留链路带宽

    Unreserved Bandwidth

    11

    32

    未预留带宽

    Traffic Engineering Default Metric

    18

    3

    流量工程缺省开销值

    Bandwidth Constraints sub-TLV

    22

    36

    带宽约束TLV

  • Traffic Engineering router ID TLV

    此TLV type为134,包含了四字节的Router ID,在目前实现中就是MPLS LSR-ID。对于MPLS TE来说,Router ID用来唯一的标识一台路由器,它必须要和路由器一一对应。

  • Extended IP reachability TLV

    此TLV用来替换IP reachability TLV,用来携带路由信息。扩展了路由开销值的范围(四个字节),并可以携带sub TLV。

  • Shared Risk Link Group TLV

    此TLV type为138,用来携带共享风险链路组信息。每个共享链路信息为四字节的正整数值,该TLV可以携带多个共享链路信息。

IS-IS TE工作流程

IS-IS TE主要有两个流程:

  • 响应MPLS TE的配置消息流程

    只有使能了MPLS TE,IS-IS TE特性才能运行。

    根据MPLS TE的配置,更新IS-IS LSP报文中的TE信息。

    将MPLS TE的配置传递给CSPF模块。

  • 处理LSP中TE信息的流程

    提取收到的IS-IS LSP报文中的TE信息,传递给CSPF模块。

IS-IS TE的典型应用是协助MPLS TE建立TE隧道。如图2组网,建立一条从RouterA到RouterD的TE隧道。

图2 IS-IS TE组网示意图

RouterA、RouterB、RouterC和RouterD上使能MPLS TE,并在RouterA上使能MPLS TE CSPF计算隧道路径。

RouterA、RouterB、RouterC和RouterD运行IS-IS协议实现网络互通,并且使能IS-IS TE功能。

这样,RouterA、RouterB、RouterC和RouterD的IS-IS协议在各自发布的LSP报文中,分别携带各自路由器上配置的TE信息。RouterA根据收到的LSP报文,获得RouterB、RouterC和RouterD的MPLS TE配置,从而得到整网的TE信息。CSPF模块可以利用这些信息来计算满足隧道要求的路径。

TE隧道接口的路由计算方式

IS-IS Shortcut(AA)&Advertise(FA)是使用TE Tunnel接口来计算路由的两种方式。对于到达特定路由的流量,相比不可靠的IP转发,由MPLS来保证转发更适合。通过IS-IS Shortcut(AA)&Advertise(FA)这两种方式,让TE Tunnel接口参与路由计算,成为转发表中特定路由的出接口,这样就可以进行MPLS转发了。

图3 IS-IS Shortcut(AA)and Advertise(FA)基本原理示意图

IS-IS Shortcut(AA)与IS-IS Advertise(FA)的不同点包括:

  • IS-IS Advertise(FA)支持将TE tunnel的链接信息发布到其它中间系统,IS-IS Shortcut(AA)则不支持。

    图3所示,如果TE tunnel是IS-IS Advertise(FA)类型的,则RouterA会把RouterC作为邻居发送出去(邻居信息携带在22号TLV中,并且不含子TLV,即不含TE信息)。如果TE tunnel是IS-IS Shortcut (AA)类型的,RouterA则不会发布这样的消息。

  • IS-IS Advertise(FA)会影响到其它路由器的SPF树,IS-IS Shortcut(AA)则不会影响。

    无论TE Tunnel存在与否,IS-IS Shortcut(AA)不影响IS-IS的SPF树的原有结构,即RouterA到RouterB和RouterB到RouterC的链路还在,只是多了一条RouterA到RouterC的带Shortcut标记的链路。计算路由的时候,这条带Shortcut标记的链路将参与路由计算。

    如果TE tunnel是IS-IS Advertise(FA)类型的,RouterA将把“RouterC是RouterA的邻居”这条消息发布到全网,其它路由器会认为RouterC是RouterA的邻居,并在SPF树中添加其信息,并且不会打上Shortcut标记。

  • IS-IS Shortcut(AA)支持相对度量,IS-IS Advertise(FA)则不支持。

    IS-IS Shortcut(AA)的度量分为绝对度量和相对度量两种。

    绝对度量表示TE Tunnel在IS-IS层面的度量值是固定的。相对度量表示TE Tunnel在IS-IS层面的度量值是相对的,其开销值为物理链路值加相对度量值之和。如图3所示,如果配置相对度量为1,则RouterA到RouterC通过TE Tunnel的开销就是10+10+1=21。如果配置为0,则表示TE Tunnel和普通物理链路作为等价出接口,如果小于0,则优选TE Tunnel作为出接口。

  • IS-IS Shortcut(AA)仅需要单向的Tunnel链路连通,而IS-IS Advertise(FA)需要双向TE tunnel链路才能算通。

posted @ 2024-04-15 16:31  博雅塔之客  阅读(2)  评论(0编辑  收藏  举报