「ISIS」- 邻接关系建立

邻接关系的建立条件

在 IS-IS 中,按如下原则建立邻接关系(无邻接关系):

形成 L1 邻接关系:

  • 路由器必须具有 L1 功能;
  • 路由器 Area ID 必须一致;

形成 L2 邻接关系:

  • 路由器必须具有 L2 功能;

其他条件:

  • 链路两端 IS-IS 接口的网络类型必须一致;
  • 链路两端 IS-IS 接口的地址必须处于同一网段(默认情况下);

针对节点网络地址的要求

由于 IS-IS 是直接运行在数据链路层上的协议,并且最早设计是给 CLNP 使用的,IS-IS 邻接关系的形成与 IP Address 无关。但在实际的部署中,在 IP Network 上运行 IS-IS 协议时,需要检查对方的 IP Address 的。

一般情况下,一个接口只需配置一个 Main IP 地址,但在有些特殊情况下需要配置 Sub IP 地址。比如,一台路由器通过一个接口连接了一个物理网络,但该物理网络的计算机分别属于 2 个不同的网络,为了使路由器与物理网络中的所有计算机通信,就需要在该接口上配置一个 Main IP 地址和一个 Sub IP 地址。路由器的每个三层接口可以配置多个 IP 地址,其中一个为 Main IP 地址,其余为 Sub IP 地址,每个三层接口最多可配置 31 个从 IP 地址.

当链路两端 IS-IS 接口的地址不在同一网段时,如果配置接口对接收的 Hello 报文不作 IP 地址检查,也可以建立邻接关系;
zhendui 点到点接口,可以配置接口忽略 IP 地址检查;
对于以太网接口,需要将以太网接口模拟成点到点接口,然后才可以配置接口忽略 IP 地址检查;

如果接口配置 Sub IP Address,那么只要双方有某个 IP Address(Main IP 或 Sub IP)在同个网段,就能建立邻接,不一定要 Main IP 相同;

邻接关系的建立过程

两台运行 IS-IS 的路由器,在交互协议报文实现路由功能前,必须首先建立邻接关系。在不同类型的网络上,IS-IS 的邻接建立方式并不相同;

在广播网络中,邻接关系建立过程

在广播网络中,使用三次握手建立邻接关系;

Down ⇒ Initial ⇒ Up

Down:邻接关系的初始状态;
Initial:收到 IIH,但是报文中的邻接列表未包含路由器自身的 System ID;
UP:收到 IIS,且邻接列表中包含路由器自身的 System ID;

R1 及 R2 通过千兆以太接口互联,这两台直连的 Level-1 路由器建立邻接关系的过程如下:
1)在 Down 状态下,R1 组播发送 Level-1 LAN IIH,此报文中邻接列表为空;
2)R2 收到此报文后,将邻接状态标识为 Initial 状态,并再向 R1 回复 Level-1 LAN IIH 报文且标识 R1 为 R2 的邻接;
3)R1 收到此报文后,将其与 R2 的邻接状态标识为 Up 状态,并向 R2 发送标识 R2 为 R1 邻接的 Level-1 LAN IIH 报文;
4)R2 收到此报文后,将自己与 R1 的邻接状态标识为 Up 状态;这样,两个路由器成功建立了邻接关系;

补充说明

Level-1 IIH 发送的组播地址为 01-80-C2-00-00-14;
Level-2 IIH 发送的组播地址为 01-80-C2-00-00-15;

在广播网络中,需要选举 DIS,在邻接关系建立后,路由器会等待两个 Hello 报文间隔,再进行 DIS 的选举;

在点到点网络中,邻接关系建立过程

在点到点网络中,邻接关系的建立使用两次握手方式:只要路由器收到对端发来的 Hello 报文,就单方面宣布邻接为 Up 状态,建立邻接关系;

两次握手机制存在的缺陷

比如,在单向网络中,会导致设备单方进入邻接关系,而对方仍旧出于 Down 状态(因为未收到回复);

但是,这种问题多半会出现在某些特殊的网络环境中;

华为设备在点到点网络中使用 IS-IS 时,默认使用三次握手建立邻接关系。此方式通过三次发送 P2P IIH 最终建立起邻接关系;

邻居关系无法正常建立的原因

IS-IS 邻居关系无法正常建立的原因有:
区域 ID 不一致。(只会影响 level-1)
运行级别不一致。(注:在华为中如果系统级别和接口电路级别不同,以系统级别为准)
接口认证不一致;
system-id 长度不一致或者 system-id 冲突;
IP 地址不在同一个网段。(IS-IS 在广播网中是开启源检查的,但是可以关闭)

邻接关系建立正常,但无路由

IS-IS 协议邻接关系建立正常,但是却无法获取路由信息,可能有以下原因:
接口没有开启 IS-IS 协议
Metric 值的类型不一致
设备做了路由策略
网络类型不一致
Cost-Style 不匹配