TCP四次挥手的过程与状态

感知论坛 20230709

  • 网络通信

一、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之后,等待一定的时间,确认服务器这边已经收到我的消息并且关闭之后,我再去关闭就可以了。

查看全文

点赞

感知论坛

作者最近更新

  • 为什么自动驾驶感知系统一定要注意时间同步?
    感知论坛
    5小时前
  • 明治传感(AKUSENSE)新加坡/越南交付中心新址启用
    感知论坛
    1天前
  • 高精度称重传感器低噪声放大电路在海绵密度测试仪中的设计
    感知论坛
    2天前

期刊订阅

相关推荐

  • 工信部:加快提升2020年IIPv6端到端贯通能力

    2020-03-24

  • Taas Labs中国国际汽车以太网峰会将于6月在上海开幕

    2020-04-14

  • 中国长城特种计算机研发中心在长沙高新区揭牌成立

    2020-11-02

  • 福建通信管理局等三部门召开IPv6流量提升工作会议

    2022-03-04

评论0条评论

×
私信给感知论坛

点击打开传感搜小程序 - 速览海量产品,精准对接供需

  • 收藏

  • 评论

  • 点赞

  • 分享

收藏文章×

已选择0个收藏夹

新建收藏夹
完成
创建收藏夹 ×
取消 保存

1.点击右上角

2.分享到“朋友圈”或“发送给好友”

×

微信扫一扫,分享到朋友圈

推荐使用浏览器内置分享功能

×

关注微信订阅号

关注微信订阅号,了解更多传感器动态

  • #{faceHtml}

    #{user_name}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 查看评论 回复

    共#{comment_count}条评论

    加载更多

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} #{reback} 回复

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 回复

  • 关闭
      广告