面试官:你说一下TCP为什么需要三次握手和四次挥手?
原文中文,约1600字,阅读约需4分钟。
📝
内容提要
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP连接需要三次握手建立连接,四次挥手关闭连接。三次握手是为了防止已失效的连接请求传送到服务端。四次挥手是因为TCP连接是全双工的,需要单独关闭每个方向上的连接。
🎯
关键要点
-
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。
-
TCP连接需要三次握手建立,四次挥手关闭。
-
三次握手的过程包括客户端发送SYN、服务器发送SYN+ACK、客户端发送ACK。
-
三次握手的目的是防止已失效的连接请求导致错误。
-
四次挥手的过程包括客户端发送FIN、服务器发送ACK、服务器发送FIN、客户端发送ACK。
-
四次挥手是因为TCP连接是全双工的,每个方向都需要单独关闭。
-
关闭一个方向上的连接需要一次请求和一次确认,因此需要四次请求。
❓
延伸问答
TCP协议的三次握手过程是怎样的?
三次握手过程包括:客户端发送SYN,服务器发送SYN+ACK,客户端发送ACK,最终建立连接。
为什么TCP需要三次握手而不是两次?
三次握手防止已失效的连接请求导致错误,避免出现客户端和服务器对连接状态的不一致。
TCP连接的四次挥手过程是怎样的?
四次挥手过程包括:客户端发送FIN,服务器发送ACK,服务器发送FIN,客户端发送ACK,最终关闭连接。
为什么TCP需要四次挥手而不是三次?
因为TCP是全双工的,每个方向的连接都需要单独关闭,因此需要四次请求。
TCP协议的特点是什么?
TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。
在TCP的三次握手中,客户端和服务器的状态变化是怎样的?
客户端从CLOSED到SYN_SENT,再到ESTABLISHED;服务器从LISTEN到SYN_RCVD,再到ESTABLISHED。
🏷️