传输层的UDP协议

1.  UDP协议报文格式

1.1 16位端口号

UDP协议报文中,端口号2个字节,包括 源端口号目的端口号。 

1.2 16位UDP长度

UDP报文长度为2个字节 ,即UDP数据报长度为0~65535,也就是64kb。

1.3  16位UDP检验和

数据在网络传输的过程中,可能会受到一些外部干扰,导致数据传输出错。因此,检验和就是一个检查手段,来判断数据在传输的过程中是否出了错

【检验和完成数据校验的基本流程】:

(1)发送方把要发送的数据处理好,将该数据记为data1 ,并通过相应的算法,计算出校验和sum1.

(2)发送方将data1和sum1一起发送给 接收方。

(3)接收方 接收到数据后,收到的数据记为 data2(可能和data1不同了),且收到 校验和sum1。

(4)接收方根据data2数据,按照相同的算法,计算出校验和sum2.

(5)对比校验和sum1sum2是否相同。如果不同,说明data1和data2不相同,也就是数据传输时出错了。如果sum1和sum2相同,则大概率data1和data2是相同的(存在不同的可能性)。

通过以上流程,就可以判断数据在网络中传输时是否发生了错误。

【那么计算校验和使用的是什么算法呢】

UDP使用的算法是CRC循环冗余算法。此算法将要计算校验和的数据,每个字节进行累加,并将结果保存在 UDP报文中 存放 校验和数据的 两个字节 的变量中。如果数据在传输的过程中数据发生了错误,接受方算出的校验和也会有差异,这样就能判断数据经过传输后是否发生了错误。

除了CRC算法,还有更靠谱的算法,就是 md5算法

md5算法,通过一系列公式,算出来的校验和,有以下特点:

(1)定长:无论发送方发送的数据有多长,通过md5算法,算出来的校验和都是 固定的长度。

 

 

(2)分散:即使发送方连续两次发送数据,且两次发送的数据只存在个别字符不同,md5算法给这两条数据算出的校验和仍有很大差异

 

 

 

(3)不可逆:给定一个数据,使用md5算法能够得出 校验和。若 给出该校验和,要求生成原始数据,则是不可行的。

 以上是UDP协议的相关知识,UDP协议的特点面向数据报,全双工,无连接,不可靠。也因此,相对于TCP协议来说,UDP协议传输数据的效率更高UDP协议的机制相对来说也更加简单。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python图像处理指南:PIL与OpenCV的比较【第135篇—PIL】

Python图像处理指南:PIL与OpenCV的比较 图像处理在计算机视觉和图像识别等领域中扮演着至关重要的角色。Python作为一种功能强大且易于学习的编程语言,提供了多种库供图像处理使用。在本文中,我们将比较两个最流行的Python图像处理库&#x…

基于正点原子潘多拉STM32L496开发板的简易示波器

一、前言 由于需要对ADC采样性能的评估,重点在于对原波形的拟合性能。 考虑到数据的直观性,本来计划采集后使用串口导出,并用图形做数据拟合,但是这样做的效率低下,不符合实时观察的需要,于是将开发板的屏幕…

云计算2主从数据库

设置主从数据库的目的是将数据库1和数据库2分别建在两个虚拟机上,并实现数据互通访问 首先准备两个虚拟机,这里示例ip分别为: 192.168.200.10;192.168.200.20 修改主机名,一个是mysql1,一个是mysql2&#x…

【每日一问】手机如何开启USB调试?

一、背景 当电脑跟手机之间需要进行交互的时候,可以考虑使用usb进行连接。那么手机如何开启USB调试呢? 二、操作步骤: 思路: 步骤1:手机开启开发者模式 步骤2:在开发者模式中,开启“USB调试”…

【AAAI 2024】解锁深度表格学习(Deep Tabular Learning)的关键:算术特征交互

近日,阿里云人工智能平台PAI与浙江大学吴健、应豪超老师团队合作论文《Arithmetic Feature Interaction is Necessary for Deep Tabular Learning》正式在国际人工智能顶会AAAI-2024上发表。本项工作聚焦于深度表格学习中的一个核心问题:在处理结构化表格…

html5的css使用display: flex进行div居中的坑!

最近做项目的时候,有个需求,一个高度宽度不确定的Div在另一个Div内上下左右居中。 然后以前上下居中用的都是很繁琐的,就打算去百度搜索一个更优秀的方法。 百度AI自己给我一个例子: /* div在容器里居中显示,设置外容…

单片机学到什么程度才可以去工作?

单片机学到什么程度才可以去工作? 如果没有名校或学位的加持,你还得再努力一把,才能从激烈的竞争中胜出。以下这些技能可以给你加分,你看情况学,不同行业对这些组件会有取舍: . Cortex-M内核:理解MCU内核各部件的工作机制&#…

windows的maven 低版本如何切换到高版本

要升级到 Maven 3.9.x 版本,可以按照以下步骤操作: 下载 Maven 3.9.x: 访问 Maven 的官方网站(https://maven.apache.org/download.cgi)并下载 Maven 3.9.x 版本的压缩包。选择与你的操作系统兼容的版本。 2. 解压缩 Maven 3.9.x…

一、MySQL基础学习

目录 1、MySQL启动2、MySQL客户端连接3、SQL3.1、SQL语句分类3.2、DDL(数据库定义语言)3.2.1、操作数据库3.2.2、操作数据表 3.3、DML(数据库操作语言)3.3.1、增加 insert into3.3.2、删除 delete3.3.3、修改 update 3.4、DQL&…

移动云COCA架构实现算力跃升,探索人工智能新未来

近期,随着OpenAI正式发布首款文生视频模型Sora,标志着人工智能大模型在视频生成领域有了重大飞跃。Sora模型不仅能够生成逼真的视频内容,还能够模拟物理世界中的物体运动与交互,其核心在于其能够处理和生成具有复杂动态与空间关系…

逆序对的数量 刷题笔记

思路 使用归并排序 在每次返回时 更新增加答案数 因为归并排序的两个特点 第一 使用双指针算法 第二 层层返回 从局部有序合并到整体有序 例如 {4 ,1 ,2 ,3} 划分到底层是四个数组 {4},{1},{3}, {…

【算法杂货铺】二分算法

目录 🌈前言🌈 📁 朴素二分查找 📂 朴素二分模板 📁 查找区间端点处 细节(重要) 📂 区间左端点处模板 📂 区间右端点处模板 📁 习题 1. 35. 搜索插入位…

『 Linux 』进程替换( Process replacement ) 及 简单Shell的实现(万字)

文章目录 🦄 进程替换🦩 execl()函数🦩 execlp()函数🦩 execle()函数🦩 execv()函数🦩 execvp()函数🦩 execvpe()函数🦩 execve()函数 🦄 简单Shell命令行解释器的实现&a…

Centos8安装Docker,使用阿里云源

一、前期准备 1.关闭防火墙,SELINUX systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 sed -i "s/SELINUXenforcing/SELINUXdisabled/g" /etc/selinux/config查看状态 systemctl status firewalld systemctl status…

汇编语言(Assemble Language)学习笔记(更新中)

零.学习介绍和使用工具 【1】我们使用的教材是机械工业出版社的《32位汇编语言程序设计第二版》。 指导老师是福州大学的倪一涛老师。 这门课程教授的是Intel 80*86系列处理器的32位汇编。我们现在的处理器都兼容这个处理器。 这篇博客只是大二下汇编语言学习的总结&#xff…

【C++设计模式】策略模式

文章目录 前言一、策略模式是什么?二、策略模式的实现原理三、UML图四、代码实现总结 前言 策略模式是一种行为设计模式,它允许在运行时选择算法的行为。通过将每个算法封装到具有共同接口的独立类中,客户端可以在不改变自身代码的情况下选择…

css3 实现html样式蛇形布局

文章目录 1. 实现效果2. 实现代码 1. 实现效果 2. 实现代码 <template><div class"body"><div class"title">CSS3实现蛇形布局</div><div class"list"><div class"item" v-for"(item, index) …

【C#】WPF 将string数据导出txt

示例 代码 string allInfo "123"; SaveFileDialog saveFileDialog new SaveFileDialog(); saveFileDialog.Filter "*.txt|*.txt|所有文件(*.*)|*.*"; if (!(bool)saveFileDialog.ShowDialog()) {return; } string fileName saveFileDialog.FileName; …

arcgis 计算某点到其他城市的距离,含要素转点(以北京市到各个地级市的距离为例)

导入地级市的地图导入要计算距离的地带你计算距离&#xff1a;点距离或者近邻分析 以北京市到各个地级市的距离为例 到入地级市&#xff0c;并复制一个同款地级市&#xff0c;导入一个有北京市的Excel 将一个地级市进行要素转点&#xff1a;data management tools——要素——…

【C语言】—— 指针二 : 初识指针(下)

【C语言】——函数栈帧 一、 c o n s t const const 修饰指针1.1、 c o n s t const const 修饰变量1.2、 c o n s t const const 修饰指针 二、野指针2.1野指针的成因&#xff08;1&#xff09;指针未初始化&#xff08;2&#xff09;指针越界访问&#xff08;3&#xff09;指…