IS-IS路由协议我们在学习的时候可以借鉴OSPF的知识,在某些方面这两类协议是非常类似的。现在我们就详细讲述一下这方面内容。首先,我们都知道在ISO规范中,一个路由器就是一个IS(中间系统),提供IS和IS(路由器和路由器)之间通信的协议就是路由协议,即IS-IS路由协议。IS-IS协议和OSPF协议非常类似,都是链路状态路由选择协议,其实它的出现要比OSPF的原型更早,OSPF在Internet和TCP/IP网络IP通信的路由选择中使用。IS-IS既可在IP通信中使用,也可在OSI通信中使用并且可以为同一个域内两个路由器之间传送信息分组提供动态路由。
所谓集成化IS-IS简介中间系统到中间系统的域内路由信息交换协议IS-IS (Intermediate System-to-Intermediate System intra-domain routing information exchange protocol)最初是ISO(International Organization for Standardization,国际标准化组织)为它的无连接网络协议CLNP(Connection-Less Network Protocol)设计的一种动态路由协议,为了提供对IP 的路由支持,IETF 在RFC1195 中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP 和OSI 环境中,称为集成化IS-IS(Integrated IS-IS 或Dual IS-IS)。
IS-IS路由协议是一种链路状态协议,使用最短路径优先SPF(Shortest Path First)算法,与OSPF协议有很多相似之处。IS-IS路由协议属于内部网关协议IGP(Interior Gateway Protocol),用于自治系统内部。
IS-IS 路由协议相关概念
(1)IS-IS路由协议术语
IS(Intermediate System,中间系统)。相当于TCP/IP 中的路由器,是IS-IS协议中生成路由和传播路由信息的基本单元。在下文中IS 和路由器具有相同的含义。
ES(End System,终端系统)。相当于TCP/IP 中的主机系统。ES 不参与IS-IS路由协议的处理,ISO有专门的ES-IS协议定义终端系统与中间系统间的通信。
RD(Routing Domain,路由域)。在一个路由域中一群IS 通过相同的路由协议来交换路由信息。
Area(区域)。路由域的划分单元。
LSDB(Link State DataBase,链路状态数据库)。所有的网络内连接状态组成了链路状态数据库,在每一个IS 中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。
LSPDU(Link State Protocol Data Unit,链路状态协议数据单元)。在IS-IS中,每一个IS都会生成一个LSP,此LSP包含了本IS的所有链路状态信息。每个IS收集本区域内所有的LSP生成自己的LSDB。
NPDU(Network Protocol Data Unit,网络协议数据单元)。是ISO中的网络层协议报文,相当于TCP/IP中的IP报文。DIS(Designated IS)即广播网上的指定中间系统。
NSAP(Network Service Access Point,网络服务接入点)。是ISO中网络层的地址。用来标识一个抽象的网络层访问服务点,描述ISO 模型的网络地址结构。
(2)IS-IS路由协议适用的链路类型
IS-IS可以运行在点到点链路(Point to Point Links),如PPP、HDLC等,也可以运行在广播链路(Broadcast Links),如Ethernet、Token-Ring 等,对于NBMA(Non-Broadcast Multi-Access)网络,如ATM,需对其配置子接口,并将子接口类型配置为P2P 或广播网络。IS-IS 不能在点到多点链路(Point to Multi Point Links)上运行。
IS-IS 路由协议结构
为了支持大规模的路由网络,IS-IS 在路由域内采用两级的分层结构。一个大的路由域被分成一个或多个区域。区域内的路由通过Level-1路由器管理,区域间的路由通过Level-2路由器管理。
(1)Level-1路由器#p#
Level-1路由器负责区域内的路由,它与同一区域的Level-1路由器或Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB 包含本区域的路由信息,到区域外的报文转发给最近的Level-2路由器。
(2)Level-2路由器
Level-2路由器负责区域间的路由,可以与其他区域的Level-2路由器或Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2路由器组成路由域的骨干网,负责在不同区域间通信,路由域中的Level-2路由器必须是连续的,以保证骨干网的连续性。
(3)Level-1-2路由器
同时属于Level-1和Level-2的路由器称为Level-1-2路由器,每个区域至少有一个Level-1-2路由器,以将区域连在骨干网上。它维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
IS-IS路由协议使用的报文
IS-IS报文直接封装在数据链路帧中,主要分3类,即Hello报文。LSP和SNP。
(1)Hello报文
Hello报文用于建立和维持邻居关系,也称为IIH(IS-to-IS Hello PDUs),其中,
广播局域网中的Level-1路由器使用Level-1 LAN IIH;广播局域网中的Level-2路由器使用Level-2 LAN IIH;非广播网络中则使用Point-to-Point IIH。
(2)LSP
LSP(Link State Packet,链路状态报文)。用来交换链路状态信息。LSP分为两种,即Level-1 LSP和Level-2 LSP。Level-2 LSP由Level-2路由器传送,Level-1 LSP由Level-1 路由器传送,Level-1-2路由器则可传送以上两种LSP。
(3)SNP
SNP(Sequence Number Packet,时序报文)。用于确认邻居之间***接收的LSP,作用类似于确认(Acknowledge)报文,但更有效。SNP 包括CSNP(Complete SNP,全时序报文)和PSNP(Partial SNP,部分时序报文),进一步又分为Level-1 CSNP、Level-2 CSNP、Level-1 PSNP和Level-2 PSNP。
PSNP只列举最近收到的一个或多个LSP的序号,它能够一次对多个LSP进行确认,当发现LSDB不同步时,也用PSNP来请求邻居发送新的LSP。
CSNP包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB同步。在广播网络上,CSNP由DIS定期发送(默认的发送周期为10秒);在点到点线路上,CSNP只在***次建立邻接关系时发送。