设为首页收藏本站language 语言切换
查看: 5331|回复: 20
收起左侧

[求助] 请看图,为什么同一个路由器下不同网段之间可以相互ping通,但是对端路由器就不通?

[复制链接]
发表于 2016-7-18 22:09:30 | 显示全部楼层 |阅读模式
3鸿鹄币
如图,用的是思科PT做的实验
PC0的IP是192.168.10.2,网关是路由器A的Fa0/0接口 IP:192.168.10.1,路由器A的另外一个接口是S0/0/0.IP:10.1.2.2,与PC0不在同一个网段,但是PC0可以ping通
与路由器A的S0/0/0接口直接相连的路由器B的接口是S0/0/0 IP:是10.1.2.1 与路由器A的S0/0/0通在一个网段,但是PC0可以ping通路由器A的10.1.2.0网段
为什么就不能ping通路由器B的这个10.1.2.1呢,同样与PC0不同网段但是PC0呢个ping通A的,


路由器A 和 路由器B 都没有设置静态路由或者动态路由,都知识配置好端口IP地址而已
路由器A 和 路由器B 的路由表都只有直接相连的网段

我的疑惑就是路由器不是分割广播域么,那么不同网段的IP应该在没有设置路由的情况下应该是ping不同不同网段的端口的啊??
如果能ping通10.1.2.2的,那么ICMP包是怎样到达的?路由器的ARP缓存也没有 10.1.2.2的MAC地址?

希望能有有心人帮我详细解答这个纠结我很久的问题了,另外希望同样在学习CCNA的伙伴能够发表你们的意见,小弟愚钝希望能有大神帮我释疑!

谢谢!!

实验图

实验图

最佳答案

查看完整内容

在routerA上show ip route 就知道了
发表于 2016-7-18 22:09:31 | 显示全部楼层
在routerA上show ip route 就知道了
沙发 2016-7-18 22:09:31 回复 收起回复
回复

使用道具 举报

发表于 2016-7-18 22:39:37 | 显示全部楼层
在routerA上show ip route 就知道了
板凳 2016-7-18 22:39:37 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-7-18 22:43:34 | 显示全部楼层
songyonhui 发表于 2016-7-18 22:39
在routerA上show ip route 就知道了

RouterA的路由表是有10.1.2.0的网络,这是直连网络,但我的问题重点是为什么主机A在192.168.10.0网段可以ping通10.1.2.0网段的路由器A接口,但是就不能ping通同处在10.1.2.0网段的RouteB接口???
地板 2016-7-18 22:43:34 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-7-18 22:44:00 | 显示全部楼层
songyonhui 发表于 2016-7-18 22:39
在routerA上show ip route 就知道了

RouterA的路由表是有10.1.2.0的网络,这是直连网络,但我的问题重点是为什么主机A在192.168.10.0网段可以ping通10.1.2.0网段的路由器A接口,但是就不能ping通同处在10.1.2.0网段的RouteB接口???
5# 2016-7-18 22:44:00 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-7-18 22:48:20 | 显示全部楼层
songyonhui 发表于 2016-7-18 22:39
在routerA上show ip route 就知道了

路由器不是分割广播域,不转发广播报文么,那么PC0ping路由器A接口10.1.2.2时候ICMP包是怎么跨接口发到10.1.2.2的,PC0的ARP缓存也没有10.1.2.2的MAC地址,那么ICMP包是怎么在数据链路层传输?
show ip route怎么知道呢?
求解释
6# 2016-7-18 22:48:20 回复 收起回复
回复

使用道具 举报

发表于 2016-7-18 22:52:35 | 显示全部楼层
如果路由A没有对应的arp缓存,就会转发到其它所有端口。只要路由表中有10.1.2.0/24 就能达到。ping是应该用层的协议,不限于链路层。
7# 2016-7-18 22:52:35 回复 收起回复
回复

使用道具 举报

发表于 2016-7-18 22:54:07 | 显示全部楼层
owendzw913 发表于 2016-7-18 22:48
路由器不是分割广播域,不转发广播报文么,那么PC0ping路由器A接口10.1.2.2时候ICMP包是怎么跨接口发到10 ...

和广播域没有关系。
8# 2016-7-18 22:54:07 回复 收起回复
回复

使用道具 举报

 楼主| 发表于 2016-7-19 00:22:21 | 显示全部楼层
songyonhui 发表于 2016-7-18 22:52
如果路由A没有对应的arp缓存,就会转发到其它所有端口。只要路由表中有10.1.2.0/24 就能达到。ping是应该用 ...

那按你说只要路由表中有10.1.2.0/24这个网段的路由为什么PC0的ICMP包就ping不到路由器B的10.1.2.1呢。

点评

就像10楼所说的,路由器B没有到达192.168.10.0的路由,PC0发送的数据包能够到达路由器B,但路由器B的回应无法到达PC0。要记住数据通信过程是双向的。  详情 回复 发表于 2016-7-19 11:21
9# 2016-7-19 00:22:21 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 09:14:54 | 显示全部楼层
端口1234都在路由器内部,没有出去,所以能ping通。内部端口,路由器自己知道可以直接发数据包过去
10# 2016-7-19 09:14:54 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 09:29:50 | 显示全部楼层
路由器A有回去PC机的路由,而路由器B没有。所有即使PC能到路由器B 路由器B也找不到PC的路由把

点评

嗯,就是这样的,R1拥有AB两个直连网络,R2只有一个B直连网络,你可以看下数据包传递,数据包可以到达R2却无法返回PC,因为R2并不知道A网络,无法路由  发表于 2016-7-19 10:05
11# 2016-7-19 09:29:50 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 10:03:09 | 显示全部楼层
路由器转发是基于路由表。在路由器A中,F0/0 和S0/0/0都是路由器本身的端口,属于直连路由。在路由表里是直接生成,对应的ip和端口路由器A是知道的。就是说,F0/0 对应192.1.10.1 和S0/0/0 对应 10.1.2.2 这些信息路由表是知道的。你PC发包的时候,路由表有直连条目,对着相应的端口发,然后相应的端口在回包就是了。
12# 2016-7-19 10:03:09 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 11:04:41 | 显示全部楼层
你用PT的模拟模式看看数据包的传输过程
13# 2016-7-19 11:04:41 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 11:21:57 | 显示全部楼层
owendzw913 发表于 2016-7-19 00:22
那按你说只要路由表中有10.1.2.0/24这个网段的路由为什么PC0的ICMP包就ping不到路由器B的10.1.2.1呢。

就像10楼所说的,路由器B没有到达192.168.10.0的路由,PC0发送的数据包能够到达路由器B,但路由器B的回应无法到达PC0。要记住数据通信过程是双向的。
14# 2016-7-19 11:21:57 回复 收起回复
回复

使用道具 举报

发表于 2016-7-19 11:44:48 | 显示全部楼层
lsjjueqi 发表于 2016-7-19 10:03
路由器转发是基于路由表。在路由器A中,F0/0 和S0/0/0都是路由器本身的端口,属于直连路由。在路由表里是直 ...

这位兄弟的回复非常之准确

路由转发数据肯定先看路由表中是否有去往目的地的信息,如果有转发,如果没有,丢弃
15# 2016-7-19 11:44:48 回复 收起回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-8 08:08 , Processed in 0.121339 second(s), 19 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表