IS-IS

Intermediate System to Intermediate System,基于SPF算法的链路状态路由协议,

也是一种内部网关,协议优先级为15,最初由ISO对其进行标准化工作。只能工作在点对点的链路和广播型的链路上,或者全互联的FR中,主流用于ISP中,可扩展性(TLV报文)相对于OSPF更加丰富,OSI模型以路由器节点为一个单位,而不是端口,使用数据链路层进行承载。

 传统的IS-IS默认只能运行在OSI环境中,为了让IS-IS运行在TCP/IP环境中,所以

对原始的IS-IS(ISO10589)做了一些改进。称为Integrated  IS-IS。现在所有的IS-IS

实际上都为Integrated IS-IS,即支持TCP/IP网络模型,同时也支持OSI网络模型,IETF

使用TLV(Type、Length、Value)对IS-IS进行扩展,在原来支持CLNP环境网络的基础上

由支持IP网络。

    默认主流路由协议(OSPF、RIP等)运行的协议栈为TCP/IP的协议栈,所以路由器默认运行的为TCP/IP的协议栈,IS-IS基于OSI协议栈,所以在配置了IS-IS的路由器上默认会开启OSI协议栈,所以路由器为双栈模式,所以称为集成的路由。

分为两个版本:

① IS-ISV4:IPV4类型路由

② IS-ISV6:IPV6类型路由

一. CLNS:

Connectionless Network Service,无连接网络服务,一种网络架构,ISO开发的OSI七层模型中的协议簇服务,CLNS的服务报文为CLNP,原始的IS-IS服务于OSI的CLNP(类似于IP),而现在的集成IS-IS即服务于OSI的CLNP,也服务于TCP/IP的IP。

CLNS由以下三个协议构成:

① CLNP

② IS-IS

③ ES-IS

IP是TCP/IP协议中唯一的网络层协议,包含路由协议和用户数据都封装在IP包内,而CLNP、IS-IS协议都是网络层协议,分别被封装在数据链路层的帧内。

1. CLNP协议:

类似于TCP/IP的IP协议,IP协议为TCP/IP传输层服务,CLNP为OSI传输层服务,CLNP定义独立于数据链路层,直接封装在数据链路层之上。

2. IS-IS协议:

Intermediate System to Intermediate System,路由器到路由器,中间系统间的路由协议,类似于IP中的OSPF

3. ES-IS协议:

End System to Intermediate System to Intermediate System,末节系统到中间系统,PC到路由器协议, ES与IS之间的信息沟通协议被称为ES-IS协议。同一网段或链路的ISO终端系统和路由器之间自动交换信息便于邻接点发现。路由器发送IS报文hello(ISH),主机发送ES报文hello(ESH)。在直连节点间发送的hello报文包含通信节点的网络层地址和数据链路层地址。包含地址分配,网关选择等功能。等同于IP中的ICMP、ARP、DHCP协同工作。

二. 基本概念:

1. PDU:

Packet data Unit,报文数据单元,类似于TCP/IP中的IP数据包。

2. TLV:

IS-IS具有很好的扩展性最主要的原因在于使用它TLV编程,TVL表示为Type类型、Length长度、Value值,Type和Length的长度固定,一般那是2、4个字节,在IS-IS中都为1Byte,Value的长度不固定,由Length指定。

3. NSAP:

Network Service Access Point,网络服务接入点,用来标识接口,由CLNP地址和服务端口号组成,NSAP是OSI协议中用于定义资源的地址,相当于OSI的网络层协议CLNP的地址(类似于IP地址的概念)

4. NET:

Network Entity Title,网络实体标记,一种特殊的特殊NSAP,由于集成IS-IS需要在TCP/IP上运行,所以重新定义了特殊的NSAP接口标识,称为NET,NET标识时可变长的,最短8Byte,最长20Byte,并且最后一个字节为0。

NET组成部分:

LDP+DSP+SEL==AFI+可变长Area ID(总共1~13Byte)+固定6Byte的Sys-ID+固定NSEL的00

NET举例:                                           

  • 49.aaaa.bbbb.cccc.00 
  • 49.0001.aaaa.bbbb.cccc.00 
  • 49.0001.0002.aaaa.bbbb.cccc.00

配置命令:[Huawei-isis-1]network-entity 49.0001.0000.0000.1111.00

注:NSEL(资源定位符)用来表示高层协议类型,IS-IS没有高层协议,所以为00

 IS-IS_第1张图片

(1)AREA-ID:

IS-IS允许将整个路由域分为多个区域,一个路由器目前最多有3个Area ID,配置不同的区域ID是为了平滑的进行区域合并、分割、转换用。和OSPF不同的时,一个路由器必须属于某个区域,而不能是某些接口属于一个区域,其他的接口属于另外一个区域,一个路由器最多只能配置三个Area-ID,表示做多连接三个区域,配置不同的区域ID时为了平滑的进行区域合并、分割、转换用。

① 平滑过渡原理:

a)       两台路由器分别属于不同的区域,运行IS-IS进行互联

 IS-IS_第2张图片

b)       R2想要进行区域的重新配置,为了防止数据流量的不中断,此时需要进行平滑过渡,在R2上配置多区域,此时R2上的两个区域都会和R1进行连接

 IS-IS_第3张图片

c)        删除R2的老区域ID

 IS-IS_第4张图片

(2)Sys-ID:

System ID,路由器身份标识,类似于OSPF的Router ID。

5. DIS:

Designated IS指定中间系统,相当于OSPF的DR,在一个域中的唯一节点标识。

 

(1)DIS功能:

① 在广播型网络中创建和更新伪节点。

② 在LAN中通过每10S周期性的发送CSNP来泛洪LSP。

(2)DIS选举:

默认在broadcast网络中选举DISP2P网络中无DIS,选举规则为:

① 查看DIS优先级,优先级值越高,越优先选举(默认优先级值为64)

② 根据SNPA(子网连接点)最大的(广播为MAC地址)进行选举

注1:DIS的选举是抢占模式,当优先级为0依旧有选举权。

注2:与OSPF不同,IS-IS的DIS不存在备份的DIS,当一个DIS不能工作时,直接选举新的DIS。

注3:由于没有备用的DIS,为了防止网络拓扑无法及时收敛,规定DIS发送Hello数据包的时间间隔是普通路由的1/3,这样可以保证DIS失效可以被快速检测到。

注4:在接口下使用命令修改优先级:isis dis-priority 100

(3)伪节点作用:

与OSPF的DR不同,存在DIS的Lan网段中,所有的路由器之间都会建立全互联,所以DIS不像OSPF那样减少网络设备邻居建立带来的负担和减少LSP的传递。

① DIS在伪节点LSP中通告LAN中的所有邻接路由器(类似于OSPF的LSA type 2)

② 在LAN中通过每10S周期地发送CSNP来泛洪LSP,可以使同Lan中的设备更快的得知当前LSDB中缺少的LSP,增加了可靠性

DIS设备每次发送Hello报文的时间比普通设备发送的Hello报文快,默认每3S发送一次,

9S失效,并且默认网络中的设备抢占。

DIS可以被抢占的原因:

  • OSPF的DR会和所有的设备建立FULL邻接关系,如果DR可以被抢占,当网络中出现新的DR,但是DR的数据库没有得到收敛,本来已经收敛的路由器收到了DR的DD报文,发现DD报文中缺少自己数据库中的一些LSA,此时他认为这些LSA是失效的,于是删除LSA,如果DR收敛完成,在发送DD报文,设备又会重新请求这些LSA
  • 在IS-IS中,DIS被边缘化,所有的设备都形成全互联的连接关系,而不会经过DIS中转LSP,所以即使出现了新的DIS,也不会造成其他路由器数据库的变化

(4)DIS/DR:

IS-IS的DIS和OSPF中的DR的区别:

选项/名称

DIS

DR

是否存在辅助

只有DIS

DR、BDR都存在

选举规则

默认为64,越大越好

默认为1,越大越好

选举优先级0

依旧有选举资格

无选举资格

Hello包的标识

认为自己为DR

不认为自己为DR,等待其他路由器告知自己DR的标识

选举过程

优先级、MAC

优先级、Router ID

能够抢占

抢占

不抢占

连接关系

全互联,所有的路由器之间都是Full状态

其他路由器只和DR、BDR有Full关系

稳定后行为

默认每10S发送一次CSNP

和其他路由器一样,每30min发送一次自身产生的LSA

三. 网络类型:

IS-IS区域的分界位于链路上,工作在数据链路层上,直接封装在二层帧上,IS-IS协议只支持点到点和Broadcast两种网络类型。

① 点到点链路,如PPP、HDLC等

② 广播链路,如Ethernet

注1:在FR中,由于没有二层MAC地址,无法选举DIS,所以ISIS在FR网络类型中为P2P模式,由于P2P模式只能和对端建立一个邻居,所以如果FR网络中有多个邻居时,需对其配置子接口。

注2:ISIS只支持广播链路到P2P的转换,使用命令[Huawei-Serial0/0/0]isis  circuit-type p2p修改

四. 路由器分类:

每台路由器都必须属于一个Area,路由器分为三种类型:

① level-1 Routers

② level-2 Routers

③ level-1 Routers and level-2 Routers

注:路由器类型可以在接口上配置,但是全局配置优于接口配置,只有全局是L1/L2路由器时,接口的配置才会生效。

1. Level-1 Routers:

普通区域路由器,位于普通区域内部,Level 1区域只传递本区域路由,Level-1也是Stub区域,数据库中只有本区域的拓扑和路由信息,通过检测LSP报文中的ATT bit发现当前网络的L1/L2路由器,如果ATT bit置1,将生成一条默认路由指向此L1/L2路由器。

Level-1 Router在建立邻居时必须Area ID相同,否则无法建立邻居

具有以下特点:

  • L1路由器只和本区域的L1路由器或具有L1功能的L1/L2路由器形成邻居关系。
  • L1路由器只有本区域内L1的链路数据库(L1 LSPDB),包含本区域内所有的L1路由器的路由信息。
  • 通过与自己最近的L1/L2路由器的ATT bit生成指向此台设备的默认路由作为出口路由(L1区域类似于OSPF的Totally stub区域)。

注:ATT bit置位有两个条件:① 必须有Level2的邻居;② 必须和Level2邻居处于不同区域

  • 在转发时,如果目的地址在本区域内,就直接利用L1 LSPDB生成的路由转发报文,如果目的地不再本区域,则利用本区域最近的L1/L2路由器作为区域外网络的出口(可能导致次优路由)。

2. Level-2 Routers:

骨干区域内的路由器,骨干区域内部的路由器一定是Level-2 Routers(除区域边界L1/L2 Routers)。Level-2路由器数据库中有全网的LSP信息,所以也存在全网的路由信息。Level2区域在一个AS内必须是连续唯一的,用来传递Level 1区域的路由,Level2区域有所有区域的路由信息。

Level-2 Router建立邻居时不关心Area ID问题,所以不同区域的Level-2路由器可以建立邻居,所以骨干区域时可以跨域的。

具有以下特点:

  • 可以和其他的L2路由器或具有L2功能的L1/L2路由器形成邻居关系。
  • L2路由器有Level2的链路状态数据库(L2 LSDB),它包含所有的区域间(全网)路由信息。
  • 接收来自本区域内其他L2路由器的报文,并按照目的地址将报文转交给其他区域的L2路由器(或是转发到统一区域的L2路由器)。接受来自其他区域的L2路由器的报文,并按照目的地址将报文转发。

3. L1/L2 Routers:

存在骨干区域,用于连接骨干区域和普通区域的路由器,以L1/L2 Routers为界限,L1/L2

Routers连接的普通区域路由器为L1 Routers,L1/L2 Routers连接的骨干区域路由器为L2

Routers,默认两台路由器都为L1/L2 Router时,在建立邻居时会形成两个类型路由的邻居。

所以存在两个LSDB。如果LSDB中不同的Level存在相同的路由,则Level1优于Level2。

L1/L2 Router将Level1区域的LSP转换为level2区域的LSP在骨干区域传递,并且在传递Level1 LSP时将ATT bit置位,表明自己为L1/L2 Router,收到ATT bit置位的路由器将生成一条默认路由指向此L1/L2 Router。

注:ATT bit置位有两个条件:① 必须有Level2的邻居;② 必须和Level2邻居处于不同区域

如果普通区域存在多个L1/L2 Router,普通区域的Level1路由器会根据自身到L1/L2 Router的开销选择最优路径作为默认路由的出口,如果开销相同,实行附载分担。

具有以下特点:

  • 可以和本区域的任何级别路由器形成邻居关系;可以和其他区域相邻的L2或L1/L2路由器形成L2邻居关系。
  • 可能有两个级别的链路状态数据库。
  • L1用来作为区域内路由;L2用来作为区域间路由。
  • 完成它所在的区域和骨干区域之间的路由信息的交换,即承担L1的职责也承担L2的职责,将L1区域的路由信息通告到L2区域。

五. IS-IS报文:

IS-IS直接工作在数据链路层,所以IS-IS报文依靠IEEE802.3承载。

IS-IS报文主要分为以下几种:

①  IIH

②  LSP

③  SNP-PDU

头部信息:

头部信息每行为1Byte

Intradomain Routing Protocol Discriminator

length indicator

Version/Protocol ID Extension

ID Length

R

R

R

PDU Type

Version

Reserved

Maximum Area Addresses

① Intradomain Routing Protocol Discriminator路由鉴别器,为ISIS

② Length Indicator长度指示器(PDU报文头长度)

③ Version/Protocol ID Extension版本为1;协议ID扩展

④ System ID Length系统ID长度,为6

⑤ PDU Type:PDU报文类型

⑥ Version版本

⑦ Reserved保留位

⑧ Maximum Area address:最大支持配置的Area ID

 IS-IS_第5张图片

1. IIH:

Intermediate System to Intermediate System Hello PDU,中间系统到中间系统的Hello PDU,用来建立邻居,维护网络拓扑,相当于OSPF中的Hello报文

分为三种类型:

① Level 1 IIH

② Level 2 IIH

③ P2P IIH

(1)Level-1/Level-2 IIH:

L1 Router和L1 Router/L1 L2 Router建立邻居关系发送的数据包,默认10S发送一次,Died时间为30S;DIS路由器默认3S发送一次,Holding为10S,如果Level类型为Level-1-2,则Level-1 IIH和Level-2 IIH都发送,并且Circuit Type类型变为Level-1 and Level-2。

 IS-IS_第6张图片

① circuit typeIHH的Level类型

② Reserved保留位

② System ID系统ID(如果当前路由器为DIS,后面增加接口标识来证明)

③ Holding timer死亡时间

④ PDU LengthPDU长度(不包含头部长度)

⑤ PriorityDIS优先级

⑥ System ID(Designated IS):自认为DIS系统ID

⑦ Area address区域ID

⑧ IS Neighbor对端标识,MA为Mac地址

⑨ IP interface address接口IP地址(广播网络,当收到Hello报文后,检查此选项,如果和接口IP处于同网段接收,否则不建立邻居关系)

⑩ Protocols Supported协议支持,为IP

注:Level1使用的二层组播地址为01:80:C2:00:00:14,Level2使用的二层组播地址与Level1不同,为01:80:C2:00:00:15

(3)P2P IIH:

点到点网络中,使用P2P IIH建立邻居,默认10S发送一次,Holding timer为30S。

 IS-IS_第7张图片

① circuit typeIHH的Level类型

② Reserved保留位

② System ID(Sender of PDU):系统ID

③ Holding timer死亡时间

④ PDU LengthPDU长度(不包含头部长度)

⑤ Area address区域ID

⑦ IP interface address 接口IP地址

⑧ Protocols Supported协议支持,为IP

⑨ P2P Adjacency stateP2P邻居状态

  • Adjacency Start:本端状态 down/Init/UP
  • Extended Local Circuit ID:本端的标识
  • Neighbor System ID :对端的标识
  • Neighbor Extended Local circuit ID:本端的外部标识

注:由于P2P不选举DIS,所有没有Priority,并且邻居状态IS Neighbor由P2P Adjacency state标识

2. LSP:

Link state Protocol Data Unit,链路状态数据单元,类似于OSPF中的LSA,携带路由信息,LSP在每台路由器LSPDB中的最大生存时间为20分钟,默认每台路由器15分钟刷新一次。由于IS-IS没有类似于OSPF的LSU报文,所以直接发送LSP给对端邻居,一个接口链路为一条LSP,如果路由器将所有的接口信息全部告诉对端邻居,会发送对应数量的LSP给对端。

(1)LSP报文特性:

LSP报文使用LSP-ID用于标识一份唯一的LSP,当收到两份相同的LSP后,首先比较Sequence Number,如果Sequence Number一样,则比较LSP Hold time,如果收到LSP的老化时间大于本地的老化时间,则认为更优,如果时间一样,则比较校验和,校验和越大也优先。

① LSP-ID:

每一条LSP都有唯一的LSP-ID用于身份标识:

  • Sys ID(节点或伪节点的Sys ID)
  • Pseudo node ID:伪代码ID,普通LSP为0;Pseudo node LSP非0
  • LSP number分片号,如果一条LSP超出MTU值,会被分片,使用分片号标识顺序,

外部路由也会被分片

 IS-IS_第8张图片

 IS-IS_第9张图片

② Sequence Number:

序列号,用来确定是否是最新的LSP版本,每次更新LSP,默认序列号增加1,一台ISIS路由器不会接收比原来序列号相同或更小的LSP。

序列号从0x00000000,0xFFFFFFFF最大,线性增长。

③ LSP Hold time:
  • 用来周期性清除旧的LSP,最大Hold time生存时间为20分钟(1200S),从1200倒数为0(与OSPF从0~3600S相反),当到数为0后,此条LSP将被清除,使用命令[Huawei-isis-1]timer lsp-max-age 10000(最大65535)修改生存时间值。
  • LSP的刷新时间为15分钟(900S,15%-25%的随机抖动),使用命令[Huawei-isis-1]timer lsp-refresh 100(最大65535)修改该刷新时间

注:如果LSP到生存时间都没有刷新包到来,name这个包的生存时间到0以后,name将清除LSP的内容,只保留LSP Header(LSP-ID)将Lifetime置0泛洪出去,所有收到为0的LSP路由器在60S后将从库中清楚,这种行为叫做“零寿命生存时间

④ ATT bit/Overload bit/P bit:

分别为为1bit,如果置位,表明其作用生效:

  • ATT:如果ATT位置1,表明此条LSP的发布者为L1区域去往骨干区域的L1/L2路由器,   

将自动生成默认路由指向此L1/L2路由器

  • Overload:过载bit位
  • P:为了解决不连续的骨干区域,华为不支持,无作用

注1:ATT bit置位有两个条件:① 必须有Level2的邻居;② 必须和Level2邻居处于不同区域

注2:在L1/L2路由器上敲[Huawei-isis-1]attached-bit advertise never命令之后不会在将ATT bit置1

注3:在L1路由器上敲[Huawei-isis-1]attached-bit avoid-learning命令之后不会在生成默认路由

(2)报文类型:

① Router-LSP:

每台路由器都会产生,用来描述字节接口的拓扑信息和网络信息,拓扑信息和网络信息使用TLV进行了分离,使用TLV分别描述,当网络信息变化时,发现拓扑TLV无变化,不会执行SPF算法,而是直接使用PRC重新计算路由即可

 IS-IS_第10张图片

a)       Source发送者LSP-ID

b)       NLPID地址类型(IPV4或IPv6)

c)        Area Address所描述的本地接口IP地址

d)       NBR ID拓扑信息

e)       IP-Internal网络信息,链路网段信息

② DIS-LSP:

由DIS产生,只描述当前连接节点信息

 

① Source发送者LSP-ID

② NLPID地址类型(IPv4或IPv6)

③ NBR ID连接IS-IS邻居信息

3. SNP-PDU:

用于维护LSDB的完整与同步,确认与维护,且为摘要信息。

分为两种类型:

(1)CSNP:

Complete Sequence Numbers Protocol Data Unit,全部序列号数据单元,用于数据库的同步,描述数据库LSDB中的所有LSP,包含地址范围,各LSP的简要信息,类似于OSPF的DD报文。

CSNP发布规则:

  • 在MA网络中CSNP由DIS默认10S发送一次
  • 在点到点串行链路上,只有第一次邻接时发送CSNP,如果路由器的LSDB非常大,将分成多个CSNP发送

CSNP发布类型:

  • Level 1 CSNP: L1 Router/连接L1 Router的L1/L2 Router发送此类CSNP
  • Level 2 CSNP: L2 Router/连接L2 Router的L1/L2 Router发送此类CSNP

CSNP报文:

CSNP使用头部的LSP id、Sequence Number、Remainning lifetime、LSP checksum来描述LSPS

 IS-IS_第11张图片

① SYS id:发送者系统ID

② Sequece Number:序列号

③ checksum:校验和

④ remainning lifetime:剩余寿命

(2)PSNP:

Partial Sequence Number Protocol Data Unit,部分序列号协议数据单元,路由器用来请求自己LSPDB中所缺少的LSP报文和确认所收到的LSP报文的回复,类似于OSPF的Request请求报文和ACK报文。

CSNP使用头部的LSP id、Sequence Number、Remainning lifetime、LSP checksum来描述LSPs

PSNP发布类型:

  • Level 1 PSNP: L1 Router/连接L1 Router的L1/L2 Router发送此类PSNP
  • Level 2 PSNP: L2 Router/连接L2 Router的L1/L2 Router发送此类PSNP

PSNP作用:

  • 在点到点链路上路由器用来相互交换作为ACK应答已确认收到某个LSP
  • 用来请求发送最新的LSP,当路由器从近邻接收到CSNP时,注意到CSNP丢失了部分数据库(或自己的比较老),路由器发送PSNP请求新的LSP

 IS-IS_第12张图片

六. IS-IS收敛过程:

1. 收敛要求:

IS-IS形成邻接关系需要以下条件:

① 同一层次(同为Level1或同为Level2)

② Lvel1必须同一区域ID

③ 同一网段(可以不为同一掩码),P2P除外[Huawei-Serial0/0/0]isis peer-ip-ignore)

④ 相同网络类型(都为点到点或都为MA)

⑤ Sys ID不一样

⑥ MTU大小一致

⑦ 认证相同

注:Cost-Style不一致不影响ISIS邻居关系的建立,但执行SPF计算时存在问题;Hold Time不影响邻居关系的建立,双方取最小值作为Hold Time,Hold Time÷3=Hello Interval,与本地Hello interval对比取最小值作为实际的Hello Interval。

详细内容:

  • 两台L1路由器只有和他们的AID匹配时才能形成一个L1邻接关系
  • 两台L2路由器及时他们的AID不同也能形成一个L2的邻接关系
  • 一台L1路由器和一台L1/L2路由器只有在他们的AID匹配时才能形成一个L1邻接关系
  • 一台L2路由器和一台L1/L2路由器及即使在他们不同的AID时也能形成L2邻接关系
  • 如果两台L1/L2路由器的AID匹配,他们就可以同时形成L1和L2类型的邻接关系
  • 如果两台L1/L2路由器的AID不匹配,他们就只能形成L2类型的邻接关系

注:接口发送的IIH的Level类型以全局Level为前提,如果全局Level为1或Level2,接口将发送全局的Level类型IIH报文,如果全局Level类型为Level-1-2,则根据接口类型的Level类型发送IIH报文

2. 收敛过程:

(1)邻居建立:

两端路由器在配置IS-IS路由协议后,会开始互相发送Hello数据包,经过三次Hello包建立邻居关系,这种模式为3Way模式,P2P网络可以使用命令改为2Way模式。

① 3Way过程:

3Way状态可靠邻居建立:

  • P2P网络中如果在P2P Adjacency state的TLV中Neighbor System ID能看到自己的Sys ID,则进入UP状态
  • MA网络中如果在IS Neighbor的TLV中看到自己的MAC地址,则进入UP状态

注:使用命令[Huawei-GigabitEthernet0/0/1]isis ppp-negotiation 3-way  only强制接口类型为3-Way模式,如果检测到对方的IIH报文中没有Neighbor的TLV,则认为对方支持2-Way模式,将拒绝和对方建立邻居

 IS-IS_第13张图片

a)   初始状态,两端都为Down

b)   R1发送Hello包给R2,Hello包中包含自己Sys ID,并在P2P Adjacency state中标识与邻居的状态:

  • Adjacency Start:Init
  • Extended Local Circuit ID:本端的标识
  • Neighbor System ID :为空(MA网络为 IS Neighbor)
  • Neighbor Extended Local circuit ID:本端的标识

c)   R2在收到R1发送的Hello包后,也发送Hello包给R1,包含自己的Sys ID,邻居列表(R1),状态为Init并在P2P Adjacency state中标识与邻居的状态:

  • Adjacency Start:Init
  • Extended Local Circuit ID:本端的标识
  • Neighbor System ID :对端的标识
  • Neighbor Extended Local circuit ID:本端的标识

d)   R1在收到R2的Hello包后,发现邻居状态中存在自己的标识,将自己变为UP状态,并回复Hello报文

  • Adjacency Start:UP
  • Extended Local Circuit ID:本端的标识
  • Neighbor System ID:对端的标识
  • Neighbor Extended Local circuit ID:本端的标识

e)   R2在收到R1的Hello包后,发现邻居状态中存在自己的标识,也将自己变为UP状态

② 2Way过程:

 IS-IS_第14张图片

a)       两端状态为Down

b)       R1发送Hello包给R2,包含自己的Sys ID,直接进入UP状态

c)        R2发送Hello包给R1,包含自己的Sys ID,直接进入UP状态

注:P2P默认为3-way模式,并且可以兼容2-way模式,使用命令[Huawei-Serial0/0/0]isis ppp-negotiation 2-way only只能使用2-way模式

③ MTU隐式描述:

IS-IS建立邻居关系需要两端接口的MTU大小一致,但是IIH报文中并没有携带描述MTU大小的TLV 

隐式描述行为:

a)       在Broadcast网络中,每次发送IIH报文的时候,IIH报文如果没有超出接口MTU,使用Padding填充到接口MTU大小,当对端收到数据包时,如果数据包的大小超出接口MTU,默认丢弃,此时IS-IS邻居建立不成功

b)       在P2P网络中,只有发送IIH报文建立邻居时,会将IIH填充到接口MTU的大小,邻居建立成功后,不会在填充padding

注:

使用命令[Huawei-GigabitEthernet0/0/0]isis small-hello不会填充Hello报文(初次也不会填充)

使用命令[Huawei-GigabitEthernet0/0/0] isis padding-hello发送的Hello报文每次都填充到接口

MTU

MTU值要求:

a)       Broadcast环境两端MTU值必须大于等于1500,而且MTU值一致,才能建立邻居关系

b)       P2P环境两端MTU值必须大于等于1497,而且两端MTU值一致,能建立邻居关系

(2)交互CSNP:

① 广播网络:

a)   在与所有的邻居UP之后,所有的路由器开始泛洪LSP

b)   其余路由器在收到LSP后,更新自己的 LSPDB

c)   DIS会存在所有的LSP,并每隔10S周期Flooding CSNP

d)   当网络中的路由器收到CSNP后,查看自己的LSPDB,如果缺少LSP,会使用PSNP进行请求所缺少的LSP

e)   DIS收到PSNP请求后,会将对应的LSP发送给邻居(广播类型无确认机制,DIS周期发送)

f)   如果路由器收到DIS发来的CSNP中缺少本地数据库中的LSP,直接Flooding DIS缺少的LSP

g)   当网络中出现新的路由器,与DIS交互LSP后,DIS会等待CSNP发送时间倒计时后进行发送,所有路由器收到CSNP,发送PSNP进行请求所缺少的LSP

② P2P网络:

a)   在两端关系UP之后,本端发送CSNP,使用LSP ID描述当前数据库中的LSP

b)   对端邻居收到CSNP后,查看自己的LSPDB,如果缺少LSP,会使用PSNP进行请求所缺少的LSP

c)   本端收到PSNP请求后,会将对应的LSP发送给邻居

d)   当对端邻居收到来自对端的CSNP确认消息后,进入Full状态

e)   此后的交互不会再有CSNP报文,而是两端邻居每隔15min交互一次LSP并使用PSNP进行确认

注1:由于P2P链路路由器不会周期的发送CSNP,所以如果一次请求失败,在15分钟内无法更新自己的LSP,所以为了确保对端已收到LSP,如果在5S内没有收到来自对端的PSNP确认,会再次发送LSP报文给对端

注2:实际过程中,两端设备直接将自己所有的LSP发送给对端,对端收到后使用PSNP进行确认,之后收敛后在发送一次CSNP再次进行确认,因为CSNP没有确认机制,所以直接发送LSP,使用CSNP进行两端的确认

(3)进行SPF计算:

① SPF计算:

ISIS的SPF计算接口开销默认都为10,不 考虑链路类型

 IS-IS_第15张图片

② IS-IS收敛特性:

主要通过以下几种机制实现:

  • SPF
  • PEC
  • 智能定时器
  • SPF快速扩散
a)      I-SPF:

Incremental SPF,增量最短路径优先算法,是指网络中节点发生变化时,针对网络拓扑改变所做出的行为。当网络初次收敛时,路由器会以自己为根,对全网信息使用SPF算法算出最优路径,当网络拓扑改变时,路由器会使用I-SPF算法只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快路由的计算。在ISIS中,由于IP与拓扑实现了分离,只有链路发生变化才会触发I-SPF的计算。

原理:

 IS-IS_第16张图片

A会以自己为根使用SPF算法进行收敛,当网络稳定后,Root A使用I-SPF算法,此时网段中的4网段出现故障时,不会触发Root A的重新计算。

 IS-IS_第17张图片

当网络中出现新的设备G,路由器D在网络中通告路由器G的路由信息,此时Root A使用I-SPF算法只对路由器G的路由网段进行计算,而不会全网重新计算。

b)     PRC:

Partial Route Calculation,部分路由计算,是指当网络中路由发生变化的时候,只对发生变化的路由进行重新计算。在IS-IS中,由于每条路由前缀都是当前节点的叶子,所以路由前缀的变化值触发RPC的计算,相对于OSPF在Area内,路由前缀变化会使用ISPF而言,ISIS会更快收敛。

IS-IS_第18张图片

当网络中增加了一条路由条目,节点改变时,此时不会触发I-SPF算法重新进行SPT的计算,而是直接将此路由条目放到路由表中。

c)      智能定时器:

在进行SPF计算和产生LSP的时候用到的一种定时器,该定时器首次超时时间是一个固定的时间。如果在定时器超时前,又有触发定时器的时间发生,则该定时器下一次的超时时间会增加,智能定时器默认LSP间隔为2S,SPF计算默认为5S。

 IS-IS_第19张图片

  • 当R6发送了一条新的LSP给R7,如果网路出现变化,此时R6必须等待2S之后才能将新的LSP发送给R7,如果网络中不停的出现状态,此时R6会发送大量的LSP,造成网络瘫痪,此时使用智能定时器后,每次智能定时器时间内产生新的LSP,定时器数值都逐渐增大,减少LSP,防止网络瘫痪。
  • 当R6发送了一条新的LSP给R7,R7会进行SPF计算,如果网路出现变化,R6重新发送LSP给R7,此时R7必须等待5S之后才弄能重新进行SPF计算,如果网络中不停的出现状态,此时R6会发送大量的LSP给R7,R7不停的进行SPF计算,为了防止R7频繁进行SPF计算出现宕机,此时可以使用智能计时器增大SPF计算时间,防止宕机发生。

智能定时器配置:

[Huawei-isis-1]timer lsp-generation 3 5 10---设置产生同一LSP间隔为3S,设

置初次产生LSP的延迟时间为5

毫秒,两次产生相同的LSP iD的LDP之间的递增时间为10毫秒

[Huawei-isis-1]timer lsp-max-age 3---设置产生LSP的最大老化时间500S,默认为20min

[Huawei-isis-1]timer lsp-refresh 400--设置LSP的刷新时间为400S,默认为15min

[Huawei]timer spf 10---修改SPF重新计算的时间间隔为10毫秒(默认为5S)

d)     SPF快速扩散:

传统模式下,当IS-IS收到其他路由器发来的LSP时,如果此LSP比本地LSDB中相应的LSP更新,则更新LSDB中的LSP,并启用一个定时器定期将LSDB内已更新的LSP扩散出去。

LSP快速扩散模式中,使能了此特性的设备收到一个或多个较新的LSP时,在路由计算之前,先将小于指定数目的LSP扩散出去,加快LSDB的同步过程。这种方式在很大程度上可以提高整个网络的收敛速度。

原理:

 

一般IS-IS都是采用周期性分批扩算LSP的方法(缺省情况下,接口上发送LSP报文的最小间隔为50毫秒,每次发送LSP报文的最大数目是10)。

 

使能flash-flood功能后,当LSP发生变化而导致SPF重新计算时,不在等待周期性分批扩散,而是导致SPF重新计算的LSP立即扩散出去,从而有效缩短拓扑变化时全网设备上LSDB不一致的时间,提高全网的快速收敛性能。虽然LSP数量很多,但每次网络出现故障而需要发生变化的LSP却很少,所以将这部分发生变化的LSP进行单独的快速扩散对系统的资源占用影响很有限。

使能LSP快速收敛命令:

[Huawei-isis-1]flash-flood

e)      按照优先级进行收敛:

IS-IS按优先级收敛是指在大量路由情况下,能够让某些特定的路由(例如指定IP前缀的路由)有限收敛的一种技术,因此用户可以把和关键业务相关的路由配置成相对较高的优先级,使这些路由更快的收敛,从而使关键的业务受到的影响减小。通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。

配置命令:

可以通过配置IP前缀列表或tag路由将特定路由过滤出来,通过对不同的路由配置不同的收敛优先级,达到重要的路由先收敛的目的,提高网络的可靠性。IS-IS路由收敛优先级为critical>high>medium>low,只有本地有效。

[Huawei]ip ip-prefix 1 index 5 permit 192.168.1.0 24

[Huawei-isis-1]prefix-priority critical ip-prefix 1

七. IS-IS路由渗透:

IS-IS路由渗透是将Level-1-2路由器手动将Level2层次路由器渗透到Level1层次,可以避免Level-1路由器路由次优路由(ATTbit产生缺省;UP/DOWN bit预防环路)

1. L1区域次优路径:

 IS-IS_第20张图片

如图在网络中R3和R4都为L1区域连接骨干区域的L1L2 Router,R1会根据cost值选择一条路径去往骨干区域,分别从R3,R4中选举出一条默认路由:

  • R1去往R3的Cost为10
  • R1去往R4的Cost为10+10=20

此时,R1会就近原则选择R3去往骨干区域。但此时R3连接骨干区域的Cost为50,而R4连接骨干区域的Cost为10。

  • R1选择R3去往骨干区域的实际Cost为10+50=60
  • R1选择R4去往骨干区域的实际Cost为10+10+10=30

此时,会存在次优路径的问题。

2. 路由渗透原理:

  • 默认路由表查找规则为同协议中根据子网掩码长度比较,由于普通路由条目的子网掩码长于默认路由,所以优先选择普通条目匹配,被渗透进来的路由称为Leak路由并且IS-IS选路规则为L1>L2>Leak,并且L1/L2收到了down bit置位的LSP永远不会传递会L2区域。
  • 在L1/L2 Router上将指定的L2目标地址引入到L1中,所以优先子网掩码大于默认路由的传统路由条目。
  • 上图中在R4中将10.0.1.0/24路由条目引入到L1中,此路由条目会在L1区域中泛洪,
  • 当R1收到10.0.1.0的路由条目后,放入路由表,访问10.0.1.0/24目标时,不在根据默认路由转发,解决了次优路径的问题。

注:和Level1区域路由转换为Level2区域路由一样,路由渗透是在配置了渗透命令的L1/L2路由器上将Level2路由引入到Level1区域,只有路由信息,没有拓扑信息,所以是矢量行为,当在L1/L2路由器上做了路由侧率,L1/L2路由器上有什么路由,区域1渗透就有哪些路由

3. 路由渗透配置:

 IS-IS_第21张图片

在R4中将5.5.5.5/32的路由条目引入L1区域:

[Huawei]ip ip-prefix 1 index 5 permit 5.5.5.5 32

[Huawei-isis-1]import-route isis level-2 into level-1 filter-policy ip-prefix 1

R1查看路由表:

 IS-IS_第22张图片

下一跳地址为192.168.2.2

R1 Tracert5.5.5.5

 IS-IS_第23张图片

4. 路由渗透环路:

IS-IS路由渗透会带来环路问题:

 IS-IS_第24张图片

当L2的路由条目从一台L1/L2 Router进入L1区域,可能会从另一台与自己相连接的L1/L2 Router再次泛洪给自己,当链路出现故障时,由于收敛不及时,可能造成网络环路。

(1)解决方法:

在IS-IS路由渗透时,会将L2区域渗透到L1区域中的路由条目UP/DOWN bit置位,当一台L1/L2收到一条路由条目后,如果发现UP/DOWN bit被置位,不会将这条路由条目发送回L2区域。

 IS-IS_第25张图片

IS-IS_第26张图片

八. IS-IS路由过载:

1. 路由过载原理:

 IS-IS_第27张图片

IS-IS按照Cost选择路径,当去往R3所处网段的路由条目时,会选择R2进行转发,当R2由于设备性能不足无法转发R1的路由条目时,可以使用路由过载技术将Overload bit置位

R1不在将R2看作一个Tranter网络,而是看作一个Stub网络:

  • R1在进行SPF计算时,不会在将R2作为一个网络节点,也就不会对R2进行SPF计算
  • 将R2看作一个Stub节点,所有访问R2直连网段依旧走R2,防止了次优路径

2.路由过载配置:

路由过载有两种情况出现:

① 自动切换

② 手动配置

(1)自动切换:

当路由器设备异常可导致自动进入过载状态,例如内存不足

(2)手动配置:

 IS-IS_第28张图片

默认R1去往R5的5.5.5.5/32走R4

在R4上配置路由过载:

[Huawei-isis-1]set-overload

IS-IS_第29张图片

IS-IS_第30张图片

 

九. IS-IS扩展特性:

1. IS-IS认证:

IS-IS支持邻居认证,支持明文认证和MD5认证,主要包括以下几种:

① 接口认证

② 区域认证

③ 路由认证

(1)接口认证:

只对Level-1和Level-2的Hello报文进行认证

接口下使用命令进行接口认证:

[Huawei-GigabitEthernet0/0/0]isis authentication-mode simple huawei

(2)区域认证:

对Level-1的SNP和LSP报文进行认证

接口下使用命令进行区域认证:

[Huawei-isis-1]area-authentication-mode simple huawei

(3)路由域认证:

对Level-2的SNP和LSP报文进行认证

接口下使用命令进行区域间认证:

[Huawei-isis-1]domain-authentication-mode simple Huawei

2. LSP分片:

LSP分片扩展,使IS-IS路由器生成更多的LSP分片,用来携带更多的IS-IS信息

 IS-IS_第31张图片

IS-IS使用SYS ID+ Pseudonode ID+分片号用来标识唯一一条LDP,当存在大量的LSP,当LSP超出接口的MTU,会对LSP进行分片,分片分为两种模式,mode 1和mode 2

配置命令:

[Huawei-isis-1]lsp-fragments-extend level-1-2 mode-1

(1)mode 1:

Mode 1模式主要用于两台路由器,一台支持LSP分片,而另外一台不支持LSP分片

  • 支持LSP分片的路由器将分片的LSP中唯一标识字段中的SYS ID设置为虚拟ID,传递给对端不支持分片的路由器
  • 对端路由器收到多个不同SYS ID的LSP时,并不知道这是一个分片的LSP,而是在进行SPF计算时分别计算

(2)mode 2:

用于当前两台路由器都支持分片的情况下

  • 当LSP的大小超出了接口的MTU,会将LSP进行分片传递给对方,并使用分片号标识此分片的LSP数据包
  • 对端路由器收到分片的LSP,根据SYS ID和分片号重组LSP,进行LSP的计算

十. Metric类型:

在早期的ISO10589中,Type128TLV字段中使用4Byte表示Metric,共表示4种类型Metric值,但是只使用了default Metric,占用1Byte,所以共8个bit,其中第7bit用来区别度量时内部还是外部,第8bit保留,可用最大只有6bit,最大cost值为63。此时认为IS-IS开销值类型为narrow(默认类型)

在大型网络设计中,较小的度量范围不能满足实际需求。所以在RFC3784中规定,使用Type135TLV中所有4Byte表示Metric,所以IS-IS路由开销值可以的达到4261412864,此时的开销值类型为wide

注:在ISIS中,无论物理接口累型,所有的接口Cost都为10

1. Narrow:

早期开发,IS-IS支持内部开销和外部开销,所以定义了三种TLV来描述网络信息和开销值:

  • 128号TLV(IP Internal Reachability TLV)用来携带路由域内的IS-IS路由信息
  • 130号TLV(IP External Reachability TLV):用来描述域外的IS-IS路由信息
  • 2号TLV(IS Neighbors TLV):用来携带邻居信息

开销值为1Byte,可用表示开销值为后6bit

  • 第7bit表示为E/I,表示外部路由引入还是内部路由,如果置1表示为外部路由
  • 第8bit表示U/D,默认为0(UP),表示才路由可以从L1区域传递到L2区域,如果位Down则无法在传回L2区域,用于防止路由渗透产生的路由环路

2. Wide:

如果接口类型为Wide,由于计算开销值方式不一样,如果自制系统内一台路由器配置cost方式为Wide,需要将其与所有的路由器的cost改为Wide,否则会造成路由无法传递的现象,Wide中的Metric有4bit的prefix用来标识引入rip路由的tag,所以在引入rip的时候如果需要保留标签需要使用wide模式。

定义了两种TLV用来描述网络信息和开销:

  • 135号TLV(Extended IP Reachability TLV):用来替换来由的IP reachability TLV,携带路由信息,他扩展了路由开销值的范围,使用4Byte表示开销值,并可以携带sub TLV
  • 22号TLV(IS Extended Neighbor TLV):用 来携带邻居信息

注:使用命令修改开销模式:[Huawei-isis-1]cost-style wide

十一. IS-IS标签管理:

ISIS路由条目支持Tag标记,支持两种Tag标记方式:

① 进程下标记Tag

② 接口下标记Tag

③ Import压入Tag

注:如果想让携带Tag的路由条目传递给其他路由器,需要将路由器的Cost方式改为Wid

1. 进程下标记Tag:

在路由器进程下标记Tag值,默认路由器会将所有开启IS-IS的接口网段全部压入Tag值宣告出去

配置命令:

[Huawei-isis-1]circuit default-tag 100

[Huawei-isis-1]cost-style wide

2. 接口下标记Tag:

对特定的接口网段压入Tag宣告出去,默认高于进程下标记Tag

配置命令:

[Huawei-GigabitEthernet0/0/0]isis tag-value 100----针对G0/0/0的IP路由压入tag100

[Huawei-isis-1]cost-style wide

3. Import压入Tag:

在引入路由时标记Tag

配置命令:

[Huawei-isis-1]import-route direct tag 100 level-1---默认引入为Level2,如果为Level1域,需要改为引入类别

[Huawei-isis-1]cost-style wide

 IS-IS_第32张图片

十二. IS-IS/OSPF:

1.不同点:

需求

IS-IS

OSPF

支持的不同的协议类型

IS-IS协议直接在链路层上使用,报文直接封装在链路层报文中,支持IP、OSI CLNP多种协议

OSPF封装在IP中,只支持IP协议

LSP周期时间不同:

IS-IS的LSP生存时间是从20min(可配置)往下计算到0来清除旧的LSP

OSPF是从0往最大值涨到60min中(周

期不可配置)来清除更新就的LSA

区域划分方式的不同:

IS-IS协议中整个路由器只能全部属于一个区域,路由器的LSDB按Level来维护

OSPF协议中,一个路由器可以属于多个区域,每个接口可以属于一个区域,路由器为每个区域维护一个LSDB数据库

Broadcast网络Full关系

所有的路由器都形成UP关系

只有DR、BDR才和DR-other形成Full

关系

定义骨干区域的不同:

对骨干区域而言,IS-IS时通过链路的L2路由器来组成骨干区域

OSPF通过特殊的Area0来定义骨干区

选举DR的不同:

IS-IS协议中DR(DIS)选举比较简单,根据优先级和MAC地址进行选举,并默认抢占,不可更改,无BDR的概念

       OSPF协议中DR选举比较复杂,根据优先级和Root ID进行选举,并且优先级高的不一定成为DR,有BDR的概念

网络类型的不同:

IS-IS只支持P2P和broadcast网络类型

OSPF可以很好的支持各种网络模型

MTU检测

将Hello报文使用垫片填充最大MTU

在DD报文中显示MTU大小

验证

如果一端配置验证,一端没有配置验证,没有配置验证的设备收到带有验证TLV的Hello报文,由于无法识别认证TVL,所以会跳过,由于收到对端的Hello报文,所以将对端邻居设置为Init,对端收到没有配置认证的Hello报文,认为邻居不合法,不将其放入邻居表中

如果一端配置验证,一端没有配置验证,则两端都

无法建立邻居

DIS、DR/BDR区别

默认抢占

默认不抢占

为0可以选举

为0不能选举

DIS默认为3S发送一次Hello报文,比其余路由器快

DR和DR-other发送Hello报文的时间一致

不需要备份

有备份DR

数据库同步DIS只起到确认作用

数据库同步DR会中心节点,负责所

有LSA的接收与Flooding

2. 相同点:

(1都是基于链路状态数据库的协议,采用SPF算法,收敛快,无环路

(2都是内部网关协议

(3都利用Hello协议来形成和维护邻居关系

(4都是利用区域形成两层的层次性拓扑,都有Area的概念

(5都能在区域间聚合路由,都支持VLSN和CIDR,适合大型网络

(6在广播网络上选举DR(DIS),且都产生LSA(LSP)来描述整个网段

(7都有协议报文验证的能力

十三. 常见命令配置:

1. IS-name:

由于SysID比较难记,可以配置IS-name用于标识身份:

[Huawei-isis-1]is-name R1

2. 协议优先级:

IS-IS默认优先级为15,使用一下命令修改优先级:

[Huawei-isis-1]preference 100

3. Cost修改:

使用命令可以将接口cost进行修改,并制定修改类型为Level或Level2

[Huawei-GigabitEthernet0/0/0]isis cost 50 level-1

[Huawei-GigabitEthernet0/0/0]isis cost 50 level-2

4. 路由聚合:

路由聚合在区域间进行聚合,所以在L1/L2进行聚合,可以分为L1路由进入L2区域进行聚合;也可以在L2路由渗透到L1区域进行聚合。

注:由于IS-IS路由聚合后,自身不会产生Null口路由防止环路,所以需要使用命令增加

① L1路由进入L2区域进行聚合:

[Huawei-isis-1]summary 10.0.1.0 255.255.0.0 level-2(默认Level2)

[Huawei-isis-1]summary 10.0.1.0 255.255.0.0 generate_null0_route

注:后续参数加入avoid-feedback表示当再次接收到此条聚合LSP不在接收,防环聚合

路,由再次传递过来接收结算形成环路

② L2路由渗透到L1区域进行聚合:

[Huawei-isis-1]summary 10.0.1.0 255.255.0.0 level-1

[Huawei-isis-1]summary 10.0.1.0 255.255.0.0 generate_null0_route

本地Level1 LSP路由进行聚合:

由于LSP拓扑与网络信息分离,所以可以在LSP生成的路由器对网络信息进行汇聚:

[Huawei-isis-1]summary 10.1.1.0 255.255.255.0 level-1 avoid-feedback generate_null0_route

5. 缺省路由:

[Huawei-isis-1]default-route-advertise always level-1

6. 外部路由引入:

ISIS中所有的任何的路由器都可以引入外部路由充当ABR,默认引入外部路由类型为Level2

[Huawei-isis-1]import-route static level-1

7. 路径权重修改:

当出现多条路径时,使用路由权重修改权重值,默认为255,数值越小路径越优先

[Huawei-isis-1]nexthop 192.168.1.1 weight 1

8. 打开ISIS实时log信息:

[Huawei-isis-1]log-peer-change

你可能感兴趣的