TCP的三次握手和四次挥手

TCP建立连接需要三次握手:

(1)客户端发送syn请求

(2)服务端收到请求后,发送syn+ack回复

(3)客户端回复ack请求

好比两个人隔着50米在大雾中对话。老黄看见50米处的老王,向他微笑(syn)。老王看见老黄的微笑,向老黄的方向挥了挥手(ack),表示自己已经看到

他了,并且对老黄微笑(syn)。老黄看到老王的挥手,知道老王看到他的微笑了,他挥了挥手(ack),表示自己看到了老王了。

于是两个好友见面了。

 

在这个过程中,一共产生四个动作,包括客户端的syn1和ack1,以及服务端的syn2和ack2。服务端的ack1+syn2是放在一条信息里的,

所以客户端主动发起两个,服务端被动发起一个。共有三次信息发送。

 

TCP解除连接的四次握手:

(1)客户端主动发起fin请求

(2)服务端回复ack,客户端收到后处于半关闭状态,不能释放资源

(3)服务端发起fin请求

(4)客户端回复ack,此时释放资源。

为什么接触连接需要四次握手,因为客户端收到回复后是处于半关闭状态的。并没有释放资源。

 

在客户端处于半关闭状态的时间里,大概是4分钟,也就是2个MSL(maximium segment lifetime),MSL是报文最大存活时间,2分钟,具体为什么

是两分钟还没有得到很好的解释。在这个过程中,网络中残留的传输失败的报文会消散,以免影响网速。

 

 

 

posted @ 2019-11-21 15:20  IT知识生产小店铺  阅读(130)  评论(0编辑  收藏  举报