一、TTL 传输中过期
访问目标所需的跃点数超过了发送方主机为转发数据包而设置的 TTL(生存时间)。Ping 发送的 ICMP 回显消息的默认 TTL 值是 128。如果这个值不足以将所需的链接数传递到目标,您可以通过使用 ping -i 来增大 TTL,最高可增至 255 个链接(最大值)。如果增大 TTL 值未能解决问题,则说明在路由循环(即路由器之间的循环路径)中转发数据包。使用 Tracert 来跟踪路由循环(它在 Tracert 报告中显示为一系列重复的相同 IP 地址)中的一组路由器。接下来,对路由循环中路由器的路由表进行相应的更改。
二、目标主机无法访问
此消息表明存在以下两个问题之一:本地系统没有到所需目标的路由;或者,远程路由器报告它没有到目标的路由。
通过消息的形式可以区分这两个问题:
1. 如果消息仅仅是“目标主机无法访问”,则没有自本地系统的路由,而且从未传输要发送的数据包。使用 Route 实用程序可以检查本地路由表,以确定到目标的路由是错误的还是缺少该路由。
2. 如果消息是“应答来自 IP Address:目标主机无法访问”,则路由问题出在远程路由器(IP Address 表明了其地址)上。使用相应的工具来检查被分配了 IP 地址 IP Address 的路由器的 IP 路由表。
如果您通过使用 IP 地址执行了 ping 操作,请使用主机名重试,以确保您所尝试的 IP 地址是正确的。
三、请求超时
此消息指示在四秒的默认时间内没有收到回显回复消息。许多不同的原因可以引起此问题;最常见的原因包括网络堵塞、ARP 解析下一跃点 MAC 地址失败、数据包筛选、路由错误或无提示放弃。通常,这意味着返回到发送方主机的路由已失败。这可能是因为目标主机不知道返回到发送方主机的路由,或者,某一个中间路由器不知道返回路由,甚至还可能是因为目标主机的默认网关不知道返回路由。在检查路由器的路由表之前,检查目标主机的路由表以确定它是否具有到发送方主机的路由。
如果远程路由表是正确的,而且包含返回到发送方主机的有效路由,请通过使用 arp -a 命令输出 ARP 缓存的内容来确定 ARP 缓存是否缺少正确的地址。此外,请检查子网掩码以确保没有将远程地址解释为本地地址。
接下来,使用 Tracert 确定到目标的路径。虽然 Tracert 不记录回显回复消息在其返回路径上经由的路径,但是它可能显示数据包使其到达目标。如果是这样,则问题很可能是返回路径上的路由问题。如果跟踪离目标相当远,则可能是因为目标主机受防火墙保护。当防火墙保护目标时,ICMP 数据包筛选会防止 ping 数据包(或任何其他 ICMP 消息)穿过防火墙并到达其目标。
要检查网络是否堵塞,只需通过使用 ping -w 命令设置更长的等待时间(例如 5,000 毫秒)来增大允许的滞后时间。请再次尝试 ping 目标。如果请求仍然超时,则问题不是出在网络堵塞上。
PS:“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
四、未知主机
此错误消息指示无法将请求的主机名解析为其 IP 地址;请检查输入的名称是否正确,并检查 DNS 服务器是否可以解析它。
[分享]排除网络故障 Ping 通常返回四条错误消息:等您坐沙发呢!