打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
为何直连的路由器Ping不通对方?
一位同学做了个实验如下图:


R1 上手动添加了一条静态路由,指向R2
20.1.1.0 255.255.255.0  -----> 20.1.1.1 (R2)
 
R2 上也手动添加了一条静态路由,指向R1
10.1.1.0 255.255.255.0  -----> 10.1.1.1 (R1)
 
R1 Ping不通R2之后,R1上抓包如下所示:


为何R1 Ping不通R2?
当在R1上Ping 20.1.1.1时,在敲完回车键之后,R1开始了逻辑运算:

R1查路由表发现,与目的IP=20.1.1.1匹配度最高的就是这条路由:

20.1.1.0 255.255.255.0  -----> 20.1.1.1 (R2)

于是读出下一跳 20.1.1.1,意味着需要将Ping报文发给20.1.1.1。问题来了,如何到达20.1.1.1呢?

继续查路由表,发现到达20.1.1.1最优的路由依然是:

20.1.1.0 255.255.255.0  -----> 20.1.1.1 (R2)
 
R1有点崩溃,因为陷入了一个死循环。路由器的设计师为了避免死循环的窘境,Code提前做了一个决定,遇到类似情况,直接将IP报文扔给对方就好了。
 
R1正准备将报文从接口E0/0/0扔出去,扔给R2时,发现接口E0/0/0是一个Ethernet链路类型。Ethernet链路类型必须知道20.1.1.1的MAC地址,将报文二层封装好,才能扔给R2,对吗?
 
于是R1从接口E0/0/0发出一个ARP广播,如上文抓包所示。
 
R2收到了之后,发现ARP请求方的IP= 10.1.1.1,而自己的IP = 20.1.1.1,不在一个网段。

R2被路由器设计师洗脑了,凡是接到不是一个网段主机的ARP请求时,可以不理睬(忽略)。
 
由于R1一直收不到R2的ARP回应,Ping报文一直无法产生,所以Ping不通很正常。
 
如果R1与R2之间的链路类型,不是以太网类型,而是串口类型,R1、R2上的路由如下:
 
20.1.1.0 255.255.255.0  S0/0/0
10.1.1.0 255.255.255.0  S0/0/0

R1可否Ping通R2呢?
这当然是可以的,因为R1、R2的S0/0/0接口压根没有MAC地址
R1将串行链路的封装头添加在Ping报文之前,就可以将报文从S0/0/0扔给R2。
R2收到Ping报文,将串行链路的封装头添加在Ping回复报文之前,就可以将报文从S0/0/0扔给R1。
 
对于初学者来说,不建议做类似的实验。伟人说过:没有学会走之前,不要学习跑。学习是一个循序渐进的过程。等基础扎实了,再做这些实验,应该对背后可能发生的问题都能做到心中有数。
 
在实验二里,两个S0/0/0接口都不配置IP地址,把2个IP地址分别配置在R1、R2的loopback上,然后在两个S0/0/0接口下使用 IP Unnumbered loopback 命令,双方也是可以Ping通的。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【更新】OSPF直连邻居状态Full,且有路由,不通!怎么回事?
一文读懂 | 集线器、交换机和路由器原理
ping不通故障处理方法
交换机故障怎么处理?
TCP/IP试题库1
计算机网络实验一 使用eNSP搭建基础网络_计算机网络ensp实验报告
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服