理解UDP
UDP套接字的特点
下面通过信件说明UDP的工作原理。寄信前先在信封上填好寄信人和收信人的地址,之后贴上邮票放进邮筒即可。
无法确认对方是否收到信件,并且在邮寄过程中可能发生信件丢失的情况。也就是说,UDP是不可靠的数据传输服务。
TCP为了提供可靠的数据传输服务,在不可靠的IP层进行流控制,所以TCP比UDP可靠,但UDP在结构上比TCP更简洁。
流控制是区分UDP和TCP的最重要的标志。
UDP内部工作原理
IP的作用就是让离开主机B的UDP数据包准确传递到主机A。UDP最重要的作用就是根据端口号将传递到主机的数据包交付给最终的UDP套接字。
UDP的高效使用
UDP具有一定的可靠性。网络传输特性导致信息丢失频发,可若要传输压缩文件(发送1W个数据包,丢失一个就会产生问题),则必须使用TCP。对于多媒体数据而言,丢失一部分没问题,只会引起短暂的画面抖动,或细微的杂音。
TCP比UDP慢的原因通常有以下两点:
-收发数据前后进行的连接设置及清除过程。
-收发数据过程中为保证可靠性而添加的流控制。