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

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

3天内不再提示

TCP四次挥手的过程与状态

冬至子 来源:清菡软件测试 作者:清菡 2023-07-10 16:25 次阅读

一、TCP四次挥手的例子

图片

男生女生建立恋爱关系,一段时间后,他们要分手了。

1.男生:请求分手:我想跟你分手了,可以么?

2.女生收到了消息,发一个确认消息:我收到了你的消息,我同意跟你分手。

3.女生还要继续发一个消息,请求分手:我也想跟你分手。

4.男生确认消息:我也收到分手消息,就分手。

这样他们两个之间就没有什么关系。这样一个过程同样像极了TCP要断开连接的过程。

二、TCP四次挥手的过程

图片

客户端和服务端正在进行消息的发送。直到有一方消息发送完毕,发一个FIN包,表示我的报文发送完毕了。我想释放连接,主动发了一个释放连接的请求。

**客户端向服务器端主动发了一个释放连接的请求:标志位FIN=1;seq=n** (这几个标志位里面哪个位置会被标志为1呢?要发一个FIN包,FIN位要被标记为1。每个包都有序号,这个包的序号是seq=n,请求发给了服务器。)

发给服务器后,服务器回复一个确认包,确认消息:标志位ACK=1;ack(确认号)=n+1;(n指的是上面收到包的序号。)

**我收到了你这个释放连接的请求,我也同意。我也要发一个主动请求释放连接的报文:标志位FIN=1;seq=m**

客户端要进行一个确认消息:标志位ACK=1;ack(确认号)=m+1 (ACK位要置1。这个确认号是对要求请求释放连接的一个确认,所以确认号等于上一个包的序号加一。)

TCP四次挥手的过程就完成了。

三、TCP四次挥手的状态

图片

1.刚开始是建立连接的状态。发送报文,直到客户端发送完毕了想释放连接。所以发了个FIN包过去给服务端。

2.客户端就进入等待对方给我一个确认的状态,服务端收到FIN之后给它进行了一个回应。发送了一个ack的确认包。发完确认包,就进入已经知道这个连接应该会被断开的状态,就是等待连接关闭的一个状态。

3.客户端再次进入等待服务端给我发FIN包。服务端发完ack和FIN,也要释放连接。告诉客户端之后,就进入最后等待的时间。最后等待客户端给我发确认包。

4.客户端收到了服务器发的FIN之后,就会发一个ack包回去,之后自己就进入等待一定的时间之后再去关闭。服务器这边一旦收到客户端的确认消息,立马进入关闭状态。

5.客户端这边发完ack之后,等待一定的时间,确认服务器这边已经收到我的消息并且关闭之后,我再去关闭就可以了。

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

    关注

    0

    文章

    145

    浏览量

    4138
收藏 人收藏

    评论

    相关推荐

    讲一讲的TCP三次握手和四次挥手

    如果你学过网络基础知识,那么你一定对TCP三次握手不陌生。今天我想用通俗的话来给大家讲一讲TCP三次握手和四次挥手。毕竟,这个知识点在面试时被问到的概率很高!
    的头像 发表于 02-03 10:43 2379次阅读
    讲一讲的<b class='flag-5'>TCP</b>三次握手和<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>

    tcp协议四次挥手过程及原因

    TCP协议致力于可靠的数据传输,即使在连接关闭时也不例外。在关闭连接之前,双方需要确保对方已经接收到了所有的数据,以避免数据丢失或不完整。
    的头像 发表于 02-03 16:51 1326次阅读
    <b class='flag-5'>tcp</b>协议<b class='flag-5'>四次</b><b class='flag-5'>挥手</b><b class='flag-5'>过程</b>及原因

    同一单脉冲四次采样问题

    对单脉冲四次采样,第一采样的时间是当脉冲到来时就采样,第二采样的时间是当第二脉冲到来时要延时一个时钟周期,第三采样的时间是第三个脉冲
    发表于 10-08 15:46

    TCP恋爱史:三握手和四次分手

    ,心想:我他妈又没要链接,你返回这个是不是疯了。于是不置一词。服务器过一段时间还没有收到第三握手的数据,知道客户端并没有要求建立链接的请求,含泪离开。然后是四次分手:现在双方的状态都是
    发表于 09-28 10:07

    这样讲TCP的恋爱和分手大家都懂了

    Client与Server之间可以开始传输数据了。▪ 四次挥手握手耳熟能详,四次挥手估计就{:9:},所谓
    发表于 07-25 14:47

    分享个讲解TCP的,很好懂

    挥手握手耳熟能详,四次挥手估计就 ,所谓四次挥手(Four-Way Wavehand)即终止
    发表于 07-25 20:04

    握手,四次挥手你懂吗

    程序员面试被问到“三握手,四次挥手”怎么办?
    发表于 04-08 07:23

    TCP三次握手过程四次挥手过程说明

    连接 三次握手过程说明: 1. 由客户端发送建立 TCP 连接的请求报文,其中报文中包含 seq 序列号,是由发送端随机生成的,并且将报文中的 SYN 字段置为 1,表示需要建立 TCP 连接
    的头像 发表于 03-01 12:00 3943次阅读

    TCP三次握手和四次挥手以及11种状态资料下载

    电子发烧友网为你提供TCP三次握手和四次挥手以及11种状态资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可
    发表于 04-15 08:41 2次下载
    <b class='flag-5'>TCP</b>三次握手和<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>以及11种<b class='flag-5'>状态</b>资料下载

    TCP三次握手和四次挥手过程中的异常情况

    TCP 三次握手和四次挥手过程中,途中某一步的报文丢失了,会发生什么?
    的头像 发表于 09-05 10:23 957次阅读

    TCP建立连接概述及三次握手、四次挥手的流程

    具备上述四个条件后A获取B的信息是有要求的,根本上的要求是数据信道可靠,就是平时所说的可靠连接,那么如何保证连接的可靠性呢,TCP协议就是靠确认应答机制、超时重传机制等保证连接可靠性的,接下来就通过TCP协议的三次握手及四次(三
    的头像 发表于 03-23 15:57 769次阅读
    <b class='flag-5'>TCP</b>建立连接概述及三次握手、<b class='flag-5'>四次</b><b class='flag-5'>挥手</b>的流程

    TCP状态机设计与实现

    TCP状态机是TCP连接的变化过程TCP在三次握手和四次
    的头像 发表于 04-21 11:47 1150次阅读
    <b class='flag-5'>TCP</b><b class='flag-5'>状态</b>机设计与实现

    TCP通信过程详解

    握手的,而释放则需要4次挥手,所以说每个连接的建立都是需要资源消耗和时间消耗的 经典的三次握手示意图: 经典的四次挥手图: tcp的十种状态
    的头像 发表于 11-09 14:39 412次阅读
    <b class='flag-5'>TCP</b>通信<b class='flag-5'>过程</b>详解

    TCP四次挥手过程分析

    TCP 连接是全双工的,双方可以同时发送和接收数据。第一次客户端发送 FIN 报文后只表示它不再发送数据,但还是能接受数据。服务端接收到 FIN 报文,回一个 ACK 应答报文,这次服务端可以还有数据需要处理和发送,等它处理完成
    的头像 发表于 12-10 15:40 1669次阅读
    <b class='flag-5'>TCP</b><b class='flag-5'>四次</b><b class='flag-5'>挥手</b><b class='flag-5'>过程</b>分析

    说说TCP三次握手的过程?为什么是三次而不是两次、四次

    说说TCP三次握手的过程?为什么是三次而不是两次、四次TCP三次握手是建立TCP连接的过程
    的头像 发表于 02-04 11:03 228次阅读