tcp连接 为什么要进行3次握手,断开为什么要4次握手

详解TCP四次挥手(断开TCP连接过程) 在讲述TCP三次握手,即建立TCP连接的过程之前,需要先介绍一下TCP协议的包结构。 TCP协议包结构: 这里只对涉及到三次握手过程的字段做解释 (1) 序号(Sequence number) 我们通过 TCP 协议将数据发送给对方,就比如 hellotcp,这一串字节流,假设被拆分成了三个 TCP 报文段,第一个报文段携带了 hel,第二个报文段携带了 lot,第三个报文段携带了 cp,这三个报文段不一定是按照顺序送到对端的,那么对端收到这三个段是如何确定他们的顺序的呢?此时序号的意义就体现在这里。 T 阅读详情

原因:

早期网络连接不稳定,引起路由寻址的问题,经常会连接出错。

相当于打电话时网络运营商连接了错的号码。


建立连接:

1. A打电话给B,需要询问,你是B么?

2. B回答说我是B。

3. A堆B说,我找的就是你。

至此,A知道找对了B。B也知道A是要找他。

双方确定连接。

之后开始正式的传输数据。



断开连接:

1.A告诉B,我要说的说完了,我要挂电话了。

2. B告诉A, 好的。

3.B告诉A,我要说的也说完了,我也要挂电话了。

4.A告诉B,好的。


双方确定彼此都要挂断电话后,正式断开连接。


为什么tcp建立连接需要三次握手,断开连接需要四次挥手 三次握手 三次握手的目的,是为了防止A端已经失效的连接请求突然又传到B端,被误认为是A端再次发出的一个新的连接请求,如果B端这时又再次向A发出确认报文,表示同意建立连接,就会产生错误。 第一次是A端向B端发送请求,如果是只有一次握手的话,A端不知道B端是不是收到了这个请求。 第二次是B端确认收到A端请求,如果只有两次的话,B端不确定A端是否收到了确认消息,这个确认消息有可能会在半路丢了。 第三次是A端确认收到了B的确认消息,A和B双方都是通的,然后AB就可以建立连接相互通信了。 ![](htt 阅读详情

相关推荐

为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?

背景描述 对以下技术点有任何疑问的,可以来群里与更多的大佬交流切磋技术,戳这里:咱们来一起抱团取暖,好吗? 我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。 UDP,在传...

我是月亮呀的博客 4540

为什么TCP建立连接需要三次握手,断开却要四次挥手呢?

面对面试官毫不慌张系列

weixin_53220369的博客 8631

COMSOL仿真避坑指南:列管反应器模拟中多孔介质与化学反应设置的5个常见错误

本文详细解析了COMSOL仿真中列管反应器模拟的5个常见错误,包括多孔介质模型选择、化学反应接口配置、对流扩散方程处理、薄层热阻设置及网格独立性验证。特别针对多孔介质与化学反应设置的误区,提供了实用的判断标准和修正方法,帮助工程师避免计算偏差,提升仿真精度。

weixin_29597551的博客 321

网络层协议介绍 三次握手四次断开

网络层协议介绍 三次握手四次断开

Yuzhang2046的博客 626

从零开始:用Kimi API和LangChain打造智能写作助手

本文详细介绍了如何从零开始,利用Kimi API提供的强大AI大模型能力,结合LangChain框架构建一个智能写作助手。通过实战演示了环境搭建、核心写作链构建、以及引入检索增强生成和智能体等进阶功能,旨在解决长文档创作、事实准确性等痛点,打造一个能理解意图、调用工具并保持记忆的智能创作伙伴。

weixin_29294395的博客 138

STM32_USB复合设备开发实战:基于CubeMX插件简化HID与CDC集成

本文详细介绍了如何使用STM32CubeMX插件简化USB复合设备开发,特别是HID与CDC的集成。通过自动处理多设备描述符融合和端点资源分配,该插件显著降低了开发复杂度,帮助工程师快速实现键盘、鼠标和虚拟串口等复合功能,提升STM32 USB开发效率。

palm99的专栏 748

TCP四次挥手及原因

聚散终有时,TCP 断开连接是通过四次挥手方式。 双方都可以主动断开连接,断开连接后主机中的「资源」将被释放。 上图是客户端主动关闭连接 : 一次挥手 客户端打算关闭连接,此时会发送一个 TCP 首部 FIN 标志位被置为 1 的报文,也即 FIN 报文,之后客户端进入 FIN_WAIT_1 状态。 二次挥手 服务端收到该报文后,就向客户端发送 ACK 应答报文,接着服务端进入 CLOSED_WAIT 状态。 三次挥手 客户端收到服务端的 ACK 应答报文后,之后进入 FIN_WAIT_2 状态.

qq_40277163的博客 1万+

结合qtdesigner,用pyqtgraph在界面上绘制波形图(一)

思路:先画图,然后在qtdesigner上放一个容器,给这个容器添加一个布局,然后把图当作一个Widget放入布局中。二、PyUIC把test.ui转换成test.py,再新建一个load_test.py写脚本。就这么简单,基础部分就完成了。也可以给它添加样式,我知道的样式不算多,但会继续写。一、随便拖进来一个容器控件,我拖了一个Widget。要想把波形图显示在界面上,核心思想其实很简单。三、load_test.py的代码。

learninger_lt7的博客 1803

知识点 TCP三次握手 TCP会话断开机制:四次断开

TCP三次握手是浏览器和服务器建立连接的方式,目的是为了使二者能够建立连接,便于后续的数据交互传输。第一次握手:浏览器向服务器发起建立连接的请求。 第二次握手:服务器告诉浏览器,我同意你的连接请求,同时我也向你发起建立连接的请求第三次握手:浏览器也告诉服务器,我同意建立连接。至此,双方都知道对方同意建立连接,并准备好了进行数据传输。 TCP会话断开机制:四次断开 第一次断开:客户端对服务器发送断开请求发送FIN,并回复上一次正常数据输入的ACK确认,客户端进入FIN_WAIT_1阶段。 第二次断开

m0_73421935的博客 538

载波同步技术(一):BPSK的Costas Loop 载波同步

Author:McCrocodile 2010/11/04          载波的提取在相干解调中往往比较重要,根据信号中是否包含载频分量,载波同步一般也可以分为两种方法。包含载频分量的可以采用窄带滤波或者基本的锁相环环路来实现,不包含的则比较麻烦需要采用特殊的环路实现载波的同步。这里介绍的BPSK的载波恢复就属于后面一种。 对于不包含载频分量的信号载波同步一般有:同相-正交环(就是常说的Costas环)、判决反馈环(几乎可以适用所有调制方式)、同相-正交环衍生环(QPSK松尾环、N相同相-正交环)。

McCrocodile Blog 1万+

MT6768平台Sensor Bring Up全流程实战:从驱动添加到问题排查(附避坑指南)

本文详细介绍了联发科MT6768平台Sensor Bring Up的全流程实战指南,从驱动添加、硬件配置到问题排查,提供了全面的避坑建议。内容涵盖环境准备、驱动文件集成、硬件接口配置、编译系统适配以及常见问题解决方案,帮助开发者高效完成传感器集成与调试工作。

weixin_30374009的博客 416

TCP连接握手为什么3次?断开为什么是4次?TCP的优化-SCTP协议

TCP TCP(Transmission Control Protocol)传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。 目录: TCP报头 TCP的三次握手 TCP为什么要进行三次握手? TCP的四次断开 SCTP协议 SCTP协议特性 SCTP协议特性-多宿主 SCTP协议特性-多流&无序发送 SCTP协议特性-四次握手-初始化保护 SCTP协议特性-采用UDP方法-消息分帧 SCTP协议特性-三次断开-平滑关闭 TCP报头 16Bit-源端口:用来标识计算

weixin_43726831的博客 1242

【置顶】TEE从入门到精通-[目录]

此专栏讲解包含不限于optee、商用TEE、常规的安全业务设计。但主要基于optee最新代码,深度讲解和剖析各项原理和机制...

baron-周贺贺-代码改变世界ctw 6423

TCP为什么需要3次握手建立连接,4次挥手断开?

原文:https://www.cnblogs.com/zhuzhenwei918/p/7465467.html 这是一个很有意思的问题~     首先,我们要知道TCP是全双工的,即客户端在给服务器端发送信息的同时,服务器端也可以给客户端发送信息。而半双工的意思是A可以给B发,B也可以给A发,但是A在给B发的时候,B不能给A发,即不同时,为半双工。 单工为只能A给B发,B不能给A发; 或者是只...

Great_Zhou的博客 628

以 Joule 驱动的生成式开发:把需求文档直接变成可运行的 SAP 应用

摘要:SAP BTP的AI助手Joule正在改变开发方式,支持从自然语言描述自动生成数据模型、服务、UI及测试代码。在SAP Business Application Studio中,Joule能根据业务需求生成结构化代码,并提供代码补全、重构、解释等功能。开发者需注意避免上传敏感数据,并对AI生成的代码进行人工审核。Joule特别针对ABAP开发进行了优化,提供符合SAP规范的代码建议,帮助迁移遗留系统。此外,它还能快速生成CAP项目原型,但所有AI生成内容都需经过严格测试验证。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 340

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

tcp断开连接,4次握手,为什么wireshark 只能抓到3个包?

用wireshark 抓包,看看tcp 断开连接的过程.  以前书上说tcp断开连接,4次握手,可我为什么wireshark 只能抓到3个包?   百度一下,别人也有类似的疑问。 【求助】书上和网上的资料说,TCP拆除连接需要四次握手。但是本人多次用wireshark抓包,都只能截到三个包 在网上搜索了很久都没有找到满意的解释。由于本人要填写实验报告,结果这样子就没法填了。 按照理论,TCP断...

weixin_34185512的博客 1766

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

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

为什么tcp建立连接需要三次握手断开连接是四次挥手

为什么tcp建立连接需要三次握手断开连接是四次挥手 syn(synchronous)同时的,同步的,在http中指建立请求的第一个包 ack (acknowledgement) 确认的意思 fin(finally) 我要最后一次啦,我暂时这样理解这个含义 今天终于搞清楚了第四次的包是怎么回事,原来第四次的发送包不算在3次握手里面,第四次包是刷新window size用的...

一起学运维 5272

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

为什么TCP连接需要三次握手分开需要四次握手?

原文地址:http://lixiangfeng.com/blog/article/content/7908246 TCP的三次握手和四次断开TCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输都必须经过建立连接,数据传输和终止连接3个过程,TCP建立连接的过程称为三次握手,下面看一下三次握手的具本过程TCP三次握手过程1 主机A通过向主机B 发送一...

aas32736的博客 211

为什么TCP建立连接需要三次握手,断连需要四次挥手

1. 为什么要三次握手 为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。 1.1 具体例子: “已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。但server收到此失效的连接请求报文段后,就误认为是client...

ZachLaVine的博客 2724

三次握手,为什么断开TCP连接需要四次握手

TCP建立连bai接要进行3次握手,而断开du连接要进行4次,这是由zhi于daoTCP的半关闭造成的,因为TCP连接是全zhuan双工shu的( 即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭. 关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须 通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果. ...

weixin_44050355的博客 459

为什么tcp连接要三次握手 ,断开要四次挥手?

双向确认:三次握手确保双方都能接收和发送数据。第一次握手让服务器知道客户端想建立连接,第二次握手让客户端知道服务器收到了它的请求并同意建立连接,第三次握手让服务器知道客户端收到了它的确认。(确认收发能力没有问题) 防止旧连接请求干扰:通过三次握手,双方都可以确保对方是真正准备好通信的,而不是由于网络延迟导致的旧的SYN包干扰。

qq_62311779的博客 417

TCP-ip建立连接时3次握手,断开连接时4次挥手

syy_1263041983的专栏 545

TCP三次握手,四次断开

当Server端也发送了FIN报文段时,这个时候就表示Server端也没有数据要发送了,就会告诉Client端,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过。

capper00的博客 283

为什么TCP连接的建立是需要三次,而断开却需要四次

TCP的为什么三次握手就可以建立连接:我先抛出一个命题,两个人想要正常沟通,至少保证双方都知道自己和对方的发送和接受功能是正常的。 假设这里有两个人,server和client。现在client需要和server建立连接。 ① client->server : server,我想和你建立连接。(client什么都确认不了,因为他不知道server有没有接收到,也不能确定自己的信息有没有发出去)如果这个时

没有进步就是退步 3215
上一篇: OSI网络模型
下一篇: android知识总结
javalive09
博客等级 码龄16年 43粉丝 281原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值