元旦放假的时候,北街发现家里的宽带(网通)经常丢包。当我 ping 一个网站的时候,经常“请求超时”,而且提示“无法访问目标主机”(destination-host-unreachable),但是 ping 默认网关正确响应。这时候我们需要排查故障点,可以使用 Tracert 工具检查到目标的路径。
在排除故障期间 Ping 通常返回四条错误消息:
一、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 ipconfig dxdiag regedit calc services.msc 都是超实用的命令呢 ~
我的服务器就经常抽风。。。。
我的服务器相对来说还稳定些。
@园子 和@kaka 你们说的是各自正在用的虚拟主机服务器吗? ??
@evlos 是啊,这些是windows的基础命令!
@笨笨 夜猫子哦,虽有沙发可坐,但仍然要注意休息哦!
我的还好。。就怕天朝收回cn
@老七 哈哈,只要不违反我国河蟹之风气,应该不会为难我们CN用户了!
@evlos
嘿嘿,学习了,而且这篇博文也很不错
@M 这里有一篇北街搜集的“DOS命令大全”,相信对你更有帮助!
不会又是什么DNS问题吧~
@低调VS飞翔 我当时就是这么怀疑的!
啧啧,网络工程师啊:)
@羽中 呃,网络我也是略懂皮毛,偶是系统工程师!呵呵
如果没有一点网络基础,要理解这个,实在痛苦
想当年,计算机网络 这本书连着看了两遍愣是没看明白
@一路同行 那您现在是否已经学有所成呢?
嗯,学习一下,我只会最基本的ping命令
不错,继续下一篇!
正常滴,我们做安全的时候.很多时候都会阻止Ping 和其他一些ICMP协议的.
@Shang
如果有策略的话,IN 方向 的数据包都 DENY 就可以了 因为没有回包所以会显示Time OUT。
D H U,在路由器之间也很好弄,如果有两个 arer 其中边界路由器学习外部路由,但是不交换出他的内部路由.
现象就是,他能找到你.但是你看不到他.T O 是可以看见对方的.
我学校的校园网禁PING了。。ping任何网站都是返回超时~~
@fatkun 哇塞,幸福!偶好怀恋校园网! ???
@Shang 看来Shang兄对网络深有研究啊,以后多多向你讨教!
@aify 呵呵,请多多支持!
@bolo 其实我介绍的这些也不怎么复杂哦,嘿嘿!
通常出现问题的时候··很多人都是把直接把问题责任完全推给网络运营商的···
一般人还真不会去这样测试呢··
@AA牌熊仔饼 普通情况下,确实是这样子。但是有时候运营商也只会糊弄人,所以还不如自己先查清故障原因,好说话!呵呵
看看又没有解决问题,哇哈。
感觉没有写完的文章
@Nox 应该算是解决了吧,嘿嘿!
@阿吴 确实,因为我到现在还没发现故障点!不过已经确认识运营商那边的问题!
按说现在封网封的,网络质量要相对好一些才是。
咦,拉着某人来评论,貌似某人没评上?
@喵喵呜 嘿嘿,拉着谁来的呀?
喵喵呜说的没错哦,剩下来的网站相对质量要好点了!
从来没ping过自己的主机 我太不负责了= =
@北街 很遗憾的说,没有
@江流 证明你的主机还不错啦!
@一路同行 嘿嘿,那和我差不多呢!
博主学网络的?我也是~~
不过说实话,很多问题都是自己可以解决的~ISP那里一般还是蛮稳定的
@kenshin 偶不是学网络,不过还蛮经常和网络打交道的~