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. LVS-DR之VIP、DIP跨网段实例

    在日常应用环境中,我们会遇到这样一种lvs部署环境,所有的dr以及的rs server都在一个局域网环境中,但只有一个公网ip,而又需要将应用发布到internet上,都知道lvs的最好的模式就是所有 ...

  2. 在wamp中添加php新版本

    新的公司,要求用php5.3,只记得PHP出到7了,5.3不知道是之前什么时候的了呢.不过公司要求,照办就是. 从网上看了看教程,挺简单的,就是5.3的php资源的寻找.找到了,存到了自己云盘,嘿嘿, ...

  3. 一个简单的Springmvc应用开发例子

            SpringMVC应用的配置步骤:         1,将所有的jar包导入到lib文件夹下:             jar在spring框架包-->libs-->所有的 ...

  4. Http协议规范及格式

    HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616.HTTP协议采用了请求/响应模型.客户 ...

  5. 迁移学习︱艺术风格转化:Artistic style-transfer+ubuntu14.0+caffe(only CPU)

    说起来这门技术大多是秀的成分高于实际,但是呢,其也可以作为图像增强的工具,看到一些比赛拿他作训练集扩充,还是一个比较好的思路.如何在caffe上面实现简单的风格转化呢? 好像网上的博文都没有说清楚,而 ...

  6. 笔记+R︱Logistics建模简述(logit值、sigmoid函数)

    本笔记源于CDA-DSC课程,由常国珍老师主讲.该训练营第一期为风控主题,培训内容十分紧凑,非常好,推荐:CDA数据科学家训练营 ---------------------------------- ...

  7. Flex中的FusionCharts 2D饼图

    1.设计思路 (1)FusionCharts中有Flex组件文件FusionCharts.swc,这样可以让FusionCharts用Flex展示出来: (2)利用xmlns:components=& ...

  8. Flash Builder4.0运行应用程序报错

    1.错误描述 SecurityError: Error #2148: SWF 文件 file:///D:/Adobe Flash Builder 4 Installer/HVBox/bin-debug ...

  9. js 数组去重常见的几种方式

    1.利用标记 var arr = [2,6,2,6,4,3,16];// arr = [2,6,4,3,16] function norepeat(arr){ var res = []; for(va ...

  10. json数组本地获取,以及根据字段排序【部分摘录】

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...