UDP协议
1.UDP协议端格式
1.图中的16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度
2.若校验和出错,会直接丢弃
2.UDP的报文结构
UDP报文主体分为两个部分:UDP报头(占8个字节)+UDP载荷/UDP数据
1.源端口号
16位,2个字节
2.目的端口号
16位,2个字节
3.包长度
指示了UDP数据报的整个长度,共16位,占两个字节,包括UDP首部和数据部分。
2个字节能表示的数据范围是0~65535,也就是能够表示的报文长度是65536字节(Byte),转换成KB,65536/1024 = 64 KB 这就是一个UDP报文所能表示的最大长度.
4.校验和
用于校验报文的完整性,该字段称为校验和(checksum)。校验和字段用于验证UDP数据报在传输过程中是否发生了损坏或错误。
数据在传输的时候,本质上是0/1bit流,通过光信号或者电信号来表示,如果在传输的时候收到干扰,就可能会出现比特翻转现象.这个时候就需要校验和校验数据是否出错.
5.大小受限
UDP 协议首部中有一个 16 位的最大长度。也就是说一个 UDP 能传输的数据最大长度是 64K (包含 UDP 首部)。
基于UDP的应用层协议
- NFS:网络文件系统
- TFTP:简单文件传输协议
- DHCP:动态主机配置协议
- BOOTP:启动协议(用于无盘设备启动)
- DNS:域名解析协议
- 包括自己写 UDP 程序时自定义的应用层协议。
UDP 和TCP 的区别图示
- UDP具有较低的延迟和较小的网络开销,适用于对实时性要求较高的应用,如音频、视频流、实时游戏等。
- TCP在保证可靠性的基础上,会引入较高的延迟和额外的网络开销,适用于对数据完整性和顺序性要求较高的应用,如文件传输、Web请求等。