当前位置: 首页 > news >正文

TCP三次握手与四次挥手过程

tcp三次握手四次挥手过程

首先,根据tcp的报文格式,理解几个术语的含义:
image

ACK (Acknowledgment)
全称:Acknowledgment(确认)
含义:
ACK=1:这是一个标志位(Flag)。当它被置为1时,表示这个数据包是一个“确认包”,用来告诉对方“我收到了你的消息”。
ack=数字:这是一个字段(Field)。它表示“我期望收到你下一次发送的数据,其序号是多少”。例如,你发给我seq=100,我回复ack=101,意思是“我收到了100,请发101给我”。

SYN (Synchronize)
全称:Synchronize(同步)
含义:
SYN=1:这是一个标志位。当它被置为1时,表示这是一个“请求建立连接”的包,目的是同步双方的初始序号。

FIN (Finish)
全称:Finish(结束)
含义:
FIN=1:这是一个标志位。当它被置为1时,表示“我的数据发完了,请求关闭连接”。

seq (Sequence Number)
全称:Sequence Number(序列号)
含义:
这是一个字段。它表示当前数据包的第一个字节的编号。
作用:TCP为了保证数据不乱序、不丢失,给每个字节都编了号。seq就是告诉对方“我这次发的数据是从第几号开始的”。

客户端向服务端发送请求,请求建立连接,发送SYN=1,表示请求建立连接,seq=x,表示客户端随机生成一个32位初始序列号为x,(第一次握手)。

服务端收到请求后,会响应请求,向客户端发送ACK=1,表示确认收到消息,ack=x+1,表示希望下一次收到的序列号是x+1,SYN=1,表示同意建立连接,seq=y,表示服务端随机生成的32位初始序列号为y,(第二次握手)。

客户端收到消息后,向服务端发送ACK=1,表示确认收到消息,seq=x+1,第一次握手消耗了一个序列号,ack=y+1,表示希望下一次收到的序列号是y+1,(第三次握手)。

至此,三次握手完成,连接建立。

为什么需要三次握手而不是两次握手,因为如果只有两次握手,那么服务端就不清楚客户端能不能收到自己发送的消息,这种状态也叫做半连接状态,三次握手也是为了防止已经失效的报文段突然传送到服务端。

当消息发送完成,需要断开连接时,客户端发送断开请求,FIN=1,表示请求断开连接,seq=z,表示当前32位序列号为z,(第一次挥手)。

服务端收到请求后,向服务端发送ACK=1,表示确认收到消息,ack=z+1,seq=t,此时客户端不能发送消息,服务端检查自己是否还有没发完的数据,(第二次挥手)。

服务端检查自己是否发送完消息,确定消息发送完成后,服务端向客户端发送SIN=1,表示可以断开连接,seq=t/w(可能因为发送数据而增长),表示当前32位序号为t,(第三次挥手)。

客户端收到后,发送ACK=1,ack=t+1/w+1,(第四次挥手)。

至此,四次挥手完成,连接断开。

为什么需要四次挥手,因为服务端收到请求断开的连接时,需要检查自己是否还有有消息发送,没有消息发送的话才能断开连接。

http://www.jsqmd.com/news/446505/

相关文章:

  • 2026年分析电子承兑汇票软件,杭州哪家口碑好、价格合理? - 工业品牌热点
  • 小白招生0到开单全流程(软件测试转行专属)
  • 超声波压电陶瓷学习资料推荐
  • 用 SqlOptTime trace 给 SAP HANA 查询编译慢做一次秒表级拆解
  • 从文件存储到数据库迁移:个人博客系统二次开发实战
  • 聊聊2026年全国行业影响力大的有机肥设备制造厂家哪家性价比高 - mypinpai
  • 2026年户外亮化灯具靠谱厂家盘点,个性化定制服务哪家强 - mypinpai
  • 4个小白易上手的获客渠道
  • 共话2026年浙江同步带厂家哪家性价比高 - 工业推荐榜
  • 深聊 2026年诚信的一站式招商外包企业,全国范围内如何选择 - 工业推荐榜
  • 2026年精致沐浴生活指南:五大沐浴露品牌选型实测与场景化适配推荐 - 品牌推荐
  • 【Linux】从零开始:编写你的第一个Linux进度条小程序
  • DOS的打开以及一些常用命令的学习
  • 2026年沐浴露品牌深度测评:基于成分功效与香氛体验的五维解析 - 品牌推荐
  • 沐浴体验升级趋势洞察:2026年主流沐浴露品牌竞争力与行业格局解析 - 品牌推荐
  • 用一份 Trace 把编译时间“照亮”:SAP HANA SQL Optimization Time Trace 深度解析与实战调优
  • 02 Nginx背景介绍
  • 2026年用户口碑实证沐浴露品牌推荐:五款真实评价与留香效果全面对比 - 品牌推荐
  • 在 SAP HANA 里把多列索引用明白:Inverted Value、Inverted Hash 与 Inverted Individual 的取舍之道
  • 在 SAP HANA 里驯服 Cyclic Joins:为什么会变慢、执行计划怎么看、模型与 Hint 怎么选
  • 2026年数字营销服务商多维评测:优优推等机构实战能力拆解 - 品牌推荐
  • 2026年家庭沐浴必看指南:五大沐浴露品牌选型实测与精准适配场景 - 品牌推荐
  • 2026年数字营销服务商深度测评:五维能力拆解与实战效果对比 - 品牌推荐
  • 2026年沐浴露品牌深度测评:基于核心成分与香氛体验的五维战力全解析 - 品牌推荐
  • 2026最全网络安全工程师面试题(附答案),金三银四找工作必看!
  • 2026年用户口碑实证:五大沐浴露品牌真实评价与香氛持久度全面对比 - 品牌推荐
  • 基于SSM+VUE的校园快递外卖代取小程序[java]-计算机毕业设计源码+LW文档
  • 2026年企业营销必看:优优推选型指南与三大核心服务场景适配分析 - 品牌推荐
  • 美团购物卡总过期?教你安心回收,价值不打折 - 可可收
  • 2026年AI推广公司运营靠谱排名,太原豆包AI推广搜索运营公司怎么选 - 工业设备