HCIE课程笔记5-ISIS基本原理

 

2 ISIS基本原理

2.1 形成邻居关系的条件

(1)同一层次,不同层次类型的路由器不能形成邻居,但Level-1-2路由器既能和同一区域的Level-1路由器形成Level-1邻居关系,又能和相同或者不同区域Level-2路由器形成Level-2邻居关系。

(2)同一区域,Level-1路由器只能与同一区域的Level-1路由器或者Level-1-2路由器形成Level-1邻居关系。

(3)同一网段,IS-IS邻居关系的形成与IP地址无关,所以容易导致互相形成邻居关系的路由器处于不同的IP网段。为了解决这一问题,华为设备进行同一网段检查,保证邻居关系的正确建立。如果不需要检查对端地址,在P2P网络中,可以配置接口忽略IP地址检查;在广播网络中,需要先在接口下将网络类型修改成P2P网络,然后才可以配置接口忽略IP地址检查。

(4)相同网络类型

 

2.2 广播邻接关系的建立

 

两台运行IS-IS的路由器在交互协议报文实现路由功能之前,必须首先建立邻居关系。在不同类型的网络上,IS-IS的邻居建立方式并不相同。

 

在广播网络上,使用LAN IIH报文来建立邻接关系。有两种类型的LAN IIH:L1 LAN IIH(组播MAC:01-80-C2-00-00-14)和L2 LAN IIH(组播MAC:01-80-C2-00-00-15)。Level-1路由器通过交互L1 LAN IIH报文来建立邻居关系;Level-2路由器通过交互L2 LAN IIH报文来建立邻接关系;Level-1-2路由器会同时交互L1 LAN IIH报文和L2 LAN IIH报文来建立邻接关系。

 

以两台L2路由器在广播链路上建立邻居关系为例:
(1)R1组播发送Level-2 LAN IIH(组播MAC:01-80-C2-00-00-15),此报文中无邻居标识。

(2)R2收到此报文后,将自己和R1的邻居状态标识为Initial。然后,R2再组播向R1回复Level2 LAN IIH,此报文中标识R1为R2的邻居

(3)R1收到此报文后,将自己与R2的邻居状态标识为Up。然后R1在组播向R2发送一个标识R2为R1邻居的Level-2 LAN IIH

(4)R2收到此报文后,将自己与R1的邻居状态标志为UP。这样,两个路由器成功建立了邻居关系。

 

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

 

IS-IS和OSPF关于邻接关系的区别:
(1)IS-IS两个邻居路由器只要相互交换HELLO数据包就认为互相形成邻接关系;OSPF中两台路由器进入2-Way状态则被认为形成了邻居关系,只有进入FULL状态才被认为建立了邻接关系。

(2)IS-IS中,优先级为0的路由器也可以参与DIS选举;而OSPF端口优先级为0表示不参与DR选举。

(3)IS-IS中,DIS是基于抢占的;OSPF中DR/BDR选举结束后不得被抢占。

2.3 P2P邻接关系的建立

 

 

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

两次握手:只要路由器收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻居关系。所以容易存在单通风险。

三次握手:此方式通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,类似广播网络中邻居关系的建立。

 

2.4 广播网络LSP交互过程

 

新加入到路由器与DIS LSDB同步交互过程:

(1)假设新加入的路由器R3已经与R2(DIS)和R1建立了邻居关系

(2)建立邻居关系之后,R3将自己的LSP发往组播地址(Level-1:01-80-C2-00-00-14;Level-2:01-80-C2-00-00-15).这样网络上所有的邻居都将收到该LSP。

(3)该网段中的DIS会把收到R3的LSP加入到LSDB中,并等待CSNP报文定时器超时(DIS每隔10秒发送CSNP报文)并发送CSNP报文,并进行网络内的LSDB同步。

(4)R3收到DIS发来的CSNP报文,对比自己的LSDB数控,然后向DIS发送PSNP报文请求自己没有的LSP;

(5)DIS收到PSNP报文请求后向R3发送对应的LSP进行LSDB的同步。

上述过程中DIS的LSDB更新过程如下:

(1)DIS接收到LSP,在数据库中搜索对应的记录。若没有该LSP,则将其加入数据库,并组播新数据库内容;

(2)若收到的LSP序列号大于本地LSP的序列号,就替换为新报文,并组播新数据库内容;若收到的LSP序列号小于本地LSP的序列号,就向入接口发送本地的LSP报文;

(3)若两个序列号相等,则比较Reamining Lifetime(剩余生存时间)。若收到的LSP的Remaining Lifetime大于本地LSP的Remaining Lifetime,就向入端接口发送本地LSP报文;

(4)若两个序列号和Remaining Lifetime都相等,则比较Checksum。若收到的LSP的Checksum大于本地LSP的Checksum,就替换为新报文,并组播数据库内容;若收到的Checksum小于本地LSP的Checksum,就向入端接口发送本地LSP报文。

(5)若两个序列号、Remaining Lifetime和Checksum都相等,则不转发报文。

2.5 P2P网络LSP交互过程

 

 

P2P网络LSDB同步过程

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

在P2P链路中设备的LSDB更新过程如下:

若收到的LSP比本地的旧,则直接发送给对方本地的LSP,如果比本地的更新,则将这个新的LSP存入自己的LSDB,再通过一个PSNP报文来确认收到此LSP,最后再将这个新LSP发送给除了该LSP的邻居意外的邻居。其中,LSP序列号大的较新、Remaining Lifetime小的较新、Checksum大的较新,如果三者相同,则不转发该报文。

 

在P2P网络中,PSNP的作用:

  1. 作为Ack应答以确认收到的LSP。
  2. 用来请求所需的LSP。

2.6 IS-IS路由渗透

 

 

IS-IS路由渗透:

在Level-1-2路由器上手动将Level 2层级的路由渗透到Level 1层级,可以避免Level-1路由器选择次优路由。

假设R1要访问R6,缺省情况下,R1作为Level-1路由器并不知道本区域外的路由,发往区域外的报文会选择最近的Level-1-2路由器(R3)产生的缺省路由发送出去,导致次优路径的出现(R1-R3-R5-R6)

而IS-IS提供的路由渗透功能,通过在Level-1-2路由器上定义ACL、路由策略、Tag标记等方式,将符合条件的路由筛选出来导入本地区域的Level-1 LSDB,从而实现将其他Level-1区域和骨干区域的部分路由信息通报给自己所在的Level-1区域。

如果分别在Level-1-2路由器R3和R4上使用路由渗透功能,Area47.0001中的Level-1路由器就会拥有经这两个Level-1-2路由器通向区域外的路由信息。经过路由计算,选择的转发路径为R1-R2-R4-R5-R6,即R1到R6的最优路由。

 

 

2.7 IS-IS路由过载

 

IS-IS路由过载:

(1)使用IS-IS过载标记位来标识过载状态

(2)对设备设置过载标志位后,其他设备在进行SPF计算时不会使用这台设备做转发,只计算该设备上的直连路由。

设置了过载标识的LSP虽然还会在网络中扩散,但是在计算通过过载路由器的路由时不会被采用。

上述拓扑图中,R1到R3的报文由R2转发,如果R2发布的LSP中的OL位置为1,则R1认为R2的LSDB不完整,于是将流量通过R4、R5转发给R3,但去往R2直连网段的流量不受影响。

进入过载状态的方法:

(1)设备异常可导致自动进入过载状态

(2)手工设置使设备进入过载状态

 

进入过载状态的说明:
(1)如果因为设备异常进入的过载状态,系统将删除全部引入或渗透的路由信息

(2)如果因为用户配置进入过载状态,系统会根据用户配置决定是否删除全部引入或渗透的路由。

 

2.8 IS-IS收敛特性

快速收敛

(1)增量最短路径优先算法I-SPF:只对受影响的节点进行路由计算,只在第一次计算时包括全部节点

(2)部分路由计算PRC:只对发生变化的路由进行重新计算,根据I-SPF算出来的SPT来更新路由

(3)智能定时器:分为SPF计算智能定时器和LSP生成智能定时器,当网络变化频繁时,智能定时器的间隔时间会自动延长

(4)LSP快速扩散

(5)按优先级收敛:能够让某些特定的路由优先收敛的一种技术。IS-IS路由的收敛优先级分别为critical、high、medium、low四个等级,本地有效

 

 

2.9 IS-IS认证

认证分类:

  1. 接口认证:只对Level-1和Level-2的Hello报文进行认证
  2. 区域认证:对Level-1的SNP和LSP报文进行认证
  3. 路由器认证:对Level-2的SNP和LSP报文进行认证

认证方式:Null、明文、MD5

对于区域认证和路由器认证,可以设置为SNP和LSP分开认证。

 

 

2.10 IS-IS LSP分片扩展

 

基本概念

(1)初始系统(Originating System):实际运行IS-IS协议的路由器。使能IS-IS LSP分片扩展功能后,可以为路由器配置附加的虚拟系统,“Originating System”指的是原来运行的、“真

正”的IS-IS进程。

(2)系统ID(System ID):初始系统的系统ID。

(3) 附加系统ID(Additional System ID):使能IS-IS LSP分片扩展功能后,为IS-IS路由器配置的附加的虚拟System ID。每个附加系统ID都可以生成256个额外扩展的LSP分片。附加系统ID和系统ID一样,在整个路由域中必须唯一。

(4)虚拟系统:由附加系统ID标识的系统,用来生成扩展LSP分片

 

IS-IS通过泛洪LSP来宣告链路状态信息,由于一个LSP能承载的信息量有限,IS-IS将对LSP进行分片。每个LSP分片由产生该LSP的结点或伪结点的SystemID、PseudnodeID(普通LSP中该值为0,Pseudonode LSP中该值为非0)、LSPNumber(LSP分片号)组合起来唯一标识,由于LSPNumber字段的长度是1字节,因此,IS-IS路由器可产生的分片数最大为256,限制了IS-IS路由器可以发布的链路信息量。

 IS-IS LSP分片扩展特性可使IS-IS路由器生成更多的LSP分片,通过为路由器配置附加的虚拟系统、每个虚拟系统都可生成256个LSP分片(最多可配置50个虚拟系统),使得IS-IS路由器可最多生成13056个LSP分片。

 

LSP分片分类:

Mode-1:

如拓扑所示:R2是不支持分片扩展的路由器,R1设置为mode-1的分片扩展,R1-1和R1-2是R1的虚拟系统,R1将一部分路由信息放入R1-1和R1-2的LSP报文中向

外发送。R2收到R1,R1-1和R1-2的报文时,认为对端有三台独立的路由器,并进行正常的路由计算。同时R1到R1-1和R1-2的开销都是0,所以,R2到R1的路由开

销值与R2到R1-1路由开销值都相等。虚拟系统产生的LSP包含的邻居只有初始系统(邻居类型为点到点),且虚拟系统仅当做叶子考虑。

 

Mode-2:

R2支持分片扩展,R1设置为Mode-2的分片扩展,R1将一部分路由信息放入到R1-1和R1-2的LSP报文中向外发送。当R2收到R1-1和R1-2的LSP时,通过IS Alias ID TLV知道他们的初始系统是R1,则把R1-1,R1-2所发布的信息都视为R1的信息。

 

注意事项

 配置分片扩展后,如果存在由于报文装满而丢失的信息,系统会提醒重启IS-IS。重启之后,初始系统会尽最大能力装载路由信息,装不下的信息将放入虚拟系统的LSP中发送出去。 如果网络上还有其他厂商的设备,配置分片扩展必须配置成Mode-1,否则其他设备无法识别。建议先配置分片扩展和虚拟系统,然后将IS-IS建立邻居或者引入路由。

 

IS-IS管理标记(Tag)

 

管理标记特性允许在IS-IS域中通过管理标记对IP地址前缀进行控制,可以达到简化管理。其用途包括控制不同级别和不同区域间的路由引入,以及在同一路由器上运行的IS-IS多实例。

 

拓扑描述

 假设R1只想收到R2/R3/R4的Level-1路由信息。首先给R2、R3、R4的IS-IS的接口配置相同的tag(管理标记)。然后在Area47.0003的Level-1-2 路由器做从Level-2到Level-1区域的路由渗透,渗透时使用tag进行过滤,可以简化过滤的策略。