TCP三次握手具体过程

news2024/7/2 3:34:49

 

四次挥手

1)客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN_WAIT_1(终止等待1)状态。TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。

2)服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE_WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE_WAIT状态持续的时间。

3)客户端收到服务器的确认请求后,此时,客户端就进入FIN_WAIT_2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据,版关闭状态,skynet就支持这种半关闭状态,redis,nginx,memeched均不支持)。

4)服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST_ACK(最后确认)状态,等待客户端的确认。

5)客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME_WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2MSL(报文最大生存时间)(有的是2分钟,有的30s,1s等)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。

6) 服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。

 

(1)三次握手是什么或者流程?四次握手呢?答案前面分析就是。

(2)为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,

仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1137062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Echarts柱状图渐变色问题变通

问题背景 设计稿中给出了如下图的效果,在柱状图的最上面给出了一个白色的小块,起初我一直在思考亦或者搜索相关的问题:如何在Echarts柱状图顶部实现一个24*4的白色矩形块。始终不得其解,在一个吃饭的瞬间冒出来一个想法是否可以用…

图像的特征点描述与提取

一、说明 特征点算法是图像处理中主要算法之一,它是图像物体匹配的关键步骤,因此,是个极其重要的题目,至今依旧研究不断,本篇讲述历年来学者在领域研究的突出贡献,即六种不同的特征点提取办法,供…

Python------学生管理(文件txt处理)

项目:Python实现学生管理系统 注:免费源码下载 项目介绍: 功能描述:(1)添加学生信息(2)删除学生信息(3)修改学生信息(4)查询学生信息…

JVM(Java Virtual Machine)G1收集器篇

前言 本文参考《深入理解Java虚拟机》,本文主要介绍G1收集器的收集思想和具体过程(填上一篇文章留下的坑) 本系列其他文章链接: JVM(Java Virtual Machine)内存模型篇 JVM(Java Virtual Machi…

绿米Aqara S1【妙控开关 S1E】的破解方法---续篇

概述 上接第一篇《绿米Aqara S1【妙控开关 S1E】的破解方法》。 链接地址如下: 绿米Aqara S1【妙控开关 S1E】的破解方法-CSDN博客 上篇主要讲述了,绿米S1E这款硬件的基本组成及TTL线的线序,并获取到了对应的串口打印信息。 此篇重点讲解,如何进入其系统,并开启访问权…

【经验分享】在WSL中使用USB设备

具体步骤: 首先在windows中安装 USBIP 工具,在GitHub上下载安装包并根据README文档的说明进行操作: 下载链接:https://github.com/dorssel/usbipd-win/releases 同时在 WSL Linux 端也需要安装编译内核所需的库和工具&#xff0c…

【微信小程序】实现投票功能(附源码)

一、Vant Weapp介绍 Vant Weapp 是一个基于微信小程序的组件库,它提供了丰富的 UI 组件和交互功能,能够帮助开发者快速构建出现代化的小程序应用。Vant Weapp 的设计理念注重简洁、易用和高效,同时提供灵活的定制化选项,以满足开发…

电动汽车租赁平台【EV Mobility】申请875万美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于美国的电动汽车租赁平台【EV Mobility】近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯达克IPO上市,股票代码为(EVMO) &#xff0c…

举个栗子!Quick BI 技巧(3):创建趋势分析表

上一期举个栗子为数据粉们分享了如何简单几步创建柱线图,有一些数据想了解如何在 Quick BI 中制作趋势分析表。 趋势分析表由趋势分析图和趋势分析明细表组成,可以通过趋势分析图查看指标的宏观趋势,通过趋势分析表查看指标详情,…

macOS Sonoma 14.1正式版(23B74)发布(可下载黑白苹果镜像)

系统介绍 黑果魏叔苹果今天为 macOS Sonoma 推出了 14.1 版本更新,魏叔发现,本更新主要改善了 Apple Music 界面,设置中新增保修状态,并修复了多项错误内容。 根据苹果的新说明,这次的 Mac 更新不仅提供了一系列的改善…

博睿数据亮相GOPS全球运维大会上海站!

10月26日,博睿数据携核心产品新一代一体化智能可观测平台 Bonree ONE 亮相第二十一届 GOPS 全球运维大会上海站,展示博睿数据在智能运维领域的科技实力与创新成果。同时,博睿数据AIOps首席专家兼产品总监贺安辉在AIOps最佳实践及解决方案专场…

User CSS 在性能优化方面的实践

目录 前言 1. 减少重绘和回流 1.1 用法 1.2 代码示例 1.3 理解 2. 使用CSS精灵 2.1 用法 2.2 代码示例 2.3 理解 3. 压缩CSS文件 3.1 用法 3.2 代码示例 3.3 理解 4. 使用媒体查询进行响应式设计 4.1 用法 4.2 代码示例 4.3 理解 5. 使用CSS预处理器和构建工…

物联网AI MicroPython传感器学习 之 MDL0025心率传感器

学物联网,来万物简单IoT物联网!! 一、产品简介 PulseSensor(MDL0025) 是一款用于脉搏心率测量的光电反射式模拟传感器。将其佩戴于手指或耳垂等处,通过导线连接可将采集到的模拟信号传输给HaaS开发版用来转…

[java进阶]——HashMap的底层实现原理和源码分析,另附几个高频面试题

🌈键盘敲烂,年薪30万🌈 目录 一、底层数据结构 二、底层原理及源码分析 2.1 继承关系 2.2 成员变量 2.3 构造方法 2.4 重要的成员方法 2.4.1 put()方法 三、高频面试题 一、底层数据结构 JDK8以后底层使用 数组链表红黑树的数据结构&am…

贝锐花生壳内网穿透推出全新功能,远程业务连接更安全

贝锐旗下内网穿透兼动态域名解析品牌花生壳目前推出了全新的“访问控制”功能,可精确设置访问权限,充分保障信息安全,满足更多用户安全远程访问内网服务的需求。 通过这一功能,可实现指定时间、IP、地区等条件下才能远程访问映射的…

【C++】继承 ⑬ ( 虚继承原理 | 虚继承解决继承二义性问题 | 二义性产生的原因分析 )

文章目录 一、虚继承原理1、虚继承解决继承二义性问题2、二义性产生的原因分析3、虚继承原理 二、代码示例 - 虚继承原理1、完整代码示例2、执行结果 一、虚继承原理 1、虚继承解决继承二义性问题 继承的二义性 : 如果 一个 子类 ( 派生类 ) 继承多个 父类 ( 基类 ) , 这些父类…

【【萌新的FPGA学习之FIFO的介绍】】

萌新的FPGA学习之FIFO的介绍 FIFO first in first out FIFO 的作用更多的是 缓冲与缓存 或者FIFO 也常被用来使用为 FIFO 本质上是由 RAM 加读写控制逻辑构成的一种先进先出的数据缓冲器,其与普通存储器 RAM 的 区别在于 FIFO 没有外部读写地址线,使用起…

接口自动化测试方案

1、引言 1.1 文档版本 版本 作者 审批 备注 V1.0 XXXX 创建测试方案文档 1.2 项目情况 项目名称 XXX 项目版本 V1.0 项目经理 XX 测试人员 XXXXX,XXX 所属部门 XX 备注 1.3 文档目的 本文档主要用于指导XXX-YY项目常用接口自动化测试…

数据隐私保护与合规性:现代企业的数据安全策略

第一章:引言 在当今数字化时代,数据已经成为企业最宝贵的资源之一。然而,伴随着大规模数据收集和处理的增加,数据隐私保护和合规性问题也日益凸显。本文将深入探讨数据隐私保护和合规性对现代企业的重要性,并提供一些…

重大突破!国内首个ASIL D认证MCU在底盘域量产上车

中国本土车规级MCU再次实现了重要突破。 近日,芯驰科技的高性能车规MCU——E3搭载在明然科技悬架控制器(CDC)批量下线,并且成功在奇瑞瑞虎9、星途瑶光等车型上正式量产,成为了国内首个应用在主动悬架的车规控制芯片。…