曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3134|回复: 0
打印 上一主题 下一主题

为什么 ping 和 wget 时的解析有时很慢?

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2015-4-5 10:02:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么 ping 和 wget 时的解析有时很慢?

比如我 ping www.groad.net ,可能会要好一会才得到 ping 的返回信息,而 ping www.baidu.com 时却一下子就可以了。这是网站服务器慢的原因吗?

要知道,ping 一个网址时,是要先解析成 IP 的,这样势必就要求发起 DNS 查询。现在,解析 IP 时,许多平台上的 ping 或 wget 默认是优先查询 IPv6 地址的,如果对方没有 IPv6,那么许多时间都耗在这个解析身上了。

下面来做一下测试(基于 OpenWrt 平台的 ping,有指定 -4 或 -6 来选择 ipv4 或 ipv6 的 ping,其它的 linux 发行版要 ping ipv6 的话可选 ping6 这个命令):


一个 ping 总共耗时 18 秒,确实够慢的。同样可以测试 wget ,也会得到同样的结果。

测试一下 baidu 的 ping,看情况如何:


非常给力,只用了 3 秒的时间。

如果我们用 ping -4 www.groad.net -c 4 来看看情况:


结果令人满意,也只是耗时 3 秒 。

来测试 ipv6 的 ping 一把:


耗时 15 秒,而且 ping 不通。这 15 秒 加上强制 ipv4 ping 的 3 秒,刚好等于默认测试时的 18 秒。由此可见,确实是 IPv6 的优先影响了测试结果。为了进一步验证,使用 wireshark 来捕捉:


从上图可以看出,情况确实如上述所推测的。同时也了解了为什么默认 ping www.baidu.com 就很快,因为 baidu.com 只是一个 CNAME ,真正的域名对应了一个 IPv4 的 A  记录。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-3 20:22 , Processed in 0.065040 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表