面试题之TCP与UDP的区别
一、简介
UDP协议和TCP协议都是传输层协议。下面简单先介绍一下TCP和UDP的概念:
- TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据(有点类似于打电话必须先建立连接)。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
- UDP(User Datagram Protocol,用户数据报协议)是一个简单的面向数据报的运输层协议。它不提供可靠性,只是把应用程序传给IP层的数据报发送出去,但是不能保证它们能到达目的地(在网络不稳定的时候可能发生丢包)。由于UDP在传输数据报前不用建立连接,且没有超时重发等机制,所以数据传输效率比TCP高。
二、区别
以下是TCP和UDP的区别:
区别 |
TCP |
UDP |
概念 |
(Transmission Control Protocol) 传输控制协议 |
(User Datagram Protocol ) 用户数据报协议 |
是否面向连接 |
面向连接(发送数据之前需要先建立连接) |
无连接(发送数据之前不需要建立连接) |
数据模式 |
字节流模式(一连串无结构的字节流) |
数据报模式 |
是否支持广播和多播 |
每一条TCP连接只能有两个端点,只能是一对一通信 |
支持一对一、一对多、多对一和多对多交互通信 |
是否提供可靠传输服务 |
可靠传输,使用流量控制和拥塞控制 |
尽最大努力交付,不保证可靠性;不存在流量控制和拥塞控制; |
功能 |
存在建立连接(三次握手)、关闭连接(四次挥手)、保证可靠,在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源 |
|
性能 |
性能稍微差一点 |
性能比TCP高 |
优点 |
可靠,稳定,保证数据顺序 |
快,比TCP稍安全(因为不存在握手、确认、窗口、重传、拥塞控制等机制,所以不容易被攻击) |
缺点 |
慢,效率低,占用系统资源高,易被攻击 |
不可靠(网络不稳定很容易发生丢包),不稳定,不保证数据顺序 |
适用场景 |
整个数据要准确无误的传递给对方,如浏览器、邮件发送,文件传输等 |
对网络质量要求不高的时,要求数据尽快传输时,也就是实时性稍微高一点的场景,如qq语音、实时视频会议等 |
面试题之TCP与UDP的区别相关推荐
- TCP和UDP的区别(转)
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信 ...
- 5.TCP和UDP的区别
定义:TCP(Transmission ControlProtocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义.在简化的计算机网络OSI模型 ...
- 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 ...
- 【转】TCP和UDP的区别
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UDP协议与TCP/IP协议的联系,很多人犯糊涂了, 一直都是说TCP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/ ...
- udp 使用connect优点_一文搞懂TCP和UDP的区别
TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol ,用户数据报协议)都属于TCP/IP协议簇.TCP/IP协议集包括了超 ...
- TCP和UDP的区别(Socket)
TCP和UDP区别 TCP和UDP编程区别 TCP编程的服务器端一般步骤是: 1.创建一个socket,用函数socket(): 2.设置socket属性,用函数setsockopt(); * 可选 ...
- 网络通信tcp与udp的区别
tcp与udp的区别 网络udp概述 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议.一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.类似于日常生 ...
- TCP/IP的初步理解,TCP和UDP的区别
1.什么是TCP/IP协议 TCP/IP协议是一个协议簇.里面包括很多协议的.UDP只是其中的一个.之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他俩命名了. TCP/IP ...
- 传输层协议TCP和UDP的区别详解
一.TCP协议 1.TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认.窗口.重传.拥塞控制机制,在数据传完后,还会断开连接用来节约系 ...
- TCP和UDP的区别有哪些
TCP和UDP的区别有哪些 传输层协议主要有TCP与UDP. UDP:提供无连接的通信,不能保证数据包被发送到目的地址,典型的即时传输少量数据的应用程序使用UDP TCP:面向连接的.可靠地.基于字节 ...
最新文章
- 获取请求url的查询字符串
- Spring Cloud Alibaba:Sentinel 热点参数限流
- Javascript中var that=this;是什么意思(转)
- kubernetes高级之创建只读文件系统以及只读asp.net core容器
- Linux抓包工具tcpdump例子
- Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...
- Linux磁盘管理实战
- 【Xamarin.Android】探索android的底部导航视图
- 修改服务器监听端口命令,如何更改prometheus监控系统启动的默认端口号
- 绘制专利说明书附图的基本要素
- 用uniCloud开发了一个性格测试小程序,已经完美发布【源码开源】
- topojson转换与应用
- 适合新手小白,一个人一部手机如何做自媒体?看完我的你就懂了
- 【天翼云服务器】新服务器centos环境搭建,按照docker环境,解决相关配置问题。
- 2019年web前端就业前景和工资待遇
- 【CS231n】十五、深度学习的高效算法和硬件设计_一只神秘的大金毛_新浪博客...
- bapi sap 创建物料_bapi 物料主数据创建 'BAPI_MATERIAL_SAVEDATA'
- 人工智能-一种现代的方法-chapter3-通过搜索进行问题求解
- Liberal Event Extraction and Event Schema Induction
- C4D模型工具—创建点/添加点
热门文章
- 信贷违约风险预测(一)样本数据
- android iptables清空,android中的iptables错误:iptables-save和iptables-restore无法正常工作...
- 主板检测卡c5_电脑开机停在主板logo
- 589. N叉树的前序遍历
- 341.扁平化嵌套列表迭代器
- 编写程序销毁一个单链表
- 引用是变量的别名,不是常量的别名
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 31: ordinal not in range(128)
- ajax 单击事件删除,AJAX删除事件与加载数据方法介绍
- SMO算法是干什么的?有什么作用?