千家信息网

详说TCP重传问题的排查思路与实践

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,导读本文总结自己工作过程中遇到的TCP重传问题的解决过程 ,侧重于大致的解决问题的思路与具体的实践,理论知识偏少,大家有兴趣的可以多查阅相关文章以便深入了解tcp的工作机制。关于TCP重传TCP有重传
千家信息网最后更新 2025年12月01日详说TCP重传问题的排查思路与实践
导读本文总结自己工作过程中遇到的TCP重传问题的解决过程 ,侧重于大致的解决问题的思路与具体的实践,理论知识偏少,大家有兴趣的可以多查阅相关文章以便深入了解tcp的工作机制。
关于TCP重传

TCP有重传是正常的机制,为了保障数据传输可靠性。只是局域网环境,网络质量有保障,因为网络问题出现重传应该极低;互联网或城域网环境,线路复杂(可以想象下城市地下管网,错综复杂的电线杆等),网络质量不好保障,重传出现概率较高。

TCP有重传,也不一定是网络层面的问题。也可能是接收端不存在,接收端receive buffer满了,应用程序有异常链接未正常关闭等等等。

TCP/IP相关

排查网络问题,要掌握TCP/IP原理,真相都在一个一个的数据包里。以下是和TCP重传比较关键的几个参数。

建立TCP链接时的参数

TCP重传类型

超时重传

在请求包发出去的时候,开启一个计时器,当计时器达到时间之后,没有收到ACK,则就进行重发请求的操作,一直重发直到达到重发上限次数或者收到ACK。

快速重传

当接收方收到的数据包是不正常的序列号,那么接收方会重复把应该收到的那一条ACK重复发送,这个时候,如果发送方收到连续3条的同一个序列号的ACK,那么就会启动快速重传机制,把这个ACK对应的发送包重新发送一次。具体可以参考:

常见问题与措施 单台机器或单个应用机器tcp重传

可能是链接的服务器或端口无法访问

多台机器或多个应用同时tcp重传

可能是网络抖动

查看网络区域埋点,查看网络设备报警,看是否有区域网络抖动2区域网络没问题的话。可以用常见问题:的方法缩小排查范围

带宽跑满

1、查看主机监控

不常见问题

1 网络设备端口或光模块异常等导致包checksum失败 2 网络路由收敛抖动 3 主机网络驱动有bug,网络设备有bug等

如何监控

使用tsar -tcp -C 可以监控到tcp的retran属性也即是重传次数。

    tsar --tcp -C | sed 's/:/_/g;s/=/ /g' | xargs -n 2

感兴趣的朋友可以直接执行以下监控 脚本获取tcp相关的状态监控数据,适用于open-falcon。

案例实践

(1)在遇到丢包重传的机器上抓包并使用wireshark 分析该包,注意因为重传不是时刻都有的,所以抓包 命令是要持续执行以便捕捉到重传的包。使用wireshark打开tcpdump的结果,在搜索框里入手tcp.analysis.retransmission 得到如下结果:

图1 表明服务端发生了三次重传动作。

(2)由于包比较多,我们可以使用wireshark的追踪流功能获取重传相关的tcp流。

图二 追踪流-->TCP流 可以得到重传相关的数据包

图三 可以看出客户端和服务端的请求与应答。

(3)解析重传

特别需要说明的是:

NO 67,68 client端由于某些原因没有收到正确的包数据,向server端发送dup ack,参考基础知识提到的快速重传

NO.68和NO.69之间的时间差200ms(关注time那一列,其他都是相差小于1ms),server等待超时,于是重传。

NO 73-74是client端发送了一个fin包并主动关闭连接。

这个案例仅仅发生一次,没有复现,通过抓包解析出来分析没有得到明确的结论。

小结

本文总结自己工作过程中遇到的TCP重传问题的解决过程 ,侧重于大致的解决问题的思路与具体的实践,理论知识偏少,大家有兴趣的可以多查阅相关文章以便深入了解tcp的工作机制。

原文来自: https://www.linuxprobe.com/tcp-retransmission.html

网络 问题 数据 监控 机制 机器 过程 工作 实践 兴趣 区域 常见 常见问题 知识 网络设备 设备 链接 保障 应用 服务 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 七日杀服务器怎么安装 c 数据库类型空格 安徽电商外贸软件开发 网络安全研讨班心得2000字 网络安全知识科普讲座 东城区企业软件开发热线 软件开发 业务 互联网科技张群华 服务器主机地址和ip地址 不会英语能学计算机网络技术 mtk手机系统软件开发 幻塔总是和服务器断开连接 农业专业技术人员数据库 时尚网络技术加盟费用多少 网络安全行业怎么进甲方 山西互联网养老软件开发系统 电信网络安全现存问题 陕西项目软件开发多少钱 防城港市网络安全监管部 网络安全试验区申报方案 远程文件服务器管理系统 银行储蓄系统数据库管理软件 福建服务器机柜定做高档虚拟主机 苏州企业软件开发售后服务 迁安咨询网络技术不二之选 无锡小事网络技术有限公司 手机总提示连接服务器超时 use数据库 怎么用js连接数据库 戴尔笔记本网络安全密钥
0