跳转到内容

通信网络/Ping

来自维基教科书,开放的书籍,开放的世界

Ping 是一种基本的互联网工具,允许用户验证特定 IP 地址是否存在并可以接受请求。动词 ping 指的是使用 ping 实用程序或命令的行为。Ping 在诊断中使用,以确保尝试访问的主机计算机确实在运行。例如,如果用户无法 ping 主机,则用户将无法使用文件传输协议 (FTP) 将文件发送到该主机。Ping 也可以与正在运行的主机一起使用,以查看获取响应需要多长时间。使用 ping,您可以从符号域名中了解 IP 地址的数字形式。

Ping 大致的意思是“引起某个人的注意”或“检查某个人的在线存在”。Ping 通过将数据包发送到指定地址并等待响应来运行。该计算机缩写词 (用于 Packet Internet 或 Inter-Network Groper) 是为了与潜艇人员用来描述返回的声纳脉冲声音的术语相匹配。

Ping 也可以指向发送消息到邮件列表的所有成员,要求他们确认接收(ACK)代码。这在发送电子邮件之前进行,以确认所有地址都可以访问。

互联网 Ping 命令将一个小数据包弹回一个域名或 IP 地址,以测试网络通信,然后确定数据包往返所需的时间。Ping 命令是互联网上最常用的实用程序之一,无论是个人还是自动化程序都使用它来执行最基本的网络测试:您的计算机是否可以访问网络上的其他计算机,如果是,需要多长时间?

每天每秒钟,都有无数的 ping 在互联网上的计算机之间来回闪动,就像持续不断的电子神经火花。以下小节将提供有关 Ping 如何发明、Ping 如何工作、如何使用 Ping、Ping 网站以及原始 Unix Ping 版本的信息。

Ping 的发明

[编辑 | 编辑源代码]

原始的 PING 命令代表“Packet Internet Groper”,是 DARPA 人员用于测试 ARPANET 性能的一组诊断工具。然而,现代互联网 Ping 命令指的是 Mike Muuss 在 1983 年 12 月编写的程序,该程序已经成为互联网上最通用、最广泛使用的诊断工具之一。Muuss 以潜艇和蝙蝠用于回声定位的声纳声音命名了他的程序;就像在关于潜艇的旧电影中一样,声纳探测器听起来确实像金属的“ping”。

Ping 的工作原理

[编辑 | 编辑源代码]

互联网 Ping 程序的工作原理与声纳回声定位非常相似,它向指定计算机发送包含 ICMP ECHO_REQUEST 的一个小数据包,该计算机然后发送 ECHO_REPLY 数据包作为响应。IP 地址 127.0.0.1 通过约定始终表示您自己的计算机。因此,ping 到该地址将始终 ping 您自己,延迟应该非常短。这提供了对本地通信的最基本测试。

如何使用 Ping

[编辑 | 编辑源代码]

您可以使用 Ping 命令执行一些有用的互联网网络诊断测试,例如以下测试

访问:您可以使用 Ping 来查看您是否可以访问另一台计算机。如果您根本无法 ping 网站,但可以 ping 其他网站,那么这是一个很好的迹象,表明您的互联网网络正在运行,并且该网站已关闭。另一方面,如果您无法 ping 任何网站,那么您的整个网络连接可能已断开,因为连接不良。

时间和距离:您可以使用 Ping 命令来确定将数据包弹回另一个网站需要多长时间,这将以网络术语告诉您它的互联网距离。例如,托管在隔壁邻居计算机上的网站,具有不同的互联网服务提供商,可能通过更多路由器,并且在网络距离上比海洋另一边的具有直接互联网主干连接的网站更远。

如果某个网站看起来很慢,您可以将 ping 距离与其他互联网网站进行比较,以确定是网站、网络还是您的系统速度慢。您还可以比较 ping 时间,以了解哪些网站具有最快的网络访问权限,并且最适合下载、聊天和其他应用程序。

域名 IP 地址:您可以使用 Ping 命令来探测域名或 IP 地址。如果您 ping 域名,它会在响应中显示相应的 IP 地址。

您可以在 Windows 计算机上通过打开命令提示符窗口,然后键入“ping”,然后键入要 ping 的计算机的域名或 IP 地址来运行 ping 命令。您可以使用“ping -?” 列出 Windows ping 命令的可用选项。

在线 ping:如果您由于防火墙或其他限制而无法从自己的计算机使用 Ping 命令,或者想要从您自己的位置以外的其他位置执行互联网 ping,则可以使用以下提供在线 ping 服务的网站之一

  • DNSStuff.com
  • his.com Ping
  • Network-Tools
  • Spfld.com Ping
  • Theworldsend.net ping

请记住,在执行在线 ping 时,数据包是从该网站发送的,因此返回的时间反映了从该位置到目标的路径,而不是从您的计算机。但是,来自在线网站的 ping 对于测试地址是否可以从互联网上的不同位置访问很有用,以执行比较计时测试,以测试到达一个网站与其他网站所需的时间。

如果多个在线 ping 网站返回到互联网地址的时间始终很长,那么目标网站的网络可能存在问题。另一方面,如果您可以从在线 ping 网站 ping 地址,但不能从自己的计算机 ping,那么您的网络中可能存在阻止您与该网站通信的某些块。

Unix 版本:Muuss 最初为 Unix 系统开发了 ping 命令,下面总结了该命令的选项

ping [-q] [-v] [-R] [-c Count] [-i Wait] [-s PacketSize] Host
选项 示例 定义
ping -c count ping -c 10 指定要发送的回声请求数量。
ping -d ping -d 设置 SO_DEBUG 选项。
ping -f ping -f 洪水 ping。在收到对最后一个请求的回复后立即发送另一个回声请求。只有超级用户可以使用此选项。
ping host ping 121.4.3.2 指定要 ping 的计算机的主机名(或 IP 地址)
ping -i wait ping -i 2 等待时间。每次 ping 之间等待的秒数
ping -l preload ping -l 4 一个接一个地发送“preload”数据包。
ping -n ping -n 数字输出,没有主机到符号名称的查找。
ping -p pattern ping -p ff00 Ping 模式。该示例发送两个字节,一个字节填充为 1,另一个字节填充为 0。
ping -q ping -q 安静输出。仅在启动和完成时显示摘要行
ping -r ping -r 直接 Ping。直接发送到主机,不使用路由表。如果主机不在直接连接的网络上,则返回错误。
ping -R Ping -R 记录路由。为回声请求数据包打开路由记录,并在返回数据包上显示路由缓冲区(许多路由器忽略)。
ping -s PacketSize ping -s 10 设置数据包大小(以字节为单位),这将导致总数据包大小为 PacketSize 加上 8 个额外的字节 ICMP 标头
ping -t ping -t 没有超时 - 不断 ping,例如 ping 192.168.0.1 -t
ping -v ping -v 详细输出。列出单个 ICMP 数据包以及回声响应

网络连接检查

[编辑 | 编辑源代码]

ping 和 traceroute 是两个最实用的连接测试命令。这两个命令是网络故障排除的良好机制,它们都使用 ICMP。

为 IP 地址故障排除定义了四个简单的步骤

  1. Ping 127.0.0.1
  2. Ping 本地主机 IP 地址
  3. Ping 默认网关
  4. Ping 远程服务器

这些步骤中的每一个都可能提供有关网络状态的信息。步骤 1 通常是回环测试,这意味着如果成功,则表示 IP 堆栈已初始化。然后,如果步骤 2 成功,则表示网络接口卡 (NIC) 正常工作。步骤 3 允许用户查找机器是否可以在本地网络内通信。最后,步骤 4 为管理员提供了主机成功与远程服务器通信的信息,其中远程物理服务器正在运行。

Ping 是一种计算机程序,用于确定主机是否联机。Ping 基本上由源发送 ICMP “回显请求” 到目标,然后目标以 ICMP “回显响应” 作为回复 - 假设目标联机。Ping 的典型输出如图 1 所示,Ethereal 捕获如图 2 所示

图 1:Ping 命令的输出


图 2:ping Ethereal 捕获


注意,当执行 Ping 命令时,捕获中会出现 ICMP 回显请求和回复。类型和代码字段表示不同类型的操作和错误结果。下表简要描述了每个字段


类型 代码 描述
0 0 回显回复(ping)
3 0 目标网络不可达
3 1 目标主机不可达
3 3 目标端口不可达
3 6 目标网络未知
3 7 目标主机未知
4 0 源抑制(拥塞控制 - 不使用)
8 0 回显请求(ping)
9 0 路由通告
10 0 路由器发现
11 0 TTL 过期
12 0 IP 首部错误

Traceroute

[编辑 | 编辑源代码]

Traceroute 是一种计算机程序,它发送 ICMP 数据包以显示数据包从源到目标跨 IP 网络的路由。它通过为每个连续主机将生存时间 (TTL) 字段增加 1 来实现,直到它到达目标。Traceroute 的输出和 Ethereal 捕获分别如图 1 和 2 所示。


图 3:Traceroute 命令的输出


图 4:traceroute Ethereal 捕获

注意,每当 ICMP 消息经过网络设备时,都会向源发送 TTL 超时消息。然后源将记录路由器名称。

华夏公益教科书