用户数据报协议



用户数据报协议(UDP)是TCP/IP协议集中最简单的传输层通信协议。它涉及最少的通信机制。UDP被称为不可靠的传输协议,但它使用IP服务,提供尽力而为的交付机制。

在UDP中,接收方不会生成接收到的数据包的确认,而发送方也不会等待任何发送的数据包的确认。这种缺陷使该协议既不可靠,也更容易处理。

UDP的需求

可能会出现一个问题,为什么我们需要一个不可靠的协议来传输数据?我们在确认数据包与实际数据一起占用大量带宽的情况下部署UDP。例如,在视频流的情况下,数千个数据包被转发到其用户。确认所有数据包很麻烦,并且可能包含大量带宽浪费。底层IP协议的尽力而为交付机制确保尽最大努力交付其数据包,但即使视频流中的一些数据包丢失,影响也不大,可以轻松忽略。视频和语音流量中的一些数据包丢失有时会被忽略。

特点

  • 当数据确认没有意义时,使用UDP。

  • UDP是适合单向数据流的良好协议。

  • UDP简单且适用于基于查询的通信。

  • UDP不是面向连接的。

  • UDP不提供拥塞控制机制。

  • UDP不保证数据的有序交付。

  • UDP是无状态的。

  • UDP适用于流媒体应用,如VoIP、多媒体流。

UDP首部

UDP首部与其功能一样简单。

UDP Header

UDP首部包含四个主要参数

  • 源端口 - 此16位信息用于识别数据包的源端口。

  • 目的端口 - 此16位信息用于识别目标机器上的应用程序级服务。

  • 长度 - 长度字段指定UDP数据包的整个长度(包括首部)。它是一个16位字段,最小值为8字节,即UDP首部本身的大小。

  • 校验和 - 此字段存储发送方在发送前生成的校验和值。IPv4将此字段作为可选字段,因此当校验和字段不包含任何值时,将其设置为0,并且所有位都设置为零。

UDP应用

以下是一些使用UDP传输数据的应用程序

  • 域名服务

  • 简单网络管理协议

  • 简单文件传输协议

  • 路由信息协议

  • Kerberos

广告