介绍:和ospf中,IS-IS也是基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议;ospf运行在网络层之上,而IS-IS运行于数据链路层之上
IS-IS区域的概念
1.管理区域:Area ID(基于路由器的管理区域)
2.算法区域:骨干区域和非骨干区域
骨干区域:由连续的L2或者L1/2路由器组成的逻辑区域
非骨干区域:由连续的L1或者L1/2路由器组成的逻辑区域
注意:ISIS在组网时也要求非骨干要和骨干区域相连,不支持vlink
ISIS级别问题
路由器级别:level-1、level-2、level-1-2(缺省)
邻居级别:
level-1:L1级别的路由器只能和L1或L1-2路由器在相同区域建立L1级别邻居
level-2:L2级别的路由器只能和L2或L1-2路由器建立L2邻居,不要求区域相同
level-1-2:是上面两者的集合
链路级别:
三种级别:L1、L2、L1/2,缺省情况下时L1/2
1.L1的路由器,在广播链路上发送L1的hello报文,与链路级别无关,始终发送L1的hello包
2.L2的路由器,在广播链路上发送L2的hello报文,与链路级别无关,始终发送L2的hello包
3.L1/2的路由器,在广播链路上发送L1和L2的hello报文,与链路级别有关,取交集发送
4.对于你P2P电路类型,与广播类型一致
总结:对于仅支持一种级别的路由器来说,链路级别不起作用;对于支持两种级别的额路由器来说,链路级别起作用,取交集发出
ISIS报文发送
广播链路上L1的报文发送目的组播MAC:01-80-C2-00-00-14
广播链路上L2的报文发送目的组播MAC:01-80-C2-00-00-15
如果在广播链路上将电路类型改为P2P,那么发送报文的目的MAC:09-00-2B-00-00-05
注:目的MAC第八位为0是组播,为1是单播
ISIS的电路类型
1.广播:当链路层协议为以太网时,ISIS电路类型默认为广播
2.P2P:当链路层协议为PPP或HDLC时,ISIS电路类型默认为P2P
注:在广播电路类型中,即MA网络中,ISIS路由器也类似ospf一样,选举DIS(伪节点)
DIS选举原则:
1.接口的DIS优先级:默认为64,取值范围为0~127,数值越大约优,如果为0也要参与选举
2.如果优先级比较不出来,则比较MAC地址,越大约优
3.DIS是可以被抢占的
和ospf比较:

ISIS的NET地址:
由Area ID + System Id + SEL组成,如49.0000.0000.0000.0001.00
Area ID:1~13字节,可长可短,代表管理区域
System Id:类比router-id,代表唯一的一台ISIS路由器,如果冲突将无法建立ISIS邻居
SEL:固定为00,代表为特殊的NSAP地址
ISIS的报文类型:
1.hello报文
L1的hello报文:用于在广播电路类型上建立L1级别邻居
L2的hello报文:用于在广播电路类型上建立L2级别邻居
P2P的hello报文:用于在点到点电路类型上建立ISIS邻居
2.LSP报文:用于描述链路状态信息的,类似于ospf的LSU报文
ospf的LSU报文其中承载LSA,ISIS的LSP报文承载LSP(Link State PDU,链路状态协议数据单元)
L1级别的LSP报文:用于描述L1的链路状态信息
L2级别的LSP报文:用于描述L2的链路状态信息
3.SNP报文:序列号报文,其中包括了完全序列号报文CSNP和部分序列号报文PSNP
L1 CSNP:类比ospf的DD报文,用于描述L1级别LSDB的所有LSP摘要信息
L2 CSNP:类比ospf的DD报文,用于描述L2级别LSDB的所有LSP摘要信息
L1PSNP:类比ospf的LSR和LSAck报文,用于请求LSP和确认
ISIS路由协议邻居建立(ISIS建立邻居直接就是邻接关系)
1.down:当路由器接口宣告进ISIS协议后,在没有收到其他路由器发送的hello报文时,处于down状态
2.init:当收到其他路由器发来的第一个hello报文(且这个报文不包含自身neighbor信息),此时状态为init
3.up:当收到其他路由器发来的hello报文且报文中包含自身的接口MAC地址(neighbor信息),此时状态为up
ISIS和ospf的区别:
ospf建立到2-way状态后,还要考虑是否需要交互LSA,因此还要通过其他复杂的邻居状态机制,最终达到full状态,需要指定
状态机来同步数据库
ISIS在建立up状态之后,没有指定状态机来同步数据库
ISIS报文细节
1.通用报文头
Intradomain Routeing Pro Dis:ISIS :域间路由协议鉴定符:0x83代表ISIS协议
Length Indicator:27 :头部长度(包含了通用头部和专用头部)
Version:协议版本,目前isis只有版本1
reserved:保留字段
PDU type:描述专用报文类型
version:版本信息
reserved:保留字段
Maximum Area Address:3 可以配置的区域ID最大数量
2.专用头部
Circuit type:描述链路级别,用于描述这个路由器发出的报文能够建立的邻居级别
system-id:系统id,类比ospf的router-id
Holding timer:30 邻居保留(死亡)时间
注:isis的hello时间为10s,同ospf,但死亡时间是3倍hello时间,isis的死亡时间是告知对方30s收不到本路由器的hello报文
则判断本路由器失联,而ospf的死亡时间是40s内收不到对方路由器的hello报文则判断对方失联
PDU length:报文长度
PRI:64 发出该hello报文接口的DIS优先级(缺省为64)
systemid{DIS}:用来描述广播链路中的DIS信息
3.变长字段
ISIS路由协议的变长字段基于TLV编码来携带各项属性。T代表type,L代表长度,V代表属性值
1.使用TLV来最为编码的路由协议,发送报文时只需要携带需要的属性即可
2.ospfv2不是TLV编码,所有的字段全部为固定字段,拓展性差
3.基于TLV编码的路由协议还有BGP、LDP、EIGRP
在报文结尾会看到很多padding字段,用来作为填充字段,保证MTU值为1500
MTU隐式确认:在邻居建立之初,会用填充字段来填充报文,填充到接口默认MTU值来实现隐式确认
ISIS路由协议
每台路由器根据路由器级别不同,会维护不同级别的路由协议;L1级别路由器只维护L1的LSDB,L2同理
1.LSA分类:
从报文角度,LSA可以分为L1级别和L2级别的LSA
从用途去划分:
实节点LSP:用来描述路由器自身的链路状态(类比ospf的一类LSA)
伪节点LSP:用来描述广播网络上的链路信息(类比ospf的二类LSA)
2.LSDB
路由器运行ospf时,如果没有宣告任何接口,LSDB为空
路由器运行ISIS时,只要配置了NET地址,即使没有宣告接口,LSDB也不会空
3.LSP-ID
在ospf中如何识别唯一的LSA:通过LSA三要素(link-type ls-id adv-rtr)
在ISIS中如何识别唯一的LSP:通过LSP-ID识别
0000.0000.0004.00-00
一条LSP-ID分为三部分:
1.system-id:用产生这条LSP的路由器system-id来填充
2.伪节点标识符:如果取值为00则代表这是一个实节点LSP,如果取值为非00则代表是一个为节点LSP
3.分片标识符:代表LSP是否被分片
4.如何判断一条LSP的新旧
1.序列号seq:越大越新,16进制
2.剩余寿命:holdtime,一条LSP出生时时1200s,每隔1s寿命减1,直到为0,LSP老化;如果收到一条LSP的holdtime为0, 则代表删除这条LSP
3.校验和:越大约优,16进制
5.ISIS的更新机制
1.触发更新:当链路发生变化时,将会触发更新自己产生的LSP
2.周期更新:ISIS路由器将会每隔900s,周期向邻居更新自己产生的LSP
6.查看LSP节点信息
1.查看实节点LSP详细信息:
2.查看伪节点LSP详细信息:
多区域ISIS路由计算


