IS-IS基础知识

IS-IS的历史:

IS-IS最初起源于DEC公司的PhaseV网络协议,后来ITU将其标准化为OSI协议栈中的路由协议,命名为IntermediateSystem- IntermediateSystem。由于IS-IS取自于仅工作在DataLinkLayer的DEC PhaseV协议,所以IS-IS 也仅被设计为并仅工作在OSI协议栈的数据链路层中,而不能工作在IP协议栈中。20世纪80年代,由于美国政府要求所有系统都要安装OSI协议套件而被广泛使用。

随着TCP/IP协议栈的普及,为了提供对IP的路由支持,IETF在RFC1195中对ISIS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(Integrated IS-IS,或者称为Dual IS-IS)。环 IETF 工作组定义了大量TLV结构,使其可以携带IP路由信息,但协议的本身仍是OSI协议。所以,运行集成IS-IS的路由器必是双栈,既含有OSI协议栈,又含有IP协议的设备。

集成化IS-IS和OSPF都是20世纪80年代后期产生,但是实际在ISP(网络运营商)环境下,ISIS在运用中运用的更广泛,而不是OSPF,原因如下:

  1. IS-IS路由协议标准较OSPF更为成熟稳定。
  2. IS-IS支持的网络规模比OSPF大;IS-IS支持的最大跳数限制默认值是1024个路由器,而OSPF默认的只有200个。
  3. 扩展性较好,IS-IS的层次结构与OSPF不同,OSPF是单一的骨干域,而lS-lS可以有多个LEVEL-2 AREA,这可以使骨干扩充更为容易。
  4. lS-lS占用网络资源较小,路由收敛和恢复时间更快。IS-IS采用较小的协议数据包承载路由信息,这使得路由信息的繁衍速度更快。

随着IPv6网络的建设,IETF 已定义RFC5038为IS-IS添加了对IPv6的支持。

IS-IS的网络基础:

在这里插入图片描述
在OSI网络中定义了两类网络层服务,CLNS(无连接网络服务)和CONS(面向连接的网络服务)。其中,提供CLNS服务的协议主要包括CLNP(无连接网络协议)、IS-IS,ES-IS。他们分别起着不同的作用。CLNS类似于TCP/IP中的IP协议簇,都是无连接服务;而CONS类似于TCP/IP网络中的TCP,都是面向连接的服务。

CLNP:
CLNP是OSI网络的网络层数据报协议,提供了与TCP/IP网络中IP类似的功能,因此CLNP又称之为ISO-IP。与IP一样,CLNP也是一个无连接的网络层协议,提供无连接的网络层服务。但是,IP是TCP/IP协议栈中唯一的网络层协议,来自高层的协议和数据绝大多数需要封装在IP协议报文中,然后再传输到数据链路层,重新封装在帧中进行传输。而在OSI网络环境中,前面说的CLNP、ISIS、ESIS都是独立的网络层协议,都直接被封装到数据链路层的帧中进行传输。CLNP使用NSAP地址来识别网络设备。

IS-IS:
IS-IS是国际标准化组织ISO为它的无连接网络协议CLNP设计的一种动态路由协议。IS-IS是一个能够同时处理多个网络层协议(例如IP和CLNP)的路由选择协议。

ES-IS:
ES-IS也是由OSI开发,用来允许终端系统(如PC机)和中间系统(如路由器)进行路由信息的交换(也就是通常所说的PC主机与路由器之间的路由),以推动OSI网络环境下网络层的路由选择和中继功能的操作。ES-IS在CLNP网络中就像IP网络中的ARP、ICMP一样,为用户主机与路由器之间提供路由信息交换功能。

IS-IS基本术语:

  1. IS:Intermediate System中间系统 (Router路由器)
  2. DIS:Designated Intermediate System (指定中间系统,以便周期性地向区域内其他路由器进行区域LSDB数据库的泛洪,区域内的非DIS仅与DIS之间进行LSDB交互,非DIS之间不能直接进行LSDB交互)
  3. ES:End System(Host也就是终端设备,主机系统)
  4. SysID:System ID (在ISIS中,用SysID来唯一标识一台路由器,必须保证在整个IS-IS路由域中每台路由器的系统ID都是唯一的,与OSPF的路由器ID一样)
  5. PDU:Protocol Date Unit 协议数据单元(IP Packet)
  6. LSP:Link State Protocol Data Unit (链路状态数据单元,ISP是IS-IS网络中的设备用来通过泛洪方式向所有邻居通告自己的链路状态信息的报文,类似于OSPF中的LSA,网络中每台路由器都会产生带有自己系统ID标识的LSP报文,可以通过发送LSP不断更新字段链路状态信息)
  7. LSDB:LSP Database (LSP数据库,通过LSP的泛洪,最终使整个区域内的所有路由器拥有相同的LSDB。在每一个IS中都至少有一个LSDB,那就是Level-2 LSDB。IS-IS路由器利用各个区域的LSDB,通过SPF算法计算生成自己的IS-IS路由表)
  8. IIH:Intermediate System to Intermediate System Hello PDU(类似于OSPF的HELLO报文)
  9. PSNP:Partial Sequence Number Protocol Data Unit(部分序列号协议数据单元,类似于OSPF的ACK、Request)
  10. CSNP:Complete Sequence Numbers Protocol Data Unit(全部序列号协议数据单元,类似于DBD报文)
  11. NET:Network Entity Title (网络实体标记)(特殊NSAP,最后一个字节为0,RID+AREA)

可以通过如下的图进行简单的对比记忆:
在这里插入图片描述

IS-IS地址:

NSAP地址:
网络服务访问点NSAP (Network Service Access Point)是OSI协议中用于定位资源的地址。如图所示,它由IDP (Initial Domain PRt)和DSP ( Domain Specific PRt)组成。IDP和DSP的长度都是可变的,NSAP 总长最多是20个Byte,最少是8个Byte。其中可以变长度也就是Area ID区域,当IDI和HODSP为0B的时候,为8字节,当为12字节的时候总体为20字节。
在这里插入图片描述

IDP:相当于IP地址中的主网络号。它是由ISO规定,并由AFI与IDI两部分组成。AFI表示地址分配机构和地址格式,IDI用来标识域。AFI占1字节,49相当于私有地址,39或者47相当于公网地址。IDI用来标识区分不同IS-IS的路由域。

DSP:相当于IP 地址中的子网号和主机地址。它由High Order DSP、System ID和SEL三个部分组成。High Order DSP用来分割区域相当于子网号;System ID用来区分主机,在同一个区域中不存在一致的System ID的主机;SEL用来指示服务类型,相当于协议号。

Area Address(Area ID):由IDP和DSP中的High Order DSP组成,既能够标识路由域,也能够标识路由域中的区域。因此,它们一起被称为区域地址,相当于OSPF中的区域编号。同一Level-1区域内的所有路由器必须具有相同的区域地址,Level-2层级的路由器可以具有不同的区域地址。一般情况下,一个路由器只需要配置一个区域地址,且同一区域中所有节点的区域地址都要相同。

System ID:用来在区域内唯一标识主机或路由器,我们也可以称为主机地址。在设备的实现中,它的长度固定为48bit(6字节)。当路由器为L1 IS时,该IS的系统ID必须在同一区域中的所有L1 IS中唯一;当路由器为L2 IS时,则该IS的系统ID必须在整个IS-IS路由域中唯一。
在这里插入图片描述
SEL:作用类似IP中的“协议标识符”,不同的传输协议对应不同的SEL。

例如一个地址为49.0001.aaaa.bbbb.cccc.00,表示区域地址为49.0001,49表示为一个虚拟地址,0001表示区域号,然后系统ID为aaaa.bbbb.cccc。

NET地址:
在这里插入图片描述

  1. 在IP网络中的IS-IS协议中,IS-IS路由器是以NET地址进行标识的。NET也是一种NSAP地址,只是没有使用NSAP地址的SEL部分 ,所以SEL始终保持为00,NET的长度与NSAP 的相同,最多为20个字节,最少为8个字节。
  2. 在一个IS-IS进程中,最多可以配3个NET地址。在配置多个NET时,必须保证它们的System ID都相同。在实际应用中,一般使用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。重新组合的1680. 1000.1001就是System ID。

IS-IS路由类型:

在整个OSI网络中包括了4种路由级别,L0,L1,L2,L3。IS-IS所能提供的路由仅包括L1、L2这两个级别。

  1. L0路由:
    L0路由是OSI网络中ES与IS之间的路由(不属于IS-IS提供的功能),使用ES-IS协议进行路由信息的交换。在ES-IS协议中,ES通过侦听IS发送的IIH来获取IS的存在。当ES要向其他ES发送ESH报文(ES到ES的Hello报文)时同时把报文发送到IS。同样,IS也会侦听ES发送的ESH报文以伙子ES的存在,当有数据要发送到某个ES时,会根据所获取的ESH信息进行发送。这个过程就称为L0的路由选择过程。
  2. L1路由:
    L1路由是OSI或者TCP/IP网络中在普通区域内IS之间的路由,即普通区域内路由,是IS-IS协议提供的路由功能。同一个普通区域中的IS之间通过交换路由信息后,便得知了本区域内的所有路径。当IS收到一个到目标地址是本区域内地址的报文后,通过查看看包的目的地址即可将报文发往正确的链路或目的节点。能提供L1路由的IS-IS的路由器类型有L1路由器和L1/2路由器。
  3. L2路由:
    L2路由是OSI或者TCP/IP网络中不同区域间各IS之间的路由,即区域间路由,也是IS-IS协议提供的路由功能。一个IS收到一个目的地址不是本区域CLNP地址的报文时,便将其转发发到正确的目的地或者将报文转发到其他区域,以便由其他区域中的IS转发到正确的目的地。能提供L2路由的IS-IS路由器类型有L2路由器和L1/2路由器。
  4. L3路由:
    L3路由是OSI网络中不同IS-IS路由域间的路由,不属于IS-IS提供的路由功能。L3路由类似于TCP/IP网络中的BGP,其目的是在不同的路由域或自治系统间交换路由信息,并将去往其他AS的包转发到正确的AS,以便到达最终的目的地。这些AS之间可能拥有不同的路由拓扑,所以不能直接进行路由信息的交换。通常L3路由是由IRDP来完成的。

IS-IS路由器类型:

  1. Level-1路由器
    Level-1路由器负责区域内的路由,它只与属于同一区域的Level-1和Level-1-2路由器形成邻居关系,属于不同区域的Level-1路由器不能形成邻居关系。
    在这里插入图片描述
    Level-1路由器只负责维护Level-1的链路状态数据库LSDB(Link State Database),该LSDB包含本区域的路由信息,到本区域外的报文转发给最近的Level-1-2路由器(通过接收到带有ATT位的LSP来生成一条指向离自己最近的L1/2路由器的默认路由,用于访问其他区域。)。

  2. Level-2路由器
    Level-2路由器负责区域间的路由,它可以与同一或者不同区域的Level-2路由器或者其它区域的Level-1-2路由器形成邻居关系。
    在这里插入图片描述
    Level-2路由器维护一个Level-2的LSDB,该LSDB包含区域间的路由信息。所有Level-2级别(即形成Level-2邻居关系)的路由器组成路由域的骨干网,负责在不同区域间通信。路由域中Level-2级别的路由器必须是物理连续的,以保证骨干网的连续性(L1区域是分散的)。只有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路由器才能连接至其他区域(会在自己生成的L1的LSP中设置ATT位)。Level-1-2路由器维护两个LSDB,Level-1的LSDB用于区域内路由,Level-2的LSDB用于区域间路由。注意:L1/2路由器和L2路由器的Area ID不同,依旧可以建立连接。

IS-IS区域:

IS-IS拓扑:
为了支持大规模的路由网络,IS-IS在自治系统内采用骨干区域与非骨干区域两级的分层结构。一般来说,将Level-1路由器部署在非骨干区域,Level-2路由器和Level-1-2路由器部署在骨干区域。每一个非骨干区域都通过Level-1-2路由器与骨干区域相连。
在这里插入图片描述
拓扑中为一个运行IS-IS协议的网络,它与OSPF的多区域网络拓扑结构非常相似。整个骨干区域不仅包括Area 47.0001中的所有路由器,还包括其它区域的Level-1-2路由器。另外,Level-2级别的路由器可以不在同一个区域。

拓扑所体现的IS-IS与OSPF不同点:

  1. 在OSPF中,一条链路只属于一个区域;而在IS-IS中,一条链路可以跨接不同的区域,并且L1路由器只能建立L1级邻接关系,L2路由器只能建立L2级邻接关系,L1/2既能够与L1路由器建立L1路由关系,也能够与其他L2或L1/2建立L2邻接关系。OSPF区域边界如下图所示:
    在这里插入图片描述

  2. IS-IS的骨干区域根据逻辑上的范围来定界(所有具备Level-2数据库的路由器),而OSPF的骨干区域可根据物理范围定界。

  3. 在IS-IS中可以有多个骨干区域,但OSPF中只能要求有一个骨干区域,并且IS-IS中没有虚链路,要求普通区域之间只能通过L1/2路由器与骨干区域相连。

  4. IS-IS骨干网是由所有的L2路由器和各区域边界的L1/2路由器构成,它们可以属于不同的区域,但必须是物理连续,即中间不能为L1路由器。

IS-IS网络类型:

IS-IS只支持两种类型的网络(OSPF支持4种),根据物理链路不同可分为:
• 广播链路:如Ethernet、Token-Ring等。
• 点到点链路:如PPP、HDLC等。
对于NBMA(Non-Broadcast Multi-Access)网络,如ATM,需对其配置子接口,并注意子接口类型应配置为P2P。但是IS-IS不能在点到多点链路P2MP(Point to MultiPoint)上运行。

IS-IS协议在这两种网络下的工作机制不-一样,例如广播网络中有选举DIS,而P2P网络中不用选举,此外,两种网络的链路状态数据库的同步过程也有些区别。具体内容在后续笔记中分析。

IS-IS报文类型:

IS-IS路由协议和其他路由协议不同,它直接运行在数据链路层上,对等路由器间通过PDU来传递链路状态信息,完成链路状态PDU数据库(LSDB的同步),如下是IS-IS中主要的PDU类型,主要分为3大类:
在这里插入图片描述
以上这些IS-IS PDU都包括一个报头和可变长字段两部分。报头又包括“通用报头”和“专用报头”。对所有PDU来说,通用报头是相同的,专用报头根据不同PDU类型而不同。总体的IS-IS PDU结构如图所示:
在这里插入图片描述
具体报文格式在后续笔记中分析。

参考资料《HCIE路由交换学习指南》、华为hedex文档

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格洛米爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值