词条 | 用户数据报协议 |
释义 | 用户数据报协议 (User Datagram Protoco, UDP)是一个简单的面向数据报的传输层(transport layer)协议,IETF RFC 768是UDP的正式规范。 在TCP/IP模型中,UDP为网络层(network layer)以下和应用层(application layer)以上提供了一个简单的接口。UDP只提供数据的不可靠交付,它一旦把应用程序发给网络层的数据发送出去,就不保留数据备份(所以UDP有时候也被认为是不可靠的数据报协议)。UDP在IP数据报的头部仅仅加入了复用和数据校验(字段)。由于缺乏可靠性,UDP应用一般必须允许一定量的丢包、出错和复制。 含义UDP首部字段由4个部分组成,其中两个是可选的。各16-bit的源端口和目的端口用来标记发送和接受的应用进程。因为UDP不需要应答,所以源端口是可选的,如果源端口不用,那么置为零。在目的端口后面是长度固定的以字节为单位的长度域,用来指定UDP数据报包括数据部分的长度,长度最小值为8 (octets)。首部剩下地16-bit是用来对首部和数据部分一起做校验和的,这部分是可选的,但在实际应用中一般都使用这一功能。 由于缺乏可靠性,UDP应用一般必须允许一定量的丢包、出错和复制。有些应用,比如TFTP,如果需要则必须在应用层增加根本的可靠机制。但是绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体Streaming media、实时多媒体游戏和voice over IP (VoIP)就是典型的UDP应用。如果某个应用需要很高的可靠性,那么可以用传输控制协议Transmission Control Protocol来代替UDP。 由于缺乏拥塞避免和控制机制,需要基于网络的机制来减小因失控和高速UDP流量负荷而导致的拥塞崩溃效应。换句话说,因为UDP发送者不能够检测拥塞,所以像使用包队列和丢弃技术的路由器这样的网络基本设备往往就成为降低UDP过大通信量的有效工具。数据报拥塞控制协议Datagram Congestion Control Protocol (DCCP)设计成通过在诸如流媒体类型的高速率UDP流中增加主机拥塞控制来减小这个潜在的问题。 典型网络上的众多使用UDP协议的关键应用一定程度上是相似的。这些应用包括域名系统Domain Name System (DNS)、简单网络管理协议simple network management protocol (SNMP)、动态主机配置协议Dynamic host configuration protocol (DHCP)和路由信息协议Routing Information Protocol (RIP)等等。 用户数据报头格式域源端口是可选域,当其有意义时,它指的是发送进程的端口,这也就假定了在没有其它信息的情况下,返回信息应该向什么地方发送。如果不使用它,则在此域中填0。目的端口在有特定的目的网络地址时有意义。长度指的是此用户数据报长度的八进制表示。(这表明最小的数据报长度是8。)校验码有16位,是对IP头,UDP头和数据中信息包头的数位取反之和再取反得到的。 包头从概念上说是在UDP头信息之前的,它包括有源地址,目的地地址,所使用的协议和UDP长度。这些信息使信息不能被错误地接收。这个校验过程与TCP中使用的过程一致。 如果计算出的校验码为零,它将被全零发送。全零的校验值意味着发送者未产生校验码。 用户接口用户接口应该允许创建新的接收端口,在接收端口的接收操作有:应该返回一个八进制数说明源端口和源地址,允许数据报传送,指定数据,源和目标端口和目的地地址。 IP层接口UDP模块必须能够决定源和目标的网络地址,而且必须能够从包头中得知所使用的协议。一个可能的接口方式是返回整个数据报,包括接收操作返回的包头。这样的接口还应该允许UDP向IP传送完整的带包头的数据报用于传送。由IP来确定一致性并计算校验码。 协议应用此协议的最主要的用途是网际名称服务器和小文件传输协议。 协议号 在IP中使用它时,它的协议号是17(八进制中是21)。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。