UDP(User Datagram Protocol,用户数据报协议),该协议是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信。与同样处在传输层的面向连接的TCP相比,UDP是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP有助于提供可靠性;而UDP有助于提高传输的高速率性。例如,必须支持交互式会话的应用程序(如FTP等)往往使用TCP;而自己进行错误检测或不需要错误检测的应用程序(如DNS、SNMP 等)往往使用UDP。

UDP协议软件的主要作用是将UDP消息展示给应用层,它并不负责重新发送丢失的或出错的数据消息,不对接收到的无序IP数据报重新排序,不消除重复的IP数据报,不对已收到的数据报进行确认,也不负责建立或终止连接。这些问题是由使用UDP进行通信的应用程序负责处理的。

TCP虽然提供了一个可靠的数据传输服务,但它是以牺牲通信量来实现的。也就是说,为了完成同样一个任务,TCP需要更多的时间和通信量。这在网络不可靠的时候通过牺牲一些时间换来达到网络的可靠性是可行的,但在网络十分可靠的情况下,则可以采用UDP,通信量的浪费就会很小。

另外,基于UDP协议的常见应用层协议包括:DNS协议、SNMP协议、NFS(网络文件系统)协议等。