Skip to content

计算机网络面试题

TCP 三次握手的流程是什么?

  1. 客户端发送 SYN,携带初始序列号,进入 SYN-SENT 状态。
  2. 服务端收到后返回 SYN + ACK,确认客户端序列号并携带自己的初始序列号,进入 SYN-RECEIVED 状态。
  3. 客户端返回 ACK;服务端收到确认后,双方进入 ESTABLISHED 状态。

三次交互既要确认双方的发送和接收能力,也要同步两个方向的初始序列号。两次握手无法让服务端确认客户端已经收到了服务端的序列号。

TCP 四次挥手的流程是什么?

  1. 主动关闭方发送 FIN,表示不再发送数据。
  2. 被动关闭方返回 ACK;此时它仍可以发送尚未处理完的数据。
  3. 被动关闭方处理完成后发送自己的 FIN
  4. 主动关闭方返回 ACK,并进入 TIME-WAIT;等待一段时间后关闭连接。

TCP 是全双工协议,两个方向需要分别关闭,因此通常需要四次交互。TIME-WAIT 可以确保最后一个确认有机会重传,并避免旧连接中的报文影响同一四元组的新连接。

基于 MIT 许可发布