前面我们学习路由协议分类时知道按照工作机制划分链路状态路由协议有OSPF和ISIS,前面OSPF的大致原理已经学习了,现在开始学习ISIS路由协议,实际中OSPF在企业中使用很常见,而IS-IS在运营商环境中可能更加常见。

一、IS-IS路由协议概述
IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是ISO (International Organization for Standardization,国际标准化组织)为它的CLNP(ConnectionLessNetwork Protocol,无连接网络协议)设计的一种动态路由协议。
随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnect,开放式系统互联)环境中,我们将扩展后的IS-IS称为集成IS-IS。
简单说就是原来IS-IS是无连接不支持TCP/IP,随着TCP/IP的流行,进行了扩展为集成IS-IS,就是现在常说的IS-IS。
IS-IS是ISO定义的OSI协议栈中的CLNS(ConnectionLess Network Service,无连接网络服务)的一部分。IS-IS是一种链路状态路由协议,IS-IS与OSPF在许多方面非常相似,例如运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此,然后建立邻接关系,并交互链路状态信息。

CLNS由以下三个部分组成:
-
CLNP:类似于TCP/IP中的IP协议。 -
IS-IS:类似于TCP/IP中的OSPF,(现在我们只学习这个部分)。 -
ES-IS:类似于TCP/IP中的ARP,ICMP等。
ES:End System,终端系统,类似于IP网络环境中的主机。
ES-IS:End System to Intermediate System,终端系统到中间系统。
大概可以这样理解,ES是终端,IS是路由交换设备,IS-IS就是路由交换协议类似OSPF。
二、IS-IS基本概念
2.1 NSAP
NSAP(Network Service Access Point,网络服务访问点)是OSI协议栈中用于定位资源的地址,主要用于提供网络层和上层应用之间的接口。NSAP包括IDP及DSP,如下图所示:
IDP(Initial Domian Part)相当于IP地址中的主网络号。它是由ISO规定,并由AFI(Authority and Format Identifier)与IDI(Initial Domain Identifier)两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
DSP(Domian Specific Part)相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL(NSAP Selector)用来指示服务类型。
可以理解为NSAP=区域号+网络号+主机号+SEL服务标识,用于标识一个网络设备。
2.2 NET
NET(Network Entity Title,网络实体名称)是OSI协议栈中设备的网络层信息,主要用于路由计算,由区域地址(Area ID)和System ID组成,可以看作是特殊的NSAP(SEL为00的NSAP)。
NET的长度与NSAP的相同,最长为20Byte,最短为8Byte。
在IP网络中运行IS-IS时,只需配置NET,根据NET地址设备可以获取到Area ID以及System ID。就是我们现在配置IS-IS配置NET。

Area ID由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。
一般情况下,一个路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。为了支持区域的平滑合并、分割及转换,缺省情况下,一个IS-IS进程下最多可配置3个区域地址。
System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为6Byte。

在一个IS-IS路由域中,设备的System ID必须唯一,为了便于管理,一般根据Router ID配置System ID。
简单讲就是Area ID相当于区域号,同一个区域的IS-IS路由器区域号相同,然后System ID可以根据Router ID转换或者自行配置,然后SEL为00。
NSAP类似一个设备IP地址,NET相当于一个进程或者区域,里面需要配置系统ID,根据router-id生成,可以配置多个NET,但是系统ID要一致,区域ID可以不一致,一般情况下我们就配置NET即可。
2.3 IS-IS和OSPF区域划分的区别

在IS-IS中是通过路由器的level划分区域的,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构:
-
Level-1路由器部署在非骨干区域。 -
Level-2路由器和Level-1-2路由器部署在骨干区域。 -
每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
区别:
-
在IS-IS中,每个路由器都只属于一个区域;而在OSPF中,一个路由器的不同接口可以属于不同的区域。 -
在IS-IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域。 -
在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT(Shortest Path Tree);而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。
简单来说就是IS-IS一个路由器属于一个区域,通过定义路由器的level划分骨干与非骨干区域。
2.4 路由器分类
Level-1路由器: Level-1路由器(例如图中的R1)是一种IS-IS区域内部路由器,它只与属于同一区域的Level-1和Level-1-2路由器形成邻接关系,这种邻接关系称为Level-1邻接关系。Level-1路由器无法与Level-2路由器建立邻接关系。
Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB只包含本区域的路由信息。值得一提的是,Level-1路由器必须通过Level-1-2路由器接入IS-IS骨干区域从而访问其他区域。

Level-2路由器: Level-2路由器(例如图中的R4、R5、R6、R7)是IS-IS骨干路由器,它可以与同一或者不同区域的Level-2路由器或者Level-1-2路由器形成邻接关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含整个IS-IS域的所有路由信息。
所有Level-2级别(即形成Level-2邻接关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。

Level-1-2路由器: Level-1-2路由器与OSPF中的ABR非常相似,它也是IS-IS骨干网络的组成部分。
Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。
同时属于Level-1和Level-2的路由器称为Level-1-2路由器(例如图中的R2和R3),它可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻接关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻接关系。

缺省时,路由器全局Level为Level-1-2。
简单说就是Level-1是非骨干路由器,Level-2是骨干路由器,而Level-1-2相当于ABR中间路由器,邻居关系也分Level-1和Level-2。
总结:这里先大概了解下IS-IS的基本概念,因为实际企业使用可能没有那么多。IS-IS也属于链路状态路由协议,现在常说的IS-IS是经过扩展的集成IS-IS,通过NSAP和NET唯一区分区域和路由器,IS-IS也有划分骨干区域和非骨干区域,区别于OSPF,IS-IS一个路由器只属于一个区域,通过设置路由器的Level划分骨干与非骨干区域,建立Level-1和Level-2的邻居关系,路由器级别分别有:Level-1路由器、Level-2路由器、Level-1-2路由器。
如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子
本文由 mdnice 多平台发布