您的位置广东网盟 > 文章资讯 > 常见故障 > 网络故障 > 文章内容

掩码配置错误时,ping的测试结果分析

作者:佚名  来源:本站整理  发布时间:2008-6-21 20:15:32

一、目标及知识准备

    很多客户和朋友都问过我这样的一个问题:如果掩码配置错误,比如针对 192.168.101.113这个 ip,本来应当配置为 255.255.255.0 的被配置成了 255.255.0.0 或 255.255.255.240,那么我们在 ping 测试网络连通时能不能 ping通,为什么不能又或为什么不能 ping 通勒?

    本文就是通过试验、包分析、总结的方式解决这个疑惑的,如果大家知道为什么,就不用继续看,如果不知道为什么,那么在看下去之前,请确认具备以下知识:

    1、 能识别 3000不同的汉字,简单语法知识具备,会用鼠标
    2、 能敲 a~z 共计 27 个字母,会用金山词霸等翻译工具,语法知识没有也没关系;
    3、 网络子网划分计算(基础即可)、简单的协议知识;

    主机连通原理

      两台主机之间能否进行通讯,关键是看目标主机的 IP 地址是否通源主机在同一网段,在发送通讯包之前,源主机将用目标主机的 IP 地址同本机的子网掩码进行位与操作,在同一网段则能通讯,不在同一网段则无法通讯。

    二、测试内容及工具

    我们将根据上面的基本拓扑图对各主机进行掩码、网关的配置,用 192.168.101.113 主机 ping192.168.101.101 主机,查看不同的结果,设置、测试内容如下:

   

    在 ping 测试过程中,我们将使用 EtherPeekNX 来进行包的截取,以便对结果进行分析。为什么用 EtherPeekNX?因为我在网吧里面做的测试,机器有还原卡,装 sniffer 会要机器重启,EtherPeekNX 提示要重启,但是不启也是一样用的。而且发现针对不同的地址选择不同的协议来监听:比如可以只监听 A—本机的 ARP广播包,B—本机的 ICMP的包?

    而且我们主要是进行协议分析学习,不是对某个工具的学习。三、测试过程及结果分析

    1、源和目的都是 24位掩码(正常配置)

    测试拓扑:

   

    测试过程(由于截图有误,没有截下 ping 192.168.101.101 的结果,大家将就一下,从包分析图中看啦!^_^)

   

    测试结果(Reply from 192.168.101.101: bytes=32 time<10ms TTL=128)

   

    测试分析

    由于我们先清除了本机的 arp 缓存,因此在 JF3 向 WORK1 发送 ping 请求包时,发现没有WorK1(192.168.101.101)的主机的 mac 地址,无法完成完整包的封装,因此首先发起一个 ARP请求包,寻找 WORK1 的 mac 地址,当收到目标 IP的回应包后完成 PING 包的封装,向 work1发送了 4 个ping 请求包,并成功的收到 ping 回复。我们可以通过截取的包进行相应的了解:

  

   

   

    <图中 IP包头中的信息将在另外一篇文档中进行说明,此处没有涉及故没有进行相应说明>

    源 192.168.101.113/24 将目标 192.168.101.101/24 的地址进行位与操作:

                        192.168.101.101

                        255.255.255.0

    目标工作站的网段为:192.168.101.0

    同自己所在的网段   :192.168.101.0在同一网段,因此将包直接发给目标主机,通讯成功!2、源为 16位掩码,目标为 24位掩码(网段大于实际网段)

    测试拓扑:

   

    测试过程

   

    测试结果(Reply from 192.168.101.101: bytes=32 time<10ms TTL=128)

    测试分析

    此处获取的结果和数据包同“源和目的都是 24位掩码”时一样,因此不作详细介绍。

    源 192.168.101.113/16 将目标 192.168.101.101/24 的地址进行位与操作:
                        192.168.101.101
                         255.255.0.0

    目标工作站的网段为:192.168.0.0

    同自己所在的网段   :192.168.0.0 在同一网段,因此将包直接发给目标主机,通讯成功!

    3、源位 28位掩码_无网关,目标为 24位掩码无网关(网段小于实际网段)

    测试拓扑:

   

    测试过程

   

    测试结果(Destination host unreachable)

    此处显示的时目标主机不可达,无可分析的数据包。测试分析

    源 192.168.101.113/28 将目标 192.168.101.101/24 的地址进行位与操作:

                         192.168.101.101

                        255.255.255.240

    目标工作站的网段为:192.168.101.96  (该主机为该网段的广播地址――本人计算有误)

    同自己所在的网段   :192.168.101.112    不在同一网段,因此无法将包直接发给目标主机。根据通讯规则,在目标地址不在同一网段时,将把数据包发给网关,但是现在该主机没有配置正确的网关,因此通讯不成功!

    4、源位 28位掩码_有网关,目标位 24位掩码有网关(网段小于实际网段)

    测试拓扑:

   

    测试过程

   

    测试结果(Reply from 192.168.0.101: bytes=32 time<10ms TTL=128)

    测试分析

  

    上图中我不是很明确,arp 的请求包中看到的目标地址怎么会是忽略 192.168.101.101的 mac地址,希望有兄弟能告诉俺一下。以下部分是论坛中的“lockets”对此疑问的解答,在此表示感谢:

    由于你在接口上配置了 192.168.101.113   255.255.255.240 的接口地址

    当接口物理态和管理态UP以后,产生了一条

    192.168.101.112  255.255.255.240 出接口是 192.168.101.113 的直连路由

    (为了以后说明方便我们叫他 "路由A" )

    当你在 192.168.101.113   上PING  192.168.101.101 的时候

    系统首先根据目的IP查找路由表,根据前缀匹配规则是无法匹配到"路由 A" 的

    (由于: 十进制的112 是"01110000" ,十进制240 是"11110000" ,说明要匹配前4个 BIT "0111"

    但是十进制101是"01100101"  前4个 BIT 是0110)

    所以最终退而求其次的匹配了 0.0.0.0 /0   192.168.101.1 的默认路由

    所以再发送ARP REQUEST 询问  192.168.101.1的 MAC 用来构造帧.

    所以系统不关心192.168.101.101的MAC的原因是由于匹配不到路由.

    补充:

    如果匹配到了路由A,由于该路由没有下一跳信息,那么系统会自动的

    认为IP包的DESTINATION就是下一跳,这种情况下,系统就会发送ARP 来请求

    192.168.101.101 的MAC地址信息了~

   

   

   

   

   

    后面的几个包都是 3、4、6 的重复。至此我们可以看到该包的走向:

    Jf3——(ping 请求)――网关—-(ping 请求转发)-—work1——(ping回应)――jf3;

    源 192.168.101.113/28 将目标 192.168.101.101/24 的地址进行位与操作:

                        192.168.101.101
                        255.255.255.240

    目标工作站的网段为:192.168.101.96  (该主机为该网段的广播地址――本人计算有误)同自己所在的网段   :192.168.101.112    不在同一网段,因此无法将包直接发给目标主机。根据通讯规则,在目标地址不在同一网段时,将把数据包发给网关,同上一个环境不同,这次我们正确的配置勒网关,因此该 pi

[1] [2]  下一页

Tags:广东网盟  
  •         用户名: 验证码: 验证码,看不清楚请点击刷新验证码 (注“”为必填内容。)


    文章评论: [ 查看全部 ] 网友评论
    关于网盟 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 联系方式

    Copyright © 2003-2008 Gdwg.Net. All Rights Reserved .
    中国广东网管联盟设计维护.网站备案:粤ICP备08020875号