一种基于Ping命令的网络故障诊断方法

时间:2022-09-22 05:42:07

一种基于Ping命令的网络故障诊断方法

摘要:子网掩码在网络通信中具有非常重要的作用。通过分析网络测试中常用的Ping命令所反馈的不同结果与子网掩码的关系,判断网络故障原因,进行网络定位,帮助用户深入理解子网掩码。对常见网络故障的分析、排除具有重要意义。

关键词:ping;子网掩码;网络故障

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)27-1895-02

A Diagnosis Method of Network Failure Based on Command of Ping

FENG Jian-chuan,ZHOU Guo-xiang

(Department of Information Technology,Bengbu Naval Petty Officer Academy,Bengbu 233012,China)

Abstract: Subnet Mask plays an important role in network communication.Through the analysis of several feedback results made of command of ping which is usually used in network test,users can estimate the reason,confirm the position of network failure and comprehend Subnet Mask thoroughly.The work of this paper makes an important value to the analysis,elimination of familiar network failure.

Key words: ping;subnet mask;network failure

子网掩码是网络参数配置中相当重要的一环,无论是网络规划人员或网络管理人员,唯有正确配置子网掩码才能保证网络的正常连通。然而,子网掩码与IP地址的关系,它在网络互连中所起的真正作用,网络方面的书籍虽有涉及,但普遍不够深入,不为一般人所理解。本文试从网络管理常用的Ping命令入手,通过分析Ping命令的实现过程及反馈结果来深入理解子网掩码。

1 子网掩码

与IP地址相同,子网掩码也是32位二进制数组成。子网掩码可分为两部分,左边部分是网络位,用二进制数字“1”表示,右边部分是主机位,用二进制数字“0”表示。子网掩码可用于屏蔽IP地址的主机位以区别网络号和主机号,并揭示该IP地址是在本地网上,还是在远程网上。具体的实现过程是这样的:将IP地址与子网掩码进行逻辑“与”运算后即可得到IP地址所处网段的网络号,通过比较源IP地址所处网段的网络号和目的IP地址所处网段的网络号是否相同,从而判断目的IP所表示的主机是在本地网络还是远程网络。当两者相同时,目的IP在本地网络上,当它们不同时,目的IP在远程网络上。

如图1,现有两台主机A、B,它们之间通过交叉线互联(为了简化,在这里我们并没有使用交换机和路由器,但这并不影响我们理解IP地址和子网掩码)。IP地址分别如图所示,它们的子网掩码均为255.255.255.0,网关和DNS均没有配置。分别将A、B主机的IP地址与它们自身所配置的子网掩码进行“与”运算后,即可得到各自所处网段的网络号,均为26.62.169.0 ,由此可知两台主机处于同一个局域网内,即均在本地网络上。

2 Ping的实现过程

如图1,当主机A上的用户Ping主机B的IP地址时,整个过程是这样的:

1) 因特网报文控制协议(ICMP)构建一个固定格式的回应请求数据包。

2) ICMP协议将这个数据包交给因特网协议(IP),IP协议会创建一个数据包。此时的数据包将包括源IP协议、目的IP地址和值为01h的协议字段。当数据包到达目的地时,协议字段将告诉接收方主机,它应该将此数据包交给ICMP处理。

3) 一旦回应请求数据包被创建,IP协议将判断目的IP地址是处在本地网络中,还是在远程网络上(用第1节介绍的子网掩码与IP地址逻辑“与”运算)。

4) IP协议断定这是一个本地请求,直接将此数据包发往目的IP。如果目的IP在远程网络上,那么数据包就会被送往默认网关,这样数据包才会被路由到远程网络。

5) 主机A需要知道主机B网卡的物理地址(MAC地址),这样数据包才能下传给数据链路层从而生成帧,然后发给主机B网卡。在本地局域网上,主机之间只能通过物理地址来进行通信。

6) 检查ARP缓存,查看主机B的IP地址是否已解析为物理地址。

如果已被解析,数据包将被释放,传送到数据链路层生成帧(目的方的物理地址也将同数据包一起下传至数据链路层)。

如果这个物理地址在主机A的ARP缓存中尚未被解析,一个ARP广播将被发送至此本地网络,以搜索26.62.169.110(主机B的IP地址)的物理地址。主机B会响应这个请求并提供自身网卡的物理地址,于是主机A将缓存这个地址,同时主机B也会缓存主机A的物理地址到它自身的ARP缓存中。

7) 将数据包和目的方的物理地址交给数据链路层,生成帧。此帧中含有目的方和源方的物理地址及以太网类型字段(用于描述交付此数据包到数据链路层的网络层协议)。

8) 一旦帧封装完成,它就被下传给物理层,以一次一位的方式发往物理媒体(本例中是交叉线)。

9) 主机B的网卡收到这个数据帧后,首先检查它的目的方物理地址,并和本机的物理地址对比,如符合,则接收,否则丢弃。

10) 接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。IP协议检查数据包中的目的方IP地址与本机IP地址对比,如符合则接收,否则丢弃。

11) IP协议检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。

3 Ping命令响应结果与子网掩码之间的关系

应用Ping命令后会得到三种响应结果:应答(Reply)、远程主机不可达(Destination host unreachable)和超时(Request timed out),如图2、3、4所示。三种不同情况是与IP地址和子网掩码的配置密切相关的。

为论述方便,我们分别将主机A的IP地址和子网掩码表示为IPA、MA,将主机B的IP地址和子网掩码表示为IPB、MB,逻辑“与”运算用“AND”表示,在主机A上Ping主机B。

1) IPA AND MA=IPB AND MA且IPA AND MB=IPB AND MB

即使主机A、B各自配置的默认网关不同,由于它们都在本地网络上,此时数据包不会被发送至默认网关,数据包将直接由A发送至B。主机B收到数据包后,构建一个ICMP应答包,发送给主机A,故此时将显示图2应答(Reply),表明网络物理连接正常。

2) IPA AND MA≠IPB AND MA但IPA AND MB=IPB AND MB

例如,IPA为26.62.169.87, MA为255.255.255.224, IPB为26.62.169.110, MB为255.255.255.0。此时在A看来A与B不在同一网络上,则数据包将首先被送至A主机所配置的默认网关,由于本例中网关未配置,数据包无法发出,故此时将显示图3远程主机不可达(Destination host unreachable)。

3) IPA AND MA=IPB AND MA但IPA AND MB≠IPB AND MB

例如,IPA为26.62.185.87, MA为255.255.0.0, IPB为26.62.169.110, MB为255.255.255.0。此时在A看来A与B在同一网络上,数据包将直接由A发送至B。主机B收到数据包后,构建一个ICMP应答包。由于IPA AND MB≠IPB AND MB,故主机B认为A与B不在同一网络上,因此ICMP应答包将被发送至主机B配置的默认网关。由于本例中网关未配置,故数据包无法发出,主机A已将回应请求数据包成功发出,但无法收到ICMP应答包,当超过Ping命令默认设定的超时时限后,将会显示图4超时(Request timed out)。

4) IPA AND MA≠IPB AND MA且IPA AND MB≠IPB AND MB

此时与 2)类似,将显示图3,不再赘述。

由此可见,通过Ping命令得到的三种不同结果是与主机A和B各自的IP地址及子网掩码相关联的。我们据此就可以判断出IP地址和子网掩码在配置上存在哪些问题,从而有助于故障的定位。

4 结束语

网络的稳定、高效运行需要在网络建设前期就进行合理的规划,子网掩码在网络通信中具有非常重要的作用。基础链路级的故障,排除设备本身的物理损坏外,大多是由子网掩码的错误配置引起的。根据Ping命令反馈的不同结果,分析网络故障原因,进行网络定位,此法对提高网管人员故障判断能力大有裨益。

参考文献:

[1] Douglas er.Internetworking with TCP/IP,Volume 1 Principles,Protocols,and Architecture(Fifth Edition)[M].人民邮电出版社,2006.

[2] Todd L.Cisco Certified Network Associate Study Guide Fifth Edition[M],2005:216-221.

上一篇:图书馆客的应用研究 下一篇:硬盘自动播出系统设计与实践