**ISIS工作原理**
ISIS(Intermediate System to Intermediate System)是一种基于链路状态的路由协议,源自DECnet Phase V的路由算法。它设计用于多种网络环境,包括广播型局域网(LAN)、广域网(WAN)以及点到点链路。ISIS与开放最短路径优先(OSPF)协议在很多方面都非常相似,但有一些关键的区别。
**ISIS的链接状态机制**
如同OSPF,ISIS使用Hello协议来发现和维护邻接节点的关系。它通过发送和接收Hello报文来识别和保持邻居状态。同时,ISIS使用Link State Protocol(LSP)来传播网络状态信息,这些信息包含有关网络拓扑和链路属性的数据。LSPs携带序列号,确保路由器能够识别并处理旧的或重复的LSPs。序列号的长度为32位,这提供了足够大的空间,使得计数器达到最大值前有大量序列号可用,避免频繁刷新导致的问题。
**ISIS的度量和限制**
ISIS使用一个较短的6比特度量值,这限制了它可以处理的信息量。同时,链接状态字段只有8比特,意味着路由器最多只能通告256个记录。这些限制在早期版本中可能会影响ISIS的扩展性。然而,通过引入宽度度量(Wide-metric),度量值扩展到了24位,从而解决了这个问题,增强了ISIS的适应性和扩展性。
**ISIS的层次结构**
ISIS协议分为两个层次:Level-1和Level-2。Level-1路由器仅处理同一区域(Area)内的路由信息,而Level-2路由器则负责跨区域路由。路由器可以是Level-1路由器、Level-2路由器或者既是Level-1又是Level-2的路由器(Level-1/2)。这种双层结构与OSPF的区域划分类似,但ISIS的区域划分是在路由器之间的,而OSPF是在路由器内部进行的。
**ISIS的区域(Area)**
在ISIS中,区域的划分方式与OSPF有所不同。在OSPF中,一台路由器可以有多个接口连接到不同区域,这台路由器被称为区域边界路由器(ABR)。而在ISIS中,区域是在路由器之间划分的,L1路由器和L2路由器之间的连线就是区域边界。L1路由器仅维护Level-1的链接状态数据库,而L1/L2路由器维护Level-1和Level-2的数据库,并分别构建各自的SPF树。L1路由器不会通告Level-2路由信息给其他L1路由器,这类似于OSPF的Totally Stubby Area。
**路由计算**
在内部区域(Inter-Area)的路由计算中,ISIS采用距离矢量算法,不同于OSPF的SPF算法。L1/L2路由器会维护两个独立的L1和L2链接状态数据库,分别计算各自的拓扑树。为了指示路由可达性,L1/L2路由器在LSP中设置一个附加位(ATT bit9)。
**虚拟链路**
根据ISO 10589标准,ISIS路由器还可以使用虚拟链路来连接物理上分离的区域到骨干网(Backbone)。虚拟链路允许区域间的通信,即使它们在网络物理结构上不直接相连。
ISIS是一个强大的路由协议,具有灵活的网络分层和适应性,能够在多种网络环境中有效地路由数据。尽管早期版本受到一些限制,但通过持续改进和扩展,ISIS现在能够支持如IPv6和流量工程(TE)等现代网络需求。