面试官:你说一下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。

🏷️

标签

➡️

继续阅读