计算机网络-IS-IS工作原理之邻接关系建立

前面我们学习了IS-IS的基础理论与相关概念,IS-IS与OSPF一样是链路状态路由协议,需要建立邻接关系,互相传递LSP信息的,因此现在开始学习IS-IS的工作原理,如何建立邻接关系、链路状态数据库同步以及路由更新计算。

一、邻接关系建立

1.1 邻接关系建立原则

IS-IS按如下原则建立邻接关系:

  • 只有同一层次的相邻路由器才有可能成为邻接。
  • 对于Level-1路由器来说,Area ID必须一致。
  • 链路两端IS-IS接口的网络类型必须一致。
  • 链路两端IS-IS接口的地址必须处于同一网段(默认情况下)。

tips:

由于IS-IS是直接运行在数据链路层上的协议,并且最早设计是给CLNP使用的,IS-IS邻接关系的形成与IP地址无关。但在实际的部署中,在IP网络上运行IS-IS时,需要检查对方的IP地址的。如果接口配置了从IP,那么只要双方有某个IP(主IP或者从IP)在同一网段,就能建立邻接,不一定要主IP相同。

简单讲就是Level-1和Level-1建邻接,Level-2和Level-2建立邻接,Level-1-2分别和Level-1、Level-2建立对应级别的邻接关系。正常情况下相邻路由器网段一致检查,可以通过配置忽略,因为最初IS-IS不是在IP网络运行。两端网络接口类型必须一致为广播网络或者P2P类型。

1.2 IIH报文

IIH报文就是IS-IS的Hello报文,和OSPF的hello报文一致用于协商和保持邻接状态。IIH根据网络类型区分广播的IIH和点到点的IIH。IIH报文用于建立和维持邻接关系,广播网络中的Level-1 IS-IS路由器使用Level-1 LAN IIH;广播网络中的Level-2 IS-IS路由器使用Level-2 LAN IIH;点到点网络中则使用P2P IIH

报文结构:

IIH报文
IIH报文
  • Reserved/Circuit Type:表示路由器的类型(01表示L1,10表示L2,11表示L1/L2)。
  • Source ID :发出Hello报文的路由器的System ID。
  • Holding Time : 保持时间。在此时间内如果没有收到邻接发来的Hello报文,则中止已建立的邻接关系。 默认9秒。
  • Priority :选举DIS的优先级,取值范围为0~127。 数值越大,优先级越高。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段,也没有此字段之前的R保留位。
  • LAN ID : 包括DIS的System ID和伪节点ID。该字段只在广播网中的Hello消息(LAN IIH消息)携带;点到点网络的Hello消息(P2P IIH消息)没有此字段。
  • Local Circuit ID :本地链路ID。该字段 只在点到点网络的Hello消息(P2P IIH消息)携带;广播网中的Hello消息(LAN IIH消息)没有此字段。

1.3 广播网络邻接关系建立

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

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

广播网络邻接关系
广播网络邻接关系
  1. 在Down状态下,R1组播发送Level-1 LAN IIH,此报文中邻接列表为空。
  2. R2收到此报文后,将邻接状态标识为Initial。然后,R2再向R1回复Level-1 LAN IIH ,此报文中标识R1为R2的邻接。
  3. R1收到此报文后,将自己与R2的邻接状态标识为Up。然后R1再向R2发送一个标识R2为R1邻接的Level-1 LAN IIH 。
  4. R2收到此报文后,将自己与R1的邻接状态标识为Up。这样,两个路由器成功建立了邻接关系。
  5. 广播网络中需要选举DIS,在邻接关系建立后,路由器会等待两个Hello报文间隔,再进行DIS的选举。

大概就是先发送IIH报文到组播地址,然后ISIS路由器接收到之后变更状态为初始化,如果报文中区域ID相同则标识为邻居,通过三次握手方式协商。

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。

DIS与伪节点:

在广播网络中,IS-IS需要在所有的路由器中选举一个路由器作为DIS(Designated Intermediate System)。DIS用来创建和更新伪节点(Pseudonodes),并负责生成伪节点的LSP,用来描述这个网络上有哪些网络设备。 伪节点是用来模拟广播网络的一个虚拟节点,并非真实的路由器 。在IS-IS中,伪节点用DIS的System ID和Circuit ID(非0值)标识。

DIS与伪节点
DIS与伪节点

DIS作用:

  • 创建伪节点,生成伪节点的LSP
  • 发送CSNP同步LSDB,维护数据库,维护邻接关系。

DIS选举规则:

Level-1和Level-2的DIS是分别选举的,用户可以为不同级别的DIS选举设置不同的优先级。

DIS的选举规则如下:(优先级大优先,相等MAC地址大优先)

  • DIS优先级数值最大的被选为DIS。
  • 如果优先级数值最大的路由器有多台,则其中MAC地址最大的路由器会成为DIS。

DIS发送Hello PDU的时间间隔是普通路由器的1/3(普通发送时间10s),这样可以确保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会抢占?因为IS-IS只有邻接关系,而且没有备选的DIS,切换影响较小,收敛较快)

在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器之间也会形成邻接关系。而在OSPF中,路由器只与DR和BDR建立邻接关系。

1.4 点到点网络中的邻接关系建立过程

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

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

P2P邻接关系建立
P2P邻接关系建立

总结:IS-IS中相同级别路由建立同级别的邻接关系,广播网络使用Level-1 LAN IIH和Level-2 LAN IIH建立协商,点到点网络使用P2P IIH进行协商。IS-IS邻接关系通过三次握手协商,广播网络还需要选举DIS,类似与OSPF中的DR,DIS维护网络中所有的邻接关系,会抢占。

本文由 mdnice 多平台发布

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不喜欢热闹的孩子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值