UDP报文格式

devtools/2025/1/18 20:45:33/

UDP是传输层的一个重要协议,他的特性有面向数据报、无连接、不可靠传输、全双工。

下面是UDP报文格式:

1,报头

UDP的报头长度位8个字节,包含源端口、目的端口、长度和校验和,其中每个属性均为两个字节。报头格式为二进制。

2.源端口、目的端口

源端口和目的端口是五元组中重要的两个性质,源端口即数据是从哪里来的,目的端口即数据要发送到哪去。

一般情况下,端口号都是两个字节,即16个bit位,可以表示0-65535的数字,通常使用1024-65535之间的数字作为端口号。

在编写代码时,服务器的端口号通常是程序员自定义的,但客户端的端口号是由操作系统自己生成的。

3.长度

UDP报文中的长度表示报头长度与载荷长度之和,单位是字节。长度属性的最大值也是两个字节,UDP报文长度最大值是64KB。由于报头长度8字节对于64KB是一个很小的数字,所以通常称UDP的载荷长度达到64KB上限。

4.校验和

在HTTPS的加密原理中也提到了校验和,但这两个校验和的用途是不一样的。加密原理中的校验和是为了防黑客的,这里的校验和是为了防止比特翻转的。

由于数据在传输的过程中是以电信号或光信号等进行传输的,那么在传输过程中就容易受到外界的干扰,导致某个比特位从0翻转到1或从1翻转到0.

引入校验和后,在传输数据之前,会将UDP报文中的所有数据放到一个算法中进行计算,得到校验和1,将这个校验和放入报文中一并发送。接收方收到报文后,就会将原来参与计算的数据再通过同样的算法计算一遍,得到校验和2,并将校验和1与校验和2进行比较,如果二者相等,就说明没有发生比特翻转,发送过来的数据是有效的,如果不一样,就说明发生了比特翻转,这个数据是无效的,就会被丢弃。

注意:可能存在发生了比特翻转但校验和不变的情况,即前一位翻转导致校验和变小,后一位翻转导致校验和变大,而这效果一叠加,就可能会使得校验和不变。但实际上,数据在传输过程中发生比特翻转的概率是很小的,发生两次比特翻转并且翻转的结果正好抵消了的概率就更小了,通常可以忽略不计。


http://www.ppmy.cn/devtools/151654.html

相关文章

自定义提示确认弹窗-vue

最初可运行代码 弹窗组件代码&#xff1a; &#xff08;后来发现以下代码可运行&#xff0c;但打包 typescript 类型检查出错&#xff0c;可打包的代码在文末&#xff09; <template><div v-if"isVisible" class"dialog"><div class&quo…

“云计算+中职”:VR虚拟仿真实训室的发展前景

在技术革新的浪潮中&#xff0c;中等职业教育&#xff08;中职&#xff09;正面临着转型升级的机遇。云计算与虚拟现实&#xff08;VR&#xff09;技术的结合&#xff0c;为中职教育提供了全新的教学模式和实训平台。 一、云计算与VR虚拟仿真实训室的融合 云计算技术以其高可靠…

Java项目实战之--传智健康项目讲义

传智健康项目讲义 第1章 项目概述和环境搭建1. 项目概述1.1 项目介绍1.2 原型展示1.3 技术架构1.4 功能架构1.5 软件开发流程 2. 环境搭建2.1 项目结构2.2 maven项目搭建2.2.1 health_parent2.2.2 health_common2.2.5 health_interface2.2.6 health_service_provider2.2.7 heal…

UE控件学习

ListView&#xff1a; item设置&#xff1a;使能在list设置为Entry类 Grid Panel&#xff1a; 常用作背包&#xff0c;每个格子大小可不相同 WidgetSwitcher&#xff1a; 用于切换页签 Wrap_Box&#xff1a; 自动横向排版子节点&#xff0c;超过一定范围则自动换行…

【AI论文】迈向大型语言模型(LLM)训练开放数据集的最佳实践

摘要&#xff1a;许多人工智能公司未经版权所有者许可&#xff0c;就在其数据上训练大型语言模型&#xff08;LLM&#xff09;。这一行为的合法性因司法管辖区而异&#xff1a;在欧盟和日本等国家&#xff0c;这种行为在特定限制下是被允许的&#xff0c;而在美国&#xff0c;法…

RabbitMQ原理、使用与实践指南

一、概念 RibbitMQ 是由 erlang 语言开发&#xff0c;基于 AMQP&#xff08;Advanced Message Queue 高级消息队列协议&#xff09;协议实现的消息队列。它是一种应用程序之间的通信方法&#xff0c;在分布式系统开发中应用广泛。 二、特点 可靠性&#xff1a;支持持久化、传输…

hydra破解密码

hydra九头蛇是常用的密码破解工具 1、破解centos ssh密码 hydra -l root -P password.txt ssh://192.168.1.107:2222 hydra -l root -P password.txt -s 2222 192.168.1.107 ssh2、破解ftp hydra -l allen -P e:\aa.txt ftp://127.0.0.1 hydra -l allen -P e:\aa.txt ftp:…

jenkins 入门到精通

忘记密码 1.以root用户进入jenkins容器中 docker exec -it --user root [jenkens] bash 2.找配置文件 config.xml find / -name config.xml 3.编辑 config.xml 文件 sed s/<useSecurity>true<\/useSecurity>/<useSecurity>false<\/useSecurity>/g…