在大型网络中,我们常会遇到路由器和路由器之间直接的信息交互。那么规定这个流程的协议就是IS-IS协议。现在我们就来对这个协议进行一下解析。下面来简单了解一下IS-IS的意思。一个路由器是intermediate system(IS),一个主机就是end system(ES),在一个主机和路由器之间运行的协议叫ES-IS,路由器与路由器之间运行的协议是IS-IS。
IS-IS是一个分级的链接状态路由协议,基于DECnet PhaseV 路由算法。IS-IS可以在不同的子网上操作,包括广播型的LAN、WAN和点到点链路。IS-IS是一个链接状态协议,实际上与OSPF非常相似,它也使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息。IS-IS消息使用序列号,但它只是一个简单的加法计数器。当计数器计到最大值时,一个IS-IS路由器没有别的选择,只能伪造一个错误触发对所有旧信息的刷新。然而,因为序列号有3 2 比特长,使得到达最大值之前有很大的序列号空间,所以这不是什么问题。但是,至少存在两个技术问题:IS-IS使用一个小的度量值(6 比特),严重限制了能与它进行转换的信息;而且链接状态也只有8 比特长,路由器能通告的记录只有256个。
一个非技术问题是IS-IS路由协议受OSI约束,使得以前与OSPF相比它的发展比较缓慢。但现在的IS-IS在非OSI即RFC方面(Integrated)有了很多的扩展使得他的发展比OSPF更容易实现对新的要求的支持如IPV6或者TE,而且更简单易实现。
IS-IS路由协议将网络路由分为Level1和Level2。Level1中的路由器只知道它所在AREA的路由信息;LEVEL2中的路由器知道去其它AREAS的路由信息。也就是说,所有L1的路由器形成了LEVEL1的AREAS,而所有L2的路由器形成了网络的骨干BACKBONE,用于传递LEVEL1 AREAS之间的路由信息。如下图所示。
ROUTER1和ROUTER4是LEVEL1的路由器,ROUTER2和ROUTER3是LEVEL1/2的路由器。
L1的路由器仅知道本AREA的路由,如ROUTER1知道去往ROUTER2的路由,但不知道去AREA2的路由;同样,ROUTER4仅知道AREA2内的路由,只知道去网ROUTER3的路由,而不知道如何去AREA1。
LEVEL1/2的路由器ROUTER2和ROUTER3形成了网络的骨干,他们知道所在AREA的路由信息,并将此AREA的路由信息广播道所有L1/2的路由器,即所有L1/2路由器知道全自治域的路由信息。在上图中,如ROUTER1收到要去往ROUTER4的数据包,ROUTER1发现自己的路由表内无此路由信息,就将数据包发往边界L1/2路由器ROUTER2,ROUTER2知道全自治域的路由信息,即知道去往路由器ROUTER4的路由信息,它将数据包送给ROUTER3。
因L1/2路由器相当L1路由器少的多。所以IS-IS路由协议可以快速收敛网络的路由信息。