ScholarGate
助手

UDP和无连接传输

用户数据报协议(UDP)是互联网轻量级的无连接传输协议,它在IP尽力而为的服务基础上,仅增加了进程复用和可选的校验和功能,因此应用程序以牺牲可靠性保证为代价,获得了最小的开销和延迟。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

用户数据报协议(User Datagram Protocol, UDP)是一种无连接的传输层协议,它在进程之间提供尽力而为、面向消息的交付服务,在网络层基础上增加了基于端口的复用和可选的校验和,但不提供可靠性、排序、流量控制或拥塞控制。

Scope

本主题涵盖无连接传输:UDP报文段格式、通过端口号进行的多路复用和解复用、其可选的校验和,以及应用程序选择UDP而非TCP的原因——无连接建立延迟、无拥塞控制节流、对发送内容和时机的更精细控制,以及每个数据包的小开销。它概述了典型的基于UDP的应用程序,以及转移到应用程序的责任(例如可靠性或速率控制)。它不包括TCP的可靠性和拥塞机制。

Core questions

  • UDP在IP之上增加了哪些最小服务?
  • UDP如何使用端口号进行数据复用和解复用?
  • 应用程序为何倾向于选择UDP而非TCP?
  • 使用UDP时,哪些责任(例如可靠性和速率控制)会转移到应用程序?
  • 哪些类型的应用程序通常使用UDP?

Key concepts

  • 无连接服务
  • 数据报(消息)导向
  • UDP报文段格式
  • 基于端口的复用/解复用
  • 可选校验和
  • 低开销和低延迟
  • 无拥塞控制
  • 应用层可靠性

Key theories

最小无连接服务
UDP几乎未加修改地将IP的尽力而为数据报服务暴露给应用程序,仅增加了按端口复用和可选校验和,因此它没有建立过程、没有状态、也没有自动恢复——以保证换取简单性和低延迟。
应用程序控制的传输
通过避免TCP的拥塞控制和可靠性,UDP赋予应用程序对时序和重传内容的直接控制,这适用于实时和自定义协议,但也要求应用程序处理丢失并避免自身使网络过载。

Clinical relevance

UDP支撑着那些低延迟或精细控制比保证交付更重要的服务:DNS查询、实时语音和视频、在线游戏和网络管理。QUIC等新型传输协议正是建立在UDP之上,以获得对传输的控制,同时绕过TCP的限制,这使得无连接传输成为现代低延迟网络的核心。

History

UDP在RFC 768(1980年)中被指定为不需要TCP机制的应用程序的最小传输协议,当时TCP和IP被分离为不同的协议。它基本保持不变,并且随着对延迟敏感的应用程序的激增以及开发人员在其之上构建新的传输功能(包括QUIC协议),其作用也日益增长。

Key figures

  • Jon Postel
  • James F. Kurose
  • Keith W. Ross

Related topics

Seminal works

  • rfc768
  • kurose2021

Frequently asked questions

如果UDP不可靠,为什么还要使用它?
对于许多应用程序而言,快速交付比完美交付更重要。实时语音和视频可以容忍偶尔的丢失但不能容忍延迟,DNS受益于快速的单次交换查询,并且某些应用程序会实现自己的可靠性。UDP缺乏建立过程和拥塞节流,这赋予它们更低的延迟和更多的控制权。
UDP除了IP之外还有其他功能吗?
有,但很少。UDP增加了端口号,以便数据能够到达主机上正确的应用程序进程(复用和解复用),以及一个可选的校验和来检测数据损坏。除此之外,它保持了IP尽力而为、无连接的交付方式不变。

Methods for this concept

Related concepts