扫码阅读
手机扫码阅读

通俗易懂理解三次握手、四次挥手(TCP)

295 2024-08-23

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:通俗易懂理解三次握手、四次挥手(TCP)
文章来源:
热爱技术的小郑
扫码关注公众号
HTTP 短连接和长连接的摘要

HTTP 短连接和长连接的摘要

HTTP 短连接和长连接在建立和关闭连接时均采用 TCP 的三次握手和四次挥手模型。短连接对每个请求/响应都建立新的 TCP 连接并在完成后关闭它。相比之下,长连接可以在同一个 TCP 连接中传输多个请求和响应,并保持开放直到主动关闭。

1.1 三次握手

三次握手包括:客户端询问服务器是否可建立连接,服务器确认并询问客户端是否确定,客户端再次确认后建立连接。三次握手确保双方接收和发送能力正常。两次握手无法确认客户端的接收能力,故不足以建立稳定连接。

1.2 四次挥手

四次挥手涉及客户端通知服务器数据传输完成并请求断开,服务器确认但要继续发送数据,数据发送完成后服务器通知客户端可以断开,客户端确认后关闭连接。四次挥手确保服务器能发送完所有数据。

进一步理解三次握手和四次挥手

2.1 三次握手

三次握手的过程涉及状态变化:客户端从 CLOSED 状态发起 SYN 报文,进入 SYN_Send 状态;服务端从 listen 状态收到 SYN 报文后,应答 SYN+ACK 报文,进入 SYN_REVD 状态;客户端回应 ACK 报文后,双方均进入 ESTABLISHED 状态,完成连接建立。

2.2 四次挥手

四次挥手的过程也涉及状态变化:客户端发送 FIN 报文,进入 FIN_WAIT1 状态;服务端应答 ACK 报文,进入 CLOSE_WAIT 状态;服务端发送 FIN 报文,进入 LAST_ACK 状态;客户端应答 ACK 报文,进入 TIME_WAIT 状态,等待确保服务器收到 ACK 报文后进入 CLOSED 状态。

TIME_WAIT 状态是确保服务器收到 ACK 报文,如果未收到,客户端能重新发送 ACK 应对服务器的重发 FIN 报文。TIME_WAIT 持续时间至少为一个报文往返时间。

想要了解更多内容?

查看原文:通俗易懂理解三次握手、四次挥手(TCP)
文章来源:
热爱技术的小郑
扫码关注公众号

CSDN 2022博客之星后端领域TOP 1;专家博主官方认证;全网10W+粉丝;主要用公众号分享纯干货知识,前沿技术、实战项目开发经验、优秀项目源码案例等。我坚信总有一篇文章对你有用

88 篇文章
浏览 18.6K
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线