当前位置: 首页 > news >正文

TCP与UDP对比

这两个都是运输层的协议,UDP是无连接不可靠的,而TCP是面向连接可靠的,相较而言,UDP要简单许多。两者对比做一个简要概述。

连接方式

1.UDP是无连接的,就是通信双方无需建立连接就可以随时发送数据。

2.而TCP在发送数据之前必须三报文握手建立TCP连接,等数据传输结束后必须使用四报文挥手来释放连接。

可靠性

1.若传输过程中,UDP数据报产生误码了,接收方通过UDP首部检验和字段的值,可以检查产生误码,但也是丢弃罢了,发送方当然也不做任何处理。UDP适合于实时性比较高的情况:IP电话和视频会议。
2.而TCP通过基于字节的滑动窗口实现可靠传输。适用于实时性不高但保证数据的完整性的场景:文件传输。

对应用层报文的处理方式

UDP是面向应用报文的,而TCP是面向字节流的。

1.UDP:发送方的应用层将报文交付给运输层的UDP,UDP给应用层报文添加一个首部;接收方的运输层去掉UDP的首部,向上交付给应用进程,总体就是基于报文整体进行操作。

2.TCP:TCP将发送方的应用层报文看作是字节流,将他们的编号放在自己的发送缓存中,根据发送策略,提取部分字节,构建TCP报文段发送;接收方拿到TCP报文段提取数据存储在自己的接受缓存,并向上交付给应用进程。正是这种处理方式,TCP才能实现流量控制和拥塞控制。

对单播、多播、广播的支持

1.UDP支持单播、多播和广播。
2.但是TCP连接建立后,双方之间就好像有了一条可靠的信道,所以仅仅支持单播。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 阿里云云盘手动扩展方法
  • xss-labs通关攻略 11-15关
  • Rust 中 `madvise` 和 `posix_fadvise`的区别
  • 华为OD机试真题 - 多段数据压缩(Java/Python/JS/C/C++ 2024 D卷 100分)
  • Django+Vue农产品销售系统的设计与实现
  • 《探讨——关于三层架构前在前端项目的应用》第一版
  • 百望云携手春秋航空 迈入航空出行数电票新时代
  • Visual Studio Community 2022 + Win10 编译 OpenCPN 5.9.0 记录
  • 【算法每日一练及解题思路】找出模式匹配字符串的异位词在原始字符串中出现的索引下标
  • 大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
  • Java算法之TimSort
  • 【面试经验】京东技术产品笔试 G
  • 生成艺术,作品鉴赏:物似主人形
  • Openldap可视化工具PhpLdapAdmin服务配置
  • 【攻防世界新手入门】simple_js
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • CEF与代理
  • centos安装java运行环境jdk+tomcat
  • dva中组件的懒加载
  • Java,console输出实时的转向GUI textbox
  • java取消线程实例
  • JS函数式编程 数组部分风格 ES6版
  • Odoo domain写法及运用
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • vagrant 添加本地 box 安装 laravel homestead
  • 初识 beanstalkd
  • 服务器从安装到部署全过程(二)
  • 记一次和乔布斯合作最难忘的经历
  • 如何合理的规划jvm性能调优
  • 思否第一天
  • 微服务框架lagom
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 你对linux中grep命令知道多少?
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (六)DockerCompose安装与配置
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转)Unity3DUnity3D在android下调试
  • *p++,*(p++),*++p,(*p)++区别?
  • .cn根服务器被攻击之后
  • .htaccess 强制https 单独排除某个目录
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .net 使用$.ajax实现从前台调用后台方法(包含静态方法和非静态方法调用)
  • .NetCore部署微服务(二)
  • [000-01-022].第06节:RabbitMQ中的交换机介绍