-
UDP提供无连接、不可靠的服务,因此较简单。
-
UDP只在IP的数据报服务上增加了很少的功能,如下:
1、复用和分用
2、差错检测(ip分组检错 只检首部,就像邮局送信,不回去检查信的内容是否正确,但UDP检测全部内容) -
UDP主要特点
1、无连接:发送数据前不需要预先建立连接,数据发送完也不要释放连接。减少了开销和建立连接的时延。
2、UDP不保证可靠交付:只是尽最大努力交付(其实最大努力交付也是靠下层IP,UDP首部短附加的功能少),主机不需要维持复杂的状态表。
3、UDP是面向报文的:发送方的UDP
对应用层交下来的报文,添加首部就向下层交付,在运输层UDP不会对报文进行合并或拆分;接收方的UDP
对网络层IP交上来的UDP数据报,在去除首部后就原封不动的交付上层。
即UDP一次交付一个完整的报文。
因此应用进程必须选择合适大小的报文:若报文太长,在网络层IP要进行分片,降低3层的效率;若报文太短,到3层、2层首部的相对长度太大,也会降低效率。
4、UDP没有拥塞控制:网络出现拥塞不会使源主机的发送速率降低,对于一些实时应用(如电话类)很重要,强调实时性,允许丢失一些数据但不允许太大的时延。(但UDP可能因此导致网络产生严重的拥塞问题)
5、UDP支持一对一、一对多、多对一、多对多的交互通信。
6、UDP的首部短 开销小:8bytes(TCP首部至少20bytes)。
7、接收方UDP收到错误的UDP用户数据报时直接丢弃。 -
为什么有些应用进程愿意采用UDP,而不愿意采用TCP?
在互联网中传输实时数据的分组时,可能会出现差错和丢失。
若利用TCP进行重传,那么时延就会大大增加。
因此实时数据的传输在4层就会采用UDP。
如在连续的音频流或者视频流中,很少量的分组丢失对播放效果的影响并不大,更加看重实时性。
而使用TCP来传输音频或视频的话,会因为差错重传而产生很大的时延。 -
应用进程使用UDP也可以完成可靠传输:
但需要由应用层自己来完成可靠传输,如应用层使用了可靠的应用层传输协议。 -
一个应用进程使用UDP,到IP层把UDP数据报再划分成4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。
过了一段时间应用进程重传同一个UDP数据报,到IP层把UDP数据报再划分成4个数据报片发送出去,此次后两个数据报片丢失,前两个到达目的站。
若目的站第一次收到的后两个数据报片和第二次到达的前两个数据报片最终都存在于目的站的缓存中,目的站也不能将它们组成一个完整的IP数据报。
因为前两个IP数据报片的标识符与后两个IP数据报片的标识符都不一样,因此不能组装成一个IP数据报。
5.2.1 UDP概述
最新推荐文章于 2023-02-25 14:51:01 发布