TCP为什么进行三次握手?为什么两次、四次握手不可以?

TCP 三次握手的过程掌握最重要的两点就是客户端和服务端状态的变化,另一个是三次握手过程标志信息的变化,那么掌握 TCP 的三次握手就简单多了。下面就以动画形式进行拆解三次握手过程。

TCP为什么进行三次握手?为什么两次、四次握手不可以?_第1张图片

初始状态:客户端处于 closed(关闭)状态,服务器处于 listen(监听) 状态。TCP为什么进行三次握手?为什么两次、四次握手不可以?_第2张图片

第一次握手:客户端发送请求报文将 SYN = 1同步序列号和初始化序列号seq = x发送给服务端,发送完之后客户端处于SYN_Send状态。TCP为什么进行三次握手?为什么两次、四次握手不可以?_第3张图片

第二次握手:服务端受到 SYN 请求报文之后,如果同意连接,会以自己的同步序列号SYN(服务端) = 1、初始化序列号 seq = y和确认序列号(期望下次收到的数据包)ack = x+ 1 以及确认号ACK = 1报文作为应答,服务器为SYN_Receive状态。TCP为什么进行三次握手?为什么两次、四次握手不可以?_第4张图片

第三次握手: 客户端接收到服务端的 SYN + ACK之后,知道可以下次可以发送了下一序列的数据包了,然后发送同步序列号 ack = y + 1和数据包的序列号 seq = x + 1以及确认号ACK = 1确认包作为应答,客户端转为established状态。TCP为什么进行三次握手?为什么两次、四次握手不可以?_第5张图片

 

 

你可能感兴趣的:(计算机网络)