? IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是ISO (International Organization for Standardization,国际标准化组织)为它的CLNP (ConnectionLessNetwork Protocol,无连接网络协议)设计的一种动态路由协议。 ? 随着TCP/IP协议的流行,为了提供对IP路由的支持,IETF在RFC1195中对IS-IS进行了扩 充和修改,使它能够同时应用在TCP/IP和OSI(Open System Interconnect,开放式系统 互联)环境中,我们将扩展后的IS-IS称为集成IS-IS。 ? 本课程主要介绍集成IS-IS的基本概念、工作原理以及配置方法。
? IS-IS按如下原则建立邻接关系:
? ? 只有同一层次的相邻路由器才有可能成为邻接。
? ? 对于Level-1路由器来说,Area ID必须一致。
? ? 链路两端IS-IS接口的网络类型必须一致。
? ? 链路两端IS-IS接口的地址必须处于同一网段(默认情况下)。
? 由于IS-IS是直接运行在数据链路层上的协议,并且最早设计是给CLNP使用的,IS-IS邻接关系的形 成与IP地址无关。但在实际的部署中,在IP网络上运行IS-IS时,需要检查对方的IP地址的。如果 接口配置了从IP,那么只要双方有某个IP(主IP或者从IP)在同一网段,就能建立邻接,不一定要 主IP相同。
? 通过将以太网接口模拟成点到点接口,可以建立点到点链路邻接关系。
? 当链路两端IS-IS接口的地址不在同一网段时,如果配置接口对接收的Hello报文不作IP地址 检查,也可以建立邻接关系。 ? 对于点到点接口,可以配置接口忽略IP地址检查。 ? 对于以太网接口,需要将以太网接口模拟成点到点接口,然后才可以配置接口忽略IP 地址检查。
? 一般情况下,一个接口只需配置一个主IP地址,但在有些特殊情况下需要配置从IP地址。比 如,一台路由器通过一个接口连接了一个物理网络,但该物理网络的计算机分别属于2个不 同的网络,为了使路由器与物理网络中的所有计算机通信,就需要在该接口上配置一个主IP 地址和一个从IP地址。路由器的每个三层接口可以配置多个IP地址,其中一个为主IP地址, 其余为从IP地址,每个三层接口最多可配置31个从IP地址。
IIH报文用于建立和维持邻接关系,广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH;广播网 络中的Level-2 IS-IS路由器使用Level-2 LAN IIH;点到点网络中则使用P2P IIH。
两台运行IS-IS的路由器在交互协议报文实现路由功能之前必须首先建立邻接关系。在不同类型的网 络上,IS-IS的邻接建立方式并不相同。在广播网络中,使用三次握手建立邻接关系。
? Level-1 IIH和Level-2 IIH发送的组播地址分别为01-80-C2-00-00-14、01-80-C2-00-00-15。
? Down:邻接关系的初始状态。
? Initial:收到IIH,但是报文中的邻接列表未包含路由器自身的System ID。
? UP:收到IIS,且邻接列表中包含路由器自身的System ID。
? 在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。
? DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些网络设 备。伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器。在IS-IS中,伪节点用DIS的System ID 和Circuit ID(非0值)标识。
? Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。 ? DIS的选举规则如下:
? ? DIS优先级数值最大的被选为DIS。
? ? 如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会成为DIS。
? DIS发送Hello PDU的时间间隔是普通路由器的1/3,这样可以确保DIS出现故障时能够被更快速地被发现。
? IS-IS中DIS与OSPF协议中DR(Designated Router)的区别:
? ? 在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR的选举。
? ? 在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点 被删除。此更改会引起一组新的LSP泛洪。而在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会 立即成为该网段中的DR。
? ? 在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻 接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系。
? 点到点网络中,邻接关系的建立使用两 次握手方式:只要路由器收到对端发来 的Hello报文,就单方面宣布邻接为Up 状态,建立邻接关系。
? 两次握手机制存在明显的缺陷,华为设 备在点到点网络中使用IS-IS时,默认使 用三次握手建立邻接关系。此方式通过 三次发送P2P IIH最终建立起邻接关系。
? IS-IS链路状态报文LSP用于交换链路状态信息。LSP分为两种:Level–1 LSP和Level–2 LSP。Level–1 LSP由 Level-1路由器传送,Level–2 LSP由Level-2路由器传送,Level-1-2路由器则可传送以上两种LSP。
? 两类LSP有相同的报文格式。
? 伪节点ID:当该参数不为零时,表示该LSP为伪节点生成。
? 分片号:当IS-IS要发布的链路状态协议数据报文PDU(Protocol Data Unit)中的信息量太 大时,IS-IS路由器将会生成多个LSP分片,用来携带更多的IS-IS信息。分片号用来区分不同 的LSP分片。
? AREA ADDR:该LSP来源的区域号
? INTF ADDR:该LSP中描述的接口地址
? NBR ID:该LSP中描述的邻接信息
? IP-Internal:该LSP中描述的网段信息
CSNP包含该设备LSDB中所有的LSP摘要,路由器通过交互 CSNP来判断是否需要同步LSDB。
? ? 在广播网络上,CSNP由DIS定期发送(缺省的发送周期为10秒)。
? ? 在点到点网络上,CSNP只在第一次建立邻接关系时发送。
PSNP只包含部分LSP的摘要信息(与CSNP不同):
? ? 当发现LSDB不同步时,PSNP来请求邻居发送新的LSP。
? ? 在点到的网络中,当收到LSP时,使用PSNP对收到的LSP进行确认。
? LSP产生的原因,IS-IS路由域内的所有路由器都会产生LSP,以下事件会触发一个新的LSP:
? ? 邻接Up或Down ? IS-IS相关接口Up或Down
? ? 引入的IP路由发生变化 ? 区域间的IP路由发生变化
? ? 接口被赋了新的metric值
? ? 周期性更新(刷新间隔15min)
? R1是Level-1路由器,只维护Level-1 LSDB,该LSDB中包含同属一个区域的R2及R3以及R1自己产生的Level-1 LSP。
? R1根据LSDB中的Level-1 LSP计算出Area 49.0001内的拓扑,以及到达区域内各个网段的路由信息。
? R2及R3作为Area 49.0001内的Level-1-2路由器,会在它们向该区域下发的Level-1 LSP中设置ATT标志位,用于向区域内 的Level-1路由器宣布可以通过自己到达其他区域。 R1作为Level-1路由器,会根据该ATT标志位,计算出指向R2或R3的默 认路由。
缺省时, R1只能通过指向R2或R3的默认路由到达区域外部,但是R1距离R2和R3路由器的Cost值相等,那么当 R1发送数据包到192.168.20.0/24时,就有可能选择路径2,导致出现次优路径。
? 缺省情况下,Level-1-2路由器不会将到达其他区域的路由通告本Level-1区域中。
? 通过路由渗透,可以将区域间路由通过Leve-1-2路由器传递到Level-1区域,此时Leve-1路由器可以学习到其 他区域的详细路由,从而计算出最优路径。
? ? R2及R3都维护Level-1 LSDB,它们能够通过这些LSDB中的LSP计算出Area 49.0001的路由。
? ? R2及R3都维护Level-2 LSDB,它们能够通过这些LSDB中的LSP计算出Area 49.0002的路由。
? ? R2及R3将到达Area 49.0001的路由以Level-2 LSP的形式发送到Area 49.0002。
R2及R3都维护Level-2 LSDB,它们能够通过这些LSDB中的LSP计算出Area 49.0002的路由。
? ? R2及R3将到达Area 49.0001的路由以Level-2 LSP的形式发送到Area 49.0002。