一、简介

UDP协议和TCP协议都是传输层协议。下面简单先介绍一下TCP和UDP的概念:

  • TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据(有点类似于打电话必须先建立连接)。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
  • UDP(User Datagram Protocol,用户数据报协议)是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地(在网络不稳定的时候可能发生丢包)。由于UDP在传输数据报前不用建立连接,且没有超时重发等机制,所以数据传输效率比TCP高。

二、区别

以下是TCP和UDP的区别:

TCP和UDP的区别

区别

TCP

UDP

概念

(Transmission Control Protocol)

传输控制协议

(User Datagram Protocol )

用户数据报协议

是否面向连接

面向连接(发送数据之前需要先建立连接)

无连接(发送数据之前不需要建立连接)

数据模式

字节流模式(一连串无结构的字节流)

数据报模式

是否支持广播和多播

每一条TCP连接只能有两个端点,只能是一对一通信

支持一对一、一对多、多对一和多对多交互通信

是否提供可靠传输服务

可靠传输,使用流量控制和拥塞控制

尽最大努力交付,不保证可靠性;不存在流量控制和拥塞控制;

功能

存在建立连接(三次握手)、关闭连接(四次挥手)、保证可靠,在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源

 

性能

性能稍微差一点

性能比TCP高

优点

可靠,稳定,保证数据顺序

快,比TCP稍安全(因为不存在握手、确认、窗口、重传、拥塞控制等机制,所以不容易被攻击)

缺点

慢,效率低,占用系统资源高,易被攻击

不可靠(网络不稳定很容易发生丢包),不稳定,不保证数据顺序

适用场景

整个数据要准确无误的传递给对方,如浏览器、邮件发送,文件传输等

对网络质量要求不高的时,要求数据尽快传输时,也就是实时性稍微高一点的场景,如qq语音、实时视频会议等

面试题之TCP与UDP的区别相关推荐

  1. TCP和UDP的区别(转)

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

  2. 5.TCP和UDP的区别

    定义:TCP(Transmission ControlProtocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型 ...

  3. tcp和udp的区别和三次 四次挥握手 http://www.cnblogs.com/bizhu/archive/2012/05/12/2497493.html...

    小结TCP与UDP的区别: 1.基于连接与无连接: 2.对系统资源的要求(TCP较多,UDP少): 3.UDP程序结构较简单: 4.流模式与数据报模式 : 5.TCP保证数据正确性,UDP可能丢包,T ...

  4. 【转】TCP和UDP的区别

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

  5. udp 使用connect优点_一文搞懂TCP和UDP的区别

    TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol ,用户数据报协议)都属于TCP/IP协议簇.TCP/IP协议集包括了超 ...

  6. TCP和UDP的区别(Socket)

    TCP和UDP区别 TCP和UDP编程区别 TCP编程的服务器端一般步骤是: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt(); * 可选 ...

  7. 网络通信tcp与udp的区别

    tcp与udp的区别 网络udp概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议.一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.类似于日常生 ...

  8. TCP/IP的初步理解,TCP和UDP的区别

    1.什么是TCP/IP协议 TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他俩命名了. TCP/IP ...

  9. 传输层协议TCP和UDP的区别详解

    一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...

  10. TCP和UDP的区别有哪些

    TCP和UDP的区别有哪些 传输层协议主要有TCP与UDP. UDP:提供无连接的通信,不能保证数据包被发送到目的地址,典型的即时传输少量数据的应用程序使用UDP TCP:面向连接的.可靠地.基于字节 ...

最新文章

  1. 获取请求url的查询字符串
  2. Spring Cloud Alibaba:Sentinel 热点参数限流
  3. Javascript中var that=this;是什么意思(转)
  4. kubernetes高级之创建只读文件系统以及只读asp.net core容器
  5. Linux抓包工具tcpdump例子
  6. Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...
  7. Linux磁盘管理实战
  8. 【Xamarin.Android】探索android的底部导航视图
  9. 修改服务器监听端口命令,如何更改prometheus监控系统启动的默认端口号
  10. 绘制专利说明书附图的基本要素
  11. 用uniCloud开发了一个性格测试小程序,已经完美发布【源码开源】
  12. topojson转换与应用
  13. 适合新手小白,一个人一部手机如何做自媒体?看完我的你就懂了
  14. 【天翼云服务器】新服务器centos环境搭建,按照docker环境,解决相关配置问题。
  15. 2019年web前端就业前景和工资待遇
  16. 【CS231n】十五、深度学习的高效算法和硬件设计_一只神秘的大金毛_新浪博客...
  17. bapi sap 创建物料_bapi 物料主数据创建 'BAPI_MATERIAL_SAVEDATA'
  18. 人工智能-一种现代的方法-chapter3-通过搜索进行问题求解
  19. Liberal Event Extraction and Event Schema Induction
  20. C4D模型工具—创建点/添加点

热门文章

  1. 信贷违约风险预测(一)样本数据
  2. android iptables清空,android中的iptables错误:iptables-save和iptables-restore无法正常工作...
  3. 主板检测卡c5_电脑开机停在主板logo
  4. 589. N叉树的前序遍历
  5. 341.扁平化嵌套列表迭代器
  6. 编写程序销毁一个单链表
  7. 引用是变量的别名,不是常量的别名
  8. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 31: ordinal not in range(128)
  9. ajax 单击事件删除,AJAX删除事件与加载数据方法介绍
  10. SMO算法是干什么的?有什么作用?