去哪儿Android面试题及参考答案
TCP 的三次握手与四次挥手过程是什么?
TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议 ,三次握手和四次挥手是其建立连接和断开连接的重要过程。
-
三次握手过程
- 第一次握手:客户端向服务器发送一个 SYN(同步序列号)包,其中包含客户端随机生成的初始序列号(ISN),此时客户端进入 SYN_SENT 状态,表示客户端希望与服务器建立连接。例如,客户端发送 SYN 包,序列号为 100,标志位 SYN=1。
- 第二次握手:服务器收到客户端的 SYN 包后,会返回一个 SYN/ACK 包。这个包中,服务器会将客户端的 ISN 加 1 作为确认号 ACK 的值,表示对客户端的 SYN 的确认;同时,服务器也会随机生成自己的初始序列号,并将其放在 SYN 字段中,此时服务器进入 SYN_RCVD 状态。比如,服务器返回的 SYN/ACK 包,确认号 ACK=101,SYN=200。
- 第三次握手:客户端收到服务器的