OSPF直连邻居状态Full,且有路由,不通!怎么回事?

简介: OSPF直连邻居状态Full,且有路由,不通!怎么回事?

1 问题描述

最近,有同学私信,他遇到一个问题,想不明白,于是来私信了:


他遇到情况,网络环境,我简化了一下,如下:一、拓扑图:


二、描述

1、R1和R2 以太网直连,分别故意配成不同网段:37.1.1.1/24和38.1.1.1/242、R1和R2的OSPF 网络类型均修改为p2p3、R1何R2的G0/0/0均宣告到OSPF进程中。

R1的配置:

#
interface GigabitEthernet0/0/0
 ip address 37.1.1.1 255.255.255.0 
 ospf network-type p2p
 ospf timer hello 3
#
return
#
ospf 1 
 area 0.0.0.0 
  network 37.1.1.1 0.0.0.0 
#


R2的配置:

#
interface GigabitEthernet0/0/0
 ip address 38.1.1.1 255.255.255.0 
 ospf network-type p2p
 ospf timer hello 3
#
ospf 1 
 area 0.0.0.0 
  network 38.1.1.1 0.0.0.0 
#


三、现象:

a、查看OSPF邻居状态,为Full,建议邻接关系。


b、查看R1的路由表,也有对端的路由:



疑问:OSPF邻居正常,路由表也有路由,为啥ping不通呢?


2 分析


从上面,我们可以知道两端p2p,不同网段,建立邻居,OSPF在计算路由,拓扑,是没有问题的。通过LSDB也可以画出有向图:





(P2P 有向图)


都没问题,那该怎么分析呢?或者该用哪个理论知识来说明这个现象呢?

答案是抓包!于是,龙哥就抓了个包。


然后在R1开始ping对端 R2的38.1.1.1:


抓包发现,R1是有发了arp广播报文,但是R2一直没有响应,导致R1学习不到R2的MAC地址,也就无法封装二层,所以才无法ping通。


到这里,我又搭了一个环境,不修改接口OSPF的网络类型p2p:



除了网络类型,其他配置跟上述一样。

我在R5上去ping R6的38.1.1.1,抓包发现,压根没有抓到ARP广播报文:



所以,我的理解是:在接口广播类型的情况下,ARP请求广播报文,会检查目的ip与我本地接口ip是否同网段?是同网段的话,我就发ARP请求广播报文,不同网段,压根不会发请求广播报文。如果接口的OSPF网络类型是p2p,底层是以太网,不管同不同网段,ARP请求广播报文都会发送,但是接收端的话,会检查请求报文里的IP与我本接口的ip是不是同网段的,是同网段的才会响应,不同网段的,不会响应。


同网段,对端就会响应ARP报文:



那有人肯定就会问了,那为啥底层是ppp时,不同网段的IP,直连就可以通呢?

且听我下面的分析:


R3配置:

#
interface Serial4/0/0
 link-protocol ppp
 ip address 37.1.1.1 255.255.255.0 
#
return
#
ospf 1 
 area 0.0.0.0 
  network 37.1.1.1 0.0.0.0 
#
return


R4配置:

#
interface Serial4/0/0
 link-protocol ppp
 ip address 38.1.1.1 255.255.255.0 
#
return
#
ospf 1 
 area 0.0.0.0 
  network 38.1.1.1 0.0.0.0 
#
return



状态:



现在,我们在R3ping  R4之前,先开启抓包:





从抓包,我们就可以知道了,PPP链路没有使用ARP。

因为在底层封装PPP协议,在这种链路上,设备认为对端就是直连一台设备而已,所以不需要ARP的,直接用ppp封装,所以能成功发送给对端,对端也能响应,所以PPP不同网段可以通。

相关文章
|
监控 Linux 定位技术
Linux【环境部署 01】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)
Linux【环境部署 01】NTP时间服务器搭建及Linux+Windows客户端使用(一篇学会使用NTP服务)
4897 0
|
1月前
|
缓存 人工智能 JavaScript
Markstream-VUE:构建高性能流式 Markdown 渲染器
在 AI 对话、实时协作文档、知识库等场景中,Markdown 内容的流式渲染已成为刚需。传统方案面临"闪烁重绘"、"内存暴涨"、"大文档卡顿"三大痛点。本文将深度剖析开源项目https://github.com/Simon-He95/markstream-vue的技术架构,从流式解析算法、虚拟化渲染策略、Monaco 增量更新、渐进式图表渲染四个维度,揭示其实现"零闪烁、低内存、高响应"流式体验的核心原理,并提供可直接落地的性能调优方案。
454 8
Markstream-VUE:构建高性能流式 Markdown 渲染器
|
存储 监控 安全
在Linux中,如何进行日志审计?
在Linux中,如何进行日志审计?
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
3609 2
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
1027 4
|
数据采集 JavaScript 前端开发
Javascript抓取京东、淘宝商品数据
随着互联网的发展,越来越多的商品信息被发布在各大电商平台上,如京东、淘宝等。这些平台上的商品信息对于消费者来说是非常重要的,可以帮助他们了解商品的价格、详情和评价等信息。而对于商家来说,了解竞争对手的商品信息也是至关重要的。因此,抓取京东、淘宝商品数据成为了一种常见的需求。本文将介绍如何使用JavaScript来抓取京东、淘宝的商品数据。
|
存储 网络协议 算法
OSPF中的Link-State Database (LSDB): 概述与深入解析
OSPF中的Link-State Database (LSDB): 概述与深入解析
2217 1
|
存储 安全 Android开发
F-Droid:尊重自由与隐私的安卓应用商店
F-Droid 是安卓平台上的自由开源应用商店,专为关注隐私和数据安全的用户设计。本文详细介绍了 F-Droid 的特点,包括其对自由和隐私的重视、无广告和无追踪代码的承诺、强大的应用搜索与管理功能,以及对开源社区的支持。用户可以通过 F-Droid 安全地浏览、安装和管理应用程序,并且开发者也可以发布开源应用。未来,F-Droid 将继续提升用户体验,鼓励更多的开发者与用户参与其中,推动自由开源软件的发展。
3885 1
|
网络协议 网络架构
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
动图 | 6张图让你秒懂“ARP中间人攻击”原理,堪称史诗级解释!
1120 0

热门文章

最新文章