ISIS和OSPF有很多相同的地方,最大的相同点都是SPF算法。这两个协议应用的地方不一样,OSPF适合用在企业网。ISIS应用运营商的骨干网。OSPF本区域是算不出其他区域拓扑的,对于ISIS来说本区域是可以算出其他区域拓扑。ISIS更加简洁,可扩展性比OSPF好很多。ISIS工作在数据链路层,OSPF工作IP层。

ISIS工作原理

  • 建立邻居关系

    ISIS建立了邻居关系就意味着已经建立了邻接关系。

    ISIS也是发送Hello报文进行邻居关系的建立,IIH。Hello报文分为2种,L1 IIH和L2 IIH

  • 同步LSDB过程

    通过交互LSP报文,LSP的概念类似于OSPF中的LSA,LSP是个单独的报文。

    L1路由器只维护L1的LSDB,只具备L1的路由信息。

    L2的路由器只维护L2的LSDB,L2的LSDB中具备全网的路由信息和拓扑信息。

    L1/2路由器维护L1的LSDB和L2的LSDB。

    所以LSP在ISIS中分为2种,L1的LSP和L2的LSP

  • SPF算路由

分级与骨干区域

  • IS-IS路由器的三种类型:

    • Level-1路由器

      Level-1只能与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,只负责维护Level-1的链路状态数据库,该LSDB包含本区域内的路由信息,到本区域外的报文转发给最近的Level-1-2路由器。Level-1路由器只可能建立Level-1的邻接关系。

    • Level-2路由器

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

    • Level-1-2路由器

      同时属于Level-1和Level-2的路由器称为Level-1-2路由器。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。

  • Level-1-2路由器可以与同一区域的Level-1形成Level-1邻居关系,也可以与其他区域的Level-2和Level-1-2路由器形成Level-2的邻居关系。

    对于ISIS来说,不是多区域分级。对路由器进行了分级。

    ISIS的骨干区域是由L2路由器组成的区域。

网络分层路由域.png

ISIS协议的区域边界在整个Router,OSPF协议的区域边界在Router的接口

在IS-IS中,单个区域没有物理的骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域

在IS-IS中,Level-1和Level-2级别的路由器分别采用SPF算法,分别生成最短路径树SPT;在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由需要通过骨干区域来转发

ISIS报文

  • IIH

    hello报文

  • LSP

    LSP类似于OSPF的LSA,承载的是链路状态信息,包含了拓扑结构和网络号。

  • SNP

    时序同步报文

    SNP报文中分为了2种

    • CSNP报文:

      发送的LSDB的摘要

      包括LSDB中所有LSP的摘要信息,从而可以在相邻路由器间保持LSDB的同步。

    • PSNP报文:

      包含部分LSDB中的LSP摘要信息,能够对LSP进行请求和确认。

ISIS的网络类型

ISIS的网络类型只有2种。

MA的网络和P2P的网络。网络类型不同建立邻居关系过程和LSDB同步的过程是不一样的。

建立邻居关系

  • MA网络邻居建立的过程

    是三次握手的过程。MA的网络在建立邻居关系以后是要选举DIS(伪节点)---是虚拟出来的一台路由器,作用类似于OSPF的DR。

    DIS没有备份的伪节点,DIS是抢占模式。DR的选举时非抢占模式,并且有BDR作为备份。

    在DR的选举中,优先级为0的设备没有选举资格的。但是在DIS的选举中,优先级为0的设备有选举资格的。

    DIS选举出来以后,它的所有定时器都是3倍的其他设备的频率。

    DIS总能先网络中其他设备一步感知到网络拓扑的变化。

    DIS的作用是指定在MA网络中发送CSNP报文

  • P2P网络邻居建立的过程

    二次握手的过程

    P2P的网络类型中,没有DIS。

LSDB同步过程

  • MA网络LSDB同步的过程

    MA.png

    1. 所有的路由器把自己所有的LSP发送给DIS。为了加快LSP的传递效率设置了LSP分片的功能。为了传输更多的LSP

    2. DIS开启周期性的发送CSNP报文,携带了全网的LSP的摘要(时间默认为10s)

    3. 其他设备在收到了CSNP报文以后,和自己的LSDB对比。单独发送PSNP报文请求缺少的LSP。

    4. DIS收到以后单独把LSP发送给对端。

    5. 非DIS设备现在多一条路由,把这条LSP发送给DIS。DIS收到LSP以后,加入到LSDB中,随后立马发送CSNP报文。非DIS设备收到LSP以后对比自己的LSDB如果发现自己的LSDB多了一条LSP,判断这条LSP在传输的过程中丢失了。再传一次。

  • P2P的LSDB同步过程

    P2P.png

    1. 两台设备之间发送CSNP报文(全程只发这唯一一次)

    2. 两台设备之间把CSNP报文和自己的LSDB进行对比,发送PSNP请求没有的LSP。后续仍然存在超重传的过程。

    3. RTB新增了一条LSP,立马把这条LSP发送给RTA。然后等待RTA的PSNP报文。等待超时的话,还要再发一次LSP。直到收到RTA的PSNP为止。

ISIS路由计算

ISIS的路由度量的参考因素有多种,可以是接口的带宽和时延。

ISIS默认的开销计算方式narrow,接口的开销默认都是10。

配置模式:

  • compatible

    进接口的路由和出接口同时支持宽度量值和窄度量值的方式。

  • narrow

    窄度量值的计算方式,开销的取值范围1-63

  • narrow-compatible

    出接口的路由只能用narrow来算,进接口的路由同时支持narrow和wide

  • wide

    宽度量值----开销取值范围很大,把接口的带宽和时延一起考虑进去了

  • wide-compatible

    出接口的路由只能用wide来算,进接口的路由同时支持narrow和wide

举个例子:

RTA RTB 结果
narrow narrow 能相互学习到路由
wide wide 能相互学习到路由
wide narrow 不能相互学习到路由
wide compatible 能相互学习到路由
wide narrow-compatible RTB能学习到RTA 的路由,RTA学不到RTB的。

建议在做ISIS配置的时候,把度量值的计算方式都改成wide。

地址结构

在早期的OSI七层参考模型中,我们使用的地址叫做NSAP地址

地址结构.png

  • NSAP地址

    • IDP相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。

    • DSP相当于IP地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域,System ID用来区分主机,SEL用来指示服务类型。

    • Area Address(Area ID)由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。

    • System ID用来在区域内唯一标识主机或路由器。在设备的实现中,它的长度固定为48bit(6字节)。

    • SEL的作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。在IP上SEL均为00。

  • NET

    • 网络实体名称NET指的是设备本身的网络层信息,可以看作是一类特殊的NSAP(SEL=00),NET的长度与NSAP的相同,最多为20个字节,最少为8个字节。在路由器上配置IS-IS时,只需要考虑NET即可,NSAP可不必去关注。

    • 在配置IS-IS过程中,NET最多也只能配3个。在配置多个NET时,必须保证它们的System ID都相同。

在ISIS的路由器中需要配置NET(网络实体名称)类似于OSPF的RID。

区域ID:同一个区域的设备,区域ID要一样

System ID:同一个区域的设备system ID要不一样

ISIS区域间路由

区域间路由.png

  • Level-1路由器的路由特点:
    • 只拥有Level-1的链路状态数据库。
    • 其链路状态数据库中只有本区域路由器LSP。
    • 其路由表里没有其他区域的路由信息。
    • 其路由表里都有一条默认路由,下一条是指向到Level-1-2路由器。
  • Level-2路由器的路由特点:
    • Level-2路由器只有Level-2的链路状态数据库。
    • 其LSDB中有骨干区域路由器的LSP,但是没有Level-1路由器产生的LSP。
    • 路由表里面有整个网络的路由信息。
  • Level-1-2路由器的路由特点:
    • Level-1-2路由器同时拥有Level-2和Level-1的链路状态数据库。
    • Level-1数据库包含本区域的LSP,Level-2数据库包含骨干区域LSP。
    • 在自己产生的Level-1的LSP中设置了ATT比特位为1。
    • 路由表里面有整个网络的路由信息。

L2区域能够学到L1区域具体明细的路由,但是L1区域是学不到L2区域具体明细的路由。L1/2给L1路由器发送的LSP中,把ATT位置位为1,然后L1区域根据这条LSP生成一条默认路由下一条指向L1/2。

解决ISIS次由路由问题:

在L1/2设备上做路由泄露

做完路由泄露以后,可以在L1路由器上看见L2的具体明细路由

其他补充

  • ISIS与OSPF差异性

    差异性.png

    • 网络类型和开销方式:

      IS-IS协议只支持两种网络类型,且所有带宽默认开销值都是一样的

      OSPF协议支持四种网络类型,且会根据不同的带宽设定相应的开销值,对帧中继,按需链路等网络类型有很好的支持。

    • 区域类型:

      IS-IS协议分L1/L2区域,L2区域是骨干区域有全部明细路由。L1去往L2只有默认路由。

      OSPF协议分骨干区域,普通区域,特殊区域。普通区域和特殊区域跨区域访问需要经过骨干区域。

    • 报文类型:

      IS-IS协议路由承载报文类型只有LSP报文且里面路由信息是不区分内部与外部的,简单高效,无需递归计算。

      OSPF协议路由承载报文LSA类型多样,有1/2/3/4/5/7类等。路由级别等级森严,且需要递归计算,适合精细化调度计算。

    • 路由算法:

      ISIS协议区域内某个节点上的网段发生变化时,触发的是PRC算法,收敛比较快,计算路由的报文开销也比较小。

      OSPF协议由于网络地址参与了拓扑的构建,在区域内当网段地址改变触发的是i-spf算法,相对来说过程繁琐复杂些。

    • 扩展性:

      ISIS协议任何路由信息都使用TLV传递,结构简单,易于扩展,如对IPv6的支持只增加2个TLV就解决了。且ISIS本身对IPX等协议是支持的。

      OSPF协议本身是为IP特定开发的,支持IPv4和IPv6的OSPF协议是两个独立的版本(OSPFv2和OSPFv3)。

  • ISIS与OSPF术语对照

    术语对照.png

Last modification:November 17th, 2020 at 02:55 pm