谁的锅?一个 ping 案例

简介:

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

106d0f6da36be9d3b8fef988d9faa91e1db18d7b

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

$ tcpdump -s 0 -i eth1 host 49.7.36.125 -w 11-17-ping1.pcap

关键输出如下:

886e50ac8ec161984134e3f7506d4ab7534843b5

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

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

$ strace -e trace=network -o 11-17-1.log -Tt ping pop3.sina.net -c 2

其中输出截图:

19bee48c5ccf9b2ae71b1559259674fab95e4e86

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

3849d49523a07a81fe447c0b32698df3f61bbd3c

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

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

$ strace -e trace=network -o 11-17-2.log -Tt ping 49.7.36.125 -c 2

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

$ strace -e trace=network -o 11-17-3.log -Tt ping www.baidu.com -c 2

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


$ tcpdump -s 0 -i eth0 port 53 -w 11-17-dns2.pcap #抓 ping pop3.sina.net 包
$ tcpdump -s 0 -i eth0 port 53 -w 11-17-dns3.pcap #抓 dig -t a pop3.sina.net 包

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

544e37d7db17edfeb602c79e8554ef18d549d3e9

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

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

到底是谁的锅呢?阿里云local dns?公司 dns 服务器?ping 内部dns解析机制?可以一起讨论讨论。


原文发布时间为:2018-11-27

本文作者:虞大胆

本文来自云栖社区合作伙伴“高效运维”,了解相关信息可以关注“高效运维”。

相关文章
|
安全 Linux 网络安全
组网神器WireGuard安装与配置教程(超详细)
组网神器WireGuard安装与配置教程(超详细)
64422 2
|
11月前
|
运维 数据可视化 搜索推荐
研发部绩效考核怎么做?用这5步搭建体系,人事系统帮你落地
研发部门作为企业技术核心,其绩效考核面临创造性、协作性及高知群体特性带来的挑战。常规KPI难以量化创新价值、评估团队贡献或满足成长需求。科学的考核体系需从战略出发,结合可量化与定性指标,设定灵活周期,引入多源评价,并与激励机制联动。借助人事系统实现数据自动整合、流程在线化与结果可视化,提升考核效率与公平性。最终通过“体系+工具”结合,激发研发人员积极性,推动企业技术创新与战略落地。
|
5月前
|
人工智能 API 网络安全
2026年阿里云及本地部署OpenClaw(Clawdbot) 通过企业微信接入微信保姆级教程
2026年,OpenClaw(原Clawdbot)已经成为国内最流行的轻量化AI自动化代理工具,凭借低门槛、高扩展、多IM平台适配等优势,快速覆盖个人办公、团队协作、自动化任务处理等场景。很多用户希望把OpenClaw部署在稳定的云端,再通过企业微信接入个人微信,实现随时随地用微信发指令、AI自动执行任务。
4449 4
|
12月前
|
数据采集 缓存 监控
API使用全攻略:3步搞定跨境电商自动化,新手也能日省5小时!
2024年电商运营已进入自动化时代!告别手动搬砖,利用电商API实现商品信息抓取、订单同步、物流计算等自动化操作,零代码基础也能快速上手,每天节省5小时,利润提升30%。本文详解API使用三步法、高阶玩法如动态定价、物流优化及避坑指南,助你高效运营,轻松盈利。
|
人工智能 小程序 前端开发
小程序二手商城|使用Springboot+vue+微信小程序开发校园二手商城系统
本项目基于Springboot+vue+微信小程序实现了一个校园二手物品商城交易系统。系统的后台使用springboot+mybatis开发实现,后台管理页面使用Vue+ElementUI开发实现,用户端基于微信小程序开发实现。前端用户使用微信登录小程序后,可以在线浏览二手商品,并在线购买下单和评论等,同时自己也可以发布相应的二手商品,并管理自己的订单信息和销售信息。管理员登录后台管理系统可以管理人员、商品分类、商品、订单等相关信息。具体见下面展示。
788 0
|
存储 监控 数据可视化
开发者如何使用日志服务 SLS
【10月更文挑战第17天】开发者如何使用日志服务 SLS
3247 4
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
2306 30
|
存储 人工智能 供应链
AI与能源系统:优化能源生产和消费
【10月更文挑战第9天】在当前全球能源转型的关键时期,人工智能(AI)正逐渐成为推动能源系统优化与升级的重要力量。本文探讨了AI在能源生产、分配、存储和消费等方面的应用。在能源生产中,AI通过智能预测与调度、故障预警及优化资源配置等方式提升效率;在能源分配与存储方面,AI推动智能电网管理和储能系统优化;在能源消费端,AI实现精细化管理,如智能家庭能源管理和工业节能。未来,AI将进一步融入能源系统的各个环节,促进能源的高效配置与可持续发展。然而,面对数据安全和算法透明度等挑战,需加强监管与伦理审查,确保AI技术健康发展。