网络ping测试是什么意思(ping定义及知识点全解)

文字??/峯哥 山高人为峯/海阔心无界

图片??/峯哥山至高处人为峰,海到尽头天是岸”。

网络ping测试是什么意思(ping定义及知识点全解)PING这个系统自带的功能一般被用于检测网络连接的正常与否,很多维护网络或者说网管,一般都会先PING一下网络,那么怎样PING网络,以及PING出来的数据应该怎么看呢?

ping的详解

一、什么情况下ping不通?

假设电脑A、B均在192.168.0.X的网段内,两台电脑不需要额外设置,就可以互相ping的通。如果ping不通,可能的原因有:

a、目标主机的防火墙或者防护软件开着阻挡了

b、两台电脑不在同一网段

c、其他(如对方电脑做了相关设置,阻止某一个IP和他发生通信等等)

二、什么情况下能ping通?

1、如果是同处于一个内部网络环境的,就是一个大局域网,他们在同一个网段,是可以互相ping通的,这个我们在监控项目中用的比较多。何为同一网段,比如192.168.1.5与192.168.1.x属于同一个网段。

2、同一个局域网内,不同的网段,比如192.168.0.1和192.168.1.1,他们并不在一个网段内所以无法直接ping通。这时候你可以把两台电脑接入路由器设置静态或者动态路由,计算机网关指向路由,这样icmp包就可以相互到达,双方ping通。3、如果2台计算机同时处于公网内,只要能联网肯定是可以ping通的。4、还有一种情况是有一台机器是属于内网的ip如192.168.10.1,另外一台计算机是公网IP,如202.100.1.17,如果这2台要ping通的话,内网IP的那台机器只要能联网就能ping的通公网IP的计算机,而公网的计算机要访问内网计算机,需要通过VPN或者端口映射来完成访问。

了解以上的互通方式,在实际组网项目以及监控项目中,可以解决一些常见的网络问题。

附文:

一、 Ping 的基础知识

ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。

Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping是一个十分好用的TCP/IP工具。它主要的功能是用来检测网络的连通情况和分析网络速度。Ping有好的善的一面也有恶的一面。先说一下善的一面吧。

上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。

二、 Ping 命令详解

回车后

我们输入ping/?例出ping以下是PING的一些参数(如图):

下面我和大家讲解一下,每个参数意思和使用。

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count]

[-j computer-list] | [-k computer-list] [-w timeout] destination-list -t Ping 指定的计算机直到中断。

-n count发送count指定的ECHO数据包数。默认值为4。

-l length发送包含由length指定的数据量的ECHO数据包。默认为32字节;最大值是65,527。

-f在数据包中发送”不要分段”标志。数据包就不会被路由上的网关分段。

-i ttl将”生存时间”字段设置为ttl指定的值。

-v tos将”服务类型”字段设置为tos指定的值。

-r count在”记录路由”字段中记录传出和返回数据包的路由。count可以指定最少1台,最多9台计算机。

-s count指定count指定的跃点数的时间戳。

-j computer-list利用computer-list指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。

-k computer-list利用computer-list指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。

-w timeout指定超时间隔,单位为毫秒。

destination-list指定要ping的远程计算机。

三、如何利用 PING 命令检查网络连通状态

连通问题是由许多原因引起的, 如本地配置错误、 远程主机协议失效等, 当然还包括设备等造成的故障。首先我们讲一下使用Ping命令的步骤。使用Ping检查连通性有五个步骤:

1、使用ipconfig/all观察本地网络设置是否正确,如图;

Replay from 192.168.18.2 bytes=32 time<10ms

Ping statistics for 192.168.18.2

Packets Sent=4 Received=4 Lost=0 0% loss

Approximate round trip times in milli-seconds

Minimum=0ms Maxiumu=1ms Average=0ms

假定网关IP为:192.168.18.1,则执行命令Ping192.168.18.1。在MS-DOS方式下执行此命令,如果显示类似以下信息:

Reply from 192.168.18.1 bytes=32 time=9ms TTL=255

Ping statistics for 192.168.18.1

Packets Sent=4 Received=4 Lost=0

Approximate round trip times in milli-seconds

Minimum=1ms Maximum=9ms Average=5ms

则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。

Reply from 59.36.101.181 bytes=32 time=33ms TTL=252

Reply from 59.36.101.181 bytes=32 time=21ms TTL=252

Reply from 59.36.101.181 bytes=32 time=5ms TTL=252

Reply from 59.36.101.181 bytes=32 time=6ms TTL=252

Ping statistics for 59.36.101.181

Packets Sent=4 Received=4 Lost=0 0% loss

Approximate round trip times in milli-seconds

Minimum=5ms Maximum=33ms Average=16ms

则表明运行正常,能够正常接入互联网。反之,则表明主机文件(windows/host)存在问题。

四、如何用Ping命令来判断一条链路好坏?

Ping 这个命令除了可以检查网络的连通和检测故障以外, 还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒我们先来看看它有那些返回数据。

在例子中 “bytes=32” 表示 ICMP报文中有 32 个字节的测试数据,

“time=4ms”是往返时间。

Sent 发送多个秒包、 Received 收到多个回应包、 Lost 丢弃了多少个 Minmum最小值、MAXimun最大值、Average平均值。

五、对 Ping 后返回信息的分析

1、 Request timed out

这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤 ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。

b) 对方与自己不在同一网段内,通过路由也无法找到对方,但有对方确实是存在的,当然不存在也是返回超时的信息。

C)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。怎样知道对方是存在,还是不存在呢,可以用带参数-a的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

当从这台主机Ping其他的机器时,会存在这样的问题:

A、主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

2、Destination host Unreachable

(1). 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中 A 机中不设定默认的路由,运行 Ping 192.168.0.1.4 就会出现“ Destination host Unreachable

(2)网线出了故障 这里要说明一下“ destination host unreachable ”和 “time out ”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“timeout”,如果路由表中连到达目标的路由都没有,那就会出现“destinationhostunreachable”。

3、Source quench received

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

4、Unknown host——不知名主机

5、No answer——无响应,这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

7、norouttohost:网卡工作不正常。

8、transmit failed,errorcode:10043网卡驱动不正常。

9、unknownhostname:DNS配置不正确。以上是我在“拼”(Ping)的过程中,总结的一些经验技巧,希望能对大家的工作和学习有所帮助。

六、ping命令的其他用途:判断链路的速度

Ping 这个命令除了可以检查网络的连通和检测故障以外,还有一个比较有趣的用途,那就是可以利用它的一些返回数据,来估算你跟某台主机之间的速度是多少字节每秒。

我们先来看看它有那些返回数据。

Pinging202.105.136.105with32bytesofdata:

Replyfrom202.105.136.105:bytes=32time=590msTTL=114

Replyfrom202.105.136.105:bytes=32time=590msTTL=114

Replyfrom202.105.136.105:bytes=32time=590msTTL=114

Replyfrom202.105.136.105:bytes=32time=601msTTL=114

Pingstatisticsfor202.105.136.105:

Packets:Sent=4,Received=4,Lost=0(0%loss),

Approximateroundtriptimesinmilli-seconds:

Minimum = 590ms, Maximum = 601ms, Average = 593ms

在例子中 “bytes=32” 表示 ICMP 报文中有 32 个字节的测试数据 (这是估算速度的关键数据) ,”time=590ms”是往返时间。

怎样估算链路的速度?举个例子。我们把A和B之间设置为PPP链路。

从上面的PING例子可以注意到,默认情况下发送的ICMP报文有32个字节。除了这32个字节外再加上20个字节的IP首部和8个字节的ICMP首部,整个IP数据报文的总长度就是60个字节(因为IP和ICMP是Ping命令的主要使用协议,所以整个数据报文要加上它们)。另外在使用Ping命令时还使用了另一个协议进行传输,那就是PPP协议(点对点协议),所以在数据的开始和结尾再加上8个字节。在传输过程中,由于每个字节含有8bit数据、1bit起始位和1bit结束位,因此传输速率是每个字节2.98ms。由此我们可以估计需要405ms。即68*2.98*2(乘2是因为我们还要计算它的往返时间)。

我们来测试一下33600b/s的链路:

Pinging202.105.36.125with32bytesofdata:

Replyfrom202.105.36.125:bytes=32time=415msTTL=114

Replyfrom202.105.36.125:bytes=32time=415msTTL=114

Replyfrom202.105.36.125:bytes=32time=415msTTL=114

Replyfrom202.105.36.125:bytes=32time=421msTTL=114

Pingstatisticsfor202.105.36.125:

Packets:Sent=4,Received=4,Lost=0(0%loss),

Approximateroundtriptimesinmilli-seconds:

Minimum = 415ms, Maximum = 421ms, Average = 417ms

用Ping命令判断一条链路的速度要注意两点:

1、这估算值跟实际值是有误差的,为什么呢?因为我们现在估算的是一个理论值,还有一些东西我们没有考虑。比如在网络中的其它干扰,这些干扰主要来之别的计算机。因为在你测试时不可能全部计算机停止使用网络给你做测试,这是不实际的。另外就是传输设备,因为有某些设备如MODEM它在传输时会把数据压缩后再发送,这大大减少了传输时间。这些东西产生的误差我们是不能避免的,但其数值大约在5%以内我们都可以接受(利用MODEM传输例外),但是可以减少误差的产生。比如把MODEM的压缩功能关闭和在网络没有那么繁忙时进行测试。有时候误差是无须消除的。因为我们需要这些误差跟所求得的理论值进行比较分析,从而找出网络的缺陷而进行优化。这时测试网络的所有数据包括误差都会成为我们优化的依据。

2. 这种算法在局域网并不适用,因为在局域网中速度非常的快几乎少于 1ms,而 Ping的最小时间分辨率是1ms,所以根本无法用Ping命令来检测速度。如果想测试速度那就要用专门仪器来检测。

七、应用举例:

接着我就开始PING网络中的其中一台机器,第一次PING结果很正常,但OUTLOOK还是无法使用其它网络软件和Copy网络文件都可以使用但网络速度很慢,第二次PING我用了一个参数-t(-t可以不中断地PING对方,当时我想PING一次可能发现不了问题)发现有time=30ms和requesttimeout,从服务器PING这台机就更有趣,requesttimeout比正常数据还多,在局域中竟然有time=30ms和requesttimeout太不正常了。

开始我认为是网卡的问题但换网卡后故障依旧,重做网线还是不能解决问题,这故障真有趣!最后我没办法了把它插在集线器端口上的另一端的网线换到另一个端口,哈!故障解决了。原来是集线器端口坏了。

八、附:ping命令应用解释:

一、C:\DocumentsandSettings\Administrator>ping127.0.0.1##

连接 127.0.0.1 的命令pinging127.0.0.1with32byteofdata:## 开始连接 127.0.0.1

Replyfrom127.0.0.1:byte=32time<1msTTL=128

Replyfrom127.0.0.1:byte=32time<1msTTL=128

Replyfrom127.0.0.1:byte=32time<1msTTL=128

Replyfrom127.0.0.1:byte=32time<1msTTL=128

## 从 127.0.0.1 返回 TTL 信号

Ping statistics for 127.0.0.1

Packets:sent=4,Received=4,Lost=0<0%loss>,

Approximateroundtriptimesinmilli-seconds:

Minimum = 0ms,Maximum = 0ms,average = 0ms

## 连接 127.0.0.1

## 发送 4 个数据包 ,收到 4 个数据包 ,丢失 0 个数据包

##下面是连接所用时长

解释:

这条语句中有三个比较重要的地方

byte=32 表示这个发送的 ICMP 数据包大小为 32 字节

time<1ms 表示这个数据包从发再到收到回应所经历的时间

TTL=128 TTL 是生存周期 .可以这样理解 ,数据包在网络上传输像是我们在城市里做一个非常长的公交线路 ,只允许我们免费换乘 128 次 ,如果到 129 次还没到达目地地 ,就没有公车为我们服务了 ,所以每做一次公交车我们所剩的次数就减一 ,同样的道理数据包在网络上传输也是要经过很多路由器 (类比公交车 ),每经过一个路由器 TTL 值就减一 ,这样做的好处是防止路由循环导至数据包在网络上长时间占用通道 .

最后是统计值

Packets:sent=4,Received=4,Lost=0<0%loss>,

发送了 4 个包 ,接收到了 4 个包 丢掉 0 个 ,丢包率为 0%

Minimum = 0ms,Maximum = 0ms,average = 0ms

表示最大时延为 0MS,最小时延也是 0MS 平均时延为 0MS

二、

问题:ip和dns设成自动,局域网内其他人也一样,本地显示已连接,但上不了网,192.168.1.1 也进不了

ping其他人的ip显示三个Destinationhostunreachable。

pingstatisticsfor:

Packets:sent=4,receive=0.lost=4(100%loss)

解释:

“ Destination Host Unreachable ”

信息说明对方主机不存在或者没有跟对方建立连接。

路由表中连到达目标的路由都没有,会出现“DestinationHostUnreachable。”

主要在以下三种情形出现:

2、 子网掩码设置错误

这种情况一般比较少见,如果子网掩码不是系统自动生成的,则在计算时一定细心。

3、 路由表返回错误信息

这种情况一般是在 “Destination Host Unreachable ”

pingstatisticsfor:

Packets:sent=4,receive=0.lost=4(100%loss)

发表评论

登录后才能评论