TCP/IP协议中的三次握手
我们首先来了解一下TCP
TCP(Transmission Control Protocol,传输控制协议) 是一个面向连接的、可靠的、基于字节流的传输层通信协议。以下是 TCP 的一些主要特点:
面向连接:在数据传输之前,TCP 必须先建立连接(三次握手),在数据传输结束后,还要终止这个连接(四次挥手)。
可靠性:TCP 通过序列号、确认和重传机制来确保数据的可靠传输。如果数据包在传输过程中丢失或损坏,接收方会请求发送方重传该数据包。
流量控制:TCP 使用滑动窗口机制来实现流量控制,确保发送方不会发送过多的数据,以至于接收方无法处理。
拥塞控制:TCP 通过慢开始、拥塞避免、快重传和快恢复等算法来避免网络拥塞。
全双工通信:TCP 允许通信双方的应用程序在任何时候都能发送和接收数据。
TCP 的三次握手机制
- 最开始,客户端和服务端都处于CLOSE状态,服务端监听客户端的请求,进入LISTEN状态
- 客户端端发送连接请求, 第一次握手 (SYN=1, seq=x),发送完毕后,客户端就进入 SYN_SENT 状态服务端确认连接, 第二次握手 (SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送完毕后,服务器端就进入 SYN_RCV 状态