UDP 协议

UDP协议

1.UDP的基本特点

  1. 无连接:知道源端口号和目的端口号就可以进行传输,不需要进行连接
  2. 不可靠:没有任何的安全机制,发送端发送完数据后,接收端是否会因为网络故障等其原因而没有接收到数据,UDP协议不会返回任何信息给应用层.
  3. 面向数据报:应用层交给UDP多长的报文,UDP会原样返回,不会拆分和合并.
  4. 全双工:两个通信实体之间可以互相通信,可以同时发送和接收数据

2.UDP协议格式

UDP数据报分为报头和载荷,报头包含了数据传输的相关的控制信息和元数据,而载荷就是一个完整的应用层协议数据.

报头报头包含以下字段:1.源端口号2.目标端口号3.长度4.校验和.4个字段占用的8个字节.

源端口和目的端口 :各有两个字节,也就是16个比特位,合法的端口也就是0-65535,端口是不会使用的,而1-1024这个范围的端口,系统赋予了特定的含义.
UDP报文长度 :UDP报文的总长度,包括报头和UDP载荷的部分.占用2个字节,换算单位的能表示数据也就是64kb.
如果传输的数据大于64kb,该如何处理?

  1. 分片处理:将大文件分割成小块:将大文件分割成多个小块,每个小块大小不超过65535字节,并且需要重新组装数据.在中途很可能会出现某个小块传输数据失败的情况,容易导致bug.
  2. 使用TCP代替UDP,TCP没有要求报文长度,所以传输多长都可以,并且提供了可靠的数据传输机制.

校验和 :检查数据是否在网络传输中是否出错,网络传输本质上是光信号/电磁波,如果有磁场等外界因素干扰就会导致数据传输失败.

校验和的方式就是在接收方接收到数据的时候,先确认一下,查看这个数据是否是一个错误的数据.

UDP校验和的实现(CRC校验算法)

1.将UDP头部和数据视为16位块.

2.对所有的16位块进行二进制求和,最终得到校验和

数据传输的时候,会把数据和校验和一起发过去,接收方在收到数据的时候,接收到了发送端发送的数据和校验(旧的校验和)和,接受方再按照相同的方式再算一遍,最终得到了一个新的校验和.

如果新的校验和与旧的校验和不相同,那么就视为传输出错,那么数据就会被丢弃(TCP传输),如果相同那么数据就正确的.

相关推荐
IpdataCloud1 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
ITyunwei09873 小时前
售后夜间值守怎么落地:从告警到交接的工单系统配置笔记
网络
Smoothcloud润云3 小时前
GPU远程纳管安全吗?最小权限、网络边界与日志审计实战
服务器·网络·人工智能·安全·gpu算力·gpu
ai大模型-探索者3 小时前
Function Call与MCP(区别、联系与实战)
java·服务器·网络
木子欢儿4 小时前
Debian 13 + vsftpd 搭建FTP服务
linux·服务器·前端·网络·debian
达~熊迪4 小时前
IP 分配前核查:把在线状态和使用登记一起看
服务器·网络·tcp/ip
qq_谁赞成_谁反对4 小时前
甲方IT的成长之路--SG TCP网络优化工具--20261026
运维·服务器·udp·tcp
西索斯coding5 小时前
Qwen3-Max 与 Qwen-Plus:60 个真实修复任务评测方案
大数据·网络·算法·ai
瓶瓶持续学习中5 小时前
数字孪生与空间智能技术架构解析:五类厂商路线及选型方法
大数据·网络·架构
天启HTTP6 小时前
动态IP是如何自动切换的?从分配机制到轮换逻辑
网络