1.简介

  IS-IS属于IGP(Interior Gateway Protocol,内部网关协议),用于自治系统内部。IS-IS是一种链路状态协议,使用SPF(Shortest Path First,最短路径优先)算法进行路由计算。

2.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:区域,路由域的细分单元,IS-IS允许将整个路由域分为多个区域。

·     LSDB(Link State DataBase):链路状态数据库。网络内所有链路的状态组成了链路状态数据库,在每一个IS中都至少有一个LSDB。IS使用SPF算法,利用LSDB来生成自己的路由。

·     LSPDU(Link State Protocol Data Unit):链路状态协议数据单元,简称LSP。在IS-IS中,每一个IS都会生成LSP,此LSP包含了本IS的所有链路状态信息。

·     NPDU(Network Protocol Data Unit):网络协议数据单元,是OSI中的网络层协议报文,相当于TCP/IP中的IP报文。

·     DIS(Designated IS):广播网络上选举的指定中间系统,也可以称为指定IS。

·     NSAP(Network Service Access Point):网络服务接入点,即OSI中网络层的地址,用来标识一个抽象的网络服务访问点,描述OSI模型的网络地址结构。

3.IS-IS地址  

  NSAP由IDP(Initial Domain Part)和DSP(Domain Specific Part)组成。IDP相当于IP地址中的主网络号,DSP相当于IP地址中的子网号和主机地址。

  IDP部分是ISO规定的,它由AFI(Authority and Format Identifier)和IDI(Initial Domain Identifier)两部分组成:  

  • AFI表示地址分配机构和地址格式。
  • IDI用来标识域。

  DSP由HO-DSP(High Order Part of DSP)、SystemID和SEL三个部分组成:

  • HO-DSP用来分割区域。
  • SystemID用来区分主机。
  • SEL有时也写成N-SEL(NSAP Selector),它的作用类似IP中的“协议标识符”,用于指示服务类型,不同的传输协议对应不同的SEL。

  IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。

  

  IS-IS地址结构由以下三部分组成:

  • 区域地址

  IDP和DSP中的HO-DSP一起,既能够标识路由域,也能够标识路由域中的区域,被称为区域地址。两个不同的路由域中不允许有相同的区域地址。

  一般情况下,一台路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。为了支持区域的平滑合并、分割及转换,一台路由器最多可配置3个区域地址。

  • System ID

  System ID用来在区域内唯一标识主机或路由器。它的长度固定为48比特。

  在实际应用中,一般使用Router ID与System ID进行对应。假设一台路由器使用接口Loopback0的IP地址168.10.1.1作为Router ID,则它在IS-IS使用的System ID可通过如下方法转换得到:

  • 将IP地址168.10.1.1的每一部分都扩展为3位,不足3位的在前面补0;
  •  将扩展后的地址168.010.001.001重新划分为3部分,每部分由4位数字组成,得到的1680.1000.1001就是System ID。

  实际System ID的指定可以有不同的方法,但要保证能够唯一标识主机或路由器。

  • SEL

  SEL用于指示服务类型,不同的传输协议对应不同的SEL。它的长度固定为8比特。在IP中,SEL均为00。

4.NET  

  NET(Network Entity Title,网络实体名称)指示的是IS本身的网络层信息,不包括传输层信息,可以看作是一类特殊的NSAP,即SEL为0的NSAP地址。因此,NET的长度与NSAP的相同,为8~20个字节。

  NET由三部分组成:

  • 区域ID:它的长度可变的,为1~13个字节。
  • System ID:用来在区域内唯一标识主机或路由器,它的长度固定为6个字节。
  • SEL:为0,它的长度固定为1个字节。

  例如NET为:ab.cdef.1234.5678.9abc.00,则其中区域ID为ab.cdef,System ID为1234.5678.9abc,SEL为00。

  通常情况下,一台路由器配置一个NET即可,当区域需要重新划分时,例如将多个区域合并,或者将一个区域划分为多个区域,这种情况下配置多个NET可以在重新配置时仍然能够保证路由的正确性。

  由于一台路由器最多可配置3个区域地址,所以最多也只能配置3个NET。在配置多个NET时,必须保证它们的System ID都相同。

5.IS-IS区域

  为了支持大规模的路由网络,IS-IS在路由域内采用两级的分层结构。一个大的路由域通常被分成多个区域(Areas)。一般来说,我们将Level-1路由器部署在区域内,Level-2路由器部署在区域间,

  Level-1-2路由器部署在Level-1路由器和Level-2路由器的中间。

  1)Level-1路由器  

  Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,维护一个Level-1的LSDB,该LSDB包含本区域的路由信息,到区域外的报文转发给最近的Level-1-2路由器。

  属于不同区域的Level-1路由器不能形成邻居关系。

  2)Level-2路由器  

  Level-2路由器负责区域间的路由,可以与同一区域或者其它区域的Level-2和Level-1-2路由器形成邻居关系,维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。

  所有Level-2路由器和Level-1-2路由器组成路由域的骨干网,负责在不同区域间通信,骨干网必须是物理连续的。

  Level-2路由器是否形成邻居关系与区域无关。

  3)Level-1-2路由器

  同时属于Level-1和Level-2的路由器称为Level-1-2路由器,可以与同一区域的Level-1和Level-1-2路由器形成Level-1邻居关系,也可以与同一区域或者其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。

  Level-1路由器必须通过Level-1-2路由器才能连接至其他区域。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。

6.IS-IS拓扑结构

  下图为一个运行IS-IS协议的网络,其中Area 1是骨干区域,该区域中的所有路由器均是Level-2路由器。另外4个区域为非骨干区域,它们都通过Level-1-2路由器与骨干路由器相连。

   

  下图是IS-IS的另外一种拓扑结构图。在这个拓扑中,并没有规定哪个区域是骨干区域。所有Level-2路由器和Level-1-2路由器构成了IS-IS的骨干网,它们可以属于不同的区域,但必须是物理连续的。

  IS-IS的骨干网(Backbone)指的不是一个特定的区域。

   

  IS-IS不论是Level-1还是Level-2路由,都采用SPF算法,分别生成最短路径树(Shortest Path Tree,SPT)。

7.路由渗透

  通常情况下,区域内的路由通过Level-1的路由器进行管理。所有的Level-2路由器和Level-1-2路由器构成一个Level-2区域。因此,一个IS-IS的路由域可以包含多个Level-1区域,但只有一个Level-2区域。

  Level-1区域必须且只能与Level-1-2区域相连,不同的Level-1区域之间并不相连。

  Level-1区域内的路由信息通过Level-1-2路由器发布到Level-2区域,因此,Level-2路由器知道整个IS-IS路由域的路由信息。但是,在缺省情况下,Level-2路由器并不将自己知道的其它Level-1区域以及  Level-2区域的

  路由信息发布到Level-1区域。这样,Level-1路由器将不了解本区域以外的路由信息,Level-1路由器只将去往其它区域的报文发送到最近的Level-1-2路由器,所以可能导致对本区域之外的目的地址无法选择最佳的路由。

  为解决上述问题,IS-IS提供了路由渗透功能,使Level-1-2路由器可以将己知的其它Level-1区域以及Level-2区域的路由信息发布到指定的Level-1区域。

 

posted on 2021-12-13 11:36  星痕1216  阅读(843)  评论(0编辑  收藏  举报