2.1 不面向连接:
- 这意味着该协议没有正式的“开始”和“结束”。例如,如果主机A想向主机B发送数据,主机A只需将所有数据放在线路上,并希望它到达另一端。
- 如果TCP定义基于端口的连接,UDP定义基于“超时”的连接,这意味着任何共享相同源IP、目的IP、源端口、目的端口、UDP报头并在一定时间内到达的数据包都可以说是UDP连接的一部分。
- 这个“超时”不是一个常数值,常见的“超时”是2分钟。
2.2 未确认交货:
- 如果数据包无序地到达接收主机,并且是UDP连接,应用程序将需要以最合理的方式处理。
- 通常,应用程序需要有自己的排序方法,或者,应用程序并不真正关心数据到达的顺序(例如:当你下载100个文件时,如果文件100在文件1之前到达并不重要,只要你收到了整整100个文件,那么一切都很好)。
- 这意味着主机A只是将数据包放在电线上并希望最好,接收主机不发送任何数据传输确认。
- 由于接收主机没有发回任何数据传递确认,应用程序需要有自己的内置传递确认
- 无内在数据排序:
2.3 无流量控制:
- UDP以最快的速度传输数据。
- 想象一下,整个路径的带宽在主机A和B之间是不一致的。在下图中,假设我们在发送侧有更高的带宽,在接收侧有更低的带宽。对于UDP,它将根据本地连接的带宽尽可能快地发送,一旦数据进入低带宽区域,就会丢弃大量数据。
2.4 更少的开销:
- 这意味着与TCP相比,UDP将向数据添加一个较小的标头。在下图中,TCP标头仅包含8个字节。
- Unicast - Multicast - Broadcast(单播-多播-广播):
- UDP能够在网络中进行一对一、一对多或一对所有通信。