谁的锅,一个ping案例

举报
SUNSKY 发表于 2019/10/11 15:02:47 2019/10/11
【摘要】 昨天一个同事向我反馈了一个问题,虽然最后分析出和我们服务没关系,但我觉得特别有意义,特此分享给大家。

昨天一个同事向我反馈了一个问题,虽然最后分析出和我们服务没关系,但我觉得特别有意义,特此分享给大家。当时反馈电信用户连接我们的 pop 服务有异常,听到问题后,在我的阿里云 ECS 上ping了下,正好发现连接到电信 vip,如下图:

奇怪的是第一帧到第二帧之间特别慢(大概有15秒),但是 ping 命令整体显示的连接速度却很快,平均每一个ping的响应只有15ms,开始猜测是不是 ping 工具的内部工作机制导致的,ping 了下其他网站却非常快,不管三七二十一,先使用 tcpdump 抓个包,打算排除到 vip 的网络问题:

2.1.png

关键输出如下:

2.2.png

可见每一对icmp包(ping背后就是icmp协议)的请求和响应非常快,基本排除了网络问题,但第2个包后15秒后才有第三个包,这让人感觉非常奇怪。

为了进一步寻找灵感,我运行了一个 strace 命令,如下:

2.3.png

其中输出截图:

2.4.png

进一步验证每一对的icmp包请求响应是非常快的。但发现了一些奇怪的输出,如下图:

2.5.png

虽然输出很多,但可以看出主要是 DNS 解析花了很长时间,其中 10.202.72.118 和 10.202.72.116 是阿里云的 local DNS,也就是说 ping pop3.sina.net 的时候,需要通过 local DNS 解析出它的 ip 地址 49.7.36.125。

为了进一步验证是 DNS 解析的问题,我又运行了下列命令:

2.6.png

输出非常快速,而且输出的内容也非常少(去除了很多 DNS 网络调用),从而进一步确认了 DNS 解析的问题,那是阿里云 local DNS 的问题还是我们公司 DNS 域名服务器的问题?我又测试了下:

2.7.png

运行非常快速,说明是公司 DNS 域名服务器的问题?还是 ping 内部工作机制的问题?我又单独运行了两个命令,主要抓取 DNS 解析:

2.8.png

第二条命令输出很简单,如下图:

2.9.png

说明 dig 解析 pop3.sina.net 非常快。

第一条命令输出很复杂,ping 内部在进行域名解析的时候遇到了很多问题。最后我将local dns 改为了 8.8.8.8,不管是ping还是dig,速度都非常快。

到底是谁的锅呢?阿里云local dns?公司 dns 服务器?ping 内部dns解析机制?


我的新书《深入浅出HTTPS:从原理到实战》,本书github地址是 https://github.com/ywdblog/httpsbook,大家可以一起讨论本书。本书豆瓣地址 https://book.douban.com/subject/30250772/ ,如果你读了本书,还请在豆瓣写个评论。或者关注我的公 众 号(ID:yudadanwx,虞大胆的叽叽喳喳)。

本文转载自异步社区。

原文链接:https://www.epubit.com/articleDetails?id=N28e01199-9644-4ec8-8950-2c8622edebc2


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。