计算机网络——32差错检测和纠正

差错检测和纠正

错误检测

EDC = 差错检测和纠错位(冗余位)
D = 数据由差错检测保护,可以包含头部字段
错误检测不是100%可靠的

  • 协议会泄露一些错误,但是很少
  • 更长的EDC字段可以得到更好的检测和纠正效果

在这里插入图片描述

奇偶校验

单bit奇偶校验

检测单个bit级错误

在这里插入图片描述

二维奇偶校检

检测和纠正单个bit错误

在这里插入图片描述

在这里插入图片描述

Internet校检和

目标:检测在传输报文时的错误(如位翻转),(注:仅仅用在传输层)
发送方

  • 将报文段看成16-bit整数
  • 报文段的校检和:和(1’的补码和)
  • 发送方将checksum的值放在’UDP校检和’字段

接收方

  • 计算接收到的报文段的校检和
  • 检查是否与携带校检和字段值一致
    • 不一致:检出错误
    • 一致:没有检出错误,但可能还是有错误

有更简单的检查方法:全部加起来看是不是全1

检验和:CRC(循环冗余校检)

  • 强大的差错检测码
  • 将数据比特 D 看成是二进制的数据
  • 生成多项式 G :双方协商r + 1模式(r次方)
    • 生成和检查所使用的位模式
  • 目标:选择r位CRC附加位R,使得
    • <D,R>正好被G整除(modulo 2)
    • 接收方知道G,将<D,R>除以G,如果非0余数:检查出错误
    • 能检出所有少于r + 1位的突发错误
  • 实际中广泛使用(以太网、802.11 WiFi、ATM)

在这里插入图片描述

CRC例子

需要:
D ⋅ 2 r × O R R = n G D\cdot 2^r \times OR R = nG D2r×ORR=nG
等价于:
D ⋅ 2 r = n G × O R R D\cdot 2^r = nG \times OR R D2r=nG×ORR
等价于:
两边同除G
得到余数 R = … R = \dots R=

R = r e m a i n d e r [ D ⋅ 2 r G ] R =remainder \begin{bmatrix} \frac{D\cdot 2^r}{G} \end{bmatrix} R=remainder[GD2r]

最后求得:
在这里插入图片描述

CRC性能分析

  • 突发错误和突发长度
  • CRC检错性能描述
    • 能够检查出所有的1bit错误
    • 能够检查出所有的双bit的错误
    • 能够检测出所有长度 = r或者 <r 位的错误
    • 出现长度为r + 1的突发错误,检查不出的概率是
      1 2 r − 1 \frac{1}{2^{r-1}} 2r11
    • 出现长度大于r + 1的突发错误,检查不出的概率
      1 2 r \frac{1}{2^r} 2r1

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

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

相关文章

精品PPT-2023年无人驾驶汽车车联网网络安全方案

以下是部分PPT内容&#xff0c;请您参阅。如需下载完整PPTX文件&#xff0c;请前往星球获取&#xff1a; 无人驾驶安全架构是一个复杂的系统&#xff0c;它涉及到多个关键组件和层次&#xff0c;以确保无人驾驶车辆在各种情况下都能安全、可靠地运行。以下是一些主要的无人驾驶…

深度学习中的算子

在深度学习中&#xff0c;层是模型的构建单元&#xff0c;它们通过各自定义的算子作用于函数空间&#xff0c;将输入数据映射到越来越抽象的特征表示&#xff0c;直至输出层给出最终的预测结果。模型由一系列算子的组合构成&#xff0c;模型的整体特点和其中的构成算子有关&…

git-常用命令

拉取代码 git pull 拉取远程分支到本地 git fetch origin <remote_branch_name>:<local_branch_name> git checkout <local_branch_name> git pull 每次都需要输入用户名密码 git config --global credential.helper store 然后执行一遍git pull 输入用…

基于springboot+vue的高效学生实习管理系统【管理员、学院、教师、企业单位、学生】

【管理员】 【院系负责人】 【教师】 【企业单位】 【学生】

Android Glide配置AppGlideModule定制化线程池,Kotlin(1)

Android Glide配置AppGlideModule定制化线程池&#xff0c;Kotlin&#xff08;1&#xff09; plugins {id org.jetbrains.kotlin.kapt }implementation com.github.bumptech.glide:glide:4.16.0kapt com.github.bumptech.glide:compiler:4.16.0 import android.content.Context…

【爬虫开发】爬虫从0到1全知识md笔记第3篇:数据提取概要,知识点【附代码文档】

爬虫开发从0到1全知识教程完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;爬虫课程概要&#xff0c;爬虫基础爬虫概述,,http协议复习。requests模块&#xff0c;requests模块1. requests模块介绍,2. response响应对象,3. requests模块发送请求,4. request…

YOLO电动车检测识别数据集:12617张图像,yolo标注完整

YOLO电动车检测识别数据集&#xff1a;12617张图像&#xff0c;电动车一类&#xff0c;yolo标注完整&#xff0c;部分图像应用增强。 适用于CV项目&#xff0c;毕设&#xff0c;科研&#xff0c;实验等 需要此数据集或其他任何数据集请私信

即刻体验 | 使用 Flutter 3.19 更高效地开发

我们已隆重推出全新的 Flutter 版本——Flutter 3.19。此版本引入了专为 Gemini 设计的新 Dart SDK、一个能让开发者对 Widget 动画实现精细化控制的全新 Widget&#xff0c;Impeller 更新带来的渲染性能提升、有助于实现深层链接的工具和对 Windows Arm64 的支持&#xff0c;以…

全局统一返数据类型封装记录

全局统一返回值封装 ​ 在Spring Boot中&#xff0c;实现全局统一返回值封装是一种常见的做法&#xff0c;它有助于保持API的一致性&#xff0c;并简化前端对响应数据的处理。创建一个响应体类&#xff0c;包含状态码、消息、数据等字段。这个类可以作为所有控制器返回值的通用…

Vue.js组件精讲 开篇:Vue.js的精髓——组件

写在前面 Vue.js&#xff0c;无疑是当下最火热的前端框架 Almost&#xff0c;而 Vue.js 最精髓的&#xff0c;正是它的组件与组件化。写一个 Vue 工程&#xff0c;也就是在写一个个的组件。 业务场景是千变万化的&#xff0c;而不变的是 Vue.js 组件开发的核心思想和使用技巧…

达梦配置ODBC连接

达梦配置ODBC连接 基础环境 操作系统&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本&#xff1a;DM Database Server 64 V8 架构&#xff1a;单实例1 下载ODBC包 下载网址&#xff1a;https://www.unixodbc.org/ unixODBC-2.3.0.tar.gz2 编译并…

python-django物流仓储进销存配送管理系统flask_1ea2k

实现了一个完整的物流管理系统&#xff0c;其中主要有站点信息模块、物流进度模块、用户表模块、司机模块、入库信息模块、签收信息模块、类型模块、快递信息模块、客户模块、客服模块、公告信息模块、服务类型模块、配置文件模块、出库信息模块、车辆信息模块、仓管模块、账户…

有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中

#include <stdio.h> // 标准输入输出头文件 int main(){ // 初始化数组a&#xff0c;包含10个有序整数 int a[11]{1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; // 打印数组a的当前内容 printf("请输入数组a:\n"…

Lucky Chains

题目链接 Educational Codeforces Round 139 (Rated for Div. 2) D. Lucky Chains 取模的性质&#xff0c;更相减损术 思路&#xff1a; 我们假设链的长度为 w w w&#xff0c;不妨设 x ≥ y x\ge y x≥y&#xff0c;那么 g c d ( x k , y k ) 1 ( 0 ≤ k ≤ w ) gcd…

生成式AI的情感实验——AI能否产生思想和情感?

机器人能感受到爱吗&#xff1f;这是一个很好的问题&#xff0c;也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感&#xff0c;但智能机器却已经可以借助生成式人工智能&#xff08;AI&#xff09;来帮助我们表达自己的情感。 自然情感表达 AI正…

阻抗控制中的effort and flow

阻抗控制&#xff0c;由Hogan在&#xff08;Hogan&#xff0c;1985&#xff09;中首次描述&#xff0c;已被广泛应用于机器人系统的控制中&#xff0c;以调节交互或接触任务的遵从性。阻抗表示运动与相互作用力或扭矩之间的动态关系。 阻抗控制是一种基于力的控制方法&#xf…

leetcode3100--换水问题II

1. 题意 经典空瓶换汽水问题 2. 题解 直接模拟即可 class Solution { public:int maxBottlesDrunk(int numBottles, int numExchange) {int ans 0;while (numBottles > numExchange) {ans numExchange;numBottles - numExchange - 1;numExchange;}return ans numBott…

risc-v向量扩展strlen方法学习

riscv向量文档中给出了strlen的实现&#xff0c; 大概是这么一个思路&#xff0c; 加载向量: 使用向量加载指令&#xff08;如 vload&#xff09;从内存中加载一个向量长度的字符。比较向量与零: 使用向量比较指令&#xff08;如 vmask 或 vcmpeq&#xff09;来检查向量中的每…

加快形成新质生产力的重要着力点

新一轮科技革命和产业变革、大国竞争加剧以及我国经济发展方式转型等重大挑战在当下形成历史性交汇&#xff0c;这也为我国创造了重要的战略机遇。想要牢牢抓住发展的“机会窗口”&#xff0c;必须以科技创新推动产业创新&#xff0c;以产业升级构筑竞争新优势&#xff0c;加快…

Linux网络协议栈从应用层到内核层④

文章目录 1、网卡接受数据2、网络设备层接收数据3、ip层接受数据4、tcp层接受数据5、上层应用读取数据6、数据从网卡到应用层的整体流程 1、网卡接受数据 当网卡收到数据时&#xff0c;会触发一个中断&#xff0c;然后就会调用对应的中断处理函数&#xff0c;再做进一步处理。…