UDP 协议建立在 IP 协议之上,尽可能的减少通信机制,速度非常快。该协议的 RFC 只有两页。
什么是 UDP 协议?
User Datagram Protocol,用户数据报文协议。在传输层提供直接发送报文(Datagram)的能力。Datagram 是数据传输的最小单位。
目标:发送报文,无法拆分数据。
和 IP 协议差别在,IP 协议只能把数据从一个网络接口发送到另一个网络接口,无法寻址到应用。
UDP 的封包格式
设计目的:允许用户直接发送报文的情况下最大限度的简化应用的设计。 其中:Source Port 指的是发送源的端口号,Destination Port 指的是目标端口号,Length代表消息体长度,Checksum 检查封包是否出错,Data octets 是 byte 类型的数据,Octet 就是8位的意思。
UDP 和 TCP 的区别
本质区别,UDP 核心目标是提供报文交换,简化协议;而 TCP 的目标是提供可靠的网络传输。
UDP 不可靠,TCP 可靠;
UDP 封包是无序而 TCP 封包是有序的;
UDP 负载小而 TCP 负载大;
UDP 适合广播,TCP 不适合,代价大。
场景分析
1.聊天室是否适合 UDP ?
不合适,因为聊天室并发高但是流量不大,依赖可靠性。
2.Http 协议适不适合 UDP ?
适合,Http3.0 就是建立在 UDP 上的。