TCP协议的三次握手和四次挥手

一、 三次握手:

1.三次握手粗解:
三次握手就是客户端和服务器进行通信时会有三次交流,进行三次握手时侯发送的时值
2.三次握手过程:

客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。
3.数据传输

每传递一次消息,服务端都会告诉客户端说收到消息了。这样确保数据不会丢失。因此我们 说TCP是可靠地面向连接(连接一直连着)的传输协议
4.三次握手图解:
TCP协议的三次握手和四次挥手

二、四次挥手:

**1.**建立一个连接需要三次握手,而终止一个连接要经过四次挥手。
(1) 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP 于是发送一个FIN分节,表示数据发送完毕。
(2) 接收到这个FIN的对端执行 “被动关闭”(passive close),这个FIN由TCP确认。
注意: FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排 队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相 应连接上再无额外数据可接收。
(3) 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致 它的TCP也发送一个FIN。
(4) 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。
2.四次挥手图解:
TCP协议的三次握手和四次挥手

三、三次握手与四次挥手图解:

TCP协议的三次握手和四次挥手