差错检测和纠正技术

差错检测和纠正技术

数据在传输的过程中难免会出现差错(比如经过路由转发时),因此我们需要一些差错检测和纠正技术来检测数据中的差错并纠正,使接收方收到正确的数据,也避免发送方对数据进行重传。

下图是差错检测和纠正的场景示意图。

??????

在发送结点为了保护数据中比特免受差错,使用差错检测和纠正比特(Error-Detection and-Correction,EDC)来增强数据D。通常需要受保护的数据不仅包括从网络层传递下来需要通过链路传输的数据报,而且包括链路帧首部中的链路级的寻址信息、序号和其他字段。

链路级帧中的D和EDC都被发送至接收结点。接收结点接收到比特序列D‘和EDC‘。因为在传输中,比特可能发生翻转所以导致D‘和EDC‘与初始的D和EDC不同。

在接收方这边,它的挑战是在仅知D‘和DEC‘的情况下,就判断D‘和初始的D是否一致。差错检测和纠正技术也使接收方检测出已经出现的比特差错,但也可能有未检出比特差错(undetected bit error),也就是说,接收方接收的信息中还会包含比特差错。所以我们要选择一个差错检测方案使这种事情发生的概率很小。一般而言,差错检测和纠正技术越复杂,开销也就越大。

下面介绍传输数据中检查差错的3种技术。奇偶校验(它用来描述差错检测和纠正背后隐含地基本思想)、检验和方法(通常更多地应用于应用层)和循环冗余检测(通常更多地应用于适配器中的链路层)。

奇偶校验

也许差错检测最简单的方式就是用单个奇偶校验位(parity bit)。在偶校验方案中,发送方只需包含一个附加的比特,选择它的值,使得这d+1个比特(初始信息加上一个校验比特)中1的总数为偶数。对于奇校验方案,选择校验位比特值使得有奇数个1

下图是1比特偶校验。

?????????????

采用单个奇偶校验位的方式,接收方操作也很简单。统计d+1中比特为1的个数,在采用偶校验方法中如果出现了奇数个1,接收方知道至少出现了一个比特差错,准确地说为,出现了奇数个比特差错

倘若出现了偶数个比特差错,这将会导致出现未检出的差错。经过测量,这种差错经常以“突发”形式聚集在一起,所以我们需要一个更健壮的差错检测方案(实践中也是使用更健壮的方案)。在介绍实践中使用的方案,我们继续介绍奇偶校验的一种简单的一般化方案,深入理解纠错技术。

下图显示的是单比特奇偶检验方案的二维一般化方案。d个比特被划分为i行j列。对每行每列计算奇偶值。产生i+j+1奇偶比特构成了链路层帧的差错检测比特。比特被改变的行和列都可以检测出现差错,并且还可以利用存在奇偶校验差错的列和行的索引来实际识别发生差错的比特并纠正它。

?????????????

现在假设初始d比特中出现了单个比特差错。下图是一个例子。

?????????????

接收方检测和纠错的能力被称为前向纠错(Forward Error Correction,FEC)。这些技术通常用于如音频CD这样的音频存储和回放设备中。接收方发现错误可以立即纠错,避免了使发送方重传数据,这对实时网络应用和具有长传播时延的链路(如深空间链路)很有帮助。

检验和

在检验和技术中,将d比特数据作为一个k比特整数的序列处理。

一个简单的检验和方法就是将这k比特整数加起来,并且用得到的和作为差错检测比特。

检验和需要相对较小的分组开销。

因特网检验和(Internet checksum)便是基于这种方法,即数据的字节作为16比特的整数对待并求和。这个和的反码形成了携带在报文段首部的检验和字段。

接收方通过对接收的数据(包括检验和)的和 取反码,并且检测其结果结果是否全为1比特来检测检验和。如果这些比特中有任何比特为0,就可以指示错误。

循环冗余检测

如今的计算机网络中广泛地应用的差错检测技术基于循环冗余检测(Cyclic Redundancy Check,CRC)编码。CRC编码也称为多项式编码(polynomial code),该编码能够将发送的比特串看作为系数是0和1一个多项式,对比特串的操作被解释为多项式运算。

CRC编码操作如下

考虑d比特数据D,发送结点要将它发送给接收结点。

发送方和接收方首先必须商议一个r+1比特模式,称为生成多项式(generator),将其表示为G,要求G的最高有效位为1(最左边)。

对于一个给定的数据段D,发送方要选择r个附加比特R,并将它们附加到D上使得得到的d+r比特模式(被解释成一个二进制数)用模2算术恰好能被G整除。在接收方这边,用G除以接收到的d+r比特,如果余数不为0,接收方便知道了差错,若余数为0,则接收数据。

????????

所有CRC采用模2运算算术,在加法中不进位,减法中不借位,即等价于异或运算(XOR),乘法和除法也相同。并且,D*2^k XOR R产生如上图所示的d+r比特模式。

举例说明

???????????????

如上图所示,D = 101110,d = 6,G = 1001,和r = 3的情况下计算R。得出R = 011。

于是发送方会传输9个比特101110011。

国际标准已经定义了8,12,16和32比特生成多项式G。其中CRC-32 32比特的标准被多种链路级IEEE协议采用。

每个CRC标准都可以检测小于r+1比特的突发错误(意味着所有连续的r比特或者更少的差错都可以检测到)。每个CRC标准也能检测任何奇数个比特差错。



《计算机网络 自顶向下方法》学习笔记

原文地址:https://www.cnblogs.com/myworld7/p/8422270.html

时间: 2024-10-10 04:24:26

差错检测和纠正技术的相关文章

PCIe闪存控制器技术解析

一.PCIe-SSD架构解析 PCIe作为CPU的局部总线,最大的特点在于数据传输吞吐量大和延迟低.对于NandFlash固态存储而言,传统磁盘存储领域存在的随机读写问题将不复存在,因此,整个存储系统的瓶颈从存储介质转移到了传输接口上来了.为存储而生的SATA/SAS接口在SSD上的表现不是那么理想了,非常影响IO的传输延迟.为此,显而易见,存储接口应该从传统的SATA/SAS往离CPU更近的系统总线PCIe或者DIMM方向发展. 大家其实很早就认识到了这一点,当年Fusion-io推出基于PC

软考信息系统监理师:2016年4月8日作业

第13章.组织协调 1.组织协调的基本原则是什么(记)? 答: 1)公平.公正.独立原则 2)守法原则 3)诚信原则 4)科学的原则 2.什么是科学的原则? 答:所谓科学的原则,就是在监理实践中,要依据科学的方案(如监理规划),运 用科学的手段(如测试设备或测试工具软件),采取科学的办法(如收集数据),并 在项目结束后,进行科学的总结(如信息归纳整理).监理要用科学的思维.科学 的方法对核心问题有预先控制措施上的认识,凡事要有证据,处理业务一定要有 可靠的依据和凭证,判断问题时尽量用数据说服建设

软考信息系统监理师第五次作业

一.组织协调 1.组织协调的基本原则是什么(记)? (1)公平.公正.独立原则 (2)守法原则 (3)诚信原则 (4)科学原则 2.什么是科学的原则? 科学的原则,就是在监理实践中,要依据科学的方案(如监理规划),运用科学的手段(如测试设备或测试工具软件),采取科学的办法(如收集数据),并在项目结束后,进行科学的总结(如信息归纳整理). 3.组织协调的监理方法有哪些? (1)        监理会议: (2)        监理报告 (3)        沟通 3.会议成功的关键是什么?(记)

2016年4月8日作业

软考信息系统监理师:2016年4月8日作业 一.组织协调1.组织协调的基本原则是什么(记)? 答:1)公平.公正.独立原则:2)守法原则:3)诚信原则:4)科学的原则. 2.什么是科学的原则? 答:科学的原则,就是在监理实践中,要依据科学的方案(如监理规划),运用科学的手段(如测试设备或测试工具软件),采取科学的办法(如收集数据),并在项目结束后,进行科学的总结(如信息归纳整理). 3.组织协调的监理方法有哪些? 答:1)监理会议:2)监理报告:3)沟通: 3.会议成功的关键是什么?(记) 答:

20160408张涵作业

一.组织协调1.组织协调的基本原则是什么(记)?答:1.公平.公正.独立原则:2.守法原则:3.诚信原则:4.科学原则.2.什么是科学的原则?答:依据科学的方案,运用科学的手段,采取科学的方法,并在项目结束后进行科学的总结. 3.组织协调的监理方法有哪些?答:1.监理会议2.监理报告3.沟通协调 4.会议成功的关键是什么?(记)答:会议成功的关键是原则是:确保每个人到场.议程和领导 5.确保会议成功的措施有哪些?请详述会前.会中.会后的具体措施?答:1.会前的准备措施:包括确定会议目的.确定谁需

软考信息系统监理师,2016年4月8日作业

第十三章:信息系统工程建设的组织协调 1.组织协调的基本原则是什么(记)? (1) 公平,公正,独立原则 (2) 守法原则 (3) 诚信原则 (4) 科学的原则 2.什么是科学的原则? 所谓科学的原则,就是在监理时间中,要依据科学的方案(如监理规划),运用科学的手段(如测试设备或测试工具软件),采取科学的办法(如收集数据),并在项目结束后,进行科学的总结(如信息归纳整理).3.组织协调的监理方法有哪些? (1) 监理会议 (2) 监理报告 (3) 沟通 4.会议成功的关键是什么?(记) 举行会议

4月8日监理师作业

一.组织协调1.组织协调的基本原则是什么(记)?答:①公平.公正.独立原则:②守法原则:③诚信原则:④科学原则. 2.什么是科学的原则?答:依据科学的方案,运用科学的手段,采取科学的方法,并在项目结束后进行科学的总结. 3.组织协调的监理方法有哪些?答:①监理会议,②监理报告,③沟通 4.会议成功的关键是什么?(记)答:会议成功的关键是原则是:确保每个人到场.议程和领导 5.确保会议成功的措施有哪些?请详述会前.会中.会后的具体措施?答:①会前的准备措施:包括确定会议目的.确定谁需要参加并说明会

计算机网络——链路层

数据链路层:概述与服务 链路层主要使用的信道包括: 广播信道 : 这种信道采用一对多的广播通信方式,因此过程比较复杂.广播信道上主机众多,我们必须使用专用的共享信道协议来协调这些主机的数据发送 点对点信道 : 这种信道使用一对一的点对点通信方式 链路层提供的服务 链路层协议定义了在链路两端的节点之间交互的分组格式,以及当发送和接受分组时这些节点采取的动作. 链路层协议可能提供的服务包括: 服务 概述 成帧 在每个数据报传输时,用链路层帧将其封装起来.一个帧由首部,数据字段和尾部组成.链路层的数据

计算机网络11_概述

1.什么是Internet 解释Internet从服务角度,组成细节角度 组成细节角度: ISP (Internet Service Provider): 计算设备+通信链路+交换网络(分组交换) 计算设备:主机=端系统 通信链路:光纤,铜缆,无限电,卫星 交换网络:路由器,交换机 服务角度: 为网络应用提供通信服务的通信基础设施 为网络应用提供应用编程接口(API) 光有硬件,链路,路由器是不能正常运行网络,将数据传输和交换的.还需要网络协议. 计算机网络的数据交换必须遵守事先约定好的规则.