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 : 对实时性要求高(音视频直播、游戏)

相关推荐
盟接之桥1 分钟前
盟接之桥®制造业EDI软件,打通全球供应链“最后一公里”,赋能中国制造连接世界
网络·安全·低代码·重构·汽车·制造
江畔何人初3 分钟前
TCP的三次握手与四次挥手
linux·服务器·网络·网络协议·tcp/ip
m0_738120724 分钟前
网络安全编程——Python编写基于UDP的主机发现工具(解码IP header)
python·网络协议·tcp/ip·安全·web安全·udp
北京耐用通信11 分钟前
不换设备、不重写程序:耐达讯自动化网关如何实现CC-Link IE转Modbus TCP的高效互通?
人工智能·科技·物联网·网络协议·自动化·信息与通信
志栋智能21 分钟前
超自动化巡检:实现运维“事前预防”的关键拼图
大数据·运维·网络·人工智能·机器学习·自动化
七夜zippoe28 分钟前
OpenClaw 技能开发实战:从零到一
运维·服务器·网络·openclaw·技能开发
liweiweili12630 分钟前
http数据传输过程数据编码解码问答
网络协议·http·状态模式
oi..30 分钟前
《Web 安全入门|XSS 漏洞原理、CSP 策略与 HttpOnly 防护实践》
前端·网络·测试工具·安全·web安全·xss
加勒比之杰克1 小时前
从阻塞 IO 到 epoll:把 Linux 网络 IO 一次讲透
linux·网络·windows·select·多路转接·epoll·poll
Dynadot_tech1 小时前
完成注册的域名可以做什么?
网络·域名·dynadot·网站域名