UDP和TCP的区别

UDP(User Data Protocol,用户数据报协议)

  UDP是一个无连接,不保证可靠性的传输层协议,也就是说发送端部关心发送的数据是否到达目标主机,数据是否出错等,收到数据的主机也不会告诉发送方是否收到了数据,它的可靠性有上层协议来保障。

(1) UDP是一个非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。

(2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息。

(3) UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包的额外开销很小。

(4) 吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。

(5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。

(6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。

小结TCP与UDP的区别:

1.基于连接与无连接;

2.对系统资源的要求(TCP较多,UDP少);

3.UDP程序结构较简单;

4.流模式与数据报模式 (UDP将数据打成数据包发送,TCP是在双方之间建立流模式);

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菜鸟计划

加深理解HTTP请求---网络基础TCP/IP

为了了解HTTP,必须的了解TCP/IP协议族。 通常使用的网络实在TCP/IP协议族的基础上运作的。而HTTP就属于他的一个子集。 1、TCP/IP 协议族 ...

2797
来自专栏子勰随笔

ANR(网络资料整理)

1135
来自专栏黑白安全

UDP和TCP的优缺点

        TCP是面向连接的,可靠的流协议.流就是指不间断的数据结构,你可以把它想象成排水管道中的水流,当应用程序采用TCP发生消息时,虽然可以保证发送的...

1122
来自专栏同步博客

TCP/IP协议

  TCP/IP协议并非单指TCP协议、IP协议,它是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Int...

1313
来自专栏mukekeheart的iOS之旅

TCP/IP协议学习笔记

计算机网络基础知识复习汇总:计算机网络基础知识复习 HTTP协议的解析:剖析 HTTP 协议 一个系列的解析文章: TCP/IP详解学习笔记(1)-- 概述 T...

3745
来自专栏Java面试通关手册

搞定计算机网络面试,看这篇就够了(补充版)

相对与上一个版本的计算机网路面试知识总结,这个版本增加了 “TCP协议如何保证可靠传输”包括超时重传、停止等待协议、滑动窗口、流量控制、拥塞控制等内容并且对一些...

1312
来自专栏Java3y

运输层

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。只有位于网络边缘部分的主机的协议栈才有运输...

982
来自专栏Golang语言社区

TCP、UDP、IP 协议分析

互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄...

3543
来自专栏玄魂工作室

Web应用系统介绍-TCP/IP协议

大家先冷静一下上了一天班的大脑先~~~ 然后我们再讲理论~ 以下内容非常枯燥,但是也是非常有用~ 在我们开始CTF的道路之前,希望你们能知道并理解下面基本概念...

3284
来自专栏猿人谷

总结---6

      1.OSI参考模型有多少层?分别是哪几层?(不建议死记硬背,可以看看我在系列文章第一篇里的描述,效果比较好,不会因为紧张而答不出来)        ...

1966

扫码关注云+社区