计算机网络面试题
TCP 三次握手的流程是什么?
- 客户端发送
SYN,携带初始序列号,进入SYN-SENT状态。 - 服务端收到后返回
SYN + ACK,确认客户端序列号并携带自己的初始序列号,进入SYN-RECEIVED状态。 - 客户端返回
ACK;服务端收到确认后,双方进入ESTABLISHED状态。
三次交互既要确认双方的发送和接收能力,也要同步两个方向的初始序列号。两次握手无法让服务端确认客户端已经收到了服务端的序列号。
TCP 四次挥手的流程是什么?
- 主动关闭方发送
FIN,表示不再发送数据。 - 被动关闭方返回
ACK;此时它仍可以发送尚未处理完的数据。 - 被动关闭方处理完成后发送自己的
FIN。 - 主动关闭方返回
ACK,并进入TIME-WAIT;等待一段时间后关闭连接。
TCP 是全双工协议,两个方向需要分别关闭,因此通常需要四次交互。TIME-WAIT 可以确保最后一个确认有机会重传,并避免旧连接中的报文影响同一四元组的新连接。