UDP (用户数据报协议)

用户数据报协议(User Datagram Protocol, UDP)是一个简单的面向数据报的传输层协议,IETF RFC 768是UDP的正式规范。

在TCP/IP模型中,UDP为网路层以上和应用层以下提供了一个简单的介面。UDP只提供数据的不可靠传递,它一旦把应用程序发给网路层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验(栏位)。

UDP首部栏位由4个部分组成,其中两个是可选的。各16bit的来源埠和目的埠用来标记发送和接受的应用进程。因为UDP不需要应答,所以来源埠是可选的,如果来源埠不用,那么置为零。在目的埠后面是长度固定的以位元组为单位的长度域,用来指定UDP数据报包括数据部分的长度,长度最小值为8byte。首部剩下地16bit是用来对首部和数据部分一起做校验和(Checksum)的,这部分是可选的,但在实际应用中一般都使用这一功能。

由于缺乏可靠性且属于非连接导向协定,UDP应用一般必须允许一定量的丢包、出错和复制。有些应用,比如TFTP,如果需要则必须在应用层增加根本的可靠机制。但是绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体、实时多媒体游戏和IP电话 (VoIP)就是典型的UDP应用。如果某个应用需要很高的可靠性,那么可以用传输控制协议(TCP协议)来代替UDP。

由于缺乏拥塞控制(congestion control),需要基于网路的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。换句话说,因为UDP发送者不能够检测拥塞,所以像使用包队列和丢弃技术的路由器这样的网路基本设备往往就成为降低UDP过大通信量的有效工具。数据报拥塞控制协议(DCCP)设计成通过在诸如流媒体类型的高速率UDP流中,增加主机拥塞控制,来减小这个潜在的问题。

典型网路上的众多使用UDP协议的关键应用一定程度上是相似的。这些应用包括域名系统(DNS)、简单网路管理协议(SNMP)、动态主机配置协议(DHCP)、路由信息协议(RIP)和某些影音串流服务等等。


无线网络规划建议

回答与建议

硬盘长寿十五招

回答与建议

关于影象分析的十件事

回答与建议

知识学院

蕴藏许多助人的知识与智能。

关注知识学院