首页 > 其他 > 详细

三次握手

时间:2019-03-30 15:29:09      阅读:149      评论:0      收藏:0      [点我收藏+]

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据.

 

若采用二次连接不行:

用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。

失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又又一次向主机B发送连接请求。且建立成功。顺序完毕传输数据。考虑这样一种特殊情况。主机A第一次发送的连接请求并没有丢失,而是由于网络节点导致延迟达到主机B。主机B以为是主机A又发起的新连接,于是主机B允许连接。并向主机A发回确认,可是此时主机A根本不会理会,主机B就一直在等待主机A发送数据。导致主机B的资源浪费。

三次握手

原文:https://www.cnblogs.com/girl1314/p/10627414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!