【技术分享】UDP

简介: 4月更文挑战第2天

★什么是 UDP?
UDP(User Datagram Protocol,用户数据报协议)是一种在互联网上作为标准协议使用的协议,就像 IP 和 TCP 一样。
UDP 是在传输层运行的协议,是网络层IP的上层协议。
UDP是网络层 IP与会话层以上协议(如 DNS、NTP、DHCP)之间的桥梁协议。

UDP端口号的概念与 TCP 类似。 不过,与TCP不一样,UDP不会提供三方握手、确认、排序、重传控制、窗口和其他功能。
它是一种几乎什么都不做的协议,没有像 TCP 那样的排序控制、重传控制、窗口控制和流量控制等功能。
UDP 是一种用于通信的协议,其可靠性不如 TCP,但要求速度和实时性。

TCP采用基于连接的通信方式(在通信开始前在对方之间建立虚拟通信通道)。
UDP 使用无连接通信(通信开始前不与对方进行事先交换)。

★UDP 的特点
UDP 是一种无连接协议,这意味着虽然它的可靠性不如 TCP,但它可以高速传输数据。
此外,UDP 报头的大小(8 字节)很小,这意味着可以收发更多的应用数据。 但是,由于不能保证数据包一定能到达目的地,因此会出现数据包丢失等情况。
因此一旦出现数据包丢失等情况,应用程序需要重新传输数据包以建立通信,或者应用程序需要能够容忍数据包丢失。

★UDP 的应用
(1) 传输语音和视频等实时数据时
传输语音数据时,如果每次发送数据时都进行确认,如 TCP,语音通话就会中断或听不清。 在这种需要实时性能的数据通信中
需要的是高速数据传输而不是可靠性。 因此,UDP 为语音通信提供了更好的质量。

(2) 同时向多方传输相同数据时
使用 TCP 通信只能进行单播通信,因为必须与通信伙伴建立一对一的连接。
TCP 不能用于多播或广播通信,即一个数据包发送到多个目的地。
TCP 不能用于向多个目的地发送单个数据包的组播或广播通信。
因此,不需要建立连接的 UDP 适用于一对 N 的通信。

(3) 不要求可靠性,但需要传输少量数据时。
例如,DNS 服务器和客户端 PC 之间的数据通信需要客户端 PC 发出一次查询,DNS 服务器作出一次响应。
通过客户端 PC 的一次查询和 DNS 服务器的一次响应完成通信。
这种交换如果采用三方握手方式。进行 3 次握手,通信效率会很低。
UDP 适用于只需少量数据传输即可完成的通信。

★TCP和UDP的比较
image.png

目录
相关文章
|
网络协议
【计算机网络】为什么DNS协议采用的是UDP作为传输层协议,而不是TCP?
【1月更文挑战第10天】【计算机网络】为什么DNS协议采用的是UDP作为传输层协议,而不是TCP?
|
机器学习/深度学习 人工智能 程序员
Reflexion:让AI智能体学会反思的神奇技术
想象一下AI智能体能像人类一样从错误中学习,Reflexion技术让智能体不再需要重新训练就能自我改进。本文通过一个智能体助手小R的成长故事,带你轻松理解这个改变智能体学习方式的创新技术。
647 2
|
网络协议
为何UDP协议不可靠?DNS为何选择UDP?
总的来说,UDP和TCP各有优势,选择哪种协议取决于应用的具体需求。UDP可能不如TCP可靠,但其简单、快速的特性使其在某些场景下成为更好的选择。而DNS就是这样的一个例子,它利用了UDP的优势,以实现快速、高效的名字解析服务。
838 14
|
数据采集 监控 数据管理
速看!数据质量管理的6个要素
数据质量管理关乎数据的准确、完整、一致、及时、唯一和有效。它并非遥不可及,而是直接影响决策与效率。通过六大要素协同管理,让数据真正可靠可用。
|
存储 缓存 前端开发
【数据结构/C语言】深入理解 双向链表
【数据结构/C语言】深入理解 双向链表
|
存储 SQL 分布式计算
MaxCompute 在大规模数据仓库中的应用
【8月更文第31天】随着大数据时代的到来,企业面临着海量数据的存储、处理和分析挑战。传统的数据仓库解决方案在面对PB级甚至EB级的数据规模时,往往显得力不从心。阿里云的 MaxCompute(原名 ODPS)是一个专为大规模数据处理设计的服务平台,它提供了强大的数据存储和计算能力,非常适合构建和管理大型数据仓库。本文将探讨 MaxCompute 在大规模数据仓库中的应用,并展示其相对于传统数据仓库的优势。
578 0
|
网络协议 算法 网络性能优化
|
SQL 算法 API
微信基于 StarRocks 的实时因果推断实践
本文介绍了因果推断在业务中的应用,详细阐述了基于 StarRocks 构建因果推断分析工具的技术方案,通过高效算子的支持,大幅提升了计算效率。例如,t 检验在 6亿行数据上的执行时间仅需 1 秒。StarRocks 还实现了实时数据整合,支持多种数据源(如 Iceberg 和 Hive)的无缝访问,进一步增强了平台的灵活性与应用价值。
|
人工智能 Linux 文件存储
旧台式电脑的 10 种用途
旧台式电脑的 10 种用途
1529 14
|
域名解析 网络协议 关系型数据库
TCP和UDP的区别是什么
TCP和UDP的区别是什么
2950 0

热门文章

最新文章