ISIS(Intermediate system to intermediate system )中间系统到中间系统,是一个分级的链接状态路由协议。每一台路由器都会生成一个LSP,它包含了该路由器所有使能 IS-IS协议接口的链路状态信息。通过跟相邻设备建立IS-IS 邻接关系,互相更新本地设备的 LSDB,可以使得LSDB 与整个 IS-IS网络的其他设备的LSDB 实现同步。然后根据LSDB 运用 SPF算法计算出 IS-IS 路由。
为了支持大规模的路由网络, IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。
IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS (Connectionless Network Service)的一部分。
IS(Intermediate System):节点,即路由器。
Area区域:由一组连续的路由器、主机和连接它们的网络链路组成的实体。类似于OSPF的Area。
Domain域:由一组相互连接的Area组成。相当于传统的自治系统。
DIS(Designated Intermediate System):
在广播网络中, IS-IS 需要在所有的路由器中选举一个路由器作为DIS, 用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的链路状态协议数据单元 LSP(Linkstate Protocol Data Unit),用来描述这个网络上有哪些网络设备。
伪节点:伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在 IS-IS中,伪节点用 DIS 的SystemID 和一个字节的Circuit ID(非0 值)标识。
IS-IS 只支持两种类型的网络,根据物理链路不同可分为:
注意:对于NBMA(Non-BroadcastMulti-Access)网络,如ATM,需对其配置子接口,并注意子接口类型应配置为P2P。
IS-IS不能在点到多点链路P2MP(Pointto MultiPoint)上运行
负责区域内的路由,它只与属于同一区域的Level-1 和 Level-1-2路由器形成邻居关系,属于不同区域的Level-1 路由器不能形成邻居关系。
路由器负责区域间的路由,它可以与同一或者不同区域的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用于区域间路由。
OSI地址使用NSAP(NetworkService Access Point)形式,NSAP的地址结构如图所示,它由IDP(InitialDomain Part)和DSP(DomainSpecific Part)组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
标识路由域,也能够标识路由域中的区域,同一Level-1区域内的所有路由器必须具有相同的区域地址, Level-2区域内的路由器可以具有不同的区域地址。
用来在区域内唯一标识主机或路由器,它的长度固定为48bit(6字节),一般使用RouterID与System ID进行对应。
例如:将loopback0的 IP 地址168.10.1.1(Router ID) 的每个十进制数都扩展为3 位,不足 3位的在前面补 0,得到168.010.001.001;将扩展后的地址分为 3 部分,每部分由4 位数字组成,得到 1680.1000.1001,就是System ID。
注意:System ID 的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。
SEL的作用类似 IP中的“协议标识符”,不同的传输协议对应不同的SEL。在 IP上 SEL 均为00。
网络实体名称 指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00)。在路由器上配置 IS-IS时,只需要考虑 NET即可,NSAP 可不必去关注。
例如:NET为ab.cdef.1234.5678.9abc.00,则其中Area Address 为ab.cdef, SystemID为1234.5678.9abc,SEL 为 00
两台运行 IS-IS 的路由器在交互协议报文实现路由功能之前必须首先建立邻居关系。在不同类型的网络上,IS-IS 的邻居建立方式并不相同,ISIS通过IIH报文建立邻居。
IS-IS按如下原则建立邻居关系:
在 P2P 链路上,邻居关系的建立不同于广播链路。分为两次握手机制和三次握手机制。
两次握手机制:只要路由器收到对端发来的 Hello报文,就单方面宣布邻居为 Up 状态,建立邻居关系。
三次握手机制:此方式通过三次发送 P2P 的IS-IS Hello PDU 最终建立起邻居关系,类似广播邻居关系的建立。
两次握手机制存在明显的缺陷。当路由器间存在两条及以上的链路时,如果某条链路上到达对端的单向状态为Down,而另一条链路同方向的状态为 Up,路由器之间还是能建立起邻接关系。SPF 在计算时会使用状态为 UP的链路上的参数,这就导致没有检测到故障的路由器在转发报文时仍然试图通过状态为 Down的链路。
IS-IS 路由域内的所有路由器都会产生LSP,以下事件会触发一个新的 LSP
IS-IS路由协议的协议数据单元(PDU)
路由渗透特性是指Level-1-2 IS-IS将己知的其他Level-1区域以及Level-2区域的路由信息通报给指定的Level-1区域。
通常情况下,区域内的路由通过Level-1的路由器进行管理。所有的Level-2和Level-1-2路由器构成一个连续的骨干区域。Level-1区域必须且只能与骨干区域相连,不同的Level-1区域之间并不相连。
Level-1区域内的路由信息通过Level-1-2路由器通报给Level-2区域的,即Level-1-2路由器将学习到的Level-1路由信息装进Level-2 LSP,再泛洪LSP给其他Level-2和Level-1-2路由器。因此,Level-1-2和Level-2路由器知道整个IS-IS路由域的路由信息。但是,为了有效减小路由表的规模,在缺省情况下,Level-2路由器并不将自己知道的Level-1区域以及骨干区域的路由信息通报给Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息
使用IS-IS过载标记来标识过载状态,对设备设置过载标志位后,其他设备在计算SPF时,不会使用这台设备做转发,只计算该设备上的直连路由。
进入过载状态的方法:
路由器获取了全部链路状态信息之后,以自己为根节点采用SPF算法计算出最小生成树。
形成邻居关系
互相学习到对端环回口ip地址路由