【技术分享】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?
|
缓存 负载均衡 Java
你真的了解负载均衡中间件nginx吗?
nginx可所谓是如今最好用的软件级别的负载均衡了。通过nginx的高性能,并发能力强,占用内存下的特点,可以搭建高性能的代理服务。同时nginx还能作为web服务器,反向代理,动静分离服务器。十分的方便好用,今天让我来一起看看,你真的了解nginx吗?
832 85
|
8月前
|
网络协议
为何UDP协议不可靠?DNS为何选择UDP?
总的来说,UDP和TCP各有优势,选择哪种协议取决于应用的具体需求。UDP可能不如TCP可靠,但其简单、快速的特性使其在某些场景下成为更好的选择。而DNS就是这样的一个例子,它利用了UDP的优势,以实现快速、高效的名字解析服务。
473 14
|
存储 数据可视化 JavaScript
(低代码)可视化搭建平台数据源设计剖析
低代码平台属于APaaS(应用平台即服务),其解决的是企业内部应用协调和人效成本的问题. 随着计算机技术诸如云服务等的发展, 传统软件服务已无法满足数字化浪潮的压力,
1231 0
|
人工智能 缓存 Cloud Native
用 Higress AI 网关降低 AI 调用成本 - 阿里云天池云原生编程挑战赛参赛攻略
《Higress AI 网关挑战赛》正在火热进行中,Higress 社区邀请了目前位于排行榜 top5 的选手杨贝宁同学分享他的心得。本文是他整理的参赛攻略。
867 163
|
JSON JavaScript Java
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
437 3
|
安全 数据建模 应用服务中间件
如何给IP地址添加SSL证书(https)
为IP地址配置SSL证书实现HTTPS访问,需拥有固定公网IP,选择支持IP证书的CA,完成账户注册、证书申请、所有权验证及证书安装。验证过程涉及在服务器上放置特定文件,确保可访问。安装后需测试连接,注意兼容性和安全性,定期维护证书。
|
算法 知识图谱
极简ECDSA
该文章以极简的方式介绍了ECDSA(椭圆曲线数字签名算法)的基本原理,包括私钥和公钥的生成、签名过程、以及验证签名的方法,旨在帮助读者轻松掌握ECDSA的核心概念。
243 6
极简ECDSA
|
人工智能 分布式计算 Hadoop
阿里云大数据ACA及ACP复习题(261~270)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试。