UDP的报文结构和注意事项

UDP的报文结构

UDP是一种传输层协议,在java中可以调用传输层协议提供的的Socket api,给应用层提供服务。UDP协议的特点有以下几种:

无连接,不可靠传输,面向数据报,全双工。(关于这些特点具体的含义,可以参见博客**:**CSDN

我们今天来讲UDP协议传输数据时的报文结构。

对于UDP协议来说,应用层数据到达UDP之后,就会给应用层数据报前面拼装上UDP报头。

UDP数据报 = UDP报头(一些传输过程的信息) + UDP载荷(传输的具体数据)

结构如下:

**源端口号:**表示请求发送方(客户端)的端口号。

**目的端口号:**表示请求接收方(服务端)的端口号。

**UDP长度:**规定整个UDP数据报的长度。(占多少字节数)

上图UDP长度是两字节,两字节如果表示无符号数字,范围是0-65535,就表示整个UDP数据报(报头+载荷)的长度最大是65535字节(64KB)。也就是说,使用UDP开发程序,就得确保传输的单个数据报,不能超过64KB.

**UDP校验和:**给数据引入冗余信息,通过冗余信息来验证原有的数据。

数据在网络传输过程中,是可能会出错的。例如比特翻转,就是本来传的是0,由于传输过程中电磁波,高能粒子束等外界环境的干扰。实际到了对端变成了1。或者本来穿的1,到对端变成了0。就需要有方法对传输的数据进行校验。(UDP只能发现是否有错,而无法发现哪一位有错

校验和就是拿着数据(一部分)进行一系列计算,得到结果。如果数据部分发生改变,此时的得到的结果也就不一样。

假设A、B两台主机之间相互通信:

B只要发现两个校验和对不上,就会把这个数据丢弃。

在UDP中校验和是使用CRC的方式来完成的。CRC是一个简单粗暴的计算校验和的方式,称为循环冗余校验。即设定一个2字节的变量,把数据的每个字节取出来,往这个变量上进行累加,如果结果溢出超过2个字节,溢出部分就舍弃

以上,关于UDP的报文结构,希望对你有所帮助。

相关推荐
电话交换机IPPBX-3CX1 小时前
电话交换机IPPBX-3CX的呼叫记录导出
运维·服务器·网络
安科瑞刘鸿鹏173 小时前
从监测到保护:ALP如何赋能企业配电柜安全升级?
运维·网络·安全
IUGEI4 小时前
深入解析HTTP长连接原理
java·网络·后端·网络协议·tcp/ip·http·https
kkce5 小时前
快快科技 MTR 路由检测全面支持 IPv6,多节点覆盖赋能全协议网络诊断
服务器·网络·科技
acrel158215962215 小时前
新品!分布式新能源群调群控装置!ANet-4E16S-AGVC 装置让分布式发电更智能、更高效
网络·安科瑞电气·分布式新能源群调群控装置·微电网能源管理
zbtlink5 小时前
企业级路由器双网接入指南:实现高效稳定的网络融合
网络
ifeng09185 小时前
HarmonyOS网络请求优化实战:智能缓存、批量处理与竞态处理
网络·缓存·harmonyos
llilian_166 小时前
智能数字式毫秒计在实际生活场景中的应用 数字式毫秒计 智能毫秒计
大数据·网络·人工智能
武汉唯众智创6 小时前
职业院校网络安全靶场实训演练系统建设方案
网络·安全·web安全·网络安全·网络安全靶场实训演练系统·网络安全靶场实训·网络安全实训演练系统
G31135422737 小时前
判断 IP 地址纯净度
服务器·网络