华为数通HCIE面试看这个就够了系列——ISIS

一、IS-IS基本概念。

1.IS-IS的拓扑结构。

在这里插入图片描述

  为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。IS-IS与OSPF的拓扑结构不同点有以下几个:

  • 在IS-IS中,每个路由器都只属于一个区域;而在OSPF中,一个路由器的不同接口可以属于不同的区域。
  • 在IS-IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域。
  • 在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT;而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。
2.IS-IS路由器的分类。
  • Level-1路由器:Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。
  • Level-2路由器:Level-2路由器负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者同一区域其它区域的Level-1-2路由器形成邻居关系。
  • Level-1-2路由器:同时属于Level-1和Level-2的路由器称为Level-1-2路由器,它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
3.IS-IS的网络类型。
  • 仅仅支持Broadcast、P2P两种网络类型。
  • PPP,HDLC默认认为是P2P网络类型,而且无法配置为Broadcast。
  • Eth默认是Broadcast,可以配置为P2P类型,在Broadcast链路上选择DIS。
4.DIS和伪节点。

  在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS。DIS用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有哪些网络设备。在IS-IS中,伪节点用DIS的System ID和一个字节的Circuit ID(非0值)标识。
  Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。DIS的选举过程如下:

  • DIS优先级数值最大的被选为DIS。
  • 如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。

IS-IS协议中DIS与OSPF协议中DR(Designated Router)的区别:
在这里插入图片描述

5.IS-IS的地址结构。

  网络服务访问点NSAP(Network Service Access Point)是OSI协议中用于定位资源的地址。它由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
在这里插入图片描述

  • IDP相当于IP地址中的主网络号。它由由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
  • DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型。

  NET是一类特殊的NSAP(SEL=00),在路由器上配置IS-IS时,只需要考虑NET即可。如:
在这里插入图片描述

  • Area Address:区域地址,相当于OSPF中的区域编号。同一Level-1区域内的所有路由器必须具有相同的区域地址,Level-2区域内的路由器可以具有不同的区域地址。为了支持区域的平滑合并、分割及转换,在设备的实现中,一个IS-IS进程下最多可配置3个区域地址。
  • System ID:用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit(6字节)。
  • SEL:SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。
6.IS-IS的报文类型。

(1)Hello PDU。
  广播网中的Level-1路由器使用Level-1 LAN IIH;广播网中的Level-2路由器使用Level-2 LAN IIH;非广播网络中则使用P2P IIH。它们的报文格式有所不同,如下:
在这里插入图片描述
(2)LSP。
  LSP分为两种:Level-1 LSP和Level-2 LSP。Level-1 LSP由Level-1 IS-IS传送,Level-2 LSP由Level-2 IS-IS传送,Level-1-2 IS-IS则可传送以上两种LSP。报文格式如下:
在这里插入图片描述
(3)SNP。

  • CSNP(Complete Sequence Number PDU)包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。
  • PSNP(Partial Sequence Number PDU)包含部分LSDB中的LSP摘要信息,能够对LSP进行请求和确认。
    • 当PSNP中的LSP的摘要seq = 0代表是对LSP进行请求。
    • 当PSNP中的LSP的摘要seq != 0代表是对LSP进行确认。
  • CSNP 类似于OSPF的DD报文传递的是LSDB里所有链路信息摘要。PSNP类似于OSPF的LSR或LSAck报文用于请求和确认部分链路信息。

(4)ISIS TLV。
在这里插入图片描述

  • TLV的含义是:类型(TYPE),长度(LENGTH),值(VALUE)。实际上是一个数据结构,这个结构包含了这三个字段。
  • 使用TLV结构构建报文的好处是灵活性和扩展性好。采用TLV使得报文的整体结构固定,增加新特点只需要增加新TLV即可。不需要改变整个报文的整体结构。
  • 网络拓扑结构和路由信息用TLV结构表现使得报文的灵活性和扩展性得到了极大的发挥。
7.LSP详解。

在这里插入图片描述
(1)区分LSP。

  • 0000.0000.0002:表示产生LSP的路由器的system id。
  • 00 伪节点表示符:0代表是实节点LSP,非0代表是伪节点LSP。
  • 00 分片标识符:标识同一条LSP的不同分片。(当链路状态信息过多,一条LSP装载不下,则用多条LSP装载)

(2)LSP的更新机制。

  • 邻居UP或Down。
  • ISIS的相关接口UP或Down。
  • 引入的IP路由发生变化。
  • 接口被赋予了新的metric。
  • 周期性更新。

(3)判断一条LSP的新旧。

  • 收到LSP,在数据库中比对。不存在此LSP,将其加入到数据库,并广播新数据库内容。
  • 若收到的LSP的序列号大于本地LSP序列号,就替换为收到的,并广播新数据库内容。
  • 若收到的LSP的序列号小于本地LSP序列号,就向入端口发送本地LSP。
  • 若收到的LSP和本地LSP序列号相等,就比较Remaining Lifetime。
  • 若收到的LSP报文的Remaining Lifetime为0,则将本地的报文替换为新报文,并广播新数据库内容;
  • 若收到的LSP报文的Remaining Lifetime不为0而本地LSP报文的Remaining Lifetime为0,就向入端接口发送本地LSP报文。
  • 若收到的LSP和本地LSP的序列号相同且Remaining Lifetime都不为0,则比较Checksum。
  • 若收到的LSP的Checksum大于本地LSP的Checksum,就替换为收到的报文,并广播新数据库内容;
  • 若收到的LSP的Checksum小于本地LSP的Checksum,就向入端接口发送本地LSP报文。
  • 若两个序列号、Remaining Lifetime和Checksum都相等,则不转发该报文。

二、邻居关系的建立。

1.广播链路邻居关系的建立。

  以Level-2路由器为例,描述了广播链路中建立邻居关系的过程。Level-1路由器之间建立邻居与此相同。
在这里插入图片描述

  • R1组播发送Level-2 LAN IIH(组播MAC:01-80-C2-00-00-15),此报文中无邻居标识。
  • R2收到此报文后,将自己和R1的邻居状态标识为Initial。然后,R2再组播向R1回复Level-2 LAN IIH,此报文中标识R1为R2的邻居。
  • R1收到此报文后,将自己与R2的邻居状态标识为Up。然后R1再组播向R2发送一个标识R2为R1邻居的Level-2 LAN IIH。
  • R2收到此报文后,将自己与R1的邻居状态标识为Up。这样,两个路由器成功建立了邻居关系。

  因为是广播网络,需要选举DIS,所以在邻居关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。Hello报文中包含Priority字段,Priority值最大的将被选举为该广播网的DIS。若优先级相同,接口MAC地址较大的被选举为DIS。

2.P2P链路邻居关系的建立。

  在P2P链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。

  • 两次握手机制:只要路由器收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻居关系,容易存在单通风险。
  • 三次握手机制:此方式通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,类似广播邻居关系的建立。

关于P2P网络类型邻居建立的一些问题:

  • isis ppp-negotiation 2-way 采用两次握手机制,不处理邻居状态TLV/不携带邻居状态TLV ;
  • isis ppp-negotiation 3-way 默认,采用三次握手机制,如果对端Hello包中有邻居状态TLV ,则采用3 次握手机制;如果对端Hello包中没有邻居状态TLV ,则采用2次握手机制;
  • isis ppp-negotiation 3-way only 只采用三次握手机制,如果对端Hello包中有邻居状态TLV ,则采用3 次握手机制;如果对端Hello包中没有邻居状态TLV ,则不建立邻居;
3.影响ISIS邻居建立的因素。
  • 接口的链路类型一定要一致。
  • 链路上发送的Hello包的类型要一致。(同一的层次)
  • L1的邻居的area id要一致,L2的邻居不作要求。
  • System ID要全网唯一。
  • 认证要通过。
  • 建立邻居的路由器的接口地址要在同一个网段。(hello报文的intface address TLV中携带接口IP地址)。

在这里插入图片描述

  • P2P链路上可以使用isis peer-ip-ignore命令,忽略对IP地址的检查。Broacast要求地址必须在同一个网段。
  • ISIS的hello时间间隔,hold timer 间隔两边不要求一致。hello时间是本地控制,hold timer默认为hello间隔的3倍,用于控制对端认为本端多久后失效。

三、IS-IS的LSP交互过程。

1.LSP的产生和处理。

  IS-IS路由域内的所有路由器都会产生LSP,以下事件会触发一个新的LSP:

  • 邻居Up或Down
  • IS-IS相关接口Up或Down
  • 引入的IP路由发生变化
  • 区域间的IP路由发生变化
  • 接口被赋了新的metric值
  • 900s周期性更新

  收到邻居新的LSP的处理过程:

  • 将接收的新的LSP合入到自己的LSDB数据库中,并标记为flooding。
  • 发送新的LSP到除了收到该LSP的接口之外的接口。
  • 邻居再扩散到其他邻居。
2.LSP的“泛洪”。

  LSP报文的“泛洪”(flooding)是指当一个路由器向相邻路由器通告自己的LSP后,相邻路由器再将同样的LSP报文传送到除发送该LSP的路由器外的其它邻居,并这样逐级将LSP传送到整个层次内所有路由器的一种方式。通过这种“泛洪”,整个层次内的每一个路由器就都可以拥有相同的LSP信息,并保持LSDB的同步。

(1)广播链路中新加入路由器与DIS同步LSDB数据库的过程。
在这里插入图片描述

  • 新加入的路由器RouterC首先发送Hello报文,与该广播域中的路由器建立邻居关系。
  • 建立邻居关系之后,RouterC等待LSP刷新定时器超时,然后将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15)。这样网络上所有的邻居都将收到该LSP。
  • 该网段中的DIS会把收到RouterC的LSP加入到LSDB中,并等待CSNP报文定时器超时并发送CSNP报文,进行该网络内的LSDB同步。
  • RouterC收到DIS发来的CSNP报文,对比自己的LSDB数据库,然后向DIS发送PSNP报文请求自己没有的LSP。
  • DIS收到该PSNP报文请求后向RouterC发送对应的LSP进行LSDB的同步。
3.P2P链路上LSDB数据库的同步过程。

在这里插入图片描述

  • RouterA先与RouterB建立邻居关系。
  • 建立邻居关系之后,RouterA与RouterB会先发送CSNP给对端设备。如果对端的LSDB与CSNP没有同步,则发送PSNP请求索取相应的LSP。
  • 假定RouterB向RouterA索取相应的LSP。RouterA发送RouterB请求的LSP的同时启动LSP重传定时器,并等待RouterB发送的PSNP作为收到LSP的确认。
  • 如果在接口LSP重传定时器超时后,RouterA还没有收到RouterB发送的PSNP报文作为应答,则重新发送该LSP直至收到PSNP报文。

四、路由计算。

1.骨干区域计算非骨干区域的路由。
  • L12路由器将L1的LSP计算出的路由,做为自己直连的叶子进行描述(回环口路由),通过自身L2 LSP在骨干区域进行泛洪。
  • L1的路由默认会自动泄露到L2的区域。
2.非骨干区域计算骨干区域的路由。
  • L2的路由默认不会自动泄露到L1的区域,通过缺省路由访问骨干区域,因此ISIS的L1的区域就是天然的完全末节区域。
  • L12的路由器在不同区域存在L2的邻居时,产生的L1的LSP中会将ATT bit置1,描述自身和骨干区域相连。
  • ATT骨干区域连接符,L1的路由器生成缺省路由指向L12路由器,用于访问其他区域的路由。
3.路由泄露。

  问题:在缺省情况下,Level-1-2路由器并不将自己知道的其他Level-1区域以及骨干区域的路由信息通报给它所在的Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息,可能导致与本区域之外的目的地址通信时优选路由,容易形成次优路径。
  解决:进行区域间的路由泄露。

import-route  isis  level-2 into  level-1      级别2的路由泄露到级别1
import-route  isis  level-1 into  level-2      级别1的路由泄露到级别2(默认)
3.防环机制。

(1)L1 LSP> L2 LSP

  • 让非骨干的路由都能正常的泄露到骨干区域,保证区域间路径的完整性。
  • 在L12的路由器上防止优先使用L2的路由导致的环路。
    在这里插入图片描述

(2)L2 LSP> *L1 LSP(UD比特置1)

  • 由于L1的路由默认会泄露到L2的区域,导致L2区域泄露到L1区域的路由有再次被泄露到L2区域的风险,为了防止这种风险,L2的路由需要优先于泄露到L1区域的路由。
    在这里插入图片描述
  • UD bit = 1 的路由不再会泄露回骨干区域。
    在这里插入图片描述

(3)默认路由计算

  • 当同一个非骨干区域有多个L1-2路由器,彼此不会使用对方的ATT置1的LSP计算默认路由,华为设备。
4.选路机制。
  • 如果同一个物理区域有多台L12的路由器,非骨干的level-1 LSP在L12路由器上将被自动泄露在骨干区域,默认不会再泄露到本区域,如果做了L2向L1的泄露也不会传回本区域,但是如果此物理区域由于链路的故障导致不连续后,如果做L2向L1的泄露,还是会传回"本"区域(某场景)。
    在这里插入图片描述
  • 当一台L12路由器失去所有L2的邻居后,将会使用其他同一区域L12路由的ATT置1的LSP计算默认路由,在华为设备(模拟器上测试)不会有此特性。
  • L12的路由器存在L2的邻居时,优先使用L2的LSP计算骨干区域路由,如果无法计算则使用泄漏的LSP计算路由,但不会再泄漏回骨干区域。(对比:在OSPF ABR区域0有邻居时,不会使用非骨干区域的3类LSA计算区域间路由)
    在这里插入图片描述

五、ISIS的特性。

1.ISIS认证。

(1)认证分类。

  • 接口认证:是指使能IS-IS协议的接口以指定方式和密码对Level-1和Level-2的Hello报文进行认证。
  • 区域认证:是指运行IS-IS的区域以指定方式和密码对Level-1的SNP和LSP报文进行认证。
  • 路由域认证:是指运行IS-IS的路由域以指定方式和密码对Level-2的SNP和LSP报文进行认证。

(2)认证方式。

  • 明文认证:一种简单的认证方式,将配置的密码直接加入报文中,这种认证方式安全性不够。
  • MD5认证:通过将配置的密码进行MD5算法之后再加入报文中,这样提高了密码的安全性。
  • Keychain认证:通过配置随时间变化的密码链表来进一步提升网络的安全性。

(3)认证信息携带方式。

   IS-IS通过TLV的形式携带认证信息,认证TLV的类型为10。

在这里插入图片描述

  • Type:ISO定义认证报文的类型值为10,长度为1字节。

  • Length:指定认证TLV值的长度,长度1字节。

  • Value:指定认证的具体内容,其中包括了认证的类型和认证的密码,长度为1~254字节。其中认证的类型为1字节,具体定义如下:

    • 0:保留的类型
    • 1:明文认证
    • 54:MD5认证
    • 255:路由域私有认证方式

(4)ISIS认证和OSPF认证对比。

  • OSPF的认证信息是通过OSPF报文报文头部来携带,LSA本身不携带认证信息。ISIS的认证信息是通过LSP的10号认证TLV来携带,一旦拥有,就终生携带。ISIS这样的性质导致一台路由器配置了路由域认证或者区域认证之后整个区域的路由器都得启用,而且密码得一致。
  • ISIS认证可以依靠自身的源生功能进行不中断邻居关系改密码;OSPF得借助keychain。
    在这里插入图片描述
2.IS-IS Overload。

  IS-IS OverLoad使用IS-IS过载标记位来标识过载状态。IS-IS过载标志位是指IS-IS LSP报文中的OL字段。对设备设置过载标志位后,其它设备在进行SPF计算时不会使用这台设备做转发,只计算该设备上的直连路由。具体应用场景如下:
在这里插入图片描述

  • RouterA到10.1.1.0/24网段的报文由RouterB转发,但如果RouterB所发的LSP报文中过载标志位置1,RouterA会认为RouterB的LSDB不完整,于是将报文通过RouterD、RouterE转发到10.1.1.0/24网段,但转发到RouterB直连网段的报文则不受影响。

  • 当系统因为各种原因无法保存新的LSP,以致无法维持正常的LSDB同步时,该系统计算出的路由信息将出现错误。在这种情况下,系统就可以自动进入过载状态,即通过该设备到达的路由不计算,但该设备的直连路由不会被忽略。

  • 除了设备异常可导致自动进入过载状态,也可以通过手动配置使系统进入过载状态。当网络中的某些IS-IS设备需要升级或维护时,需要暂时将该设备从网络中隔离。此时可以给该设备设置过载标志位,这样就可以避免其他设备通过该节点来转发流量。

    isis 1
    set-overload 只描述直连路由
    
3.ISIS的快速收敛。
  • I-SPF(增量最短路径优先算法):除了第一次计算时需要计算全部节点外,每次只计算受到影响的节点,而最后生成的最短路径树SPT与原来的算法所计算的结果相同,大大降低了CPU的占用率,提高了网络收敛速度。

  • 部分路由计算PRC:当网络上路由发生变化的时候,只对发生变化的路由进行重新计算。PRC的原理与I-SPF相同,都是只对发生变化的路由进行重新计算。不同的是,PRC不需要计算节点路径,而是根据I-SPF算出来的SPT来更新路由。如果I-SPF计算后的SPT改变,PRC会只处理那个变化的节点上的所有叶子;如果经过I-SPF计算后的SPT并没有变化,则PRC只处理变化的叶子信息。比如一个节点使能一个IS-IS接口,则整个网络拓扑的SPT是不变的,这时PRC只更新这个节点的接口路由,从而节省CPU占用率。

  • 智能定时器:在进行SPF计算和产生LSP的时候用到的一种智能定时器。该定时器首次超时时间是一个固定的时间。如果在定时器超时前,又有触发定时器的事件发生,则该定时器下一次的超时时间会增加。

    • 第一次触发路由计算的时间可以设置的非常短(毫秒级)。如果拓扑变化比较频繁,智能定时器会随着计算次数的增加,间隔时间也会逐渐延长,从而避免占用大量的CPU资源。
    • LSP生成智能定时器可以对于突发事件(如接口Up/Down)快速响应,加快网络的收敛速度。同时,当网络变化频繁时,智能定时器的间隔时间会自动延长,避免过度占用CPU资源。
  • LSP快速扩散:使能了此特性的设备收到一个或多个较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。

    [R-isis-1]flash-flood ?
    			  INTEGER<1-15>       lsp-count:Set the flood LSP count for every interface
    			  level-1             Level-1
    			  level-2             Level-2
    			  max-timer-interval  Set the maximum timer for flood the LSP (Milliseconds)
    lsp-count:指定每个接口一次扩散LSP的最大数量。整数形式,取值范围是1~15。缺省值是5。
    max-timer-interval interval:指定LSP扩散的最大间隔时间。整数形式,取值范围是10~50000,单位是毫秒。缺省值是10毫秒。
    level-1:表示在Level-1中使能此特性。如果命令中没有指定级别,则缺省同时在Level-1和Level-2中使能此功能。
    level-2:表示在Level-2中使能此特性。如果命令中没有指定级别,则缺省同时在Level-1和Level-2中使能此功能。
    
4.IS-IS管理标记。

  ISIS的tag只有在ISIS的度量值风格为wide、wide-compatible、compatible才会携带。华为ISIS协议给路由打tag的方法:

  • 引入外部路由时
  • 接口下isis tag-value
  • import-route isis level-2 into level-1 tag
  • import-route isis level-1 into level-2 tag
  • summary 10.1.0.0 255.255.0.0 level-1 tag
5.IS-IS Wide Metric。

  使能此IS-IS开销类型为narrow,IS-IS协议的接口下最大只能配置值为63的开销值,IS-IS路由开销值为1023。但是在大型网络设计中,较小的度量范围不能满足实际需求。所以在RFC3784中规定,使能IS-IS的开销类型为wide,IS-IS协议的接口开销值可以扩展到16777215,IS-IS路由开销值可以达到4261412864。这是因为宽窄开销在报文中预留的比特位数不同,具体如下:
在这里插入图片描述

  • narrow类型下使用的TLV:

    • 128号TLV(IP Internal Reachability TLV):用来携带路由域内的IS-IS路由信息。
      在这里插入图片描述

    • 130号TLV(IP External Reachability TLV):用来携带路由域外的IS-IS路由信息。
      在这里插入图片描述

    • 2号TLV(IS Neighbors TLV):用来携带邻居信息。
      在这里插入图片描述

  • wide类型下使用的TLV:

    • 135号TLV(Extended IP Reachability TLV):用来替换原有的IP reachability TLV,携带IS-IS路由信息,它扩展了路由开销值的范围,并可以携带sub TLV。
      在这里插入图片描述
    • 22号TLV(IS Extended Neighbors TLV):用来携带邻居信息。
      在这里插入图片描述
  • 接收和发送的类型详细列表:
    在这里插入图片描述

  • 开销计算:华为ISIS协议的开销优先机制,默认使用circuit-cost:isis cost(接口cost) > circuit-cost > auto-cost enable。当使能此功能后,对于某个IS-IS接口来说,如果在接口视图下没有配置开销值,而且在IS-IS视图下也没有配置全局开销值,则此接口的开销由系统自动计算。计算规则如下:

    • 当开销类型为wide或wide-compatible时,每个接口的开销值通过下面的公式计算:接口的开销值= (Bandwidth-reference/Link-bandwidth)×10;配置auto-cost enable compatible命令后每个接口的开销值通过下面的公式计算:接口的开销值= (Bandwidth-reference/Link-bandwidth)
    • 当开销类型为narrow、narrow-compatible或compatible时,各个接口的开销值根据下表来确定:
      在这里插入图片描述
  • ISIS外部路由计算开销的特点:

    • 当路由器的cost-style为wide、compatible或wide-compatible时, 引入外部路由的开销类型将不区分external和internal,直接比较路由的cost值大小,小的优先。
    • 当路由的cost-style为narrow,narrow-compatible时,默认引入路由的cost为0,默认cost-type为external,internal 优于external ( 类似ospf的cost-type 1优于ospf-type cost 2)。
      • 当cost-type为external时,引入外部路由的cost=引入路由cost值+64。
      • 当cost-type为interna时,引入外部路由的cost=引入路由的cost值。
6.IS-IS LSP分片扩展。

  LSP分片扩展是使IS-IS路由器生成更多的LSP分片,用来携带更多的IS-IS信息。IS-IS LSP分片由LSP ID中的LSP Number字段进行标识,这个字段的长度是1字节。因此,一个IS-IS进程最多可产生256个LSP分片,携带的信息量有限。IS-IS可以配置虚拟的SystemID ,并生成虚拟IS-IS的LSP报文来携带路由等信息。
(1)基本概念。

  • 初始系统(Originating System):初始系统是实际运行IS-IS协议的路由器。允许一个单独的IS-IS进程像多个虚拟路由器一样发布LSP,而“Originating System”指的是那个“真正”的IS-IS进程。
  • 虚拟系统(Virtual System):由附加系统ID标识的系统,用来生成扩展LSP分片。这些分片在其LSP ID中携带附加系统ID。
  • 系统ID(Normal System-ID):初始系统的系统ID。
  • 附加系统ID(Additional System-ID):虚拟系统的系统ID,由网络管理器统一分配。每个附加系统ID都允许生成256个扩展的LSP分片。附加系统ID和系统ID一样,在整个路由域中必须唯一。
  • 24号TLV(IS Alias ID TLV):用来表示初始系统与虚拟系统的关系。

(2)工作原理。

  • 在IS-IS中,每个系统ID都标识一个系统,每个系统都最多可生成256个LSP分片。通过增加附加系统ID,可以最多配置50个虚拟系统,从而使得IS-IS进程最多可生成13056个LSP分片。
  • 使能分片扩展功能之后,如果存在由于报文装满而丢失的信息,系统会提醒重启IS-IS。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的LSP中发送出去,并通过24号TLV来告知其他路由器此虚拟系统和自己的关系。

(3)工作模式。
在这里插入图片描述

在这里插入图片描述

六、IS-IS IPv6。

1.新增属性。

  为了支持IPv6路由的处理和计算,IS-IS新增了两个TLV(Type-Length-Value)和一个新的NLPID(Network Layer Protocol Identifier)。

  • 236号TLV(IPv6 Reachability):通过定义路由信息前缀、度量值等信息来说明网络的可达性。
    在这里插入图片描述

    • U:up/down bit ,标识这个前缀是否是从高level通告下来的(用来防环路)。
    • X:external original bit ,标识这个前缀是否是从其他路由协议中引入过来的。
  • 232号TLV(IPv6 Interface Address):它相当于IPv4中的“IP Interface Address”TLV,只不过把原来的32比特的IPv4地址改为128比特的IPv6地址。

    • 在不同的PDU中,这个字段的内容是不同的,在hello PDU中,“接口地址TLV”只能包含发送hello包的接口的Link-local地址;对于LSP,“接口地址TLV”只能包含IS的non-link-local IPv6。
    • 个TLV结构是直接从TLV132映射过来的,因此,原来TLV132最多可以64个IP地址(32位),在TLV232中,最多只能有16个IPv6地址(128位)。
      在这里插入图片描述
  • NLPID是标识网络层协议报文的一个8比特字段,IPv6的NLPID值为142(0x8E)。如果IS-IS支持IPv6,那么向外发布IPv6路由时必须携带NLPID值。
    在这里插入图片描述

2.ISIS-IPv6的MT(多拓扑)。

  单拓扑弊端:IS-IS默认为所有协议维护相同的SPT。IPv4和IPv6的拓扑必须一致。在实际应用中,IPv4和IPv6协议在网络中的部署可能不一致,所以IPv4和IPv6的拓扑信息可能不同。混合拓扑中的一些路由器和链路不支持IPv6协议,但是支持双协议栈的路由器无法感知到这些路由器和链路,仍然会把IPv6报文转发给它们,这就导致IPv6报文因无法转发而被丢弃。同样,存在不支持IPv4的路由器和链路时,IPv4报文也无法转发。
在这里插入图片描述
  多拓扑:MT可以使IS-IS在一个路由域中维护多个拓扑;如果支持MT,IS-IS可以为IPv4和IPv6维护分离的拓扑;重要的是,使用MT,IPv4和IPv6的拓扑就不需要一样了。通过在IS-IS报文中定义新的TLV,MT信息被传播,并且可以按不同的拓扑分别进行SPF计算。新增四个TLV:

  • TLV 229 – Multi-Topology Identifier 多拓扑表示
  • TLV 222 – Multi-Topologies Intermediate System 多拓扑中间系统
  • TLV 235 – Multi-Topologies Reachable IPv4 Prefixes 多拓扑IPv4可达前缀
  • TLV 237 – Multi-Topologies Reachable IPv6 Prefixes 多拓扑IPv6可达前缀

配置:

 [R-isis-1]ipv6  enable  topology ?
		  compatible  Enable IPv6 for compatible topology
		  ipv6        Enable IPv6 for MT
		  standard    Enable IPv6 for standard topology
		
 [R-isis-1]ipv6 enable  topology  compatible  ?
		  enable-mt-spf  Enable MT-SPF in compatible mode
  • compatible :指定拓扑类型为兼容模式,即兼容标准拓扑和IPv6拓扑。IS-IS形成IPv6邻接关系,发布IPv6和标准拓扑链路。但是SPF只在标准(IPv4)拓扑上运行。该模式有助于从标准拓扑到IPv6拓扑的过渡。
  • enable-mt-spf:指定兼容模式时在IPv6拓扑上运行SPF。
  • ipv6:指定拓扑类型为IPv6拓扑,即在IPv6拓扑上使能IS-IS进程的IPv6。网络中的链路可以配置成IPv4或IPv6,但SPF计算在各自的拓扑中单独进行。 (多拓扑)
  • standard:指定拓扑类型为标准模式(IPv4),即在集成拓扑上使能IS-IS进程的IPv6。网络管理员必须保证网络中所有的链路支持一致的拓扑模式。缺省情况下,使能IPv6选择standard参数。(单拓扑)
  • 10
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晶晶娃在战斗

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值