传输层的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协议的机制相对来说也更加简单。

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

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

相关文章

k8s helm 删除 tiller

kuberneter 上面装了 helm 想卸载还并不是那么简单, 参考 stackoverflow 回复 kubectl get -n kube-system secrets,sa,clusterrolebinding -o name|grep tiller|xargs kubectl -n kube-system delete kubectl get all -n kube-system -l apphelm -o name|xargs kubectl dele…

DHCP在企业网的部署及安全防范

学习目标: 1. DHCP能够解决什么问题? 2. DHCP服务器如何部署? 3. 私接设备会带来什么问题以及如何防范? 给DHCP服务器配置地址: 地址池: DHCP有2种分配模式:全局分配和接口分配 DHCP enable

element el-table 表格限制多选个数

本次的功能的要求是: 原本的引入的elment 的表格,去除全选框,版本对比的按钮,需要在选择版本,并且版本个数为2的时候,可点击,进行版本对比操作每次选择版本的时候,目前已有两个选择…

酷轻松气囊按摩护膝全新上线,科技呵护膝部健康

在快节奏的现代生活中,膝部健康问题逐渐引起人们的重视。长时间的站立、行走或运动,都可能对膝部造成不同程度的压力和损伤。 特别是家里有老人一直被老寒腿、关节发凉疼痛困扰的,经常一遇到下雨天,膝盖就不舒服;尤其到…

鸿蒙-自定义组件的生命周期

目录 自定义组件的生命周期 1.aboutToAppear 2.aboutToDisappear 3.onPageShow 4.onPageHide 5.onBackPress 日志输出 1.显示页面 2.页面点击返回按钮 3.页面跳转 4.页面返回 自定义组件的生命周期 先来一段列子 import router from ohos.router Entry Component…

虚拟机VMware上 centos7 的网络配置

第一步:权限的切换 由普通用户切换到超级用户 用户名为:root 密码为:自己安装 linux 时第一次设置的密码 su -root超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。当看到你的命令提示符为“$”时,证明切…

pytorch之诗词生成6--eval

先上代码: import tensorflow as tf from dataset import tokenizer import settings import utils# 加载训练好的模型 model tf.keras.models.load_model(r"E:\best_model.h5") # 随机生成一首诗 print(utils.generate_random_poetry(tokenizer, model)…

WRF模型教程(ububtu系统)-WPS(WRF Pre-Processing System)概述

一、WPS简介 WRF 预处理系统 (WRF Pre-Processing System,WPS) ,集成了基于Fortran和C编写的程序,这些程序主要用于处理输入到real.exe的数据。WPS主要有三个程序和一些辅助程序。 二、各程序介绍 主要的程序为geogrid.exe、ungrib.exe、met…

paddle ocr识别文字

paddle使用 # pip install paddlepaddle2.5.2 -i https://mirror.baidu.com/pypi/simple # pip install paddleocr2.7.0.3 -i https://mirror.baidu.com/pypi/simplefrom paddleocr import PaddleOCR from PIL import Image import numpy as npimage Image.open(./2.png) ocr…

Spring Boot Actuator介绍

大家在yaml中经常见到的这个配置 management: endpoints: web: exposure: #该配置线上需要去掉,会有未授权访问漏洞 include: "*" 他就是Actuator! 一、什么是 Actuator Spring Boot Actuator 模块提供了生产级别…

微信小程序--分享如何与ibeacon蓝牙信标建立联系

ibeacon蓝牙设备 iBeacon是苹果公司2013年9月发布的移动设备用OS(iOS7)上配备的新功能。其工作方式是,配备有 低功耗蓝牙(BLE)通信功能的设备使用BLE技术向周围发送自己特有的ID,接收到该ID的应用软件会根…

Laravel Class ‘Facade\Ignition\IgnitionServiceProvider‘ not found 解决

Laravel Class Facade\Ignition\IgnitionServiceProvider not found 问题解决 问题 在使用laravel 更新本地依赖环境时,出现报错,如下: 解决 这时候需要更新本地的composer,然后在更新本地依赖环境。 命令如下: co…

19113133262(微信同号)【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024)

【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024) 大会主题: (主题包括但不限于, 更多主题请咨询会务组苏老师) 区块链: 区块链技术和系统 分布式一致性算法和协议 块链性能 信息储存系统 区块链可扩展性 区块…

微信小程序将高德地图转为腾讯地图的自行车路线规划

微信小程序后台首页开发设置 相关文档 腾讯后台 微信小程序接入JDK JDK腾讯地图文档 腾讯路线规划文档 核心代码 <map id"myMap" ref"myMap" style"width: 100%; height: calc(100vh - 80px)":latitude"latitude" :scale&qu…

Vue项目中使用ECharts构建交互式中国地图的详细指南

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

ASP.NET-Server.UrlEncode

目录 背景: Server.UrlEncode作用: 1.URL 编码&#xff1a; 2.避免冲突&#xff1a; 3.安全性&#xff1a; 4.规范化&#xff1a; 实例说明: 不使用Server.UrlEncode 使用Server.UrlEncode 总结: 背景: Server.UrlEncode方法在ASP.NET中主要功能是对URL中的参数进行编…

使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质

使用 Boot Camp 助理查明您的 Mac 需不需要 Windows 安装介质 当前的 Mac 机型无需介质即可安装 Windows&#xff0c;也就是说&#xff0c;您不需要用到外置驱动器。较早的 Mac 机型需要用到 USB 驱动器或光盘驱动器。使用 Boot Camp 助理可查明您需要用到什么。 Boot Camp 助…

CXL-Enabled Enhanced Memory Functions——论文阅读

IEEE Micro 2023 Paper CXL论文阅读笔记整理 问题 计算快速链路&#xff08;CXL&#xff09;协议是系统社区的一个重要里程碑。CXL提供了标准化的缓存一致性内存协议&#xff0c;可用于将设备和内存连接到系统&#xff0c;同时保持与主机处理器的内存一致性。CXL使加速器&…

遗传算法及基于该算法的典型问题的求解实践

说明 遗传算法是一个很有用的工具&#xff0c;它可以帮我们解决生活和科研中的诸多问题。最近在看波束形成相关内容时了解到可以用这个算法来优化阵元激励以压低旁瓣&#xff0c;于是特地了解和学习了一下这个算法&#xff0c;觉得蛮有意思的&#xff0c;于是把这两天关于该算法…

SpringMVC 02

这里先附上前一篇的地址,以上系列均为博主的学习路线,仅供参考 初识Spring MVC-CSDN博客 下面我们从SpringMVC传递数组开始讲起 1.传递数组 传递数组的方式和传递普通变量的方式其实是相同的,下面我们附上传递的图片 RequestMapping("/r7")public String r1(String[…