循环冗余检验(CRC)在数据链路层的应用
需积分: 18 187 浏览量
更新于2024-08-20
收藏 19.99MB PPT 举报
"循环冗余检验的原理-计算机网络课件-谢希仁"
循环冗余检验(CRC)是一种在数据通信和存储中广泛使用的检错技术,主要应用于数据链路层。其基本思想是在发送的数据块(通常称为信息字段或数据帧)后面附加一个冗余码,这个冗余码由特定的算法计算得出,用于接收端进行错误检测。当接收端接收到数据后,同样使用该算法计算接收到的完整数据(包括原始数据和冗余码)的冗余码,并与接收到的冗余码进行比较。如果两者相同,则认为数据传输无误;若不相同,则判断数据在传输过程中发生了错误。
在CRC过程中,首先将要发送的数据划分为固定长度的组,例如每个组包含k个比特。例如,假设有一个数据组M=101001,长度k=6。为了增加冗余码,我们需要选择一个生成多项式G(x),这个生成多项式通常是一个二进制系数的多项式,比如G(x)=x^n+1,其中n是冗余码的位数。在本例中,如果n=3,那么G(x)=x^3+1=10001。
发送端的操作如下:
1. 将数据M左移n位,形成M' = 1010010000。
2. 使用异或操作,将M'与生成多项式G(x)的二进制表示异或。如果G(x)=10001,结果将是101001 ^ 10001 = 101010。
3. 如果异或结果非零,重复步骤2,即将异或结果左移一位并与G(x)异或,直到得到的结果为零或者进行了n次异或操作。在这个例子中,我们只需进行一次异或,得到的冗余码为101。
因此,发送的数据变为M' +冗余码 = 1010010000 + 101 = 1010011011,这个完整的序列被发送到接收端。
在接收端,同样的过程被执行,计算接收到的数据的冗余码,并与接收的冗余码进行比较。如果计算出的冗余码与接收的冗余码一致,那么认为数据传输正确。如果不一致,说明在传输过程中可能存在错误。
此外,文件还涉及了计算机网络的基础知识,包括计算机网络在信息时代中的重要作用,因特网的概述,如其发展历程、标准化工作以及它作为网络的网络的特性。还介绍了因特网的组成,分为边缘部分(用户和应用)和核心部分(通信子网和路由器)。此外,还涵盖了计算机网络的分类、性能指标、非性能特征、体系结构等概念。这些内容构成了计算机网络学科的基础,对于理解和研究网络通信至关重要。
2023-09-24 上传
点击了解资源详情
2021-10-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
小炸毛周黑鸭
- 粉丝: 24
- 资源: 2万+
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载