https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/15
握手
a: 我是a
b: 收到,我是b
a: 那么,咱们连接了
挥手
a: 你好,我要关闭了
b: 稍等,还有最后一个包
b: 我好了,随时关闭
a: 你关吧,不用回复(aden等待了2MSL五回复,关闭)
2MSL
2MSL即两倍的MSL,TCP的TIME_WAIT状态也称为2MSL等待状态
MSL为2分钟,实际应用中常用的是30秒,1分钟和2分钟等
为什么需要三次握手
- 目的:为了防止已失效的连接请求报文段突然有传送到服务端,因而产生错误。防止服务端一直等待,浪费资源
- “已失效的连接请求报文段”的产生::client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。