IS-IS详解(五)——IS-IS 三次握手与两次握手

今天继续给大家介绍IS-IS相关内容。本文主要内容是IS-IS的邻居建立过程。
推荐阅读:
IS-IS详解(一)——IS-IS基础
IS-IS详解(二)——IS-IS邻居建立
IS-IS详解(三)——IS-IS 报文结构与功能
IS-IS详解(四)——IS-IS Hello报文详解

一、三次握手建立邻居

在之前的文章中,我们介绍过,IS-IS有两种类型的链路类型,一种是广播型链路,另一种是P2P链路,在这两种链路上IS-IS邻居的建立略有不同。IS-IS建立邻居的方式可以分为两种,一种是三次握手建立邻居,另一种是两次握手建立邻居。在广播型链路上,只能采用三次握手的方式建立邻居,而在P2P链路上,既可以采取三次握手的方式建立邻居,也可以采用两次握手的方式建立邻居。在默认情况下是三次握手,但是可以修改为两次握手方式。在广播型链路上,IS-IS协议的目的MAC地址L1级别的为0180-C200-0014,L2级别的为0180-C200-0015,而如果将以太网链路修改为P2P类型,则目的MAC地址为0900-2B00-0005。

二、两次握手建立邻居

P2P链路上,当采用两次握手建立邻接关系时,只要路由器收到对方的Hello包状态就处于UP状态。邻居建立更快,但是可靠性较差。
在接口模式上执行命令:

isis ppp-negotiation 2-way

可以将链路的接口邻接关系建立方式改为两次握手。

在接口模式上执行命令:

isis ppp-negotiation 3-way

可以将链路上的接口邻接关系建立方式设置为三次握手,事实上,这也是IS-IS路由器上的默认配置。此时链路与对端路由器建立邻接关系使用三次握手,但是当对端路由器使用两次握手时,本端也会兼容对端路由器的两次握手机制。

在接口模式上执行命令:

isis ppp-negotiation 3-way only 

可以使得本端链路采用三次握手机制与对端建立邻接关系,但是不兼容对端两次握手建立邻接关系方式。

三、建立邻居方式判定

那么运行IS-IS协议的路由器是如何判定对端如何与自己建立邻居呢?
如果采用两次握手建立邻接关系,则Hello报文的TLV字段不会出现P2P Adjacent State字段,而当采用三次握手建立邻接关系时,Hello报文的TLV字段会出现P2P Adjacent State字段。凭借P2P Adjacent State字段,就可以通过对端发送的Hello包从而判定对端建立邻居的方式了。
当采用三次握手方式建立邻居时发送的Hello数据包:
在这里插入图片描述
当采用两次握手方式建立邻居时发送的Hello数据包:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/119997450

Is-IS (Intermediate System to Intermediate System) 协议是一种在大型ISP和电信网络中广泛使用的链路状态路由协议。为了在两个或多个系统间建立可靠的连接并维持稳定的邻居关系,Is-IS 使用了类似于 OSPF 中的三次握手过程。下面详细介绍 Is-IS 邻居建立过程的三个关键步骤: #### 步骤一:Init 发送与回应 当一个 IS (Inter-Domain System) 想要与其他 IS 成为邻居时,它首先会发送一个“Init”报文。这个报文中包含了发起者的基本信息,例如其 System ID 和优先级等。 接收该 Init 报文的 IS 会在响应之前先检查收到的信息是否有效。如果确认对方合法,则向发起者发送一个包含自身信息的“PSNP”(Partial Summary) 报文,同时启动一个定时器。这个 PSNP 报文用于验证已知数据库的一致性。 #### 步骤二:PSNP 报文与 ACK 接收方在等待一段时间后仍未收到来自发起者的其他数据包,或者在特定时间内收到了新的数据包(如 LSP 或 Hello 报文),就会发送一个“ACK”(Acknowledgment) 报文作为确认。ACK 报文主要用于确认先前收到的 LSP 或 Hello 报文的有效性,并非针对 Init 报文。 此外,接收方还会继续监听更多的数据包以完成初始化过程。在这个阶段,双方都会交换更多关于自己的信息和更新的链路状态数据库摘要,以便彼此确认已经成功同步了必要的数据库信息。 #### 步骤三:LSP交换与邻接状态稳定 一旦双方交换了足够的信息,包括但不限于各自链路状态数据库的摘要,他们将开始交换完整的链路状态信息。这是一个持续的过程,直到两个系统都确信它们已经完全同步了各自的数据库。 在这个过程中,每个 IS 将不断地生成、发布和传播其链路状态信息给它的邻居。最终,所有相关的链路状态信息都将被正确处理并存储于每个 IS 的链路状态数据库中,这标志着邻居关系的稳定状态已经被建立。 #### 相关问题 - Is-IS 邻居状态变化的条件有哪些? 1. 当一个节点收到来自另一个节点的 Hello 报文时,它会更新邻居的状态为“Up”,表示正在建立或维护与该节点的邻居关系。 2. 如果节点在一定的时间间隔内未收到预期的 Hello 报文或其他重要消息,则认为连接中断,邻居状态可能变为“Down”。 3. 当节点广播或收到的链路状态更新导致其链路状态数据库发生变化时,可能会触发重新协商和同步过程,此时也可能涉及邻居状态的变化。 4. 系统重启或配置更改后,可能需要重新发现邻居,这时初始的三次握手过程会被触发。 5. 网络拓扑变化,如新增或删除物理链接,同样会影响邻居状态。 以上是 Is-IS 邻居建立过程的关键步骤及其可能的相关问题。理解这些细节有助于在网络故障排除和优化中做出有效的决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

永远是少年啊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值