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/0
 ip address 10.1.12.130 255.255.255.128 
 isis enable 1
 isis circuit-type p2p
 isis peer-ip-ignore 
#

复制代码
interface GigabitEthernet0/0/0
 ip 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/0
 isis circuit-type p2p
 isis 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响应。如下图

相关推荐
Elecard 中国20 小时前
大规模媒体库如何实现自动化 QC?聊聊 VoD 文件检测架构
运维·自动化·ott·视频质检·vod·#视频编码·#音视频技术
DolphinScheduler社区20 小时前
DolphinScheduler 3.1.3 跨越升级 3.4.1:基于 API 的自动化迁移方案
大数据·运维·自动化·任务调度·海豚调度
happymade20 小时前
全网拓扑自动发现与服务器全维度监控的技术实践
linux·运维·服务器·网络·zabbix·路由器·prometheus
Ysn071920 小时前
中文乱码:在 Docker 容器中设置中文语言环境
运维·python·docker·容器
OpsEye21 小时前
数据库连接池爆了,这3个命令能救你一次
运维·数据库·后端
cui_ruicheng21 小时前
Linux网络编程(五):基于UDP实现DictServer
linux·服务器·网络·udp
辣椒思密达21 小时前
住宅IP纯净度评估方法:黑名单、风险评分与历史行为检测
运维·服务器·网络
Terasic友晶科技21 小时前
答疑解惑|为DE25-Nano开发板配置Linux kernel时.config文件没有起作用是什么原因?
linux·服务器·fpga开发·linux kernel·de25-nano
寻道模式21 小时前
【运维心得】2000块的打印机复活记
运维·hp·喷墨打印机·墨盒
zxd02031121 小时前
EFK(Elasticsearch + Fluentd + Kibana) 日志收集系统
运维·docker·jenkins