UDP协议的特点
- 无连接
- 不可靠
应用层使用UDP协议的服务:DNS(53)、TFTP(69)、SNMP(161)
UDP协议的责任
- 创建进程到进程间的通信(由端口号完成)
- 实现有限的差错控制,出现差错悄悄丢弃报文分组
数据结构
通过wireshark抓到的一个UDP报文如下:
User Datagram Protocol, Src Port: 8000, Dst Port: 4007
Source Port: 8000
Destination Port: 4007
Length: 71
Checksum: 0xc471 [unverified]
[Checksum Status: Unverified]
[Stream index: 0]
[Timestamps]
UDP payload (63 bytes)
Data (63 bytes)
Data: 023b0b0348620d0ec511af000400308054bf53ace2864bfac2620da1e06f30b08763dd94…
[Length: 63]
- 源端口:16bits,范围:0~2^16^-1,也就是0~65535。
- 源端口:16bits,范围:0~2^16^-1,也就是0~65535。
- 长度:16bits,包含两部分,UDP报文头部长度,另一个是数据长度,头部长度最大64bits(8bytes)。如报文中的长度是71,那么包括8bytes的数据长度,剩下63bytes的数据长度。
- 校验和:16bits,不是必须存在。
- [Stream index] 包括源IP、源port,目的IP、目的port四个元素。这四个元素都不变的话,index就不会变。