码迷,mamicode.com
首页 > 其他好文 > 详细

TCP协议三次握手、四次挥手

时间:2016-05-25 19:01:28      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

 

  • 三次握手连接建立阶段

   1、客户端发送请求连接报文(SYN=1,seq=client_isn),SYN=1表示请求连接,seq序列号随机生成

   2、服务端收到请求后,回复ACK报文,ACK为源seq=client_isc +1,以便回复给客户端后知晓自己的请求得到了回复

   3、客户端回复ACK报文确认建立连接,ACK报文为服务端seq=server_isc +1


  • 四次挥手(断开连接过程)

    1、假设断开过程由客户端提出,则客户端发送FIN报文,意思说“我的clinet客户端没有数据要发   送给你了,我要断开了”,状态变为(FIN_WAIT1)此时应用程序不会立即关闭socket,如果还   有数据没传完可以继续传

    2、服务端收到FIN报文后,发送ACK,说“你的请求我知道了,但是我还没准备好,请等我消息”

      此时服务端状态变为(CLOSE_WAIT),客户端收到状态变为(FIN_WAIT1),服务端继续传输数   据

    3、等服务端忙完了,就会发送FIN报文给客户端,表示“我忙完了,可以断开了”状态变为  (LAST_ACK)

    4、客户端收到断开FIN报文后,就知道要关闭网络了,但是他还是不太相信网络,就会再次发送一   个ACK给服务端,服务端收到以后就知道可以断开了,于是关闭连接;而客户端在等待2MSL(生命   周期)大概1~4分钟时间后如果没再收到回复,就会主动关闭SOCKET关闭连接。

TCP协议三次握手、四次挥手

标签:

原文地址:http://lilongzi.blog.51cto.com/5519072/1783070

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!