【技术分享】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

目录
相关文章
|
1月前
|
网络协议
【技术分享】TCP
4月更文挑战第1天】
29 3
|
6月前
|
网络协议 C++ iOS开发
C++项目实战-UDP服务器
C++项目实战-UDP服务器
51 0
|
1月前
|
网络协议 网络架构
【技术分享】ICMP
4月更文挑战第3天
41 4
|
4月前
|
网络协议
【技术分享】协议
【1月更文挑战第4天】
48 0
|
5月前
|
网络协议 Linux 应用服务中间件
以前收集整理的一些tcp知识点
以前收集整理的一些tcp知识点
24 0
|
9月前
|
网络协议 数据安全/隐私保护 UED
直播平台源码搭建协议讲解篇:传输控制协议TCP
这样,我就将直播平台源码TCP协议讲解完了,传输控制协议TCP保障了直播平台的数据传输质量和用户体验。在一个充满竞争的数字媒体环境中,提供稳定而可靠的直播服务对于吸引和保留用户至关重要。
直播平台源码搭建协议讲解篇:传输控制协议TCP
|
负载均衡 网络协议 物联网
即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]
为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第10 期。
128 0
即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]
|
网络协议 Java 程序员
猿创征文|UDP/TCP网络编程
猿创征文|UDP/TCP网络编程
109 0
猿创征文|UDP/TCP网络编程
|
存储 网络协议 网络性能优化
猿创征文|网络原理——UDP/TCP协议
本文主要介绍在TCP/IP的五层协议模型中,传输层的最常见的两个协议——UDP协议与TCP协议。TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的通信传输。下边我们来一起具体了解这两个协议。
102 0
猿创征文|网络原理——UDP/TCP协议
|
网络协议 Unix Java
TCP学习笔记(一) 初遇篇
TCP学习笔记(一) 初遇篇
TCP学习笔记(一) 初遇篇