一、什么是UDP?
UDP是User Datagram Protocol(用户数据报协议)的缩写,它是一个简单的协议,简单到UDP规范RFC0768只有区区3页。
UDP是工作在IP层之上的传输层协议,UDP对IP主要有两个扩展:
扩展出端口号使得IP数据报可以多路分发到用户进程。
扩展出校验和提供网络传输过程中数据差错的检验。
IP提供了一种尽力而为、无连接的数据报交付服务。IP基于IP地址实现路由和分组转发,可以将一个IP数据报从网络的一台主机传送到另一台主机,IP地址决定IP数据报将被送往哪个主机。所以,IP提供主机到主机的数据报传输服务。
IP数据报到达目的主机后,内核层实现的IP模块,会负责接收网卡上的IP数据报,但主机上通常会同时运行多个进程,IP数据报应该交给哪个进程去处理呢?IP搞不定。
端口号(位于UDP首部)决定数据报交给主机上的哪个进程处理。所以,UDP为端主机上运行的应用程序提供了端到端服务。
二、UDP的特征
UDP是无连接的,通信之前无须建连便可直接发送数据报,而TCP是面向连接的。