ISIS IPV6多拓扑

时间:2024-04-04 18:59:51

IS-IS Multi Topology技术白皮书

摘要:本文介绍IS-IS的多拓扑扩展技术.该技术可提高IS-IS支持多拓扑的能力,能够无冲突地独立处理IPv4和IPv6数据,并兼容老版本,

关键词:MT,IPv6,IS-IS

1 概述

  Intermediate System to Intermediate System(IS-IS)协议是一种链路状态的内部网关协议(IGP).在单路由域内,路由器(中间系统)能用其交换路由.IS-IS以OSI模型为基础,描述了模型中网络层的通讯.

  目前使用IS-IS协议来支持IPv4和IPv6技术存在的问题是:IPv6和IPv4网络必须是适配.例如,如果IPv4流量只通过IPv6链路寻路,那么IPv4报文将被丢弃;又如,IPv6报文通过MPLS TE隧道,将会出现错误寻路,因为目前隧道不支持IPv6,同样IPv6报文也会被丢弃.

  为了解决这个问题,IPv4和IPv6在多拓扑(Multi-topology)中会被分别处理,并可完全向后兼容.在原有的协议部署转换成新的IS-IS扩展的MT部署之前,MT具有不同的中间模式或阶段,因此原有路由器的工作不会被干扰.IS-IS扩展使用新的TLV(Type Length Value).这会影响以下功能:邻接信息和路由可达信息.

2 原理

  本章描述IS-IS受影响的功能,OL(过载位),ATT(区域关联位)及其它的标志位的变化,并介绍三种新的TLV,这些TLV作为IS-IS MT实施实现的一部分.

2.1 IPv6技术的使用

  在使用IS-IS实现IPv6扩展时,IPv6路由拓扑信息与IPv4相同,也就是说,IPv6和IPv4使用同样的最短路径,这就要求所有的IPv6和IPv4拓扑信息必须一致.

  这种情况也许不会一直有令人满意的效果.在网络中,一些路由器或者链路不支持IPv6,从而引起IPv6和IPv4拓扑的不同,但是,对于支持IPv4和IPv6双协议栈的路由器是感知不到拓扑中有哪些路由器是不支持IPv6的.(由于ISIS路由协议中同时实现IPv4路由和IPv6路由,其邻居TLV中不能区分V4邻居或V6邻居,在多拓扑路由方案提出之前,若一个网络中IPv4和IPv6共存,ISIS可能出现路由计算错误的现象)但IPv6数据流仍会被转发到这些不支持IPv6的路由器或链路,从而被丢弃处理.(这里指H3C,未验证,但是在Cisco上实际是无法与不支持IPv6的路由器建立邻接关系)

  IS-IS MT用来解决以上提到的问题,在IPv6的独立的拓扑上运行SPF算法.

  下图为相应的示例.图中所有数字为相应链路的开销.Router A,C和D均支持IPv4和IPv6,Router B只支持IPv4.

ISIS IPV6多拓扑
  如果A,C,D不支持IPv6 MT,最短路径为:A-B-C,最小开销值为7.因为B不支持IPv6,所有从A到C的IPv6报文将被
丢弃. 

ISIS IPV6多拓扑  如果A,C和D支持IPv6 MT,IPv6最短路径在IPv6拓扑中将被单独选择:A-D-C,开销为11.所有从A到C的IPv6报文将通过路由器D转发.
ISIS IPV6多拓扑2.2 MT邻接关系维护

  每个邻居必须在接口上被划分属于某些拓扑的MT,新的TLV(MT TLV)封装进IIH报文,通告接口属于哪个拓扑.如果MT-ID是2(参见2.6.1节),在这个接口上只支持MT.通告这个新TLV是可选的.因此,如果这样的TLV没有出现在IIH,就意味着是标准(IPv4)模式.通过交换各自支持的拓扑,路由器可以在它们的LSP中发布具有相同拓扑的邻接IS TLV.

2.3 邻接形成

2.3.1 点到点接口上的邻接

  如果本地系统不支持某MT-ID,就不能在LSP中通告支持该MT-ID的邻居.至少在接口上有一条共同MT,本地路由器才能形成邻接
2.3.2 广播接口的邻接

  在局域网(LAN)中,所有部署MT扩展的路由器将在IIH中通告他们支持MT capability TLV.(类型229)如果在LAN接口上至少有一个邻接属于这个MT,支持MT的路由器必须在LSP包括相应MT IS Reachable TLV.此外,如果LAN接口属于这个MT拓扑,它将在LSP中发布MT IS Reachable TLV.(类型235,237)

  在LAN中的两个路由器不管是否有共同的MT,他们将始终建立邻接.这样可保证在LAN中的所有路由器可以正确的选择相同的指定中间系统.如果LAN中的邻接不支持MT,那么路由器可忽略这些邻.MT扩展将不会改变Designated-IS,CSNP及PSNP功能.

2.4 过载位(OL),区域分段位(P)和区域关联位(ATT)

  对于每个MT,路由器均可潜在地进行分段,过载及关联.为了避免不必要的复杂性,MT的扩展不支持分段修复.在LSP头中overload,partition和attached位只反映默认拓扑的状态.

  不同层的路由渗透仅在相同MT中进行.

2.5 MT SPF计算

  每个MT运行自己的计算过程,然而在计算期间,虚拟节点的LSP被所有拓扑使用.每个MT拓扑使用本拓扑的ATT和OL标志,该标志位于本拓扑的MT TLV中.SPF的反向连接检查必须跟随正确的MT路径,以保证双向可达性.

  通常情况下,每个计算结果保存在隔离的RIB;否则不同拓扑的重叠地址将引起不必要的路由行为,比如转发环回.转发逻辑和配置需要保证报文从源地址到目的地址穿越相同的MT.

2.6 新增TLV介绍

  为了支持MT扩展,增加了三个新的TLV.其中之一是LSP和IIH共用的.

2.6.1 MT TLV

ISIS IPV6多拓扑x CODE    229

x LENGTH  Value字段的总长度,应为MT要素数量的2倍

x VALUE   一个或更多2字节MT要素,结构如上图所示

Bit O    代表MT的OVERLOAD位(在MT ID不等于0时,只在LSP的分片中有效.发送时置0,接收时忽略).

Bit A    代表MT的ATTACH位(在MT ID不等于0时,只在LSP的零分片中有效.发送时置0,接收时忽略).

Bit R    是预留位,发送时置0,接收时忽略.

  MT ID是12位的域,包括被通告的拓扑的ID.各值定义如下:

    MT ID#0           标准(默认)拓扑

    MT ID#1           IPv4带内管理(in-band management)

    MT ID#2           IPv6路由拓扑

    MT ID#3           IPv4组播路由拓扑

    MT ID#4           IPv6组播路由拓扑

    MT ID#5-#3995     IETF,统一预留

    MT ID#3996-#4095  保留,用于开发,实验以及专用特性[RFC3692]

  以上数值,目前只支持MT ID#0和#2.

2.6.2 MT邻居TLV

  这个TLV值为222.除了在TLV头部前面额外的2字节外,它按照扩展的IS可达性TLV(Extended IS reachability TLV,类型为22)排列.

ISIS IPV6多拓扑x CODE    222

x LENGTH  字段总长度

x VALUE   2字节MT ID加上扩展IS可达性TLV(Extended IS reachablility TLV)的格式,结构如上图所示.

Bit O    代表MT的OVERLOAD位(在MT ID不等于0时,只在LSP的零分片中有效.发送时置0,接收时忽略).

Bit A    代表MT的ATTACH位(在MT ID不等于0时,只在LSP的零分片中有效.发送时置0,接收时忽略).

Bit R    是预留位,发送时置0,接收时忽略.
MT ID    12位域,包括被通告拓扑的非零MT ID.

  如果ID为0,TLV必须被忽略.这是为了保证标准单播拓扑的结构一致.

  MT邻居TLV与Extended IS reachablility TLV(类型为22)的格式相同.没有子TLV时,在相同MT中,它最多能包含23个邻居.

2.6.3 MT可达的IPv6前缀TLV

  此值为237.除了前面2字节外,它按照IPv6的可达性TLV(IPv6 Reachability TLV,类型为236)排列.

ISIS IPV6多拓扑x CODE    237

x LENGTH  字段总长度

x VALUE  MT成员加上IPv6的可达性TLV(IPv6 Reachability TLV)的格式,结构如上图所示.

Bit O    代表MT的OVERLOAD位(在MT ID不等于0时,只在LSP的零分片中有效.发送时置0,接收时忽略).

Bit A    代表MT的ATTACH位(在MT ID不等于0时,只在LSP的零分片中有效.发送时置0,接收时忽略).

Bit R    是预留位,发送时置0,接收时忽略.
MT ID    12位域,包括被通告拓扑的非零MT ID.

  如果ID为0,TLV必须被忽略.这是为了保证标准单播拓扑的结构一致.

  在2字节的MT-ID后面,IS格式与扩展的IPv6的可达性TLV(Extended IPv6 reachability TLV,类型236)相同.

  使用IS-IS的MT扩展路由,可引起系统存在多个RIB.证部署和配置必须保IP报文只穿越定义好的节点和链路.需要一些额外的机制去选择正确的RIB,以保证进入的IP报文选择正确的RIB进行正确的转发.(如流分类技术)

3 应用场景

  四种主要方式可填加进IS-IS模式,以进行MT实施.

    IPv6标准模式

    IPv6兼容模式

    IPv6兼容MT-SPF

    IPv6 MT模式

3.1 IPv6标准模式
  在此拓扑模式,不支持MT.因此系统不能与只支持MT-IPv6拓扑的路由器形成邻接关系.这种拓扑中,没有MT-TLV被通告.适用于网络中所有路由器不支持MT的情况.Normal SPF运行.

3.2 IPv6兼容模式

  在这种拓扑模式中,所有MT相关的TLV都被通告.形成MT邻,但不支持IPv6 SPF,兼容所有路由器(支持MT和不支持MT的).(理解无IPv6 RIB)

3.3 IPv6兼容MT-SPF

  在这种拓扑模式中,所在MT相关TLV被通告.可与所有其它拓扑形成邻接,执行IPv6 SPF,而且可兼容不支持MT的老路由器.(有IPv6 RIB)

3.4 IPv6 MT模式

  这种拓扑只针对MT,通告所有MT TLV,各自运行MT-SPF,但不兼容不支持的MT的老路由器,因此不能与标准模式的系统形成MT邻接.

  默认的拓扑模式是标准模式.

4 结论

  1.IS-IS MT特性在IS-IS的单域内维护一套独立的拓扑.并且由于每个拓扑结构都会运行各自的SPF,这样,MT的路由选择允许用户在一个通用的网络基础设施上,组建这些路由选择的网络子集.

  2.支持基于IS-IS MTIPv6 IS-IS可从中受益,并