IS-IS P2P网路类型 地址不在同一子网建立邻居关系

2024-02-08 08:44

本文主要是介绍IS-IS P2P网路类型 地址不在同一子网建立邻居关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

拓扑图

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

通常情况下,IS-IS会对收到的Hello报文进行IP地址检查,只有这个地址和本地接收报文的接口地址在同一网段时,才会建立邻居。但当两端接口IP地址不在同一网段,如果均配置了isis peer-ip-ignore命令,就会忽略对对端IP地址的检查,此时链路两端的IS-IS接口间可以建立正常的邻居关系。路由表中有这两个不同网段的路由,但是不能互相PING通。

P2P link 上 2-Way 握手机制:只要收到 IS-IS-Hello 报文,就会单方向的建立起邻居。

P2P 链路上的 3 次握手机制:收到第一份 Hello 包时,将状态置为 init,只要收到 TLV 240(Point-to-point Adjacency State)中含有自己system id 的 IIH 时将状态置为 up(P2P 默认三次握手)。

P2P 3-way模式,AR1的ISIS邻居状态为init,AR2的ISIS无邻居状态

此时AR2配置忽略对端IP地址检查或配置从ip与AR1的地址在同一网段,邻居可建立

interface GigabitEthernet0/0/0ip address 10.1.12.130 255.255.255.128 isis enable 1isis circuit-type p2pisis peer-ip-ignore 
#

interface GigabitEthernet0/0/0ip address 12.1.1.2 255.255.255.128 sub
#

P2P 2-way模式下,AR1的ISIS邻居状态为up,AR2的ISIS无邻居状态

取消AR2配置忽略对端IP地址检查或取消配置从ip与AR1的地址在同一网段

AR2 配置使用2-way握手机制

interface GigabitEthernet0/0/0isis circuit-type p2pisis ppp-negotiation 2-way
#

要想建立邻居,在AR2上配置忽略对端IP地址检查或配置从ip与AR1的地址在同一网段,同上

结论

在 3-Way 时 AR1 显示 init,在 2-Way 时 AR1 显示 up。而 AR2 不存在任何邻居关系。

分析:AR1 发出 IIH 报文,由 TLV 132 带着接口 IP 地址。

AR2 收到后,会将 IIH 中的 IP(10.1.12.1)与自己接口的 mask 做与运算后,发现和自己并不属于同一个网段。

AR1 收到 AR2 发出的 IIH 报文,将 TLV132 里带的 IP 地址与自己接收端口的 mask 进行与运算。认为 AR2 和自己在同一网段中

结果:如果双方属于 2-Way 建立邻居,AR1 在收到 AR2 发出的 IIH 后就将邻居状态置为 up。如果双方属于 3-Way,AR2 不认为 AR1 和自己处于同一网段,所以 AR2 发出的IIH 报文中的 TLV240 的 Neighbor SystemID 为空。AR1 收到此报文后,邻居列表中并没有自己,就置为 init 状态

补充

问题:此实验中,AR1 ping AR2 可以ping通吗?

测试AR1 ping AR2,不通

不通的原因:AR1访问10.1.12.130,匹配IS路由的下一跳为10.1.12.130,ARP请求10.1.12.130的MAC地址,由于与AR2的接口不在同一网段,被AR2丢弃,无法获得MAC地址信息

那么换一下,AR2 ping AR1,可以通信

可以通信的原因:AR2访问AR1,下一跳为10.1.12.1,ARP请求下一跳的MAC地址,由于AR1的G0/0/0接口掩码为24位,ARP请求的IP地址与源地址属于同一网段,所以回应ARP Reply,AR2、AR1得到了双方接口的MAC地址,成功通信。

查看AR1、AR2的ARP表项,均得到并缓存了对方的MAC地址

那么,此时,AR1 ping AR2,成功通信

再次补充:

路由器收到ARP请求报文中,如果源IP和目的IP不在同一网段的,将ARP报文丢弃。

如果是PC,收到ARP请求报文中,如果源IP和目的IP不在同一网段的,只要请求的目的地址正是自己的,则回应ARP响应。如下图

这篇关于IS-IS P2P网路类型 地址不在同一子网建立邻居关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/690501

相关文章

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Python如何查看数据的类型

《Python如何查看数据的类型》:本文主要介绍Python如何查看数据的类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python查看数据的类型1. 使用 type()2. 使用 isinstance()3. 检查对象的 __class__ 属性4.

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2