018A-ISIS协议概念

ISIS与OSPF对比

IS-IS的意思是标识中间系统到中间系统,是为ISO无连接网络协议(ISO’s connectionless network protocol , CLNP)设计的路由选择协议
ISIS协议的时间和OSPF发布的时间基本同一时期,稍早或者稍迟一点,都基于链路状态并使用最短路径优先算法进行路由计算的一种IGP协议
本意是支持从TCP/IP协议栈向OSI的转换,但是前者却成为了实际的工业标准,而ISIS现在更多的作为服务应用商网络的IGP的层面(华为设备优先级15)
为了提供对IP的路由支持,IETF在RFC1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,修订后的IS-IS协议被称为集成化的IS-IS。由于IS-IS的简便性及扩展性强的特点,目前在大型ISP的网络中被广泛地部署。

IS-IS是ISO定义的OSI协议栈中无连接网络服务CLNS (Connectionless Network Service)的一部分,用于动态路由数据包。

  • CLNS由以下三个协议构成:
    • CLNP:类似于TCP/IP中的IP协议。IP协议为TCP/IP网络层服务。CLNP为OSI网络层服务。
    • IS-IS: 中间系统(路由器)间的路由协议,类似于IP中的OSPF
    • ES-IS:主机系统与中间系统间的协议,就象IP中的ARP,IGMP(RD)等。

(ISO’s connectionless network protocol , CLNP)
(Intermediate System-Intermediate System,IS-SI)
(end system-Intermediate System)
018A-ISIS协议概念


ospf与ISIS的使用场景

  • 园区网特点:
    • 应用型网络,主要面向企业网用户。
    • 路由器数量偏少,动态路由的LSDB库容量相对偏少,三层路由域相对偏少。
    • 有出口路由的概念,对内部外部路由划分敏感。
    • 地域性跨度不大,带宽充足,链路状态协议开销对带宽占用比偏少。
    • 路由策略和策略路由应用频繁多变,需要精细化的路由操作。

OSPF的多路由类型(内部/外部),多区域类型(骨干/普通/特殊),开销规则优良(根据带宽设定),网络类型多样(最多五种类型)的特点在园区网得到了极大的发挥。

  • 骨干网特点:
    • 服务型网络,由ISP(互联网服务提供商)组建,并为终端用户提供互联服务。
    • 路由调度占据绝对统治地位,路由器数量庞大。
    • 架构层面扁平化,要求IGP作为基础路由为上层BGP协议服务。
    • LSDB规模宏大,对链路收敛极度敏感,线路费用高昂。
    • 追求简单高效,扩展性高,满足各种客户业务需求(IPV6/IPX)。

IS-IS的快速算法(PRC得到加强),简便报文结构(TLV),快速邻居关系建立,大容量路由传递(基于二层开销低)等一系列特点在骨干网有着天然的优势。

  • OSPF 和ISIS的共同特征
    • 维护一个链路状态数据库,当然是基于Dijkstra算法
    • 都利用Hello包形成和维护邻居关系
    • 使用区域的概念来构成层次化的拓扑结构
    • 都提供在区域之间提供地址汇总的能力
    • 无类路由协议
    • 都选取一个指定路由器来描述广播性网路
    • 认证能力

ISIS邻居关系的建立

  • 邻居关系建立:
    • 邻居关系建立主要是通过HELLO包交互并协商各种参数,包括链路类型(level-1/level-2),Hold time,网络类型,支持协议,区域号,系统ID,PDU长度,接口IP等。
  • 链路信息交换:
    • 与OSPF不同,ISIS交互链路状态的基本载体不是LSA(link state advertisement),而是LSP(link state PDU);交互的过程没有OSPF协议那样经历了多个阶段,主要是通过CSNP和PSNP两种协议报文来同步,请求以及确认链路状态信息(承载的是链路状态信息摘要),而链路状态信息的详细拓扑和路由信息是由LSP报文传递。
  • 路由计算:
    • SPF计算和OSPF基本一样的,但ISIS算法分离了拓扑结构和IP网段,加快了网络收敛速度。

NSAP

018A-ISIS协议概念

  • 由IDP和DSP组成。IDP和DSP的长度都是可变的,NSAP总长最多是20个字节,最少8个字节。
    IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。
  • DSP 相当于IP 地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL用来指示服务类型。

net

  • Area Address(Area ID)由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。同一 Level-1区域内的所有路由器必须具有相同的区域地址,Level-2区域内的路由器可以具有不同的区域地址。
  • System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit(6字节)。一边情况下,我们采用设备的router-id转换为System ID。
    -NSEL(NSAP-Selector)NSAP标识,用来指示选定的服务,相当于TCP/IP地址中的端口号,对NET地址来讲,是00。 SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00,这样说是因为华为路由器上将ISIS协议做了一些改变,如果华为路由器上ISIS接口没有配置地址,ISIS是建立不了邻接关系的

AFI=49 AFI=49 的地址为 OSI 协议的私有地址,类比 TCP/IP TCP/IP TCP/IP中的 10.0.0.0 等
用ISIS 做网络设计需要注意
 保证 L2 路由器是连续
 保证所支持的多个可路由协议是连续的

NET

018A-ISIS协议概念

网络实体名称NET(Network Entity Title)指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00),NET的长度与NSAP 的相同,最多为20个字节,最少为8个字节。在路由器上配置IS-IS 时,只需要考虑NET即可,NSAP可不必去关注。
在配置IS-IS过程中,NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。

没有 NET 地址 ISIS 无法运行
该地址包含了区域 ID 和系统 ID ,而它本质上是一个 ISO 地址
最后的 SEL 等同于 TCP 的端口号,永远作为 的端口号,永远作为 的端口号,永远作为 00出现

NET由三部分组成:
区域ID,区域ID的长度可以是变化的(1~13个字节)。
系统ID,长度为固定值6个字节。
最后一个字节SEL,其值必须为00。

49.0001.aaaa.bbbb.cccc.00
49.aaaa.bbbb.cccc.00

49.0002.1234.1234.1111.00
49.0002.1234.1234.1234.1111.00
上述两对地址均不相同

system ID

一个中间系统(路由器)至少有一个NET(最多可有3个)

同一AREA的中间系统必须有相同的AREA ID
每个中间系统在一个AREA中必须有一个唯一的System ID
一个domain中的两个Level-2中间系统不能有相同的System ID

NSAP至少为8个字节,最多为20个字节
对于ip应用程序而言,1字节定义AFI(标识二进制DSP语法的地址域),最少2字节定义实际区域信息,6字节定义系统ID和1字节的NSEL,故NSAP地址最少为8字节。

ISIS sglf

ISIS有三种路由器

  • level-1路由器
    Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。Level-1路由器只负责维护Level-1的链路状态数据库LSDB,该LSDB包含本区域的路由信息。到本区域外的报文转发给最近的Level-1-2路由器。Level-1路由器必须通过Level-1-2路由器才能连接至其他区域
  • level-2路由器
    路由器负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系。Level-2路由器维护一个Level-2的LSDB,该LSDB包含IS-IS区域的所有路由信息。所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性。在ISIS中不存在虚链路
  • 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用于区域间路由

将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连
在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;
在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;
在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发。


ISIS邻居的建立

  • level-1 区域邻居的建立条件
    1、Area号要一致
    2、level-1的路由可以和level-1的路由建立level-1的邻居
    3、level-1的路由可以和level-1/2的路由建立level-1的邻居

  • Level-2区域邻居的建立条件
    1、Area号可以不致
    2、level-2的路由器可以和level-2的路由器建立level-2的邻居
    3、level-2的路由器可以和level-1/2的路由器建立level-2的邻居

ISIS的9个报文:

IIH: Intermediate System to Intermediate System 中间系统到中间系统
LSP: Link state Protocol Data Unit 链路状态协议数据单元
PSNP: Partial sequence Number Protocol Data Unit 部分***协议数据单元
CSNP:Complete Sequence Numbers Protocol Data Unit 全部***协议数据单元

  • HELLO PDU(IIH)用于建立和维持邻居关系
    1、Level-1 LAN IIH
    2、Level-2 LAN IIH
    3、P2P IIH
    (IIH报文 就等于OSPF的Hello报文 )

  • LSP PDU用于交换链路状态信息
    4、Level-1 LSP
    5、Level-2 LSP
    LSP的作用等于OSPF的lsa,但由于OSPF的lsa是通过LSU携带的,所以可以认为 LSP报文等于OSPF的LSU)

  • SNP PDU用于维护LSDB 的完整与同步,且为摘要信息

    • CSNP
      6、Level 1 CSNP
      7、Level 2 CSNP
    • PSNP
      8、Level 1 PSNP
      9、Level 2 PSNP
      SNP用于维护LSDB数据库的完整与同步 ,为摘要信息
      CSNP报文等于OSPF的DBD报文
      PSNP报文等于OSPF LSR 和LSACK

HELLO PDU(Hello protocol data unit):

HELLO报文的作用是邻居发现,协商参数并建立邻居关系,后期充当保活报文。

IS-IS建立邻居关系和OSPF一样,通过hello报文的交互来完成。但是会根据场景分为三种类型的hello报文。

广播网中的Level-1 IS-IS使用Level-1 LAN IIH(Level-1 LAN IS-IS Hello),目的组播MAC为:0180-c200-0014

广播网中的Level-2 IS-IS使用Level-2 LAN IIH(Level-2 LAN IS-IS Hello),目的组播MAC为:0180-c200-0015
STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00

非广播网络中则使用P2P IIH(point to point IS-IS Hello)。但是其没有表示DIS(虚节点)的相关字段。

IIH报文需要通过填充字段用于邻居两端协商发送报文的大小。

  • IS-IS支持的网络类型:
    • 点对点网络类型(P2P)。如PPP,HDLC等
    • 广播多路访问网络类型(Broadcast Multiple Access)。如Ethernet等
      在帧中继等特殊环境下,可以通过创建子接口支持P2P的网络类型。但是实际生产中没人这么做

广播链路: DIS 和伪节点

DIS:Designated IS 指定中间系统
功能:在广播网络实现更高效的数据库同步

  • 在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS
  • Level-1和Level-2的DIS是分别选举的。
  • DIS优先级数值最大的被选为DIS。如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会被选中。 (默认64,0到127之间)
  • 用户可以为不同级别的DIS选举设置不同的优先级。
  • 优先级为0的路由器也参与DIS的选举,且DIS选举支持抢占。
  • 同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系,但LSDB的同步仍然依靠DIS来保证。
  • DIS用来创建和更新伪节点,并负责生成伪节点的链路状态协议数据单元LSP,用来描述这个网络上有哪些网络设备
  • IS-IS中DIS发送Hello时间间隔为10/3秒,而其他非DIS路由器发送Hello间隔为10秒。