UDP基础简单记录
简介
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议。
UDP不提供复杂的控制机制,只是利用IP提供面向无连接的通信服务。并且它是
将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制.
UDP只在P数据报服务之上增加了很少功能,即复用分用和差错检测功能。
即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的
行为。此外,传输途中即使出现丢包,UDP也不负责重发。甚至当出现包的到达
顺序乱掉时也没有纠正的功能。如果需要这些细节控制,那么不得不交由采用
UDP的应用程序去处理。UDP有点类似于用户说什么听什么的机制,但是需要
目户充分考虑好上层协议类型并制作相应的应用程序。
特点总结
- 无连接的,减少开销和发送数据之前的时延。
- 尽最大努力交付,但不保证可靠交付。
- 面向报文的——适合一次性传输少量数据的网络应用。
应用场景
由于UDP面向无连接,它可以随时发送数据。再加上UDP本身的处理既简单又高效,因此经常用于以下几个方面:
- 包总量较少的通信(DNS、SNMP等)
- 视频、音频等多媒体通信(即时通信)限定于LAN等特定网络中的应用通信
- 广播通信(广播、多播)
UDP首部
-
端口号:表示发送进程和接收进程。TCP端口号与UDP端口号是相互独立的,尽管相互独立,如果TCP和UDP同时提供某种知名服务,两个协议通常选择相同的端口号。这纯粹是为了使用方便,而不是协议本身的要求
-
UDP长度字段:指的是UDP首部和UDP数据的字节长度。该字段的最小值为8字节(发送份0字节的UDP数据报是0K)。这个UDP长度是有冗余的。IP数据报长度指的是数据报全长,因此UDP数据报长度是全长减去IP首部的长度(该值在首部长度字段中指定)
-
UDP检验和:检测整个UDP数据报是否有错,错就丢弃