当前位置: 首页 > ops >正文

计算机网络学习(六)——UDP

一、UDP

UDP(User Datagram Protocol,用户数据报协议)是传输层的一种协议,和 TCP 并列。与 TCP 不同,UDP 是无连接、不可靠、面向报文的协议,它的设计目标是追求更快的数据传输速度和更小的开销

UDP 为应用程序提供尽最大努力交付(best-effort delivery)的数据传输服务,它不保证:

  • 数据可靠送达;
  • 数据到达顺序正确;
  • 数据不被重复。

核心特点:

特性说明
无连接不进行握手,通信前无需建立连接
不可靠不重传、无确认、无流量控制
面向报文每个UDP报文独立,不进行分段重组
支持多播广播可用于局域网广播或多播通信
开销小速度快头部仅8字节,传输效率高

注:

  • UDP和TCP,都属于传输层协议

二、UDP 报文结构(仅 8 字节头部)

参考书——计算机网络 (第8版)- 谢希仁。

用户数据报UDP有两个字段: 数据字段和首部字段
首部字段很简单, 只有8个字节, 由4个字段组成, 每个字段的长度都是2字节。
各字段意义如下:

  1. 源端口:源端口号。在需要对方回信时选用,不需要时可用全0 。
  2. 目的端口:目的端口号。这在终点交付报文时必须使用。
  3. 长度:UDP用户数据报的长度, 其最小值是8(仅有首部)。
  4. 检验和:检测UDP用户数据报在传输中是否有错。有错就丢弃。

在这里插入图片描述
注:

  • 相比 TCP 的复杂报头(20 字节起),UDP 简洁快速。

三、UDP vs TCP

比较项UDPTCP
是否连接无连接(无需握手面向连接(三次握手
是否可靠不可靠(无确认、无重传)可靠(确认、重传、排序)
数据结构面向报文面向字节流
报文大小最多 65,535 字节(通常小于 MTU)不限,但需拆分
头部开销小(8 字节)大(20 字节起)
传输速度相对较慢
应用场景实时通信、多播、DNS、视频等HTTP、SSH、文件传输、数据库等

四、UDP 实现可靠性的方法(由应用层补充)

虽然 UDP 不可靠,但很多应用通过在应用层设计可靠机制来实现“可靠UDP”:

技术手段说明
应用层ACK确认对关键数据加ACK机制
序列号机制检测乱序或重传
超时重传定时检测未确认数据重新发送
FEC 前向纠错通过冗余数据修复丢失内容
QUIC 协议Google开发的基于UDP的可靠协议

五、UDP 常配合的协议

UDP 是传输层协议,很多高层协议基于它:

协议描述
DNS域名解析协议,UDP端口53
DHCP动态主机配置协议,UDP端口 67/68
SNMP网络管理协议,UDP端口 161/162
TFTP简单文件传输协议,UDP端口 69
RTP/RTCP实时音视频协议

六、典型应用场景

场景使用说明
视频/音频通话容忍部分丢包,优先保证低延迟(如 WebRTC)
网络游戏游戏位置、状态频繁更新,丢几个包不影响体验
DNS 查询请求简单、短小、允许偶尔失败再重试
实时监控安防摄像头、远程传感器数据流
广播/多播如局域网设备发现、直播推流
http://www.xdnf.cn/news/8694.html

相关文章:

  • 远程办公时代macOS访问解决方案:兼顾效率提升与安全防护的实用架构指南
  • 如何利用AI工具提升工作效率?
  • 2021年认证杯SPSSPRO杯数学建模B题(第二阶段)依巴谷星表中的毕星团求解全过程文档及程序
  • Mysql高版本(8.0及以后)Linux安装
  • 删除链表的倒数第N个结点--LeetCode
  • MySQL的存储引擎
  • 什么是 Spring MVC 的异步请求处理?
  • 如何在uniapp H5中实现路由守卫
  • JVM规范之栈帧
  • 15.1 【基础项目】使用 HTML、CSS 和 TypeScript 构建的简单计数器应用
  • LLM之Agent:Mem0的简介、安装和使用方法、案例应用之详细攻略
  • C# Windows Forms应用程序-002
  • # 使用 Hugging Face Transformers 和 PyTorch 实现信息抽取
  • 数据结构第2章 (竟成)
  • 神经网络加上注意力机制,精度反而下降,为什么会这样呢?注意力机制的本质是什么?如何正确使用注意力机制?注意力机制 | 深度学习
  • 清山垃圾的3个问题
  • 6.4.1最小生成树
  • 第二章网络io
  • 对WireShark 中的EtherCAT抓包数据进行解析
  • C语言指针进阶:通过地址,直接修改变量的值
  • iOS App启动优化(冷启动、热启动)
  • 2025年渗透测试面试题总结-匿名[实习]安全工程师(安全厂商)(题目+回答)
  • 【HTML-12】HTML表格常用属性详解:从基础到高级应用
  • 显存不够?节约显存高效微调语言模型的五种方法及实验
  • 0基础 Git 代码操作
  • 黑马k8s(十六)
  • 题目 3325: 蓝桥杯2025年第十六届省赛真题-2025 图形
  • whisper相关的开源项目 (asr)
  • 动态规划-蓝桥杯-健身
  • Apache OFBiz 17.12.01 的远程命令执行漏洞 -Java 反序列化 + XML-RPC 请求机制