TCP三次握手与四次挥手的理解和场景举例

TCP三次握手详解-深入浅出(有图实例演示) TCP是属于网络分层中的传输层,因为OSI分为层,感觉太麻烦了,所以分为四层就好了,简单。 分层以及每层的协议,如下两张图: TCP三次握手 TCP三次握手简单如下图: TCP三次握手的过程描述: 1.客户主动(active open)去connect服务器,并且发送SYN 假设序列号为J, 服务器是被动打开(passive open) 2.服务器在收到SYN后,它... 阅读详情

大学时候对于tcp的连接和关闭,都是靠强行记忆下来,发现即不能记得牢,就算记住了,也不是很了解为什么要这么麻烦。

TCP全双工通信

要明白为什么需要这么麻烦,首先要了解tcp它是全双工通信的,意味着数据端的两方,都有权利向对方发送数据。所以在一条tcp连接上,就需要连接或者关闭两次(两个方向),而每次连接syn或者关闭fin,都需要一个ack返回,才能确定这一方向,真正关闭。

三次握手

根据tcp连接图的客户端在左边,服务器在右边的习惯,首先客户端发送syn给服务端,服务端返回一个ack,代表服务端同意了客户端从左到右的连接。服务器在发送给客户端ack的同时,还将服务器请求syn给客户端,即从右到左方向的连接,客户端返回ack,代表从右到左的连接也成功。这样,两个方向上都成传输数据。可能你会想,如果客户端连接成功了服务端,而服务端却失败连接服务端,也就是第三次握手失败,是不是客户端还是能发送数据给服务器?这可能就变成单工通信了,这样客户端虽然能发送数据给服务端,但是服务端无法发送回去,这样的tcp连接是无法终止的,所以这种应该不可能,而且请求一般是客户端发出的,当服务端请求ack,一般客户端是马上响应ack。
举个例子,小明相约小红,打电话的小明说“小红,我今天想喂你吃饭,可以吗?”这时候小红回答说好,这时候,小明心里就已经确定自己能喂小红吃饭了。小红在回答好后,同时也问了小明“小明,我也想喂你吃饭,可以吗?”小明有点震惊,但是马上说好,这样,小红也知道了自己可以喂小明吃饭了。所以tcp通信中,每个请求syn,都必须要有ack,发送方才知道对方同意了自己的请求。

四次挥手

建立了连接是三次握手,但是为什么结束连接,却要4次呢?
其实挥手(即结束连接)和握手(建立连接)的原理是一样的,全双工,所以每个方向都要进行单独的关闭。一个fin(正常返回ack)只是这一方向上没有数据流动了,但是另一个方向同样能传输,虽然这在tcp应用上很少出现,但是理论上还是可能的。
下图,是关于tcp

TCP三次握手与四次挥手 TCP三次握手和四次挥手,是TCP面向连接、可靠传输、全双工通信特性的核心体现:同步ISN,确认双方收发能力,三步交互,缺一不可,避免失效连接和数据丢失;独立关闭双方发送通道,四步交互,核心是全双工特性导致的“分两次关闭”,TIME_WAIT状态是可靠释放的关键;核心记忆点:握手看SYN+ACK,挥手看FIN+ACK,面试重点关注“为什么是三次/四次”“TIME_WAIT/CLOSE_WAIT问题”,结合源码和实战场景理解,才能真正吃透。 阅读详情

相关推荐

车载以太网网络测试-17【传输层-TCP】

上一专题介绍了车载以太网传输层的UDP协议,本文主要对车载以太网传输层的TCP协议进行详细介绍。

车载网络测试工程师的博客 2267

Jetson Nano官方镜像下载&烧录

在NVIDIA Jetson Nano开发者套件上安装NVIDIA官方Ubuntu镜像

weixin_44222088的博客 8851

LSF0108 level shift设计使用及debug流程

目录 初版设计 测试出现的问题1 解决问题(尝试1) 测试出现的问题2 解决问题2-1 解决问题2-2 单Port测试结果 所有Port均连接测试结果 初版设计 此电路的应用场景在于将LCD屏幕连接到FPGA上,进而通过FPGA中设计的硬件电路来驱动LCD屏幕,验证数字硬件电路设计的正确性。因此需要一个转接板位于FPGA和LCD屏幕之间,将二者连接起来。 转接板的硬件电路设计主要存在以下需求: 实现3.3V和1.8V之间的同时双向逻辑转换(LCD屏幕电平为3.3V,FPGA电平为1.

moshanghongfeng的博客 7562

STM32G474 FDCAN滤波器配置与多ID接收实战

本文详细介绍了STM32G474 FDCAN滤波器配置与多ID接收实战,重点解析了掩码过滤和范围过滤两种模式的工作原理及配置步骤。通过实际项目案例展示了如何高效配置多个滤波器实现多ID报文接收,并提供了接收FIFO配置与中断处理的优化策略,帮助开发者提升CAN通信系统的稳定性和实时性。

happy2的博客 875

传输线末端短路、开路、加电感的反射系数

时,频率变化约300MHz, 出现这种偏差是因为我们的计算中将电磁波传播速率默认为。时,频率变化约300MHz, 出现这种偏差是因为我们的计算中将电磁波传播速率默认为。下图为用网络分析仪实测一长度为30cm的传输线末端加一0.6uH的线圈的反射系数。下图为用网络分析仪实测一末端短路的长度为30cm的传输线的反射系数。下图为用网络分析仪实测一末端开路的长度为30cm的传输线的反射系数。末端加电感相当于在传输线末端延长了一段后末端短路,使得相位下降速率。幅度为0dB, 相位由。幅度为0dB, 相位由。

johnboat的专栏 1873

Linux系统安装AutoDockTools、AutoGrid和AutoDock并实现分子对接(详细讲解)

linux系统为centos7.0 按照下面操作安装AutoDockTools(MGLTools) 1. 下载安装包,链接(https://ccsb.scripps.edu/mgltools/downloads/),我的linux系统是64位,下载红色标记源代码,拷贝入linux目标文件夹下。 2. shell终端进行安装: 1. 终端进入安装包所在文件夹,并获取root权限;赋予代码安装权限; cd /home/... #目标文件夹,根据目标程序文件位置进行更改 su #获

carlos_zhao的博客 1万+

Qt Creator牵手DeepSeek,开启AI开发新征程

Qt Creator 是一款功能强大的跨平台集成开发环境(IDE),专为 Qt 应用程序开发量身定制。它支持在编程过程中使用 GitHub Copilot 等编码助手,能帮助开发者为桌面、移动端和嵌入式平台创建软件。在代码编辑方面,Qt Creator 具备代码补全、语法突出显示、重构等功能,内置文档也随手可得,极大提高了代码编写的效率和准确性。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 7189

手机银行应用架构设计

网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效

银行信息系统应用架构详解 4830

别再瞎改网络结构了!解决YOLO小目标检测痛点,我用这招把mAP提了15%

本文基于我7年工业PCB缺陷检测、无人机航拍、安防监控项目的一线落地经验,针对YOLO小目标检测最痛的「漏检率高、特征丢失、精度难提升」三大核心问题,拆解出。本文全程配套小目标特征丢失原理图、分块训练流程图、切图前后效果对比图、mAP提升柱状图、多方案性能对比表等可视化内容,从YOLO天生不擅长小目标的底层根源、方案核心原理、可直接复制的代码实现,到工业场景实测验证、新手必踩的10个坑位避坑指南,全链路讲透。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 387

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ssm框架搭建

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: diy搭建异步邮件服务
下一篇: TCP窗口协议
@云师兄
博客等级 码龄10年 10粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值