TCP和UDP都是传输层的协议

UDP协议的特点:
  • UDP协议是一种无连接的、不可靠的传输层协议(尽力而为的协议)
  • 为什么说UDP是一种无连接、不可靠的协议呢?UDP协议在传输报文之前不需要在双方之间建立连接。
  • UDP协议对报文只提供了一种保证数据传输可靠性的措施——可选的校验和
  • 如果UDP协议检测出收到的分组出现错误,就丢弃分组,不会确认,也不会通知重传,这也是UDP最大的缺点,传输不可靠。当传递数据的时候,网络质量不好,就会发生丢包(数据丢失),无法保证数据的传输顺序。
  • 在传输上UDP的传输速度非常快,因为在传输之前不需要进行确认,传输中没有拥塞,重传。

    类似于一个广播的形式,不管你听不听,发送方一直在发送数据。UDP的效率高,处理速度快,对网络要求不高的的特点使他应用在P2P会话类。可以一对一,一对多,多对一的通信。适用于实时的语音和视频传输。
TCP协议的特点:
  • 面向连接的传输服务,下面是一段形象的总结:

    UDP像是你邮一封信,信邮丢了不知道,写信的一直以为信已经邮到,之后还会邮信。而TCP像是打电话,如果对方不接电话,双方永远不能交流信息,对方接电话你知道,对方说了什么你知道,对方挂了电话你也会知道。

    所以TCP协议的传输不会出现差错,丢失,重复(双方会有确认)

  • 由于是面向连接的协议,TCP协议提高了数据传输的可靠性,TCP会有三次握手来建立连接,在传输过程中会有重传,确认,拥塞控制等机制,传输完成后还会断开连接释放资源。

  • 相比于UDP协议,TCP传输速度上会慢,效率低下,时间都浪费在保证数据传输的各种机制上。
  • TCP支持全双工通信:第一次听到这个名词的时候是在单片机课上,老师详细的讲述了单工,半双工,全双工的区别。全双工就是双方可以同时在任何时候发送数据。
  • TCP协议是将数据看成一连串,无结构的字节流,UDP是面向报文传输的。

TCP和UDP协议的区别的更多相关文章

  1. 【转】HTTP学习---TCP和UDP协议的区别与应用

    [原文]https://www.toutiao.com/i6592813624689951239/ 概述 ⊙TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICM ...

  2. TCP、UDP 协议的区别

    TCP 面向连接 可靠 传输形式:字节流 传输效率:慢 所需资源:多 首部字节:20-60 应用场景:要求通讯数据可靠(如文件传输.邮件传输) UPD 无连接 不可靠 传输形式:数据报文段 传输效率: ...

  3. TCP和UDP协议的区别以及原理

    参考文章https://blog.csdn.net/weixin_38483133/article/details/123864253

  4. TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别(转) 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  5. (转)TCP协议与UDP协议的区别

    TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...

  6. TCP协议与UDP协议的区别以及与TCP/IP协议的联系

    先介绍下什么是TCP,什么是UDP. 1. 什么是TCP? TCP(Transmission Control Protocol,传输控制协议)是面向连接的.可靠的字节流服务,也就是说,在收发数据前,必 ...

  7. (转)TCP和UDP之间的区别

    TCP和UDP区别     TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠的 不可靠的 应用场合 传输大量的数据 少量数据 速度 慢 快    OSI 和 TCP/IP 模型在传输层 ...

  8. TCP和UDP协议的比较

    通信协议 网络通信是两台计算机上的两个进程之间的通信. 网络通信需要通信协议.网络协议有很多种,就像我们平常交流说话,也有多种语言.. 最常见的协议是TCP/IP协议.UDP协议. TCP:TCP 是 ...

  9. 深入浅出TCP与UDP协议

    深入浅出TCP与UDP协议 网络协议是每个前端工程师的必修课,TCP/IP协议族是一系列网络协议的总和,而其中两个具有代表性的传输层协议,分别是TCP与UDP,本文将介绍这两者以及他们之间的区别. 一 ...

随机推荐

  1. 影响JavaScript应用可扩展性因素

    引言:JavaScript 应用变得越来越庞大.这是因为使用JavaScript能做的事情远比我们大多数人所需求的要多得多.我们不能仅因为技术上可行,就去考虑软件系统的扩展问题.为一个不需要扩展的系统 ...

  2. tms320dm6446内核启动分析

    关于达芬奇DM6446,里面内部有两个部分,一个是ARM926ejs的核,还有一个是C64+DSP的视频处理核,而我需要关心的重点是arm926ejs的核(bootload和linux内核) 从boo ...

  3. vxWorks 命令

    1.4.1 任务管理    sp( )            用缺省参数创建一个任务(priority="100" 返回值为任务ID,或错误)(taskSpawn) sps( )  ...

  4. flask中jinjia2模板引擎使用详解5

    接上文 宏 可以理解为函数,即把一些常用的模板片段做好封装,以便于重用,减少工作量和维护难度. 宏的定义很简单: {%macro xxx()%} ##这里写内容 {%endmacro%}   下面引用 ...

  5. 异常-----freemarker.template.TemplateException: Macro select has no such argument

    1.错误描述 六月 25, 2014 11:32:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  6. [mysql] 2进制安装和简单优化

    ##################################mysql 2进制安装和简单优化################################################## ...

  7. 在ASP.NET 中检测手机浏览器(转)

    引言 之前做的项目中需要在浏览器查看PDF文件.在电脑端没有问题,但是手机端网页打开失败. 后来使用了pdf.js,个人认为pdf.js的页面不够清爽,就希望网站能自动检测登录设备,电脑端保持原样,手 ...

  8. 【深入理解JVM】类加载器与双亲委派模型

    原文链接:http://blog.csdn.net/u011080472/article/details/51332866,http://www.cnblogs.com/lanxuezaipiao/p ...

  9. BZOJ 2969: 矩形粉刷(期望)

    BZOJ 2969: 矩形粉刷(期望) 题意: 给你一个\(w*h\)的方阵,不断在上面刷格子.每次等概率选择方阵中的两个点(可以相同)将以这两个点为端点的矩形(边平行于矩形边界)进行染色.共染\(k ...

  10. 【BZOJ4237】稻草人(CDQ分治,单调栈)

    [BZOJ4237]稻草人(CDQ分治,单调栈) 题面 BZOJ 题解 \(CDQ\)分治好题呀 假设固定一个左下角的点 那么,我们可以找到的右下角长什么样子??? 发现什么? 在右侧是一个单调递减的 ...