UDP的报文结构和注意事项

news2024/9/22 15:27:36

UDP的报文结构和注意事项

  • 一、传输层协议
  • 二、UDP报文结构

一、传输层协议

传输层实现了端到端之间的传输,重点关注的是起点和终点。
核心的协议有两个:
在这里插入图片描述

二、UDP报文结构

大部分教科书给出的报文结构都是这样的:
在这里插入图片描述
其实只是为了排版方便~~

实际上:
在这里插入图片描述
UDP报头格式非常简单,里面只有4个字段:源端口、目的端口、UDP长度、校验和。

源端口、目的端口: 顾名思义,就是表示端口号,大小为2字节。能表示的范围是多少呢?两个字节16个比特位,所以共有216,即65536种表示,也就是0~65535。

UDP长度: 用2字节来表示UDP总长度 (报头+载荷),单位为字节。经换算,也就是216字节,即64KB。

64KB这个长度,是长还是短?
64KB站在20年前很长!红白机游戏 (超级玛丽、魂斗罗、坦克大战),一个游戏就是64KB、128KB。放在2022年的今天就非常短了!随便拍个照片就好几兆。
当年设计UDP的大佬们觉得64KB不小了,应该够了,万万没想到计算机发展太快太快了~~
如果需要使用UDP传输一个比较大的数据,就需要考虑进行拆包,即把一个大的数据报拆成多个小的!!!但是这样开发和测试起来就比较复杂,风险较高;相比之下TCP是字节流的,没有对包的长度做出限制,使用起来比较方便~~

校验和: 检查数据是否出错了。网络传输过程中受到一些干扰是容易导致传输的数据出错的,毕竟光信号和电信号在一些特殊环境中可能受到影响,比如强电场、强磁场、高能粒子流… 因此就需要保证接收方收到数据之后能知道这个数据对不对~~

UDP的校验和使用一个比较常见的CRC算法 (循环冗余校验):
把UDP报文中的每个字节都进行累加,加和也放到一个两个字节的数字中,加的过程中如果溢出了,就溢出~~
最终得到的结果就是校验和!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于进程的几个问题

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 今天给大家分享几个关于进程的小问题 1.什么是进程? 2.进程是怎么管理的? 3.进程里面的PCB里都有啥? 4.进程的调度是怎…

解释器模式

文章目录解释器模式1.解释器模式的本质2.何时选用解释器模式3.优缺点4.解释器模式的结构5.实现计算器加减操作解释器模式 当想解析一个文件或者其他内容时,可以根据规律自己定义一种文法,并定义一个解释器,然后解析这种文法,以达到…

MATLAB-自定义函数拟合(fittype-高斯拟合)

在回归拟合分析时,一般情况下,MATLAB会直接提供常用的类型,用fittype创建拟合模型,至于MATLAB具体提供了哪些模型,参见帮助“List of library models for curve and surface fitting”,如果库中没有自己想要的拟合表达式形式,可以自己进行定义,具体介绍如下: 1. fitty…

嵌入式:ARM间接寻址、变址寻址与多寄存器寻址

文章目录寄存器间接寻址基址加偏址寻址(变址寻址)偏移地址传送数据类型块拷贝寻址(多寄存器寻址)块拷贝寻址示例寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。例如…

尚医通 (三十七) --------- 定时任务与统计

目录一、就医提醒1. 搭建定时任务模块 service-task2. 添加就医提醒处理二、预约统计1. ECharts2. 获取医院每天平台预约数据接口3. 添加 feign 方法4. 搭建 service-statistics5. 前端展示一、就医提醒 我们通过定时任务,每天 8 点执行,提醒就诊。 1.…

[附源码]Python计算机毕业设计Django校园招聘系统设计

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Android Accessibility知识分享

工具 工欲善其事,必先利其器。下面我们介绍一下工具来发现我们的accessibility问题。感谢这篇文章的分享:https://www.kodeco.com/240-android-accessibility-tutorial-getting-started Lint:这个工具是google提供的,在android …

python--面向对象以及其三大特性(封装、继承、多态)

文章目录前言一、面向过程二、 面向对象三、面向对象的三大特性一、封装二、继承私有属性和私有方法三、多态四、高级特性单例模式前言 这一节主要学习面向对象以及面向对象的三大特性:封装、继承、多态;还有高级特性:类方法、静态方法、pro…

【OpenFeign】【源码+图解】【二】注册OpenFeign接口的实例

【OpenFeign】【源码图解】【一】HelloWorld及其工作原理 目录3. 注册OpenFeign接口的实例3. 注册OpenFeign接口的实例 从HelloWorld中我们看到需要显示加入**EnableFeignClients注解才能开启openFeign的功能,因此它就成为我们分析openFeign**的入口,先…

Chrony时间同步服务

目录 一、时间同步 1.概念 2.时间同步在运维工作中的作用 3.时间同步完成方法 (1)NTP时间服务(centos 6 ) (2)Chrony时间服务 二、Chrony时间服务 1.Chrony介绍 2.Chrony的优点 三、Chrony安装 …

逻辑回归(Logistic Regression)原理及过程

目录 一:逻辑回归简介 二:逻辑回归原理 三:逻辑回归 损失函数 四:逻辑回归 梯度下降算法 五:逻辑回归 过程 一:逻辑回归简介 Logistic模型是1938年Verhulst-Pearl在修正非密度方程时提出来的&#xf…

算法刷题打卡第49天:排序数组---计数排序

排序数组 难度:中等 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums [5,2,3,1] 输出:[1,2,3,5]示例 2: 输入:nums [5,1,1,2,0,0] 输出:[0,0,1,1,2,5]计数排…

我与世界杯的故事——达利奇:铜牌闪耀着金光

目录 克罗地亚球队的历史 奇迹出现 心得总结 克罗地亚球队的历史 克罗地亚球队拥有悠久的历史: 1998年首次亮相法国世界杯,克罗地亚就以季军的战绩惊艳众人。 2018年的俄罗斯世界杯,虽然格子军团在决赛中不敌强大的法国,遗憾地…

<Linux进程通信之共享内存>——《Linux》

目录 一、system V共享机制 1.共享内存示意图 2.共享内存数据结构 3.共享内存函数 3.1shmget函数 3.2 shmat函数 3.3 shmdt函数 3.4 shmctl函数 3.5 实例代码: 3.6 结果演示: 4. 创建共享内存 5. 基于共享内存与管道进行访问控制的共享内存读…

(P4)Python plt显示图像

Python plt显示图片 本地可以显示,服务器操作不太行。 plt.plot(x,y) plt.imshow(image) plt.show() # 显示图像(曲线/图片都需要这一行) plt.savefig(xx.png) # 保存图片 fig.savefig(xx.png) 功能相同 # 保存图片在本地执行失败&#xff…

Elasticsearch学习笔记

Elasticsearch学习笔记 ----第1章 Elasticsearch概述-01-开篇02-技术选型03-教学大纲-第2章 Elasticsearch入门-04-入门-环境准备05-入门-RESTful & JSON06-入门-Postman客户端工具07-入门-倒排索引08-入门-HTTP-索引-创建09-入门-HTTP-索引-查询 & 删除10-入门-HTTP-…

Linux 调试之 TRACE_EVENT(一)

文章目录前言一、TRACE_EVENT简介二、TRACE_EVENT() 结构2.1 TRACE_EVENT简介2.2 trace_sched_switch示例2.2.1 Name2.2.2 Prototype2.2.3 Arguments2.2.4 Structure2.2.5 Assignment2.2.6 Print2.3 Format file2.3.1 tracing/events/2.3.2 perf2.3.3 bpftrace2.3.4 bcc2.3.5 S…

逻辑回归 鸢尾花分类预测

目录 一:加载数据 二:数据集划分 三:选择算法 四:网格模型 超参数最优解 五:鸢尾花分类预测 六:预测与实际比对 七:完整源码分享 一:加载数据 from sklearn.datasets import…

Jenkins启动项目时报错问题

问题 在工作中使用jenkins进行项目部署启动时遇到问题,项目构建成功但是发布时一直显示时间增加,但是项目本身并没有问题,使用传统方法部署项目也能正常启动。报错如下图所示: 解决方法 是由于jenkins文件中打印日志的问题&am…

PayPal,Stripe,Square轮询支付系统

轮询展示 展示我们轮询的页面 轮询套餐 根据不同的用户和需求,可以选择不同的套餐 普通版 1500元 1年 1个用户 支持Paypal/Stripe 不限制A站个数 不限制B站个数 不限制提交模式 订单管理 物流管理 风控管理 必要的网站数据处理 24小时远程协助 开始…