从今天开始,给大家介绍IS-IS协议相关内容。本文主要内容为IS-IS报文和IS-IS邻居建立相关内容。
推荐阅读:
IS-IS详解(一)——IS-IS基础
一、IS-IS报文简介
IS-IS协议中一共定义了9中报文类型,大致可以分为三种:
1、Hello报文。
Hello报文主要用于建立和维持邻居关系,根据链路和邻居级别又可以分为一下三种:
(1)L1 Hello报文。
用于在广播型链路上建立L1的邻居。
(2)L2 Hello报文。
用于在广播型链路上建立L2的邻居。
(3)P2P Hello报文。
用于在P2P链路上建立L1和L2的邻居。
2、LSP报文。
LSP报文主要用于描述携带的LSA(链路状态信息),可以细分为两种:
(4)L1 LSP
用于描述非骨干区域链路状态表
(5)L2 LSP
用于描述骨干区域链路状态表
3、SNP报文。
SNP报文用于维护LSDB的完成和同步。该报文可以分为以下四类:
(6)L1 CSNP
L1级别的完全序列号PDU,类似OSPF DD报文。
(7)L2 CSNP
L2级别的完全序列号PDU,类似OSPF DD报文。
(8)L1 PSNP
L1级别的部分序列号PDU,类似于OSPF的LSR和LSACK。
(9)L2 PSNP
L2级别的部分序列号PDU,类似于OSPF的LSR和LSACK。
二、IS-IS邻居状态
与OSPF协议不同,IS-IS协议一共定义了三种邻居状态,如下所示:
1、Down。没有收到邻居Hello包时处于Down状态。
2、Initiated。收到邻居Hello包,但是在Hello包中没有发现自己的信息,也称为one-way状态。
3、Up。收到邻居Hello包,并发现自己的信息。
可以看出,IS-IS仅仅根据Hello包的交互情况来定义自己的状态,并没有链路状态信息的相关状态。
三、IS-IS邻居建立
IS-IS邻居建立过程如下:
(一)广播型链路邻居关系建立
在广播型链路上,IS-IS邻居的建立采用三次握手机制,流程如下:
此外,如果数据包发送的次序稍有变化,R2在收到R1发送的Hello包之前发送了自身的Hello包,还有可能是以下情况:
从中可以看出,在广播行链路上,双方邻居关系的建立要经过一个三次握手过程,才能最终完成邻居关系的建立。
注意:以上示意图中发送的数据包都是Hello包,并且没有涉及到链路状态数据信息的发送过程。
(二)P2P链路邻居关系建立
与广播型链路稍有区别,P2P链路上建立IS-IS邻居可以采用根据配置,采取三次握手或者两次握手的方式建立IS-IS邻居关系。当采用两次握手建立邻居时,只要收到对端的Hello包就处于Up状态,这样邻居建立更快,但是可靠性有所降低,尤其是当采用的线路采用光纤时,有可能存在单向通路的状况,这有可能导致IS-IS邻居建立了单向邻居。
两次握手时P2P邻居关系建立过程如下:
原创不易,转载请说明出处:/weixin_40228200/article/details/119954928