连接
2024年11月08日
一、认识
TCP
三次握手: 在建立 TCP
连接时,我们采用三次握手机制。首先,客户端发送一个 SYN
包,携带一个随机序列号,表明要建立连接;随后,服务器收到该请求后,回复一个 SYN-ACK
包,既确认了客户端的请求,又发送了自己的初始序列号;最后,客户端发送 ACK
包,确认服务器的响应后,连接正式建立。这样确保了双方都同步了初始序列号,保证了后续数据传输的顺序和完整性
TCP
四次挥手: 断开连接时,由于 TCP
是全双工通信,需要分别关闭发送和接收通道,所以采用四次挥手机制。首先,主动关闭的一方发送 FIN
表示不再发送数据;对方收到后发送 ACK
确认; 待对方也完成数据发送后,再发送 FIN
; 最后,主动关闭的一方发送 ACK
, 完成连接的彻底关闭。TIME_WAIT
状态进一步确保最后的 ACK
能被对方可靠接收,避免潜在的旧数据包干扰下一次连接。
二、问题
2.1 请描述 TPC 三次握手和四次挥手?
同上
2.2 为什么需要第三次握手,没有第三次握手会有什么问题吗?
三次握手确保了双方都能接收到彼此的同步信号, 三次握手虽然增加了一次往返延时, 但这是确保可靠连接的必要代价。