TCP、UDP
TCP和UDP的区别
是否面向连接:UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。
是否是可靠传输:远地主机在收到 UDP 报文后,不需要给出任何确认,并且不保证数据不丢失,不保证是否顺序到达。TCP 提供可靠的传输服务,TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。通过 TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。
是否有状态:有状态说的是 TCP 会去记录自己发送消息的状态比如消息是否发送了、是否被接收了等等。为此 ,TCP 需要维持复杂的连接状态表。而 UDP 是无状态服务,只管发送不管后果。
传输效率:由于使用 TCP 进行传输的时候多了连接、确认、重传等机制,所以 TCP 的传输效率要比 UDP 低很多。
传输形式:TCP 是面向字节流的,UDP 是面向报文的。
首部开销:TCP 首部开销(20 ~ 60 字节)比 UDP 首部开销(8 字节)要大。
TCP和UDP的使用场景
UDP 一般用于即时通信,比如:语音、 视频、直播等等。这些场景对传输数据的准确性要求不是特别高,比如你看视频即使少个一两帧,实际给人的感觉区别也不大。
TCP 用于对传输准确性要求特别高的场景,比如文件传输、发送和接收邮件、远程登录等等
TCP的三次握手和四次挥手

三次握手过程中:一共涉及到三个包的传输。
如果第一次包没有成功发送到,即C给S的,那么C会超时重传,直到收到S的确认。
如果第二次包没有成功发送到,即S给C的确认,那么S会超时重传,直到收到S的确认。
如果第三次包没有成功发送到,即C给S的确认,分为三种情况:
①如果此时双方都没有数据发送,那么S会认为自己的消息没有传输到,会超时重传,直到收到C的确认。
②如果此时正好C要开始发数据了(因为在C的角度,三次握手已经建立好了),那么S收到C的data+ACK,自然会切换为established状态,并接受C的data。
③如果S有数据发送,数据发送不了,会一直周期性超时重传SYN + ACK,直到收到A的确认才可以发送数据。
注意,第三次传输如果丢包的话,只涉及S的超时重传,不涉及C!!!
TCP的超时重传机制主要是针对数据传输的,而不是专门为了确认报文。在TCP协议中,当一个确认(ACK)报文单独发送时(即不携带任何数据),如果这个ACK报文丢失,发送方不会等待一个超时时间然后重传这个ACK。
//TODO 四次挥手
相关文章:
TCP、UDP
TCP和UDP的区别 是否面向连接:UDP 在传送数据之前不需要先建立连接。而 TCP 提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。 是否是可靠传输:远地主机在收到 UDP 报文后,不需要给出任…...
聊聊暖通空调系统的优化控制方法
目录 暖通空调系统的优化控制方法✈️part1 初版回归网络建模✈️part2 更新的回归网络✈️ 聊聊暖通空调系统的优化控制方法 这篇文章简单分享一下暖通空调(HVAC)领域常常提到的”优化控制“这一概念指的是什么,它控制的是哪些参数&#…...
2024年合肥市职业院校技能大赛(中职组)赛 网络安任务书样题
2024年合肥市职业院校技能大赛--中职组赛 网络安任务书样题 一、竞赛项目简介:二、竞赛注意事项模块A: 理论技能与职业素养模块B: 网络安全事件响应、数字取证调查和应用安全任务一:应急响应任务二:操作系统取证任务三:网络数据包分析任务四:代码审计 模块C:CTF 夺旗…...
制造企业如何提升项目管理效率?惠科股份选择奥博思PowerProject项目管理系统
全球知名的显示方案综合服务商 - 惠科股份有限公司与北京奥博思达成合作,基于奥博思 PowerProject 搭建企业级项目管理平台。满足惠科多产品多业务领域的项目全周期管理。助力企业在技术研发、产品创新等方面继续取得行业领先优势。 同时,PowerProject …...
mTLS(Mutual TLS)即双向传输层安全,是一种安全通信协议,用于在客户端和服务器之间建立双向的身份验证和加密通道。
mTLS(Mutual TLS)即双向传输层安全,是一种安全通信协议,用于在客户端和服务器之间建立双向的身份验证和加密通道。在传统的TLS(Transport Layer Security)中,客户端通常只会验证服务器的身份&am…...
HUAWEI WATCH GT 系列安装第三方应用
文章目录 适用机型概述官方文档从源码构建 hap 文件和对源码签名下载和安装DevEco Studio下载和安装首次启动推荐:设置IDE推荐的兼容版本环境(可选)安装并启用中文菜单插件 使用DevEco Studio打开项目并进行构建构建问题解决一、生成密钥和证…...
Html jquery下拉select美化插件——selectFilter.js
1. Html jquery下拉select美化插件——selectFilter.js jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画以及Ajax交互,使得开发者能更高效地构建交互式网页。在本案例中,jquery.selectlist.js插件正是基于jQuery构建的&…...
使用ESP8266扫描WiFi列表
一、简介 准备用基于esp8266的nodemcu开发板做一个天气时钟。目前只实现了第一阶段任务的第一点要求。使用arduino编程,在基于esp8266的nodemcu开发板上实现开机自动连接wifi。 这里记录一下使用ESP8266扫描WiFi列表的方法。还需要研究怎么把列表显示在网页上&…...
Java对象访问机制:句柄访问与直接指针访问
在Java虚拟机(JVM)中,对象的访问方式是一个关键的设计选择,它影响着程序的性能和内存管理。JVM规范中只规定了对象引用(reference)必须指向对象,但并没有定义这个引用应该如何定位和访问堆中对象…...
基于SpringBoot实现QQ邮箱发送短信功能 | 免费短信服务
开发学习过程中有个短信发送功能,阿里云腾讯云等等都要money,听说qq邮箱可以实现免费发送邮箱的功能(短信发送的平替),就用这个来实现!!!【找了好多好多方法才成功的啊啊啊啊&#x…...
【MySQL】聚合函数、group by子句
目录 聚合函数 count([distinct] column) sum([distinct] column) avg([distinct] column) max([distinct] column) min([distinct] column) group by子句 1.如何显示每个部门的平均薪资和最高薪资 2.显示每个部门每种岗位的平均薪资和最低薪资 3.显示平均工资低于200…...
详细分析SpringMvc中HandlerInterceptor拦截器的基本知识(附Demo)
目录 前言1. 基本知识2. Demo3. 实战解析 前言 对于Java的基本知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 HandlerInter…...
阳光能源嵌入式面试及参考答案(2万字长文)
管道能够承载的最大传输数据量是多少? 在嵌入式系统中,管道能够承载的最大传输数据量取决于多个因素。 首先,管道的容量受到操作系统的限制。不同的操作系统对管道的大小有不同的规定。一般来说,管道的容量通常是有限的,并且在不同的操作系统版本和配置下可能会有所不同。…...
P10483 小猫爬山
1. #include<bits/stdc.h> using namespace std; //一个记录小猫的重量,sum记录当前小猫的重量之和 int n, w, a[3000],sum[3000],ans; bool cmp(int a,int b) {return a > b; } //x表示小猫当前的编号,cnt表示缆车的数量 void dfs(int x,int …...
技术速递|加入 .NET 智能组件生态系统
作者:Daniel Roth - 首席产品经理 排版:Alan Wang .NET 智能组件是一组示例嵌入式 UI 组件,使得在应用中轻松添加 AI 启用的功能变得更加简单,例如从剪贴板数据自动填写表单、智能文本补全以及语义搜索等场景。.NET 智能组件演示了…...
python/requests库的使用/爬虫基础工具/
requests 是一个 Python 库,它允许你发送 HTTP 请求。这个库需要单独安装,因为它不是 Python 标准库的一部分 1.让我们安装requests 在控制台运行 pip install requests 使用 requests 发送请求 1.GET 请求: import requestsresponse …...
【STM32-HAL库】MQ2烟雾传感器使用(STM32F407ZET6)
MQ2可燃气体传感器介绍 MQ2是一种广谱气体传感器,能够检测多种可燃气体和烟雾。它是一种低成本、高灵敏度的传感器,广泛应用于家庭和工业环境中的气体监测。 原理 MQ2传感器的工作原理基于金属氧化物半导体(MOX)技术。当传感器暴露…...
玩转指针(3)
一、字符指针变量 字符指针变量(如char* p)的两种赋值方式 ①将字符类型地址赋值给字符指针变量 int main() {char a w;char* p &a;*p m;return 0; }②将常量字符串赋值给字符指针变量 常量字符串的介绍:用" "引起来的就…...
【CSS in Depth 2 精译_040】6.3 CSS 定位技术之:相对定位(下)—— 用纯 CSS 绘制一个三角形
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结)第二章 相对单位(已完结)第三章 文档流与盒模型(已完结)第四章 Flexbox 布局(已…...
HTML流光爱心
文章目录 序号目录1HTML满屏跳动的爱心(可写字)2HTML五彩缤纷的爱心3HTML满屏漂浮爱心4HTML情人节快乐5HTML蓝色爱心射线6HTML跳动的爱心(简易版)7HTML粒子爱心8HTML蓝色动态爱心9HTML跳动的爱心(双心版)1…...
Tegra K1深度解析:192核GPU如何重塑移动游戏与异构计算
1. 项目概述:一次移动游戏体验的底层革命 2014年,当小米发布其首款平板电脑MiPad,英伟达(Nvidia)同步推出Shield Tablet时,整个移动计算领域,尤其是安卓游戏生态,感受到了一次来自底…...
18.地下室的服务器
六月第一个周末的深夜,暴雨如注。陈远坐在书桌前,屏幕上是花花绿绿的监控图表,代表着他那台二手服务器资源使用率的曲线,正像垂死病人的心电图一样剧烈地上下跳动。CPU占用率长时间维持在90%以上,内存也逼近红线。这已…...
3分钟搞定TrollStore:iOS 14-16.6.1一键安装终极指南
3分钟搞定TrollStore:iOS 14-16.6.1一键安装终极指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾为在iOS设备上安装TrollStore而烦恼࿱…...
基于Agent-Next框架的Polymarket模拟交易机器人构建指南
1. 项目概述与核心价值最近在逛GitHub的时候,发现了一个挺有意思的项目,叫agent-next/polymarket-paper-trader。光看这个名字,可能很多朋友会有点懵,这到底是个啥?简单来说,这是一个基于agent-next框架&am…...
ARM GICv5 ITS_CR1寄存器配置与中断优化实践
1. ARM GICv5 ITS架构概述中断控制器是现代计算机系统中的关键组件,负责管理和分发硬件中断请求。ARM GICv5架构中的Interrupt Translation Service (ITS)模块通过创新的设备ID和事件ID映射机制,实现了灵活高效的中断路由方案。ITS作为GICv5的可选扩展组…...
20 - 告别“无限上下文”的幻觉:大模型知识注入的“四层矩阵”与下一场权重战争
本专题系列文章共 21 篇,前 5 篇限时免费阅读 01 - 眩晕时代的定海神针:大模型落地的“第一性原理”与算力丰裕悖论 02 - 95%的AI投资打了水漂:五大错配如何扼杀你的“第二增长曲线” 03 - 从电力到AI:标准化已死,个性化永生——大模型时代的三大商业终局 04 - 你的护城…...
奇异值分解(SVD):从黑盒到语义空间的一场解剖之旅
转载声明:本文核心思想源自 Jonathon Shlens A Tutorial on Principal Component Analysis、AMS Feature Column on SVD 及 LSA Tutorial 等经典文献,仅对叙述方式与图示进行重构,以适配中文技术社区的阅读语境。0. 开场:如果线性…...
别再只玩开发板了!用吃灰的STM32核心板DIY一个专属游戏手柄,实战HID协议
从零构建STM32游戏手柄:深入解析HID协议与实战开发 你是否曾盯着抽屉里积灰的STM32核心板思考它能做什么?与其重复点亮LED的基础实验,不如挑战一个既实用又有趣的项目——打造专属游戏手柄。这不仅能让硬件资源重获新生,更是深入理…...
量子机器学习在网络安全中的应用与性能分析
1. 量子机器学习在网络安全中的应用现状量子机器学习(Quantum Machine Learning, QML)近年来在网络安全领域引起了广泛关注。作为一名长期从事网络安全与量子计算交叉研究的从业者,我见证了这项技术从理论探讨到实际验证的发展历程。量子计算…...
仅限首批Beta开发者访问的Gemini Calendar高级API权限池即将关闭——现在掌握这6个私有端点将决定你团队的2025排期话语权
更多请点击: https://intelliparadigm.com 第一章:Gemini Google Calendar智能安排 Gemini 与 Google Calendar 的深度集成正在重塑日程管理范式。通过 Google Workspace 的授权 API 与 Gemini 的自然语言理解能力协同,用户可直接用日常语句…...
