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新增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隧道。
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转发了。
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链路才能算通。