请教ping命令是如何工作的,我晕了,请指点!谢谢!

yyouyou 2010-03-16 10:27:32
这个是我搜索到的信息
http://www.enet.com.cn/article/2009/0122/A20090122419303.shtml
Ping命令幕后过程及其返回信息分析

对于第2种情况
  2.不在同一网段内

  在主机A上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现D机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播吧。路由得到这个数据帧后,再跟主机D进行联系,如果找不到,就向主机A返回一个超时的信息。

我的想法:如果不在同一网段内,且arp被清空,路由器指向错误,还能ping通吗?我觉得应该不行了,但是我在家测试又是可以ping通。搞不懂了。求指点啊!
在家测试如下:
电脑2台,A,和B,路由器一个R,
A:192.168.1.103/24,网关192.168.1.1
B:192.168.1.100/27,网关192.168.1.88
R:192.168.1.1

此时A、B不在同一网段,并且B到网关设置错误,然后在B机器上运行arp -d *,清空了arp表,此时B已经断网。
在B上运行 ping 192.168.1.103 可以ping通,为什么呢?

...全文
148 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxrxyz 2010-03-28
1,ping时如果没有mac表,会发广播学习。
2,能不能ping不在于是不是同一网段,
三层上要看路由是否可达
二层上要看广播包是否互为可达。

互为包含的不同子网,位于小子网内的所有ip是可以ping通的
回复
zhonghaoqing 2010-03-26
103 二进制表示为: 0110 0111
100 二进制表示为: 0110 0100
你确定A B不在同一个网段?

你设定的B网关:192.168.1.88 你确定网络上没有这个IP的机器?

arp-d 清空了ARP表,没什么影响吧,路由表会自动更新,只是时间长了点而已。。
回复
eagle109 2010-03-25
如果你确认AB不在同一个网段,而且B的网关是不存在的IP,那么就不好解释了
建议WireShark抓包分析

正常情况B在ping A的时候,如果不在一个网段,那么首先会发ARP Request到192.168.1.88,这个显然是没有回应的,第一步就没有回应,怎么会Ping通
回复
发动态
发帖子
通信技术
创建于2007-08-27

3954

社区成员

通信技术相关讨论
申请成为版主
社区公告
暂无公告