网路原理:UDP协议

一、UDP 简介

UDP(User Datagram Protocol,用户数据报协议)是一种无连接的、不可靠的传输层协议。它不保证数据包的顺序、不重传丢失的包,也不提供拥塞控制机制,但其优点是'传输效率高、延迟低',适用于实时应用如视频流、语音通话、DNS 查询等。


二、UDP 报文结构

UDP 报文结构非常简单,由 8 个字节的头部 和 数据部分 组成。下图是 UDP 报文格式:

各字段说明:


三、注意事项

  1. 无连接

UDP 发送数据前不需要建立连接,直接发送。这降低了延迟,但也意味着无法确保对方是否收到数据。

  1. 不可靠传输
  • 不保证数据包到达目的地

  • 不保证数据包顺序

  • 不重传丢失的包

  1. 无拥塞控制

UDP 不会根据网络状况调整发送速率,可能在网络拥堵时加剧问题。

  1. 校验和可选

在 IPv4 中,UDP 校验和是可选的(可设为0),但在 IPv6 中是**强制**的。建议始终启用校验和以确保数据完整性。

  1. 最大报文长度

UDP 理论最大长度是 65,535 字节(包括 8 字节头部)。但在实际网络中,受 MTU(Maximum Transmission Unit)限制,通常建议数据部分不超过 1472 字节(以太网 MTU 1500 减去 IP 头 20 和 UDP 头 8)。

  1. 适用场景
  • 实时应用:VoIP、视频会议、直播

  • 查询响应类:DNS、DHCP、NTP

  • 多人在线游戏(部分)


四、总结

UDP 是一种轻量、快速但不可靠的传输协议。它的报文结构简单,头部固定为 8 字节,适用于对实时性要求高、可容忍部分数据丢失的场景。在使用 UDP 时,开发者通常需要在应用层实现可靠性机制(如重传、排序)来满足业务需求。

相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
XUEYUAN52124 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
QYRdata4 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK4 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19924 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖4 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20234 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5554 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落4 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp