UDP(User Datagram Protocol,用户数据报协议)是一种轻量级、无连接、不可靠、面向数据报的传输层协议。它主要用于对传输可靠性要求不高的场合。与TCP协议不同,基于UDP协议的通信双方,不需要建立持久的套接字连接,每次发送数据报都需要指定目的地址和端口。
基于UDP协议实现通信的各方,彼此对等,不区分客户机和服务器,可采用单播、广播和组播三种模式:
单播(Unicast):一个UDP程序通过指定目的地址和端口,将数据报发送给另一个UDP客户端。这是一种一对一的数据传输模式。
广播(Broadcast):一个UDP程序向广播地址(255.255.255.255)发送数据报,同一网络内的其它UDP程序都可以接收到。这是一种一对多的数据传输模式。
组播(Multicast):亦称多播。参与通信的UDP程序加入一个由组播地址表示的组中。任何一个组员向组播地址发送数据报,其它组员都可以接收到。这是一种范围可控的一对多数据传输模式。
事实上,相对于仅有单播模式的TCP通信,UDP通信虽然不能保证数据传输的可靠性,但具有更大的灵活性,和更快的传输速度,在类似QQ这种即时通信场合,应用十分广泛。