0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TCP四次挥手过程分析

马哥Linux运维 来源:马哥Linux运维 2023-12-10 15:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

TCP 四次挥手是为了关闭链接,TCP 连接是全双工的,因此每个方向都必须单独关闭,双方都可以主动关闭链接,首先发起关闭的一方执行主动关闭,而另一方执行被动关闭,关闭之后主机的资源将被释放。

四次挥手的过程如下:

b252de2e-9685-11ee-8b88-92fbcf53809c.jpg

第一次挥手:客户端发送一个 FIN=1,sep=u 的报文告诉服务器它打算关闭连接,不再发送数据,但可以接收数据,报文发出之后客户端将连接的状态变为 FIN_WAIT_1第二次挥手:服务端接收到客户端的 FIN 报文之后,返回一个 ACK=1,sep=v,ACKnum=u+1 的应答报文,接着服务端进入 CLOSE_WAIT 状态。客户端接收到服务端的 ACK 应答报文后进入 FIN_WAIT_2 状态第三次挥手:服务器处理完数据之后,向客户端发送 FIN 报文,表明它不再发送数据,接着服务端进入 LAST_ACK 状态。第四次挥手:客户端接收到 FIN 报文后,向服务端发送 ACK 应答报文,接着客户端进入 TIME_WAIT 状态,等待 2MSL 一段时间后客户端自动进入 CLOSED 状态,服务器收到 ACK 应答报文后进入 CLOSED 状态。

为什么挥手需要四次?

TCP 连接是全双工的,双方可以同时发送和接收数据。第一次客户端发送 FIN 报文后只表示它不再发送数据,但还是能接受数据。服务端接收到 FIN 报文,回一个 ACK 应答报文,这次服务端可以还有数据需要处理和发送,等它处理完成,发送一个 FIN 报文表示不再发送数据,客户端再回一个 ACK 应答报文。由于服务端处理数据需要时间,因此服务端的 ACK 和 FIN 报文是发送的,所以需要四次挥手。

TCP 四次挥手可以变成三次挥手吗?

如果被动关闭方没有数据需要发送,并且开启了TCP 延迟确认机制,那么第二次和第三次挥手就会合并传输,四次挥手变成三次挥手。

为什么主动关闭方需要等待 2MSL 后才关闭连接

MSL 是报文的最大生存时间,它是任何报文在网络上存在的最大时间,超过这个时间报文将丢失。如果第四次挥手的 ACK 报文丢失,被动关闭方将重发 FIN 报文,主动关闭方的 TIME_WAIT 时间为 2MSL 表示允许第四次挥手的 ACK 报文丢失一次

为什么主动关闭方需要 TIME_WAIT 状态

防止历史连接中的数据被后续相同四元组连接错误的接收:TIME_WAIT 设置成 2MSL 可以保证两个方向上发送的数据都能被丢失。

确保被动关闭方能正常关闭。

四元组指的是:目的地址、目的端口、源地址和源端口。通过四元组可以唯一确定一个连接。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    14

    文章

    10371

    浏览量

    91768
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1434

    浏览量

    83782
  • 端口
    +关注

    关注

    4

    文章

    1110

    浏览量

    34052

原文标题:TCP 四次挥手过程分析

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么理解TCP握手和四次挥手

    作为运维工程师,无论是排查网络故障、分析日志,还是配置负载均衡器,都需要对 TCP 协议有深入理解。很多"疑难杂症"的根源,往往在于对 TCP 状态转换和连接管理理解不够透彻。
    的头像 发表于 04-10 16:42 815次阅读

    TCP/IP(Socket)协议深度剖析

    TCP/IP协议作为互联网通信的基础架构,其核心机制Socket编程承载着全球数据交换的使命。本文将深入剖析这一协议的七层架构、三握手与四次挥手的精妙设计、流量控制与拥塞控制的动态平
    的头像 发表于 03-03 17:06 816次阅读

    TCP握手与四次挥手的详细过程

    TCP握手和四次挥手,大概是网络领域被问烂了的面试题。但真正能把状态变迁、序列号变化、抓包细节讲清楚的人并不多。很多人背了八股文,一到生产环境看 Wireshark 抓包就懵了
    的头像 发表于 02-25 10:38 454次阅读

    兆芯助力上海市政协十四届四次会议顺利举办

    2月2日至5日,中国人民政治协商会议上海市第十四届委员会第四次会议顺利召开。来自全市各界的政协委员齐聚一堂,聚焦深化“五个中心”建设、加快建成具有世界影响力的社会主义现代化国际大都市,积极建真言、献良策、出实招,共绘城市发展新蓝图。
    的头像 发表于 02-24 16:35 673次阅读

    RDMA设计43:队列删除及连接断开功能测试

    在接收到正确的删除队列请求后,首先进入连接断开流程,即四次挥手断链,如图中红框部分。随后进行队列删除操作。返回队列操作状态 0x2b,符合设计预期,验证通过。
    的头像 发表于 02-24 07:50 663次阅读
    RDMA设计43:队列删除及连接断开功能测试

    RDMA设计21:连接管理模块设计

    至 CONNECT 状态,创建连接流程类似 TCP/IP 三握手流程;如果为断开连接则跳转至 DISCONNECT 状态,断开连接流程类似 TCP/IP 四次
    发表于 01-12 11:03

    RDMA设计14:连接管理模块设计

    至 CONNECT 状态,创建连接流程类似 TCP/IP 三握手流程;如果为断开连接则跳转至 DISCONNECT 状态,断开连接流程类似 TCP/IP 四次
    发表于 12-30 16:51

    车间协议战争调停者:记一MODBUS TCP与PROFIBUS的融合实战

     车间协议战争调停者:记一MODBUS TCP与PROFIBUS的融合实战 去年,我们团队接到一个改造项目:一家大型锂电池制造厂希望整合其新旧设备的数据流。工厂情况很典型——新建的MES系统
    的头像 发表于 12-22 14:10 304次阅读
    车间协议战争调停者:记一<b class='flag-5'>次</b>MODBUS <b class='flag-5'>TCP</b>与PROFIBUS的融合实战

    回溯示波器的四次认知跃迁

    工程师“第三只眼”的仪器,究竟走过了怎样波澜壮阔的百年历程?它如何从一根阴极射线管,进化成如今能“读懂”电路故障的AI诊断官?今天,我们就拨开流量的迷雾,回溯示波器的四次认知跃迁,看看它如何一步步塑造了现代电子世界。
    的头像 发表于 12-19 15:39 6837次阅读
    回溯示波器的<b class='flag-5'>四次</b>认知跃迁

    TCP和UDP的区别

    相比,TCP 有三大核心特性: 1、面向连接。所谓的连接,指的是客户端和服务器的连接,在双方互相通信之前,TCP 需要三握手建立连接,而 UDP 没有相应建立连接的过程。 2、
    发表于 12-09 07:24

    224G高速铜缆技术系列标准第四次会议:行业共商,推动高速传输标准化进程

    2025年9月17日,广东省电线电缆行业协会联合广东省连接器协会,于广东成功举办了224G高速铜缆技术系列团体标准第四次工作会议。此次会议意义重大,吸引了众多行业内具有影响力的企业与权威机构参与
    的头像 发表于 09-26 10:50 1090次阅读
    224G高速铜缆技术系列标准第<b class='flag-5'>四次</b>会议:行业共商,推动高速传输标准化进程

    XenG202G | 挥手手势识别参考设计(三维)

    WEMAKERFSMART-赋予万物感知的灵魂-矽典微ICLEGENDMICROXenG202G挥手手势识别(三维)毫米波传感器特征手势识别:非接触式控制,高精度手势动作识别,支持方向识别、滑动
    的头像 发表于 08-29 08:25 875次阅读
    XenG202G | <b class='flag-5'>挥手</b>手势识别参考设计(三维)

    中微公司第四次蝉联客户满意度调查三冠王

    ”,上交所股票代码:688012)第四次荣获三冠王。今年5月,CSS公布了主要排名结果,此次白皮书披露了更多关于满意度调查的数据。
    的头像 发表于 07-21 14:39 1571次阅读

    工业4.0:第四次工业革命的机遇与挑战

    工业4.0是近年来全球制造业领域最受关注的概念之一,它代表了以智能化、数字化和网络化为核心的第四次工业革命。这一概念最早由德国政府提出,旨在通过先进信息技术与制造业的深度融合,实现生产效率的大幅提升
    的头像 发表于 07-18 16:54 1320次阅读

    晶体管架构的演变过程

    芯片制程从微米级进入2纳米时代,晶体管架构经历了从 Planar FET 到 MBCFET的四次关键演变。这不仅仅是形状的变化,更是一次次对物理极限的挑战。从平面晶体管到MBCFET,每一架构演进到底解决了哪些物理瓶颈呢?
    的头像 发表于 07-08 16:28 2532次阅读
    晶体管架构的演变<b class='flag-5'>过程</b>