您当前的位置:首页 > 电脑百科 > 网络技术 > 网络技术

细说诊断工具ping

时间:2019-05-07 13:13:59  来源:  作者:

介绍

ping的工作原理很简单,一台网络设备发送请求等待另一网络设备的回复,并记录下发送时间。接收到回复之后,就可以计算报文传输时间了。只要接收到回复就表示连接是正常的。耗费的时间喻示了路径长度。重复请求响应的一致性也表明了连接质量的可靠性。因此,ping回答了两个基本的问题:是否有连接?连接的质量如何?本文主要讨论这两个问题。

更多信息

正常的ping操作主要是两个特定的ICMP消息,ECHO_REQUEST和ECHO_REPLY。理论上,所有TCP/IP网络设备都应当通过返回报文来响应ECHO_REQUEST,但实际上并不总是如此。

ping的解析:

大多数操作系统版本,会一直发送ECHO_REQUESTs,直到中断为止。例如:

bsd1# ping www.bay.com

PING www.bay.com (204.80.244.66): 56 data bytes

64 bytes from 204.80.244.66: icmp_seq=0 ttl=112 time=180.974 ms

64 bytes from 204.80.244.66: icmp_seq=1 ttl=112 time=189.810 ms

64 bytes from 204.80.244.66: icmp_seq=2 ttl=112 time=167.653 ms

^C

--- www.bay.com ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max/stddev = 167.653/179.479/189.810/9.107 ms

bsd1#

这一过程被Ctrl-C中断,此时打印出汇总统计。

上述结果中,针对每一个报文的回复给出了报文大小,来源,ICMP sequence number,TTL值,以及往返时间。其中,sequence number和往返时间对于评估基本连接状况来说是最有用的信息。

当发送一个ECHO_REQUEST时,将发送时间记录在报文里,并复制到远端主机相应的ECHO_REPLY报文中。当接收到ECHO_REPLY时,通过比较当前时间与报文时间计算出耗费时间。如果没有收到符合该sequence number的报文,则认为该报文丢失。耗费时间长短以及变化范围取决于中间链路数量,速度,以及链路拥塞情况。

什么值是合理的呢?这一值高度取决于网络以及网络质量。如果是在LAN网络环境下,响应时间还是很快的,通常在十几毫秒范围之内。如果连接到外网则该值会显著增加。如果是远程站点,可能会耗时上百毫秒。

你也可以用ping来粗略计算连接的吞吐量。在外网上发送两个不同大小的报文,通过-s选项来完成。时间长度的差别会反映大报文中额外数据所耗费的时间。例如,假设ping 100字节耗费30ms而ping 1100字节耗费60ms,因此,往返额外花费30ms单程额外花费15ms,多发送1000字节或8000比特。吞吐量近似为每15ms 8000比特或540,000bps。两个测量值之间的差异用来扣除开销。当然这一估算是非常粗略的,没有考虑到路径上其他数据流的情况,也没有考虑路径上所有链路的情况。

TTL貌似可以估算一条路径上的跳数,但是这有一些问题。当发送报文时,TTL字段先被初始化接着经过路径上每个路由器都要递减。如果达到0,报文就被丢弃了。从而对所有报文生命周期有一定限制。因而在路由回环的过程中,报文不会无期限存在于网络上。不幸的是,TTL字段可能会,也可能不会被远端设备重置,如果重置,也没有一致性。因此,要使用TTL字段估算路径中的跳数需要知道详细的系统信息。

通常一串稳定的回复意味着健康的连接。如果报文丢失或丢弃,可以在sequence number中看到跳数,以及丢失报文的编号。偶尔丢失一个报文不表示真的有什么问题。特别是跨越多台路由器或拥塞网络时。一个序列中的一个报文丢失或耗费明显更长时间是很正常的,这是因为路径中各条链路需对第一个报文做ARP解析。在ARP数据保存之后,后续报文就不会有这种开销。但是,如果丢失报文比例较大,则有可能路径上有问题。

某些情况下会收到ICMP错误消息。通常来自路由器,这里面包含很有用的信息。例如,下例中,设备尝试访问一个不存在的网络上的设备:

bsd1# ping 172.16.4.1

PING 172.16.4.1 (172.16.4.1): 56 data bytes

36 bytes from 172.16.2.1: Destination Host Unreachable

Vr HL TOS Len ID Flg off TTL Pro cks Src Dst

4 5 00 5400 5031 0 0000 fe 01 0e49 172.16.2.13 172.16.4.1

36 bytes from 172.16.2.1: Destination Host Unreachable

Vr HL TOS Len ID Flg off TTL Pro cks Src Dst

4 5 00 5400 5034 0 0000 fe 01 0e46 172.16.2.13 172.16.4.1

^C

--- 172.16.4.1 ping statistics ---

2 packets transmitted, 0 packets received, 100% packet loss

由于路由器没有到达该网络的路径,所以返回ICMP DESTINATION_HOST_UNREACHABLE信息。通常如果问题发生在运行ping命令的设备上,则会收到Destination Host Unreachable告警或 Destination.NETwork Unreachable告警。如果问题发生在转发报文的设备上,则只会收到一条Destination Host Unreachable。

下例中,尝试向一台已配置拒绝从源设备接收数据流的路由器发送数据:

bsd1# ping 172.16.3.10

PING 172.16.3.10 (172.16.3.10): 56 data bytes

36 bytes from 172.16.2.1: Communication prohibited by filter

Vr HL TOS Len ID Flg off TTL Pro cks Src Dst

4 5 00 5400 5618 0 0000 ff 01 0859 172.16.2.13 172.16.3.10

36 bytes from 172.16.2.1: Communication prohibited by filter

Vr HL TOS Len ID Flg off TTL Pro cks Src Dst

4 5 00 5400 561b 0 0000 ff 01 0856 172.16.2.13 172.16.3.10

^C

--- 172.16.3.10 ping statistics ---

2 packets transmitted, 0 packets received, 100% packet loss

被过滤条件阻止的告警信息表明报文被丢弃。但也有可能过滤条件不显示该告警。

下例中,

bsd1# ping 172.16.3.10

PING 172.16.3.10 (172.16.3.10): 56 data bytes

^C

--- 172.16.3.10 ping statistics ---

6 packets transmitted, 0 packets received, 100% packet loss

路由器上使用同样的过滤条件,但应用于离开网络的数据流,而不作用于inbound数据流。因此,没有消息发送。这时,ping就无法告诉你为什么报文没有收到回复。

ping的选项:

一些选项控制发送报文的速率和数量,-c选项允许用户指定发送报文的数量。例如,ping –c10会发送10个报文然后停止。这一命令在脚本中很有用处。

命令-f和-l用于将报文泛洪到网络上。-f选项表明报文发送速率与接收主机能够处理速率相同。这一参数可用于链路压力测试或接口性能比较。

-l选项用于计数,尽可能快的发送该数量报文,然后恢复正常。该命令用于测试处理泛洪的能力,需要root权限执行。

-i选项用于用户在两个连续报文之间指定等待秒数。该命令对于将报文间隔开或用在脚本中非常有用。正常情况下,偶然的ping包对数据流的影响是很小的。但重复报文或报文泛洪影响就很大了。因此,使用以上选项时需谨慎。

-n选项将输出限制为数字形式,这在碰见DNS问题时很有用。-v显示更详尽输出,较少输出为-q和-Q。

-s选项指定发送数据的大小。但如果设置的太小,小于8,则报文中就没有空间留给时间戳了。设置报文大小能诊断有路径MTU(Maximum Transmission Unit)设置或分段而导致的问题。如果不使用该选项,ping默认是64字节。
 



Tags:ping   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
网络工程师天天都在说的PING,到底是什么东东?
网络工程师天天都在说的PING,到底是什么东东?ICMP(Internet Control Message Protocol)是一个网络层协议,用于在IP网络中的设备之间传输控制消息。这些消息用于提供有关网络通信...【详细内容】
2024-03-27  Search: ping  点击:(25)  评论:(0)  加入收藏
为什么不能ping端口号?如何验证端口号可用?
一、端口号为什么不能ping?Ping 是一种网络工具,经常用于测试两台计算机之间的网络连接是否正常。Ping 使用 Internet 控制消息协议(ICMP)来发送 ICMP 请求消息到目标计算机,如果...【详细内容】
2023-10-18  Search: ping  点击:(321)  评论:(0)  加入收藏
Linux网络配置:掌握ifconfig、ping和netstat
当涉及到Linux操作系统和网络基础知识时,以下是你需要了解的一些重要概念和命令。我会按照你提供的内容结构,逐步讲解这些主题。基本网络概念IP地址、子网掩码和网关IP地址是...【详细内容】
2023-08-16  Search: ping  点击:(177)  评论:(0)  加入收藏
服务器 PING 值不稳定是什么情况?
服务器ping值不稳定是指服务器在不同时间段内,对同一IP地址进行ping测试时,返回的延迟时间不同,存在波动的情况。这种情况会对服务器的性能和稳定性产生影响,影响用户的使用体验...【详细内容】
2023-06-07  Search: ping  点击:(305)  评论:(0)  加入收藏
断网了,还能 ping 通 127.0.0.1 吗?
今天我将探讨一个有趣而深入的话题:当我们断网时,是否还能够通过 Ping 命令来成功访问本地回环地址 127.0.0.1。在这个现代社会中,我们几乎离不开互联网的便利,但有时网络的中断...【详细内容】
2023-05-15  Search: ping  点击:(333)  评论:(0)  加入收藏
linux服务器禁止ping命令,linux服务器禁ping如何解除
我是艾西,在我们搭建网站或做某些程序时,不少人会问禁ping是什么意思,怎么操作的对于业务有哪些好处等,今天艾西一次给你们说清楚。禁PING的意思是:不允许电脑、设备或服务器使用...【详细内容】
2023-04-19  Search: ping  点击:(352)  评论:(0)  加入收藏
八个常用的网络命令ping、nbtstat、tracert、Telnet等详细方法介绍,值得学习收藏!
一,ping它是用来检查网络是否通畅或者网络连接速度的命令。它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大...【详细内容】
2023-02-01  Search: ping  点击:(375)  评论:(0)  加入收藏
Web Scraping Vs Web Crawling 区别是什么?
Web Scraping(网页数据抓取)和Web Crawling(网络爬虫)是两个经常交替使用的词,人们没有认识到这两者之间的区别。它们可能有许多相似之处,并在同一基础上工作,但却有很大的区别。在...【详细内容】
2022-12-02  Search: ping  点击:(439)  评论:(0)  加入收藏
链入亚马逊官网,PingPong构建最大跨境电商生态
在服务30多万跨境电商卖家的过程中,从跨境收款做切入点。支付是所有交易中必不可少的一个枢纽,没有支付这个平台就无法形成。所以,当PingPong用支付把所有的链条打通之后,下...【详细内容】
2022-10-09  Search: ping  点击:(168)  评论:(0)  加入收藏
能ping通但是网络不通,是它们在搞鬼
平时,我们想要知道,自己的机器到目的机器之间,网络通不通,一般会执行Ping命令。一般对于状况良好的网络来说,你能看到它对应的loss丢包率为0%,也就是所谓的能ping通。如果看到丢包...【详细内容】
2022-09-14  Search: ping  点击:(1649)  评论:(0)  加入收藏
▌简易百科推荐
手机就可以修改WiFi密码,进行网络提速,还能防止别人蹭网
随着网络的普及和使用频率的增加,很多人可能遇到了一些网络管理上的问题,比如忘记了WiFi密码、网络速度缓慢、或者发现有不明设备在家中蹭网。相信朋友们也曾遇到过吧?但是,你知...【详细内容】
2024-04-03  老毛桃    Tags:WiFi密码   点击:(9)  评论:(0)  加入收藏
手机WiFi信号满格却接收消息延迟?这里有妙招帮你解决!
在现代社会,手机已经成为了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐,手机都扮演着重要的角色。然而,有时我们会遇到一些令人烦恼的问题,比如明明手机WiFi信号满格...【详细内容】
2024-04-03  蔡前进    Tags:手机WiFi   点击:(8)  评论:(0)  加入收藏
SASE技术应用落地的五个关键趋势
在Gartner 最新发布的《2023网络技术成熟度曲线》报告中认为,SASE技术已经开始走出最初的技术炒作期,将逐步迈向新一轮的实用落地阶段。在Gartner发布的《Hype Cycle for Ente...【详细内容】
2024-04-01    安全牛  Tags:SASE   点击:(13)  评论:(0)  加入收藏
提示“该网站安全证书存在问题,连接可能不安全”如何解决
在你输入网址并浏览网页时,如果你的浏览器弹出一个警告,提示“网站的安全证书存在问题”,或是显示一个红色的锁标志,这些都是网站不安全的警示。这些提示通常是由HTTPS协议中的S...【详细内容】
2024-03-18  倏然间    Tags:网站安全证书   点击:(10)  评论:(0)  加入收藏
如何有效排除CAN总线错误
控制器局域网(CAN)控制器局域网(CAN)是现代车辆中电子元件无缝运行的基础。在远程信息处理领域,CAN总线系统的效率至关重要,其能够实现支撑当今汽车技术的复杂功能。然而,CAN总...【详细内容】
2024-02-20    千家网  Tags:CAN   点击:(52)  评论:(0)  加入收藏
网络连接受限或无连接怎么办?这里提供几个修复办法
可能错误提示 连接受限或无连接:连接具有有限的连接或无连接。你可能无法访问Internet或某些网络资源。 连接受限。排除和解决“连接受限或无连接”错误此错误可能由计算机上...【详细内容】
2024-02-06  驾驭信息纵横科技    Tags:网络连接受限   点击:(50)  评论:(0)  加入收藏
如何将Mac连接到以太网?这里有详细步骤
在Wi-Fi成为最流行、最简单的互联网连接方式之前,每台Mac和电脑都使用以太网电缆连接。这是Mac可用端口的标准功能。如何将Mac连接到以太网如果你的Mac有以太网端口,则需要以...【详细内容】
2024-02-03  驾驭信息纵横科技    Tags:Mac   点击:(67)  评论:(0)  加入收藏
简易百科之什么是端口映射
端口映射,也称为端口转发,是一种网络通信中的技术手段,通过将内网中的一个端口上的数据流量转发到另一个端口,使得外部网络能够访问到内部网络中的特定服务。在实现上,端口映射通...【详细内容】
2024-01-26    简易百科  Tags:端口映射   点击:(163)  评论:(0)  加入收藏
ip因频繁登陆已被禁止访问 无法显示图片 怎么办
首先,我们要明白,部分网站为了有效遏制数据爬取和非法攻击,保证访问速度和普通用户查询,会在系统中增加网络安全设备,加强安全防护机制,并提前设置安全访问规则。因此,一旦用户的行...【详细内容】
2024-01-20  何福意思    Tags:ip   点击:(68)  评论:(0)  加入收藏
电脑连上wifi却上不了网怎么办
当电脑连接上 WiFi 却无法上网时,可能会让人感到困惑和沮丧。这个问题通常会有多种可能的原因,包括网络配置问题、路由器故障、无线适配器问题等。在面对这个问题时,可以尝试以...【详细内容】
2024-01-16  编程资料站    Tags:wifi   点击:(72)  评论:(0)  加入收藏
站内最新
站内热门
站内头条