计算机网络的学习中,TCP的三次握手和四次挥手可谓是一个不得不提到的知识点,
什么叫三次握手?
专业一点:
通俗一点:
TCP握手协议
在TCP/IP协议中,TCP协议提供du可靠的连接服务zhi,采用三次握手建立一dao个连接。
第一内次握手:建立连容接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
SYN: 同步序列编号(Synchronize Sequence Numbers)
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据
三次握手”的必要性:
现假定出现一种异常情况,即A发出的第一个连接请求报文到并没有丢失,而是因为某些网络节点长时间滞留了,以致延误到连接释放后的某个时间才到达B(这时A与B连接已经成功)。
本以为这是个已失效的报文段。但是B收到此“已失效的报文段”后,就误以为A又发出一次新的连接请求。于是就向A发出确认报文段,同意建立连接。
由于现在A并没有再次向B发出建立请求的连接,因此就不会理会B,也不会向B发送数据。但是B却一直等待A发来数据。这样就会浪费B的资源利用。
采用“三次握手”的方法可以防止上述现象的发生。如上述的假定情况,A不会向B发送确认信息。B由于收不到确认,就知道A并没有要求建立连接