目录
一.
协议介绍:
优点:
二.
1) 协议基本概念:
2) 协议网络类型与网络链路关系
3) IS-IS的报文类型
4) P2P链路邻居关系的建立
编辑三.
综上所述
一.
协议介绍:
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报文中采用TLV格式,扩展性很高;
- 一个路由器最多可配置多个区域地址,可以实现多区域的平滑合并;
- 报文结构简单,邻居交互效率高;
- 由于IS-IS工作在数据链路层,因此不依赖IP地址;
- 采用最短路径SPF算法,收敛速度快。
- 可应用于规模较大的网络中。如大型ISP(Internet Service Provider)中
二.
1) 协议基本概念:
为了支持大规模的路由网络,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路由设备
-
Level-1路由器
Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系。一个Level-1路由器只负责维护本区域内的LSDB(Link State Database,链路状态数据库),对于目的地不在本区域内的路由,Level-1路由器会将该路由的目的地标识为最近的Level-1-2路由器。
-
Level-2路由器
Level-2路由器负责区域间的路由,可以与Level-2或其它区域的Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。
所有Level-2级别的路由器组成路由域的骨干网,负责在不同区域间通信,路由域中Level-2级别的路由器必须是连续的,以保证骨干网的连续性。只有Level-2级别的路由器才能直接与区域外的路由器交换数据报文或路由信息。
- Level-1-2路由器
同时属于Level-1和Level-2的路由器称为Level-1-2路由器,可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。
Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
2) 协议网络类型与网络链路关系
1) IS-IS可以运行在广播链路和点到点链路上,广播链路包括Ethernet、Token-Ring等;点到点链路如PPP。
2) IS-IS包括两种网络类型:广播网络类型和P2P网络类型(如下图所示)。广播链路可以配置成广播网络类型也可以配置成P2P网络类型,点到点链路仅支持P2P网络类型。
3) IS-IS的报文类型
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各个主要字段的含义及作用如下:
- Intradomain Routing Protocol Discriminator:域内路由选择协议鉴别符,用来标识网络层协议数据单元。在IS-IS中,该字段的值固定为0x83。
- Length Indicator:长度标识符,用来标识该固定头部的长度。
- ID Length:用来标识该路由选择域内SystemID的长度。
- PDU Type:用来标识PDU的类型。
- Maximum Area Address:最大区域地址数,表示该IS-IS区域所允许的最大区域地址数量。目前,该字段固定为0,表示最多支持3个区域地址。
- TLV:即Type/Length/Value(类型/长度/值),不同PDU类型所包含的TLV是不同的。
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。
主要字段的解释如下:
-
ATT(Attached):区域关联位。
由Level-1-2路由器产生,用来指明始发路由器是否与其它区域相连。当L1区域中的路由器收到Level-1-2路由器发送的ATT位被置位的L1 LSP后,它将创建一条指向Level-1-2路由器的缺省路由,以便数据可以被路由到其他区域。
虽然ATT位同时在L1 LSP和L2 LSP中进行了定义,但是它只会在L1 LSP中被置位,并且只有L1/2路由器会设置这个字段。
-
OL(LSDB Overload):过载标志位。
设置了过载标志位的LSP虽然还会在网络中扩散,但是在计算通过过载路由器的路由时不会被采用。即对路由器设置过载位后,其它路由器在进行SPF计算时不会使用这台路由器做转发,只计算该节点上的直连路由。
-
IS Type:生成LSP的IS-IS类型。
用来指明是Level-1还是Level-2 IS-IS(01表示Level-1,11表示Level-2)。
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运行机制略有不同:
- 在广播网链路上,CSNP由DIS设备周期性的发送。当邻居发现LSDB不同步时,发送PSNP报文来请求缺失的LSP报文。
- 在点到点链路上,CSNP只在第一次建立邻居关系时发送,邻居发送PSNP报文来做应答。当邻居发现LSDB不同步时,同样发送PSNP报文来请求缺失的LSP报文
4) P2P链路邻居关系的建立
在P2P链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。
- 两次握手机制:只要路由设备收到对端发来的Hello报文,就单方面宣布邻居为Up状态,建立邻居关系。
- 三次握手机制:此方式通过三次发送P2P的IS-IS Hello PDU最终建立起邻居关系,类似广播邻居关系的建立。
两次握手机制存在明显的缺陷。当路由设备间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为Up,路由设备之间还是能建立起邻居关系。SPF在计算时会使用状态为UP的链路上的参数,这就导致没有检测到故障的路由设备在转发报文时仍然试图通过状态为Down的链路。三次握手机制解决了上述不可靠点到点链路中存在的问题。这种方式下,路由设备只有在知道邻居路由设备也接收到它的报文时,才宣布邻居路由设备处于Up状态,从而建立邻居关系。
IS-IS建立邻居关系的原则
-
只有同一层次的相邻路由设备才有可能成为邻居。
-
对于Level-1路由设备来说,区域号必须一致。
-
链路两端IS-IS接口的网络类型必须一致。
三.
综上所述
2 种网络类型,3 种路由器类型,3张表,4种报文类型IS-IS和OSPF的最大区别
有兴趣的可以研究
IS-IS基本原理 华为 (huawei.com)