44. 三次握手详解
- 客户端发送 SYN 报文;
- 服务端收到后回复 SYN+ACK;
- 客户端收到后再发 ACK 报文,连接建立。三次握手防止历史报文误连接,确保双方收发能力正常。
45. 四次挥手详解
- 客户端发送 FIN 表示断开;
- 服务端 ACK 应答;
- 服务端准备好后发送 FIN;
- 客户端 ACK 确认并等待一段时间(TIME_WAIT)。四次确保双方都能完整关闭连接。
46. TIME_WAIT 状态意义
TIME_WAIT 状态用于保证:1)旧连接的数据包不会影响新连接;2)确保最后 ACK 报文可达。持续时间为 2 倍最大报文生命周期(MSL)。避免过多 TIME_WAIT 占用资源可通过端口重用。
47. TCP 与 UDP 区别
TCP 面向连接、可靠传输、有序交付,适用于要求高可靠性场景(如 HTTP);UDP 面向无连接、无确认、快速但不可靠,适用于实时通信(如 DNS、视频会议)。
48. TCP 如何保证可靠性
TCP 采用:1)序列号/确认号确保有序;2)ACK 确认机制;3)超时重传机制;4)滑动窗口与流量控制;5)校验和保证数据完整性。
49. TCP 中的 RTT 与 RTO
RTT(往返时延)用于估算超时重传时间 RTO。TCP 根据实际 RTT 动态调整 RTO,避免误重传。RTO 过小易引发重传风暴,过大则影响性能。