为什么是三次握手, 不是两次?
1 | 假设两次握手, 发送SYN超时, 超时后超时重传, |
为什么连接的时候是三次握手,关闭的时候却是四次握手?
1 | 关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET, |
如果已经建立了连接,但是客户端突然出现故障了怎么办?
1 | TCP还设有一个保活计时器,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。 |
为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?
1 | 虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。 |