18.2.4 UDP协议
UDP又称用户数据包文协议,也是TCP/IP的传输层协议,它是无连接的、不可靠的传输服务。当接收数据时它不向发送方提供确认信息,它不提供输入包的顺序。如果出现丢失包或重复包的情况,也不会向发送方发出差错报文,与IP协议非常类似。UDP的主要作用是分配和管理端口编号,以正确无误的识别运行在网络站点上的个别应用程序。由于它执行功能时具有低的开销,因而执行速度比TCP快。它多半用于不需要可靠传输的应用程序,例如网络管理域、域名服务器等。UDP协议的报文结构如图18.8所示。
任何与UDP相配合作为传输层服务的应用程序必须提供确认和顺序系统,以确保数据包是以发送时的顺序到达。也就是说,使用UDP的应用程序必须提供这类服务。传输层具有独特的、与所有其他层不相关的帧头。UDP报头及其数据被封装在IP报头内,由IP协议将这个数据包文发送到数据链路层,依次下去,数据链路层又使用它的帧头包装这个报文,最后将数据送到物理层实际传输。
当数据包被接时,数据链路层将把地址解释为它自己的,剥去它的帧头,将包传递给IP层。IP层将根据IP报头上的正确IP地址接受包。剥去它的报头,最后将数据包交给UDP软件,UDP软件接受包必须按UDP报头上的端口编号进行译码。
图18.8 UDP报文结构