今天看啥  ›  专栏  ›  21ic电子网

拔掉网线后,原本的TCP连接还存在吗?

21ic电子网  · 公众号  · 半导体  · 2024-04-15 17:44
今天聊一个有趣的话题:拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗?可能有的同学会说,网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的 TCP 连接就不会存在的了。就好像, 我们拨打有线电话的时候,如果某一方的电话线被拔了,那么本次通话就彻底断了。那么,真的是这样吗?上面这个逻辑就有问题。问题在于,错误的认为拔掉网线这个动作会影响传输层,事实上并不会影响。实际上,TCP 连接在 Linux 内核中是一个名为 struct socket 的结构体,该结构体的内容包含 TCP 连接的状态等信息。当拔掉网线的时候,操作系统并不会变更该结构体的任何内容,所以 TCP 连接的状态也不会发生改变。我在我的电脑上做了个小实验,我用 ssh 终端连接了我的云服务器,然后我通过断开 wifi 的方式来模拟拔掉网线的 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照