跳至主要内容

什么是用户数据报协议(UDP)?

什么是用户数据报协议(UDP)?

用户数据报协议(UDP)是一种用于互联网无连接通信的通信协议(即一组规则)。在网络通信中,通常需要在交换数据前由两个设备相互验证身份以建立连接。但是,UDP 允许设备在没有任何限制或前提条件的情况下向另一设备发送数据。它非常适合低延迟工作负载,例如在线游戏、实时流媒体和物联网传感器数据传输。尽管数据传输速度快,但这种通信方式不可靠,且容易面临安全风险。

UDP 有哪些优势?

用户数据报协议为用户带来多项好处,包括:

通信开销低

UDP 采用极简的数据包结构——这消除了建立会话的需求,并减少了需要发送的数据量。此外,在接收 UDP 用户请求时,它也不建立连接。无需进行三次握手(即在数据通信前要求客户端和服务器交换同步和确认数据包的过程)。因此,UDP 数据包比使用其他通信协议发送的数据包更小。

高速

UDP 在发送下一个数据包之前,不会等待数据的确认信息。它也不具备 TCP 等其他协议中常见的流量控制、纠错和可靠性功能。由于无需处理协议开销(即在数据处理和管理上花费的时间较少),数据传输速度得以提升。

高效广播

UDP 具有无连接特性,因此非常适合进行广播。用户可以发送单条消息,供所有目标接收者同时接收。广播速度快,因为发送者与接收者之间无需建立连接。UDP 可同时向数百个接收者进行广播。

UDP 有哪些应用场景?

有几种应用场景非常适合使用 UDP。其中包括:

流媒体和视频

UDP 适用于流媒体和视频传输,因为它是一种无连接协议,无需 TCP 等其他协议的额外开销。这使其成为需要快速发送和接收大量数据的应用(例如流媒体视频和音频、VoIP以及视频会议)的理想选择。

Diagram showing UDP game server traffic routed to targets through an AWS Network Load Balancer

DNS 查询

UDP 允许快速发送 DNS 查询,无需进行握手。对于 DNS 查找而言,UDP 是一种比 TCP 更轻量、更快速且更高效的协议。

网络时间协议(NTP)同步

UDP 非常适合 NTP 同步,因为它能促进两台主机之间对时间敏感的数据的快速传输。此外,UDP 无需建立连接的开销,能够以极低的延迟快速可靠地传输对时间敏感的数据。

UDP 是如何工作的?

网络通信通过以数据包的形式发送数据来工作。实际的消息内容被封装在标头中,以便向接收方提供额外信息。在 UDP 中,数据包也被称为 UDP 数据报。每个 UDP 数据报由一个 8 字节的标头和随后的数据组成。

UDP 标头

数据报标头包含以下信息:

  • 源地址和目标地址

  • 协议名称

  • 数据长度

  • 可选校验和

目标接收到数据报时,会检查标头以确定源地址和目标地址。随后检查协议字段,以确保发送的数据类型正确无误。最后,使用校验和来验证数据是否完整且未损坏。如果数据损坏或不完整,数据报将被丢弃,并且接收方会通知发送方。在这种情况下,发送方只需重新发送数据。该过程会重复进行,直到接收方收到完整消息。

UDP 与 TCP 有什么区别?

传输控制协议(TCP)和 UDP 是计算机网络中用于在互联网上传输数据的两种最常用协议,但两者的工作方式各不相同。这两种协议分别适用于不同的用户需求。它们的主要区别如下。

端口号

UDP 端口号通常在 0 到 1023 之间。最常见的 UDP 目标端口号包括 21(FTP)、23(Telnet)、25(SMTP)、80(HTTP)、110(POP3)和 520(路由信息协议/RIP)。TCP 端口号范围为 0 到 65535,常见的端口号包括 21(FTP)、25(SMTP)、53(DNS)、80(HTTP)和 443(HTTPS)。

数据包传输

使用 UDP 时,数据包是独立发送的,发送方不了解网络状态或其他正在发送的数据包的情况。TCP 是一种面向连接的协议,这意味着数据包是按特定顺序发送的。发送方会跟踪数据包的发送和接收情况。

可靠性

使用 UDP 时,无法保证数据包的到达顺序与发送顺序一致。这使得 UDP 快速高效,但也可能不可靠。TCP 比 UDP 更可靠,因为它能保证数据包按发送顺序到达。

速度

TCP 通信速度慢于 UDP,因为它需要发送额外的几个数据包来建立和监控连接。TCP 牺牲速度来换取更高的安全性和可靠性。

下表总结了这两种协议之间的主要区别:

UDP TCP
可能不安全 安全
无连接 面向连接
不保证数据送达 可靠传输
标头较小(8 字节) 标头较大(20 字节)
基本错误检测与纠正 高级错误检测与纠正
无流量控制 有流量控制
无握手机制 三次握手
不进行数据包重排序 进行数据包重排序
无需发送方确认 需要发送方确认

UDP 有哪些限制?

尽管 UDP 具有诸多优势,但根据具体使用场景,仍有一些问题需要注意。下文将介绍 UDP 的一些局限性。

不可靠

UDP 通常被认为是一种不可靠的通信协议。UDP 不提供可靠性保障或错误检查机制。这意味着通过 UDP 发送的数据可能无法到达目的地,或者在传输过程中损坏或丢失。此外,它也不保证数据包会按发送顺序送达。UDP 的另一个局限性在于,它不对已传输的数据进行确认,也不会在出现数据缺失、数据丢失或数据包丢失时通知发送方。

易受 DDoS 攻击

UDP 容易遭受 DDoS 攻击,因为它不提供任何用于验证数据包来源的内置机制。这种漏洞意味着用户可以伪造 UDP 数据包的源 IP 地址,使其看起来像是来自合法来源。这增加了遭受大规模不安全流量网络洪泛攻击的风险,可能导致性能问题,甚至引发彻底的服务拒绝(DoS)。

亚马逊云科技如何满足您的 UDP 需求?

AWS 提供了多种支持 UDP 协议的联网和内容分发服务。例如:

  • 弹性负载均衡是平衡 TCP 和 UDP 流量的理想之选。它每秒可以处理数百万个请求,同时保持超低延迟。

  • Amazon Shield 借助托管式 DDoS 保护,最大限度地提高应用程序的可用性和响应能力。它能自动检测并缓解 DDoS 攻击,并与 AWS WAF 集成,从而实现可定制的应用程序保护。

立即使用 AWS 免费试用,增强 UDP 协议的安全性!

Browse all cloud computing concepts

Browse all cloud computing concepts content here:

正在加载
正在加载
正在加载
正在加载
正在加载

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages