IS-IS Summarize

IS-IS

  • IS-IS(Intermediate System to Intermediate System 中间系统到中间系统)是一种链路状态路由协议,在服务提供商网络中被广泛应用。
  • IS-IS早期被ISO 标准化时,是为OSI协议栈服务的,它是为CLNP设计的动态路由协议。
  • 需注意的是OSI与TCP/IP是两个不同的协议栈,另外可以简单地将OSI协议栈中的CLNP理解为TCP/IP协议栈中的IP协议,两者实现的功能非常类似。最初的IS-IS是无法工作在TCP/IP环境中的,随着TCP/IP风靡全球,IETF ( Internet Engineering Task Force,Internet 工程任务组)对IS-IS进行了扩展,使得它能够同时支持IP路由,这种IS-IS被称为集成IS-IS( Integrated IS-IS )。

IS-IS和OSPF比较

  • IS-IS与OSPF在许多方面非常相似:
    (1)运行IS-IS的直连设备之间会通过Hello报文发现彼此,然后建立邻居关系,
    (2)并且交互链路状态信息,这些链路状态信息表现为LSP ( Link-State Packet,链路状态报文)。
    (3)每一台运行IS-IS的设备都会产生LSP,设备产生的LSP会被泛洪到网络中适当的范围,所有的设备都将自己产生的、以及网络中泛洪的LSP存储在自己的LSDB中。
    (4)IS-IS设备基于自己的LSDB采用SPF ( Shortest Path First,最短路径优先)算法进行计算,最终得到IS-IS路由信息。
    (5)与OSPF一样,IS-IS也支持层次化的网络架构,支持VLSM、支持手工路由汇总等功能。

名词介绍

  1. ISO (International Organization for Standardization,国际标准化组织)
  • 这是一个全球性质的非政府组织,成立于1946年,从其名称可以看出该组织的使命,即在国际上促进各领域的标准化实现。
  • ISO的一个广为人们所知的成果便是ISO9000质量体系,另外OSI参考模型也是ISO的杰作。
  1. IS (Intermediate System,中间系统):指的是OSI中的路由器。
  2. IS-IS (Intermediate System to Intermediate System,中间系统到中间系统):用于在IS之间实现动态路由信息交互的协议。
  3. CLNP(Connection-Less Network Protocol,无连接网络协议):这是OSI的无连接网络协议,它与TCP/IP中的IP协议的功能类似。
  4. LSP (Link-State Packet,链路状态报文):
  • IS-IS用于描述链路状态信息的关键数据,类似OSPF的LSA。
  • IS将网络中的LSP搜集后装载到自己的LSDB ( Link State Database,链路状态数据库)中,然后基于这些LSP进行路由计算。
  • LSP分为两种:Level-1LSP及Level-2 LSP。

OSI地址

  • 在TCP/IP协议栈中,IP地址用于标识网络中的设备,从而实现网络层寻址。一台设备如果存在多个接口,那么该设备便可能拥有多个IP地址,每个接口均可使用一个独立的IP地址;当然,在一台设备的某个接口上,可能还会存在多个IP地址。
  • 在OSI协议栈中,NSAP (Network Service Access Point,网络服务接入点)被视为CLNP地址,它是一种用于在OSI协议栈中定位资源的地址。
  • IP地址只用于标识设备,而并不标识该设备的上层协议类型或服务类型,而NSAP地址中除了包含用于标识设备的地址信息,还包含用于标识上层协议类型或服务类型的内容,因此从这个层面上看,OSI中的NSAP地址类似于TCP/IP中的IP地址与TCP或UDP端口号的组合。

NSAP

  • 一个NSAP地址由IDP (Initial Domain Part,初始域部分)和DSP (Domain Specific Part,域指定部分)两部分构成,而IDP及DSP这两部分又被进一步划分,如下图所示,在NSAP地址中,IDP和DSP都是可变长的,这使得NSAP地址的总长度并不固定,最短为8byte,最长则可以达到20byte。
    在这里插入图片描述

关于IDP及DSP中各个字段的含义,描述如下:

  1. AFI (Authority and Format Identifier,授权组织和格式标识符):
  • 长度为1byte用于标识地址分配机构。
  • 该字段值同时也指定了地址的格式。一个在实验室环境中经常被使用到的AFI值是49,该值表示本地管理,也即私有地址空间。
  1. IDI (Initial Domain Identifier,初始域标识符):该字段用于标识域(Domain), 其长度是可变的。
  2. DSP高位部分(High Order DSP):也就是DSP中的高比特位部分(在二进制数值中,最靠近左边的比特位被视为高位),该字段的长度是可变的,它用于在一个域中进一步划分区域。
  3. 系统ID ( System Identification ):
  • 用于在一个区域内标识某台设备。
  • 路由器上(HW)系统ID的长度固定为6byte,而且通常采用16进制格式呈现,比如0122.a2f1.0031。
  • 在网络部署过程中,必须保证域内设备的系统ID的唯一性。
  • 考虑到在以太网环境中,设备的MAC地址具有全局唯一性,而且正好长度也是6byte,因此常使用设备的MAC地址作为其系统ID。
  1. NSEL (NSAY-Selector):长度为1 byte,用士标识上层协议类型或服务类型。

  2. 区域地址:在IS-IS中,基于路由的目的,NSAP的IDP及DSP高位部分加在一起被称为区域地址,如下图所示,该地址是可变长的,最短为1 byte。对于IS-IS而言,区域地址就是区域ID ( Area Identification,区域标识符)。
    在这里插入图片描述

  3. NET (Network Entity Title,网络实体名称):

  • NET用于在网络层标识一台设备,可以简单地看作NSEL为0x00的NSAP。
  • 由于NSEL为0x00,因此NET不标识任何上层协议(或服务)类型,只用于标识该设备本身。
  • 需要注意的是,即使在纯TCP/IP环境中部署IS-IS,我们也必须为每一台准备运行IS-IS的设备分配NET,否则IS-IS将无法正常工作。一旦网络管理员为一台设备指定了NET,该设备便可以从NET中解析出区域ID,以及设备的系统ID。
  • 通常情况下,只会为设备的一个IS-IS进程指定一个NET,在一些特殊场景中,我们也可能会为一个IS-IS进程指定多个NET,此时这些NET中的系统ID要求必须相同。在IS-IS中,系统ID相当于OSPF中的Router-ID。

引入问题

在NET中,区域ID的长度是可变的,因此NET的长度并不固定。那么,既然NET是可变长的,设备该如何从中识别出区域ID及系统ID呢?

问题分析

  • 以49.0001.4f3c.23ab.0001.00这个NET为例,下图展示了它的结构。
    IS-IS Summarize_第1张图片
    (1)NET的最后一个字节为NSEL,它对应的值必须为0x00,
    (2)与NSEL相邻的6个字节为系统ID,而其余的部分便是区域ID,处于同一个区域的两台IS-IS设备,其NET中的区域ID必须相同,而系统ID则必须不同。

NET配置举例

  • 创建一个IS-IS进程并为该进程分配NET,ISIS命令用于创建IS-IS进程并进入该进程的配置视图,ISIS命令中可指定该进程的Process-ID(若未指定Process-ID,则系统会自动为该进程分配一个缺省值)。在IS-IS进程的配置视图中,network-entity命令用于为该进程分配NET,比如如下配置中的49.ac21.32a1.00e0.fc43.f212.00,其中设备的系统ID为00e0.fc43.f212(该设备某个以太网接口的MAC地址),设备所属区域的区域ID为49.ac21.32a1。
[Router]isis 1
[Router-isis-1]network-entity 49.ac21.32a1.00e0.fc43.f212.00

你可能感兴趣的:(Route,IS-IS,路由器)