说说TCP为什么需要三次握手和四次挥手
# 是什么
# 三次握手
client(syn_send)>> SYN-a >> server(syn_rcvd)
client(established)<< SYN-b+ack-a+1 << server(syn_rcvd)
client(established)>> ack-b+1 >> server(established)

为什么不能2次握手: 避免网络阻塞或者恶意攻击造成服务器链接,不是正常传输,浪费服务器资源
# 四次挥手
client(established)>>FIN-a >> server(established)
client(FIN_WAIT1)<< ACK-a+1 << server(close_wait)
client(FIN_WAIT2)<< FIN-b << server(last_ack)
client(time_wait)>>ACK-b+1 >> server(closed)
等待2MSL 后 client端也会变成closed状态
为什么要4次挥手: 先告诉已经收到消息, 然后把手上的最后一个数据包传完,要等待上一个数据包传送完成,才可以关闭

# 怎么用
# 原理
# FAQ
上次更新: 2021/12/19, 18:05:42