1、TCP 断开连接四次挥手流程
TCP 断开连接是通过四次挥手方式。双方都可以主动断开连接,断开连接后主机中的「资源」将被释放。
2、为什么 TIME_WAIT 等待的时间是 2MSL?

3、为什么需要 TIME_WAIT 状态?

4、拔掉网线后, 原本的 TCP 连接还存在吗?
可能有人觉得网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的 TCP 连接就不会存在的了。就好像,我们拨打有线电话的时候,如果某一方的电话线被拔了,那么本次通话就彻底断了。真的是这样吗?
上面这个逻辑问题在于,错误的认为拔掉网线这个动作会影响传输层,事实上并不会影响。
实际上,TCP 连接在 Linux 内核中是一个名为 struct socket 的结构体,该结构体的内容包含 TCP 连接的状态等信息。当拔掉网线的时候,操作系统并不会变更该结构体的任何内容,所以TCP 连接的状态也不会发生改变。
那么拔掉网线之后,网络中传输的数据怎么办呢?