TCP的三次握⼿与四次挥⼿过程,各个状态名称与含义,TIMEWAIT的作⽤

浏览量:1668
时间: 2024-01-30 15:45:20

三次握⼿

第⼀次握⼿:客户机⾸先向服务器的TCP发送⼀个连接请求报文段,这个特殊的报文段不含应⽤层数据, 其⾸部中同步位SYN被设置为1。另外,客户机会随机选择⼀个起始序号seq=x(连接请求报文不携带数 据,但要消耗⼀个序号).

第⼆次握⼿:服务器的TCP收到连接请求报文段后,如果同意建立连接,就向客户机发回确认,并为该TCP连接分配TCP缓存和变量。在确认报文段中,SYN和ACK位都被设置为1,确认号字段值为ack=x+1,并 且服务器随机产⽣起始序号seq=y. 确认包同样不包含应⽤层数据。

 第三次握⼿:当客户机收到确认报文段后,还要向服务器给出确认,并且也要给该连接分配缓存和变 量。这个报文段的确认为ACK被设置为1,序号段被设置为seq=x+1,确认号字段ack=y+1. 该报文段可以 携带数据,如果不携带数据则不消耗序号。 理想状态下,TCP连接⼀旦建立,在通信双⽅中的任何⼀⽅ 主动关闭连接之前,TCP 连接都将被⼀直保持下去。因为TCP提供全双⼯通信,因此双⽅任何时候都可以 发送数据。四次挥⼿第⼀次挥⼿:客户机打算关闭连接,就向其TCP发送⼀个连接释放报文,并停⽌再发送数据,主动关闭TCP连接。该报文段的FIN标志位被设置为1,seq=u,它等于前⾯已经发送过的数据的最后⼀个字节的序号 加1。第⼆次挥⼿:服务器收到连接释放报文段后即发出确认,确认号是ack=u+1,序号为v,等于它前⾯已经发 送过的数据的最后⼀个字节序号加1.此时客户机到服务器这个⽅向的连接就释放了,TCP处于半关闭状 态。ACK=1,seq=v,ack=u+1第三次挥⼿:若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时发出FIN=1,确认号ack= u+1,序号seq =w,已经发送过的数据最后⼀个字节加1。确认为ACK=1. (FIN = 1, ACK=1,seq = w, ack


四次挥⼿

第⼀次挥⼿:客户机打算关闭连接,就向其TCP发送⼀个连接释放报文,并停⽌再发送数据,主动关闭TCP连接。该报文段的FIN标志位被设置为1,seq=u,它等于前⾯已经发送过的数据的最后⼀个字节的序号 加1。

第⼆次挥⼿:服务器收到连接释放报文段后即发出确认,确认号是ack=u+1,序号为v,等于它前⾯已经发 送过的数据的最后⼀个字节序号加1.此时客户机到服务器这个⽅向的连接就释放了,TCP处于半关闭状 态。ACK=1,seq=v,ack=u+1

第三次挥⼿:若服务器已经没有要向客户机发送的数据,就通知TCP释放连接,此时发出FIN=1,确认号ack= u+1,序号seq =w,已经发送过的数据最后⼀个字节加1。确认为ACK=1. (FIN = 1, ACK=1,seq = w, ack=u+1) 

第四次挥⼿:客户机收到连接释放报文段后,必须发出确认。在确认报文段中,确认位ACK=1,序号seq=u+1,确认号ack=w+1. 此时连接还没有释放掉,必须经过实践等待计时器设置的时间2MSL(Max Segment Lifetime),后,客户机才进入连接关闭状态。 (ACK=1,seq=u+1,ack=w+1) 如下图所⽰: 

image.png

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
PCB热仿真怎么做与常见误区

分类:PCB仿真 经验级别:中级 难度:中等偏难 题型:技术论述题本文概述PCB热仿真是在产品设计阶段评估散热性能、提前发现热风险的重要手段。热仿真的核心流程包... 详情>>

2026-08-19 09:57:12
浪涌Surge怎么测试与整改?共模差模浪涌怎么防护?EMC工程师面试

一句话答案浪涌是雷击/开关操作产生的短时高压大电流(1.2/50μs 电压波、8/20μs 电流波);测试等级 ±0.5~±4kV;防护用压敏电阻(差模)+气体... 详情>>

2026-09-22 08:43:17
PCB工程师面试模拟问答参考

面试官:画过PCB板吗?我:画过,4层,2层。面试官:当时为什么选择4层板?我:4层板中间两层专门做电源层和地层,能够大大减小电源和地之间的电感,电源层和地层之... 详情>>

2023-11-27 10:35:55
电平转换电路怎么设计?硬件工程师面试TTL/RS232/RS485电平转换方案对比

STM32低功耗模式怎么配置与优化?嵌入式面试睡眠停机待机模式对比嵌入式单片机中等难度技术面试中级经验本文概述STM32提供三种主要低功耗模式:睡眠模式(仅CP... 详情>>

2026-08-27 12:12:53
FPGA状态机怎么写才规范?一段式二段式三段式对比

分类:FPGA设计 经验级别:中级 难度:中等 题型:技术论述题本文概述状态机是FPGA设计中最常用的时序逻辑设计方法,正确的状态机写法直接影响代码的可读性、可... 详情>>

2026-08-20 10:00:37
开班信息