请简述 TCP 的三次握手和四次挥手过程。
TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
三次握手过程
首先,客户端想要建立连接,会发送一个带有 SYN(同步序列号)标志的 TCP 报文段,这个报文段中还包含一个初始序列号(ISN,Initial Sequence Number),比如序列号为 x,此时客户端进入 SYN_SENT 状态。这一步就像是客户端在说:“我想和你建立连接啦。”
然后,服务器收到这个 SYN 报文段后,会返回一个 SYN - ACK 报文段。这个报文段有两个重要部分,一是自己的 SYN 标志(也有一个初始序列号,假设为 y),表示服务器也同意建立连接;二是对客户端 SYN 的确认 ACK,确认号为 x + 1,表示已经收到客户端的序列号为 x 的报文段并且期望下一个收到的是 x + 1 序列号的报文段,此时服务器进入 SYN_RCVD 状态。这就好比服务器回应:“好呀,我也想和你连接,并且我收到你的消息啦,希望下一个收到的是 x + 1。”
最后,客户端收到服务器的 S