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

TCP三次握手

时间:2017-06-21 23:02:50      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:strong   log   16px   状态   font   png   技术   seq   通信   

TCP客户端要连接到TCP服务器,需要经过三个过程:

第一次握手:建立连接时,客户端发送syn包和一个随机序列号seq=x到服务器,并进入SYN_SEND状态,等待服务器进行确认。(syn,同 步序列编号)。

第二次握手:服务器收到syn包,必须确认客户的SYN,然后服务器发送一个ACK=1, SYN=1, seq=y的随机数和ack=x+1的确认数的包发送回去。

第三次握手:客户端收到服务器端的SYN+ACK包,然后向服务器端发送确认包 ack=y+1, seq=x+1, ACK=1,客户端和服务器端进入ESTABLISHED状态,完成三次握手。

具体图示如下:

技术分享

 

需要三次握手的原因:客户端发送第一次握手报文给服务器,此报文在网络的某个节点滞留时间比较长,长到客户端通过再次握手已经和服务器建立连接并且通信结束断开连接了,如果服务器只接收到第一次握手报文就和客户端建立连接,前面描述的情况服务器就会以为有客户端和它建立连接,实则不然。

TCP三次握手

标签:strong   log   16px   状态   font   png   技术   seq   通信   

原文地址:http://www.cnblogs.com/god-of-death/p/7061984.html

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