TCP的三次握手与四次挥手

TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手 文章目录TCP介绍三次握手四次挥手滑动窗口拥塞避免算法 TCP介绍 三次握手 四次挥手 阅读详情

TCP的三次握手:
在这里插入图片描述
假设A是客户端,B是服务器端

1 . 首先B 处于LISTEN(监听)状态,等待客户端的连接请求

2 . A向B发送请求报文,SYN=1,ACK = 0 ,选择一个初始的序号x。

3 . B收到连接请求报文,如果同意建立连接,则向A发送连接确认报文,SYN = 1,ACK= 1,确认序号为x+1,同时也选择一个初始的序号y。

3 . A收到B的连接确认报文后,还要向B发出确认,确认序号为y+1,序号为x+1.

B收到A的确认后,连接建立

三次握手的原因
第三次握手是为了防止失效的连接请求到达服务器,让服务器错误打开连接。

客户端发送的连接请求如果在网络中滞留,那么就会隔很长的一段时间才能收到服务器端发回的连接确认。客户端等待一个超时重传时间之后,就会重新请求连接。但是这个滞留的连接请求最后还是会到达服务器,如果不进行三次握手,那么服务器就会打开俩个连接,如果有第三次握手,客户端会忽略服务器之后发送的对滞留连接请求的连接确认,因此就不会再次打开连接。

TCP的四次挥手
在这里插入图片描述
以下描述不讨论序号和确认序号,因为序号和确认序号的规则比较简单。并且不讨论ACK,因为ACK在连接建立之后都为1.

1 . A发送连接释放报文,FIN = 1;

2 . B收到之后发出确认,此时TCP属于半关闭状态,B能向A发送数据但是A不能向B发送数据
3 .当B不在需要连接时,发送连接释放报文,FIN=1.

4 . A收到后发出确认,进入TIME-WAIT状态,等待2MSL(最大报文存活时间)后释放连接
B收到A的确认后释放连接

四次挥手的原因

客户端发送了 FIN 连接释放报文之后,服务器收到了这个报文,就进入了 CLOSE-WAIT 状态。这个状态是为了让服务器端发送还未传送完毕的数据,传送完毕之后,服务器会发送 FIN 连接释放报文。

TIME_WAIT

客户端接收到服务器端的 FIN 报文后进入此状态,此时并不是直接进入 CLOSED 状态,还需要等待一个时间计时器设置的时间 2MSL。这么做有两个理由:

  1. 确保最后一个确认报文能够到达。如果 B 没收到 A 发送来的确认报文,那么就会重新发送连接释放请求报文,A 等待一段时间就是为了处理这种情况的发生。

  2. 等待一段时间是为了让本连接持续时间内所产生的所有报文都从网络中消失,使得下一个新的连接不会出现旧的连接请求报文。

TCP三次握手,四次挥手问题总结 TCP三次握手,四次挥手问题总结 文章目录TCP三次握手,四次挥手问题总结TCP三次握手,四次挥手解释TCP协议基础TCP服务模型TCP头部状态转换为什么要“三次握手,四次挥手”三次握手四次挥手扩展可以了解的知识: TCP三次握手,四次挥手解释 SYN 包:建立连接请求的包 FIN 包:切断TCP 连接的包 ACK 包:针对SYN 包和FIN 包的确认应答包 1、TCP 的特点及其目的: (1)... 阅读详情

相关推荐

TCP三次握手及四次挥手详细图解

TCP三次握手及四次挥手详细图解。

dvlinker的技术专栏 1万+

TCP 三次握手和四次挥手

TCP 三次握手和四次挥手

We choose to go to the moon in this decade and do the other things, not because they are easy, but beacase they are hard. 2万+

串行通信原理及实验仿真

1. 处理器与外部设备通信的两种方式: 并行通信和串行通信 并行通信是指数据的各个位用多条数据线同时进行传输 优点:传输速度快 缺点:占用引脚资源多 串行通信是将数据分成一位一位的形式在一条传输线上逐个传输 优点:通信线路简单,占用引脚资源少 缺点:传输速度慢 2. 串行通信的通信方式: 同步通信和异步通信 同步通信:带有时钟同步信号的数据传输;发送方和接收方在同一时钟的控制下,同步传输数据。 异步通信:不同时钟同步信号的数据传输。发送方和接收方使用各自的时钟控制数据的发送和接收过程。 3. 串行通

gemengxia的博客 4323

TCP的三次握手、四次挥手

TCP三次握手与四次挥手;为什么要等2MSL;拔网线后TCP连接还存在吗?TCP与UDP的区别几应用场景;SYN报文什么情况下会被丢弃; TCP如何提高传输效率 什么是滑动窗口机制? 服务端不进行accept接收新连接,那么最多可以有多少个连接建立成功? TCP的序号一定是从0开始吗? 通过三次握手最多可以建立多少个TCP连接

qzt__l0ve的博客 3409

告别Keil,在Windows上用VSCode + arm-none-eabi-gcc + Makefile搭建国产MCU开发环境(附JLink配置避坑)

本文详细介绍了如何在Windows上使用VSCode、arm-none-eabi-gcc和Makefile搭建国产MCU开发环境,替代传统的Keil和IAR。内容涵盖工具链配置、工程结构设计、Makefile编写、VSCode集成调试以及高效开发工作流,特别针对国产MCU如复旦微FM33系列提供了优化方案和避坑指南。

weixin_28729205的博客 435

手机相机基础技术解析:从硬件到算法的全面指南

手机相机的成像过程可简化为的链路,其核心硬件包括 镜头、CMOS传感器、ISP(图像信号处理器) 以及配套的软件算法。

weixin_44239603的博客 2450

TCP 三次握手四次挥手

三次握手的关键是要确认对方收到了自己的数据包 ,这个目标就是通过“确认号(Ack)”字段实现的。计算机会记录下自己发送的数据包序号Seq,待收到对方的数据包后,检测“确认号(Ack)”字段, 看 Ack = Seq + 1 是否成立,如果成立说明对方正确收到了自己的数据包 。

路星辞*的博客 2509

Arduino--土壤湿度传感器使用(电阻式)

最近买了一个土壤湿度检测传感器,实物图是这样的: 我买这个模块是想要得到土壤湿度的模拟量。但我买的时候忘了买左边的蓝色模块,我开始以为这个模块是有运放功能的,但实际它是一个电压比较器和一个分压电路。 其模块的接线如图: 该模块的四线是带模拟量输出的,三线的只输出一个到达阈值的标志量。该模块的原理图如下: 该模块的测试原理为:把土壤当成一个可变电阻,随着土壤含水量的增加,土壤电阻减小。而该传感器其实就是两个电极,用来接土壤这个可变电阻。一般湿度的土壤电阻大概在几百K左右,其串连的分压电阻应该在这个数量级。

weixin_41866783的博客 1万+

TCP的三次握手和四次挥手实现过程。以及为什么需要三次握手?四次挥手?

TCP连接的三次握手和四次挥手实现原理

weixin_51380508的博客 6003

[QMT和ptrade量化交易小白入门]-125、菜场大妈加上四大现金行业指数风控,最大回撤从22%减少了一半

群里面有人建议,在菜场大妈策略的基础上,加入申万的行业指数(银行,钢铁,有色,煤炭)测算其宽度,当这四大行业其中有一个高就会清仓(用来控制回撤)。这背后的逻辑是,在存量资金博弈的市场环境中,资金总量相对固定,当银行、钢铁、有色、煤炭等大市值周期行业因基本面改善(如涨价、政策催化)或避险需求而走强时,会吸引大量资金涌入,导致其他板块(尤其是小市值股票)面临流动性虹吸。经过回测,对比上一个版本发现确实是可以降低一半的回撤,最大回撤从22.3%降到了11.4%,而且有很多时间是空仓等待。

木头大左的博客 241

青岛鼎信Java开发面试题及参考答案(3万字长文,多张原理图)

MySQL 的事务特性有哪些? MySQL 事务具有四个重要特性,被称为 ACID 特性。 原子性(Atomicity):事务是一个不可分割的工作单位,事务中的操作要么全部执行,要么全部不执行。例如,在银行转账场景中,从账户 A 转账到账户 B,包括扣减账户 A 的金额和增加账户 B 的金额这两个操作必须作为一个整体来完成。如果在执行过程中发生错误,比如系统崩溃或者数据库出现故障,那么已经执行的部分必须全部回滚,就好像整个转账操作从未发生过一样。 一致性(Consistency):事务必须

大模型大数据攻城狮的专栏 1089

TCP三次握手四次挥手

TCP三次握手四次挥手的实现流程 为什么有三次握手四次挥手

CC_clear的博客 2793

在 SAP ECC 中定义 ledger 时遇到 “Define exactly one leading ledger“(消息号 FAGL_LEDGER_CUST012)的错误

摘要:SAP系统要求必须且只能定义一个主导分类账(Leading Ledger)。当出现错误消息FAGL_LEDGER_CUST012时,需通过事务码FINSC_LEDGER或SPRO路径检查分类账配置,确保仅有一个分类账被标记为"LeadingLedger",其余设为"Non-leadingLedger"。主导分类账是SAP默认用于标准报表的核心分类账,修改配置需谨慎以免影响已有数据。若问题未解决,建议检查未完成配置或查阅SAP Notes获取解决方案。

金牌架构师 802

深入浅出理解TCP三次握手与四次挥手

通过三次握手,TCP确保双方能够可靠地建立连接,开始数据传输;通过四次挥手,TCP安全地终止连接,避免数据丢失和混乱。理解三次握手和四次挥手机制不仅有助于我们深入掌握TCP协议,还能帮助我们在网络调试与优化中,正确分析和解决连接问题。这个过程虽然看似简单,但其背后蕴含了许多设计上的精妙之处,比如对序列号的管理、对状态的控制以及对数据传输可靠性的保证。希望这篇文章能帮助你更好地理解TCP中的三次握手与四次挥手!三次握手。

XMYX-0 2030

07 Zabbix 微信告警

Zabbix 微信告警 1.注册企业微信 企业微信注册地址:https://work.weixin.qq.com 2.进入企业微信后台管理 2.1 添加微信成员 2.2创建应用 2.3 获取四项数据 (1)AgentID (2) Secret (3) 企业ID (4)部门ID 3.Zabbix Server配置 3.1确认脚本目录 # grep alertscripts /etc/zabbix/zabbix_server....

Jian Sun_的博客 1299

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

详解TCP三次握手四次挥手

详解TCP三次握手四次挥手 1.TCP报文格式 在了解三次握手和四次挥手之前,先知道TCP报文内部包含了哪些东西。 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。TCP在发送数据前必须在彼此间建立连接,这里连接意思是:双方需要内保存对方信息(例如:IP,Port…) 报文主要段的意思 序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编...

nigar_的博客 2543

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

TCP三次和四次挥手过程1、TCP报文段首部2、TCP三次握手过程及常见问题2.1 TCP三次握手过程2.2 常见问题2、TCP四次挥手过程及问题2.1 TCP四次挥手过程2.2 常见问题 1、TCP报文段首部          要理解TCP三次握手和四次挥手的过程,首先需要了解TCP报文段的某些首部的含义...

weixin_39754631的博客 1589

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TCP协议——三次握手和四次挥手

理解tcp三次握手、四次挥手及相关问题

Dirty_artist的博客 1490

TCP的三次握手和四次挥手

一、三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包 主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备 过程如下: 第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN©,此时客户端处于 SYN_SENT 状态 第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,为了确认客户端的 SYN,将客户端的 ISN+1作为.

Silvia 9564

TCP三次握手,四次挥手

相信大家比较常回答的是:“因为三次握手才能保证双方具有接收和发送的能力。这回答是没问题,但这回答是片面的,并没有说出主要的原因。在前面我们知道了什么是TCP 连接用于保证可靠性和流量控制维护的某些状态信息,这些信息的组合,包括Socket、序列号和窗口大小称为连接。所以,重要的是为什么三次握手才可以初始化 Socket、序列号和窗口大小并建立 TCP 连接。接下来,以三个方面分析三次握手的原因:三次握手才可以阻止重复历史连接的初始化(主要原因)三次握手才可以同步双方的初始序列号。

qq_62097431的博客 1404

TCP三次握手与四次挥手详解

TCP协议是面向连接的传输层协议,在互联网中保证数据可靠传输,如网页浏览时浏览器与服务器间数据传输就依赖TCP。当客户端数据发送完毕,会主动发送FIN报文触发挥手,如浏览器关闭HTTP连接时常见此操作。半连接状态是TCP三次握手时,服务器收到SYN包但未完成握手的状态,此时连接未完全建立。

weixin_48073733的博客 1005

TCP的三次握手和四次挥手详解

TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接,与之相反的,采用四次挥手来断开连接: TCP标志位有6种标示,即:SYN(建立联机) 、 ACK(确认) 、 PSH(传送) 、 FIN(f结束) 、 RST(重置) 、 URG(紧急) 、 Sequence number(顺序号码) 、 ...

rememberyf的博客 2万+

TCP通信三次握手、四次挥手

介绍了三次握手和四次挥手的过程

2301_78622258的博客 1359
上一篇: HTTP状态码
下一篇: Java锁的种类以及辨认
Burder
博客等级 码龄8年 4粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值