记一个诡异的TCP挥手乱序问题

2023-11-06
阅读 14 分钟
本文内容包括但不限于:tcp四次挥手(同时关闭),tcp包的seq/ack号规则,tcp状态机,内核tcp代码,tcp发送窗口等知识。问题是什么?内核版本linux 5.10.112一句话:四次挥手中,由于fin包和ack包乱序,导致等了一次timeout才关闭连接。过程细节:同时关闭的场景,server和client几乎同时向对方发送fin包。client先收到...

那些你不知道的TCP冷门知识!

2021-04-19
阅读 7 分钟
简介:最近在做数据库相关的事情,碰到了很多TCP相关的问题,新的场景新的挑战,有很多之前并没有掌握透彻的点,大大开了一把眼界,选了几个案例分享一下。最近在做数据库相关的事情,碰到了很多TCP相关的问题,新的场景新的挑战,有很多之前并没有掌握透彻的点,大大开了一把眼界,选了几个案例分享一下。
封面图

为什么kill进程后socket一直处于FIN_WAIT_1状态

2019-06-05
阅读 9 分钟
本文介绍一个因为conntrack内核参数设置和iptables规则设置的原因导致TCP连接不能正常关闭(socket一直处于FIN_WAIT_1状态)的案例,并介绍conntrack相关代码在conntrack表项超时后对新报文的处理逻辑。