UDP协议

目录

一、UDP协议概念

二、UDP协议端格式

三、UDP的特性

1、无连接

2、不可靠传输

3、面向数据报

4、全双工

四、使用UDP注意事项

五、TCP/UDP核心对比


一、UDP协议概念

UDP (User Datagram Protocol 用户数据报协议) ,是传输层的无连接 协议,核心定位是尽最大努力交付,牺牲可靠性换取传输效率和灵活性。


二、UDP协议端格式

  • UDP首部有4个字段,每个字段占2个字节
  • 源端口号:标识发送方端口,通过此字段回传数据,填0表示无需回应
  • 目的端口:标识接收方的端口,交付给对应应用的核心依据
  • 长度:整个报文长度(报头+载荷),报头固定8字节,整个最大长度64kb

注意:如果所要传输的数据超过64kb,那么有两种解决办法

1、在应用层进行拆包组包(不推荐,成本高)

2、使用TCP协议完成

  • 校验和:用于验证传输数据是否出错

三、UDP的特性

1、无连接

  • 无连接是指传输层的逻辑连接,不是指网络和物理层面的连接

通信前无需建立连接,发送方直接向目标 IP + 端口号发送包,接收方直接进行接收,流程极简


2、不可靠传输

  • 不可靠传输是指传送的包可能会丢失,并且没有一系列操作来预防丢包现象,如果丢失,也不会返回任何信息

网络通信进行发送包时,发送方只要发送出去即可,不关心后续过程


3、面向数据报

  • 不能灵活读写数据

以完整报文为传输单位,应用层给 UDP 多少数据,UDP 就封装多少,如果数据过大,可能会导致 IP 层分片


4、全双工

  • 支持数据双向传输,双方都可以发送接收收数据

双向通道独立,无需等待另一方发完才能发


四、使用UDP注意事项

  1. 需要严格控制传输数据大小,UDP的最大长度仅为 64 K
  2. 处理好接收缓冲区,如果数据堆积会直接丢弃
  3. 自行处理可靠性问题,也要做好数据校验

基于UDP的应用层协议:

  • NFS : 网络文件系统
  • TFTP : 简单文件传输协议
  • DHCP : 动态主机配置协议
  • BOOTP : 启动协议(用于无盘设备启动)
  • DNS : 域名解析协议
  • 还有自定义协议

五、TCP/UDP核心对比

UDP TCP
连接性 无连接 有连接
可靠性 不可靠传输 可靠传输
传输单位 面向数据报 面向字节流
开销效率 开销小 开销大
控制机制 无 流量控制,拥塞控制
通信范围 一对一、多播、广播 一对一
实时性 时延低,实时性好 时延高,实时性差
状态维护 无状态,资源占用少 需维护连接状态

适用场景:

  • TCP : 对可靠性要求高(文件传输、网页浏览、聊天、邮件)
  • UDP : 对实时性要求高(音视频直播、游戏)

相关推荐
贞明电子2 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
明天也要努力学习2 小时前
HTTP 协议的基本格式和 fiddler 的用法
网络协议·http·fiddler
HideF3 小时前
Linux
linux·服务器·网络
万联WANFLOW3 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
听风说ml3 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
sbjdhjd3 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
taktok_ai5 小时前
用 cc-switch 连接 Taktok
网络
小嘉丶学长7 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
pt10439 小时前
Cisco设备网络安全系列-18:SIEM与SOAR安全解决方案
网络·安全
Tel199253080049 小时前
温度湿度信号转WiFi/MQTT/Modbus TCP采集模块 无线传输
网络·网络协议·tcp/ip·工业自动化·工控设备