阿里技术 10小时前
看阿里云操作系统控制台如何一招擒拿网络丢包
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

在云计算和业务上云的背景下,网络通信质量至关重要。数据包丢失(Packet Loss)是网络中的核心挑战,可能导致业务中断、数据传输异常甚至连锁故障。本文通过实际案例,介绍了如何利用阿里云操作系统控制台的丢包诊断功能,快速、高效地定位和解决网络丢包问题。无论是复杂的内核丢包排查,还是由特定组件或规则引起的端口不通,该工具都能显著简化诊断流程,帮助用户快速恢复业务部署和稳定运行,有效遏制成本消耗。

📦 **快速定位健康检查失败原因**:某消息服务客户在ACK新区域部署集群时遭遇系统性健康检查异常。通过阿里云操作系统控制台的网络诊断-丢包诊断功能,排除了内核丢包的可能性,通过进一步分析发现是特定网络组件打上的钩子过滤了SYN包,卸载该组件后问题即刻解决,大大缩短了排查时间。

🔌 **精准解决端口不通问题**:另一客户在实例创建后,发现telnet 1678端口不通,影响业务通信。在排除了iptable规则和异常函数钩子后,操作系统控制台的诊断报告指向netfilter驱动。经检查发现nftable规则中存在对1678端口的drop规则,删除该规则后问题得以解决。

🛠️ **系统化丢包问题排查步骤**:文章提供了一个结合操作系统控制台的系统化排查流程:首先使用丢包诊断,若无明确问题点,再检查安全软件或钩子,接着核查iptable设置,若仍未解决,可利用funcgraph或bpf等工具进一步定位,为解决丢包问题提供了清晰的指导。

☁️ **云计算下网络质量的重要性**:在云计算日益普及、业务大规模上云的趋势下,高质量的网络通讯是保障业务高效运行的关键。数据包丢失是影响网络质量的主要因素之一,可能引发多维度业务风险,因此有效解决丢包问题对确保业务连续性和稳定性至关重要。

张永德 2025-07-27 08:30 浙江

这是2025年的第83篇文章

( 本文阅读时间:15分钟 )


在云计算日益增长与业务大规模上云的背景下,网络的高质量通讯则是维护业务高效运行的重要保障。数据包丢失(Packet Loss)作为现代网络架构中的核心挑战,可能引发多维度的业务风险:在业务部署阶段或运行过程中,丢包现象轻则导致通信中断、数据传输异常,造成业务逻辑执行偏差;重则触发运维系统中的健康检查失败、Ping 不通及拒绝服务等连锁故障。

近期有客户在新区域部署业务集群时遭遇严重网络丢包问题,导致业务部署停滞并产生持续性成本消耗。这个问题直接导致了客户的生产部署停滞,那这么严重的问题难道需要很多时间和精力来排查吗?并不!在使用了阿里云操作系统控制台(https://alinux.console.aliyun.com/(简称“操作系统控制台”)后,客户快速定位问题,不仅成功完成业务部署并实现稳定运行,更有效遏制了持续性成本消耗。

下面,我们将结合实际案例,来介绍如何使用操作系统控制台的丢包诊断解决丢包问题。


01


通过丢包诊断分析定位问题根因

1.1 场景一:问题快速定界

某消息服务客户在阿里云 ACK(阿里云 Kubernetes 服务)新区域部署集群时遭遇系统性健康检查异常,导致业务部署流程全面受阻。因此,需要排查健康检查失败的原因。

结合以往运维经验来看,大部分情况下在检查了 iptable 没有问题以后,基本上都会怀疑到内核丢包上面去。如果要排查内核丢包问题,过程比较繁琐且困难。因为在排查内核丢包问题的时候,需要排查人员对数据包在内核代码比较熟悉,对数据流经的合适函数入口结合 hook 点来监控数据包流向。整个过程无论是对排查人员的专业程度还是所需时间,都提出了不小的要求。

在这个案例中,我们是如何结合操作系统控制台快速定位问题的呢?

首先,我们来看下这个地域中的机器情况:如下图所示,ECS 作为 ACK Pod 的主机,前端有一个 SLB。


我们直接在 ECS 上对 eth0 网卡进行 tcpdump 抓包。从下面的抓包结果来看,source 是 SLB 的健康检查网段,此时 SLB 正不断向本机器发送 SYN 包来请求连接。但是本机并没有返回 ACK 包,导致了健康检查失败了。那好好的为什么我们的机器没有返回 ACK 包呢?

iptable 规则导致?

根据一般排查思路,首先,我们会怀疑是不是 iptable 的规则设定导致了某些请求被拦截。但是我们确认了正常的机器以及异常的机器后发现,iptable 并没有变化,因此 iptable 的规则导致的问题这个怀疑点可以排除。

内核丢包?

如果要排查内核丢包问题,以前我们也许需要熟悉网络内核模块的专家进行跟踪分析。但是现在,我们只需要动动手指,使用阿里云操作系统控制台,这位“专家”就能在很短的时间内,完成以往需要专业的人士才能完成的事情。

使用操作系统控制台对问题实例进行诊断:

如图上所示,在系统诊断中选择网络诊断、丢包诊断,然后根据第 4 步选择你所需要诊断的实例 ID,最后点击执行诊断。诊断完成以后,点击查看报告,可以看到机器中的丢包情况。

结果见上图,可以看到操作系统控制台的报告中显示无已知丢包异常。因此,我们基本排除了内核丢包情况。

既不是 iptable 规则,也不是内核丢包,还有什么可能呢?

结合操作系统控制台的诊断报告,现在基本可以确认了内核并没有出现丢包,成功排除了底层协议栈的潜在风险。 我们进一步分析发现,eth0 接口成功接收 SYN 包表明网络链路未发生数据丢弃,iptables 规则无异常则证实非配置规则所致。

经过上述排查环节后,我们意识到仍存在被忽视的排查维度——网络驱动或中间件模块可能存在异常。基于这一假设,我们把系统中的钩子打印出来看下:

上图可以发现,与正常机器对比,这里多了很多 sched_cls 类型的钩子。在与ACK研发团队确认后,得知此为一个网络组件的钩子。由于我们高度怀疑是该组件打上的钩子导致 SYN 被过滤掉了。因此,该组件卸载掉后,健康检查立马恢复了正常。

可以看到,在操作系统控制台的帮助下,我们非常快速对问题进行了初步定界,排除了内核丢包的嫌疑,从而能够更快地把目光放在其他方向的排查上,为解决问题节省了更多的时间。

1.2 精准抓出问题所在

某客户在新创建了实例以后,发现通过 telnet 1678 端口不通,对其业务有重要影响。该端口不通会导致其业务进程无法正常与外界通信。

本案例与上述案例有点类似,也是网络不通的情况。在面对网络不通的情况时,首先我们要做的就是对端口或者网卡进行抓包,接下来看下该端口或者网卡的数据包流情况。

客户在其机器上执行 telnet 程序,发现 telnet 机器的 22 端口是通的,但是 1678 端口以及其他端口不通。此外,检查了端口以及对应端口的监听进程都运行起来了,没有问题。

祭出我们的一般排查思路,是不是 iptable 的规则问题?先去检查一下 iptable 的设置。在客户的配合下,确认了这台机器上的 iptable 没有明显的问题,也没有设置特殊的规则。

既然不是 iptable 的问题,那么结合上一个案例的经验,是不是一些驱动的钩子导致的问题?接着我们检查了一下安全组件,没有安装额外的安全软件,而且也没有发现异常的函数钩子。因此,也不是钩子导致的问题。

既然钩子没有问题、iptable 也没有问题。那会不会是内核丢包了?有了这个怀疑,我们就可以使用操作系统控制台对异常实例进行诊断:

很快,诊断完成后,我们查看诊断的报告。

在这个报告中,诊断提示我们需要删除 iptable 丢包规则或者相关的 netfilter 驱动。结论也很明显,就是告诉我们是 netfilter 导致的丢包。既然是 netfilter 导致的丢包,那首先就要看下 nftable 的规则设置:

通过查看 nftable 规则设置,发现了 nft 中确实有对 1678 端口的 drop 规则。

删除对应规则并更新以后本机上监听 1678 端口,发现通了,可以连接上了,问题解决。


02


总结

在日常的系统运维中,丢包问题会导致业务通信丢失、业务无法正常运行乃至无法部署。但是丢包问题也不是完全令人望而却步的问题,阿里云操作系统控制台提供了简单、易用、专业的诊断工具。在怀疑系统存在丢包问题的时候,我们可以结合操作系统控制台按照一下步骤进行排查:

1、直接使用操作系统控制台的丢包诊断,看下诊断是否告知明确问题点。

2、如果诊断报告中没有显示内核出现了丢包,那就检查系统中是否有安装多余的安全软件,或者对比正常的环境下有没有多余的钩子。

3、没有预期外驱动或者钩子,检查 iptable 是否正确。

4、如果还是不能明确出丢包点,可以使用 funcgraph 或者 bpf 等工具对怀疑的丢包路径打点抓包,找出丢包的地方。

一般结合操作系统控制台,经过以上四个步骤,一般的丢包问题你们都能搞定,把丢包问题轻松解决~

 联系我们 

您在使用操作系统控制台的过程中,有任何疑问和建议,可以扫描下方二维码或搜索群号94405014449 入钉钉群反馈,欢迎大家扫码加入交流。

操作系统控制台钉钉交流群

 问卷填写 

欢迎填写控制台问卷,您的宝贵建议对我们非常重要。如有建议被采纳,我们将赠送一份礼品(文末点击阅读原文或复制链接至浏览器打开):

https://survey.aliyun.com/apps/zhiliao/Ozqy9cPu5


欢迎留言一起参与讨论~

阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

网络丢包 阿里云 操作系统控制台 故障排查 云计算
相关文章