IS-IS最初是国际标准化组织ISO(the International Organization for Standardization)为它的无连接网络协议CLNP(ConnectionLess Network Protocol)设计的一种动态路由协议。随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在相关标准中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成IS-IS(Integrated IS-IS或Dual IS-IS)。IS-IS使用最短路径优先SPF(Shortest Path First)算法进行路由计算,收敛速度快,拓展性强,运行在数据链路层,抗攻击能力强,可以实现大规模网络的互通。
为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构,即一个大的Domain(域)可以被分为多个Areas(区域)。IS-IS网络中三种不同级别的路由设备:一般来说,将Level-1路由设备部署在区域内,Level-2路由设备部署在区域间,Level-1-2路由设备部署在Level-1和Level-2路由设备的中间。如下图所示,一个运行IS-IS协议的网络,整个骨干区域(backbone)不仅包括Area1中的所有Level-2路由设备,还包括其他区域的Level-1-2路由设备
1) IS-IS可以运行在广播链路和点到点链路上,广播链路包括Ethernet、Token-Ring等;点到点链路如PPP。
2) IS-IS包括两种网络类型:广播网络类型和P2P网络类型(如下图所示)。广播链路可以配置成广播网络类型也可以配置成P2P网络类型,点到点链路仅支持P2P网络类型。
IS-IS报文有以下几种类型:Hello PDU(Protocol Data Unit)、LSP和SNP。
Hello PDU
Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs)。其中,广播网中的Level-1 IS-IS使用Level-1 LAN IIH;广播网中的Level-2 IS-IS使用Level-2 LAN IIH;非广播网络中则使用P2P IIH。它们的报文格式有所不同。P2P IIH中相对于LAN IIH来说,多了一个表示本地链路ID的Local Circuit ID字段,缺少了表示广播网中DIS的优先级的Priority字段以及表示DIS和伪节点System ID的LAN ID字段。
在所有的IS-IS PDU中,前八个字节都是公用的,Hello PDU各个主要字段的含义及作用如下:
LSP
链路状态报文LSP(Link State PDUs)用于交换链路状态信息。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。
主要字段的解释如下:
SNP
序列号报文SNP(Sequence Number PDUs)通过描述全部或部分LSP的摘要信息来同步各LSDB(Link-State DataBase),它包括CSNP(Complete Sequence Number Protocol Data Unit,全序列号协议数据单元)和PSNP(Partial Sequence Number Protocol Data Unit,部分序列号协议数据单元)。CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由设备间保持LSDB的同步。
在广播网链路和点到点链路中,SNP运行机制略有不同:
在P2P链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。
两次握手机制存在明显的缺陷。当路由设备间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由设备之间还是能建立起邻居关系。SPF在计算时会使用状态为UP的链路上的参数,这就导致没有检测到故障的路由设备在转发报文时仍然试图通过状态为Down的链路。三次握手机制解决了上述不可靠点到点链路中存在的问题。这种方式下,路由设备只有在知道邻居路由设备也接收到它的报文时,才宣布邻居路由设备处于Up状态,从而建立邻居关系。
IS-IS建立邻居关系的原则
三.综上所述
2 种网络类型,3 种路由器类型,3张表,4种报文类型
IS-IS和OSPF的最大区别