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

UDP,TCP之间的区别

TCP的有点:

可靠,稳定。TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立链接,而在数据传递时,有确认、重传、拥塞控制机制,还会断开连接用来节约系统资源

TCP的缺点:慢,效率低、占用系统资源高、易被攻击 

在传输数据之前,要先建立连接,这会消耗时间,确认机制、重传机制、拥塞控制机制都会消耗大量时间,而且要在每台设备上维护所有的传输连接,而每个连接都会占用系统的CPU、内存等硬件资源。

 

UDP的优点:

快,比TCP稍安全,UDP没有TCP的握手,确认、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传输数据时非常快。

UDP的缺点:

不可靠、不稳定。因为UDP没有TCP那些可靠的机制,在网络不好的时候,就很容易丢包

 

怎么选择:

选择TCP协议:

当对网络通讯质量有要求的时候:比如整个数据要准确无误的传递给对方,这往往需要选择一些要求可靠的应用,如HTTP、HTTPS、FTP等传输协议,POP、SMTP等邮件传输协议,如:浏览器、QQ传文件等

 

选择UDP协议:

当网络通讯质量要求不高的时候,要求网络通讯迅速度能尽量的快,这是就可以使用UDP,如:QQ语音、QQ视频、TFTP等

 

小结TCP和UDP的区别:

基于连接与无连接

对系统资源的要求(TCP较多、UDP少)

UDP程序结构较简单

流模式与数据报模式

TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

TCP适合传输大量数据的,UDP适合传输少量数据 

 

转载于:https://www.cnblogs.com/DeryKong/p/10703204.html

相关文章:

  • springboot 系列教程六:springboot mybatis集成
  • windows添加开机启动项
  • 关于Docker文件系统
  • XP和Win 7双系统安装说明和注意事项
  • jQuery之getAll()和cleanData()
  • 利用pig分析cdn访问日志内指定时间段的url访问次数
  • 6本Python好书上新,来撩~
  • cursor:hand与cursor:pointer的区别介绍
  • 【AC自动机】AC自动机
  • Java 生成 exe 文件
  • 大数据分析工具如何摆脱样子工程?
  • 学习Android怎么在未来站稳脚跟
  • 预测《权游》角色生死,AI算法魔力何在?
  • R语言学习笔记:因子
  • 转:开源3D引擎介绍
  • SegmentFault for Android 3.0 发布
  • 【刷算法】求1+2+3+...+n
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Apache的80端口被占用以及访问时报错403
  • Docker: 容器互访的三种方式
  • es6--symbol
  • FineReport中如何实现自动滚屏效果
  • IDEA常用插件整理
  • input实现文字超出省略号功能
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Node项目之评分系统(二)- 数据库设计
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • vue中实现单选
  • WebSocket使用
  • 计算机常识 - 收藏集 - 掘金
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 正则表达式小结
  • 字符串匹配基础上
  • 【云吞铺子】性能抖动剖析(二)
  • gunicorn工作原理
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (27)4.8 习题课
  • (4.10~4.16)
  • (7)STL算法之交换赋值
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (补)B+树一些思想
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (分布式缓存)Redis持久化
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐