什么是Ping,零Ping可能吗?

由Gavin Phillips在2017年7月31日更新

Ping是用于测量网络中两个设备之间的延迟的命令。 ping命令可在每个操作系统上使用,许多在线游戏都显示一个可见的ping,您可以使用它来了解延迟。

Ping只是衡量我们在线上所做的所有事情(无论是否是延迟)的延迟的量度。单击链接,发布状态更新,发送消息,玩游戏,上传文件,流式传输在线视频或其他任何内容。如果您使用的是网站,并且每次单击链接都需要花费很长时间来加载新页面,则可能是该网站的访问频率很高。如果速度很快,则您的ping可能很低。

Ping的用途

Ping不仅是“性能"的度量。具体地说,它是对延迟的度量。在计算机和远程设备之间。 ping命令会告诉您单个数据包离开计算机,到达远程服务器然后返回给您所需的时间。

您是否曾经注意到,当您单击网页上的链接时,新网页无法立即加载?而是有一个小的延迟-这就是延迟。您的计算机必须请求新页面并将其发送回给您。每个数据包在您的计算机和远程计算机之间传输需要花费少量时间。通过Ping可以测量此延迟。

这在网络游戏中非常明显。例如,如果您正在以20毫秒ping的速度玩游戏,则延迟应非常低。您采取的动作似乎立即在游戏中发生。如果您的ping较高(例如200毫秒),则您执行的操作将明显延迟,并且您将无法跟上其他玩游戏的人。

这就是为什么ping在许多情况下会突出显示的原因多人游戏或只是浏览网页。

Ping有时有时会显示为“等待时间",但基本上是同一回事。游戏通常会以视觉颜色显示ping,以帮助您一目了然地了解ping的效果-绿色是好,黄色是边界,红色是坏。

Ping的工作方式

这是ping操作的简化方式:

  • 您的计算机将一小包数据(以网络术语称为 packet )发送到远程计算机。
  • 远程计算机接收到数据包,并请求其答复。
  • 远程计算机将数据包发送回给您。
  • 这是一次ping操作。通过Ping,您可以测量计算机与远程计算机之间数据包的往返时间。例如,在下图中,我们在Windows命令提示符中使用ping命令对google.com进行ping。

    此命令发送四个数据包或四个单独的ping。对于前三个ping,时间为10毫秒。对于最后一次ping,时间为12毫秒。这意味着,对于前三个ping来说,一个数据包到达Google并发送回我们需要十毫秒的时间。对于最后一次ping,花费了十二毫秒。为什么要花更长的时间?嗯,可能有很多事情-Google的服务器运行速度较慢,我们与Google的服务器之间的Internet路由器可能更忙,Wi-Fi接收性能可能更差或很多其他事情。某些波动是正常的。

    Ping是ICMP回显请求

    发送ping时,计算机会发送ICMP回显请求数据包。 ICMP代表“ Internet控制消息协议",是一种通常在网络设备之间使用的协议,以便它们可以相互通信。数据包请求“回声",换句话说,就是回复。远程服务器在收到ping命令后,通常会以自己的消息作为响应。当您运行ping命令并连续看到多个ping时,每行都是一个数据包及其答复。

    但是,并非每台计算机或服务器都设置为答复ICMP回显请求数据包。设置为不响应ping的计算机根本不会响应,因此您会看到“请求超时"消息,因为服务器无法在指定的时间内响应您的ping。可以将ICMP协议用于DDoS攻击。

    发现数据包丢失

    Ping还可以帮助您发现数据包丢失。例如,假设您运行ping命令,并且看到答复和“请求超时"行混合在一起。这表明远程计算机未收到某些ping数据包,或它们的答复未到达您。数据包在途中的某个位置丢失。

    您会知道数据包丢失发生在您和服务器之间的某个位置—远程计算机网络上,介于两者之间的路由器,您的ISP或您的家庭网络。如果您在浏览Internet或玩在线游戏时遇到麻烦(尤其是有时您必须单击两次链接才能加载链接),则ping命令可以帮助您查看是否丢失了数据包。您还可以对多个不同的远程服务器运行ping命令,以更好地了解发生丢包的位置。

    Ping还显示丢包的严重性。例如,下面我们的第一个数据包到达了服务器并将其发回给我们,但我们其他三个数据包却没有。 Ping将其显示为75%的数据包丢失-4个数据包中有3个丢失。

    是否可以将Ping设为零?

    Ping越低越好。 ping零是理想的选择,这意味着我们的计算机正在与远程服务器进行即时通信。

    由于物理定律,即使一小部分数据(称为数据包)也需要一些时间才能完成。旅行。即使您的数据包完全通过光缆传输,也仍然受到光速的限制。这也受到沿着这些光缆的路由器的限制,这些光缆必须接收数据包并通过不同的连接转发。

    如果您尝试ping通本地计算机,请使用 ping localhost 命令-您正在要求计算机进行自我联系并自行回复。在这种情况下,您通常会看到ping值为0毫秒。这只是意味着您的计算机可以立即与其自身进行通信。当然,这并不是真的瞬间,因为该软件需要少量时间来执行这些操作。但是,它是如此之低,以至于我们可以将其舍入为0毫秒,并说我们自己的计算机为0 ping。

    但是,一旦您开始增加电缆,路由器和距离的长度,您将不会收到0毫秒的ping命令。例如,您可以尝试ping您自己的家用路由器。距离只有几个房间,但我们发现平均ping为3毫秒,最小ping为1毫秒。与位于另一房间的设备进行通信需要一些时间。即使我们没有使用Wi-Fi进行连接,仅与路由器通信也会使ping大约为0毫秒,并且一旦离开路由器并进入ISP网络,也将花费一些时间才能到达ISP的网络。互联网。

    换句话说,您无法真正将ping设为0毫秒。这是物理定律的极限。我们无法即时传输信息-可能存在量子纠缠。如果我们找到了一种使用量子纠缠方式在Internet上传输信息的方法,则可以达到0毫秒ping,但这是这里的唯一选择。

    会发生这种事情吗?

    将来,我们绝对可以减少Internet上的延迟并更好地对其进行处理。例如,Chrome,Firefox和Internet Explorer之类的网络浏览器已经是``预取''页面,您可能希望在接下来的页面中看到这些页面以消除单击链接时的可察觉的延迟。但是,0毫秒ping(即即时信息传输)可能仍然难以捉摸。

    图片来源:Flickr上的困猫猫

    标签: 计算机网络 以太网 ISP LAN