6.3.3 IS-IS协议

6.3.3 IS-IS协议

1.IS-IS协议的概念

与OSPF协议一样,中间系统到中间系统(IS-IS)协议也是一种链路状态路由协议,由路由器收集其所在网络区域上各路由器的链路状态信息,生成链路状态数据库(LSDB),利用最短路径优先(SPF)算法,计算到网络中每个目的地的最短路径。

2.IS-IS协议的分层

(1)IS-IS协议的分层路由域

IS-IS协议允许将整个路由域分为多个区域,其路由选择是分层次(区域)的,IS-IS协议的分层路由域如图6-15所示。

图6-15 IS-IS协议的分层路由域

IS-IS协议的路由选择分为如下两个区域等级。

(a)Level-1:普通区域(Area)称为Level-1(或L1),由L1路由器组成。Level-1路由选择是负责区域内的路由选择。

(b)Level-2:骨干区域(Backbone)称为Level-2(或L2),由所有的L2(及L12)路由器组成。Level-2路由选择是在IS-IS区域之间进行的,路由器通过L2路由选择获悉L1路由选择区域的位置信息,并建立一个到达其他区域的路由表。

一个IS-IS协议的路由域可以包含多个Level-1区域,但只有一个Level-2区域。

(2)IS-IS路由器类型

由于IS-IS协议负责Level-1和Level-2等级的路由,IS-IS路由器等级(或称IS-IS路由器类型)可以分为3种:L1路由器、L2路由器和L12路由器。

(a)L1路由器——属于同一个区域并参与Level-1路由选择的路由器称为L1路由器,类似于OSPF协议中的非骨干内部路由器。L1路由器负责收集本区域内的路由信息,只关心本区域的拓扑结构,它将去往其他区域的数据包发送到最近的L12路由器上。

(b)L2路由器——L2路由器(也称为骨干路由器)是属于不同区域的路由器,它类似于OSPF协议中的骨干路由器,负责收集区域间的路径信息,通过实现Level-2路由选择来交换路由信息。

(c)L12路由器——同时执行Level-1和Level-2路由选择功能的路由器为L12路由器。L12路由器类似于OSPF中的区域边界路由器(ABR)。它的主要职责是搜集本区域内的路由信息,然后将其发送给其他区域的L12路由器或L2路由器。同样,它也负责接收从其他区域的L2路由器或L12路由器发来的区域外路由信息。

所有L12路由器与L2路由器组成了整个网络的骨干(Backbone)。需要注意的是,对于IS-IS协议来说,骨干必须是连续的,也就是说具有Level-2(L2)路由选择功能的路由器(L2路由器或L12路由器)必须是物理上相连的。

3.IS-IS协议的工作原理

与OSPF协议类似,IS-IS协议的工作原理也分成3步:建立邻接关系、泛洪链路状态信息和计算路径。

(1)建立邻接关系

两台运行IS-IS协议的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系,当接口启动IS-IS协议路由选择时,路由器立即发送Hello数据包,同时开始监听Hello数据包,寻找任何连接的邻接体,并与它们形成邻接关系。

(2)链路状态信息泛洪

邻接关系建立后,链路状态信息开始交换,即链路状态数据包(Link State PDU,LSP)的扩散——泛洪,IS-IS协议的泛洪过程与OSPF协议类似。

(3)计算路径

IS-IS协议与OSPF协议一样基于Dijkstra算法进行最小生成树计算,找到网络中每个目的地的最短路径(最小Cost)。

4.IS-IS协议与OSPF协议对比

(1)IS-IS协议与OSPF协议的相同点

虽然IS-IS协议与OSPF协议在结构上有着差异,但从IS-IS协议与OSPF协议的功能上讲,它们之间存在着许多相似之处。

(a)IS-IS协议与OSPF协议同属于链路状态路由协议,它们都是为了满足加快网络的收敛速度、提高网络的稳定性、灵活性、扩展性等需求而开发出来的高性能的路由选择协议。

(b)IS-IS协议与OSPF协议都使用链路状态数据库收集网络中的链路状态信息,链路状态数据库存放的是网络的拓扑结构图,而且区域中的所有路由器都共享一个完全一致的链路状态数据库。IS-IS协议与OSPF协议都使用泛洪的机制来扩散路由器的链路状态信息。

(c)IS-IS协议与OSPF协议同样都是采用SPF算法(Dijkstra算法)来根据链路状态数据库计算最佳路径。

(d)IS-IS协议与OSPF协议同样都采用了分层的区域结构来描述整个路由域,即骨干区域和非骨干区域(普通区域)。

(e)基于两层的分级区域结构,所有非骨干区域间的数据流都要通过骨干区域进行传输,以便防止区域间路由选择的环路。

(2)IS-IS协议与OSPF协议的主要区别

OSPF协议的骨干区域就是区域0(Area0),它是一个实际的区域,区域边界位于路由器上,也就是ABR上。

IS-IS协议与OSPF协议最大的区别就是:IS-IS协议的区域边界位于链路上;IS-IS协议的骨干区域是由所有的具有L2路由选择功能的路由器(L2路由器或L12路由器)组成的,而且必须是物理上连续的,可以说IS-IS协议的骨干区域是一个虚拟的区域。由于IS-IS协议的骨干区域是虚拟的,所以更加利于扩展,灵活性更强。当需要扩展骨干时,只需添加L12路由器或L2路由器即可。