1.4.1OSI分层结构计算机网络分层结构OSI模型是由ISO在1978年提出的,它描述了网络设计和通信的基本框架以及网络环境应用标准。传输层位于OSI的第四层,使用的设备是主机。在OSI七层结构模型中,如图1-3所示,数据在发送时是数据从应用层至物理层的一个打包的过程,接收时是数据从物理层至应用层的一个解包的过程。图1-3OSI两个主机之间在七层结构模型中数据传输示意图......
2023-11-29
1.5.5 差错控制方法
数据传送过程中数据失真产生的原因很多,但大多是由噪声引起的。噪声有两大类,一类是信道固有的,持续存在的随机热噪声;另一类是由外界特定的短暂原因所造成的冲击噪声。热噪声引起的差错称为随机错误,所引起的某位码元的差错与前后码元没有关系,物理信道用较大的信噪比可以减少热噪声的影响。冲击噪声通常是突发的,由其引起的差错称为突发错,冲击噪声幅度可能相当大,无法靠提高信号幅度来避免冲击噪声造成的差错,通常会影响到连续的码元。
数据通信中不加任何差错控制措施,直接用信道传输信号是不可靠的,需要通过相应的差错控制手段和方法对其进行修正。差错控制是指在数据通信过程中能够发现和纠正差错,把差错限制在尽可能小的允许范围内的技术和方法。常用的差错控制方法是差错控制编码,进行差错控制的方法有两大类:自动重发请求方式和前向纠错方式。
自动重发请求方式是当接收端检测出有差错时,通过发送重发请求,直到收到正确的码字,可以通过差错控制编码检测码字是否正确,但不确定错误的位置,这种编码称为检错码。前向纠错方式是接收端不但能发现错误,还能通过差错控制编码方法确定二进制码元发生错误的位置而加以纠正,这种编码称为纠错码。
1.差错控制编码原理
差错控制编码的原理是:发送方对准备传输的数据进行抗干扰编码,即按某种算法附加上一定的冗余位,构成一个码字后再发送。接收方收到数据后进行校验,即检查信息位和附加的冗余位之间的关系,以检查传输过程中是否有差错发生。差错控制编码分检错码和纠错码两种,检错码是能自动发现差错的编码,纠错码是不仅能发现差错而且能自动纠正差错的编码。
衡量编码性能好坏的一个重要参数是编码效率R,有
式中,n表示码字的位长,m表示数据信息的位长,k表示冗余位的位长。
2.奇偶校验码
奇偶校验码是一种最简单的检错码,其原理是通过增加冗余位,从而使得码字中“1”的个数保持为奇数(奇校验)或偶数(偶校验)。例如,偶校验100101100,111001011。在实际使用时,奇偶校验可分为以下三种方式:垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验,如图1-8所示。
图1-8 垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验方式示意图
3.循环冗余码CRC
循环冗余码又称CRC码(Cyclic Redundancy Code),简称循环码。CRC码检错能力强,且容易实现,是目前最广泛的检错码编码方法之一。在计算机网络中,CRC被广泛采用。CRC是一种检错码,其编码过程涉及多项式知识。多项式和比特串有一定的对应关系,例如,比特串10010101110可被解释成X10+ X7+X5+ X3+ X2+X1。
发送端的编码步骤如下:
1)将要发送的二进制数据(k位比特序列),对应一个(k-1)阶多项式K(x);再选取一个收发双方预先约定的r阶生成码多项式G(x);
2)在原数据尾添加r个0,即,xrK(x)。;
3)进行xrK(x)/G(x),求得余数R(x)。R(x)即为校验序列;
4)用R(x)替代xrK(x)中最后的r个0(即xrK(x)-R(x)),得到待传送的CRC码多项式(数据位加校验位)T(x)。
可以看出,CRC码字的总长(传送位)为n= k+ r位,对应一个(n-1)阶多项式T(x)。
接收端的检验是要求与发送方所使用的G(x)要一致,过程如下:
1)接收端收到的CRC码多项式T'(x);
2)校验:进行T'(x)/G(x),求得余数;
3)若余数为0,则正确(即T'(x)/G(x)= K(x));若余数不为0,则出错。
若适当选取G(x),使其含有(x+ 1)因子,常数项不为0,且周期大于n,则由此G(x)作为生成多项式产生的CRC码,可检测出:所有双位错、所有奇数位错、所有突发长度小于等于r的突发错、(1-2-(r-1))的突发长度等于r+ 1的突发错以及(1-2-r)的突发长度大于r+ 1的突发错。目前广泛使用的G(x)有各种标准,主要有以下4种:
CRC12= X12+ X11+ X3+ X2+1
CRC16= X16+ X15+ X2+1(IBM公司)
CRC16= X16+ X12+ X5+1(CCITT)
CRC32= X32+ X26+ X23+ X16+ X11+X10+X8+ X7+ X5 X4 X2 X1+1
4.海明码
海明码是一种可以纠正一位差错的编码,它是利用在信息位为m位,增加k位冗余位,构成一个n=m+ k位的码字,然后用k个监督关系式产生的k个校正因子来区分无错和在码字中的n个不同位置的一位错。海明校验码是放在2的幂次位上的,即1、2、4、8、 16、32…而对于信息位为m的原始数据,需加k位校验码,它满足m+ n+1<2k。海明码是从原始数据的第一位开始写,遇到校验位置留空格(即1、2、4、8、16…),如信息101101100的海明码为xx1x011x01100,x表示海明校验码的相应位置。海明码的编码效率为
(www.chuimin.cn)
式中,m为信息位位数,k为增加冗余位位数。
海明码的编码,主要是确定海明码的校验码。校验码的计算规则比较简单,规则是海明码第i(即1、2、4、8、16…)个监督关系Si位计算式的产生与n值有关,结果为1到n各数值二进的第i位的异或运算得到的值。如8比特数据的信息,k为4,n值为13,监督关系式的计算如表1-1所示。
表1-1 8比特数据信息的海明码校验码计算
Si可根据表中各列为1的相应序号的信息位的异或得到,计算式为
S1= b3+ b5+ b7+ b9+ b11+ b13
S2= b3+ b6+ b7+ b10+ b11
S4= b5+ b6+ b7+ b12+ b13
S8= b9+ b10+ b11+ b12+ b13
同样,以此方法可以得到四比特信息码的海明码的监督关系式为
S4= a3+ a5+ a6+ a7
S2= a2+ a4+ a6+ a7
S1= a1+ a4+ a5+ a7
海明码的生成:
已知:信息码为0010,求海明码码字。
解:由监督关系式知冗余码为:S4 S2 S1。
冗余码与信息码合成的海明码是:S1 S2 0S4 010。
设S4= S2= S1=0,由监督关系式得
S4= a3+ a5+ a6+ a7=1
S2= a2+ a4+ a6+ a7=1
S1= a1+ a4+ a5+ a7=0
因此,海明码码字为:0101010
海明码的接收:
已知:接收码字为0101011(n= 7),求发送端的信息码。
解:(1)由海明码的监督关系式计算得S4 S2 S1= 111。
(2)由监督关系式可构造出错码位置关系如表1-2所示。
表1-2 海明码错码位置关系
3)由S4 S2 S1= 011查表得知错码位置是a3。
4)纠错——对码字的a7位取反得正确码字:0101011。
5)把纠正后编码中的第1、2、4位冗余码删除,得到发送端的信息码:0010。
有关计算机网络实用技术教程的文章
1.4.1OSI分层结构计算机网络分层结构OSI模型是由ISO在1978年提出的,它描述了网络设计和通信的基本框架以及网络环境应用标准。传输层位于OSI的第四层,使用的设备是主机。在OSI七层结构模型中,如图1-3所示,数据在发送时是数据从应用层至物理层的一个打包的过程,接收时是数据从物理层至应用层的一个解包的过程。图1-3OSI两个主机之间在七层结构模型中数据传输示意图......
2023-11-29
1.2.1局域网局域网通常为较小区域的网络,功能性定义为一组台式计算机和其他设备,在物理地址上彼此相隔不远,最初目的是让若干计算机用户间能共享资源,以允许用户相互通信和共享诸如打印机和存储设备之类的计算资源的方式互连在一起的系统,并能维持连入网络的各种机器本身原有的重要功能。例如,LAN可使多台PC机共享一台费用较高的激光打印机。......
2023-11-29
1.5.4数据交换方式通信子网由传输线路和中间节点组成,当信源(源节点)和信宿间没有线路直接相连时,信源发出的数据先到达与之相连的中间节点,再从该中间节点传到下一个中间节点,直至信宿,这个过程称为交换。数据传输开始前,呼叫信号要经过若干中间交换机,得到各交换机认可,并传到最终被叫方。......
2023-11-29
1.5.1数据通信的基本概念信息是数据通信的主体,通信的目的就是交换信息,信息可以是数字、文字、语音、图形或图像。信号是数据在传输过程中电信号的表示形式。信道是通信双方以传输媒介为基础的传递信号的通路。码元是指对信号每次采样后得到的一份信息,是承载信息的基本信号单位。误码率是衡量数据在规定时间内数据传输精确性的指标。......
2023-11-29
1.4.2TCP/IP参考模型各层功能关系1.物理层物理层为建立、维护和释放数据链路实体之间,二进制比特传输的物理链路提供机械的、电气的、功能的和过程的特性。4.传输层传输层负责提供可靠的传输服务。该层相当于OSI模型中的第4层。OSI模型的上面三层是相互交叉的,不可能完全相互分离,这也是OSI在实际应用中不可行的原因。......
2023-11-29
常用的差错控制编码有奇偶校验码、循环冗余校验码等。因而,对差错的漏检率接近1/2。①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于冗余位长度的突发差错。......
2023-10-22
差错控制编码的基本方法是:在发送端,给要传送的信息序列按照事先约定好的规律增加一些码元,称之为监督码元。不同的差错控制编码也要与相应的差错控制方式配合使用。常用的差错控制方式通常有三种:前向差错控制 、检错重发以及使用FEC和ARQ技术的混合方式。所以连续ARQ重发时要将错误分组及其以后的分组全部重发。比如一种纠错编码能纠正一个码字内的两位错,检出三位错。......
2023-06-27
由热噪声引起的差错称为随机差错。通信过程中产生的传输差错是由随机差错和突发差错共同构成的。差错的控制差错控制就是检测和纠正数据通信中出现差错的方法,保证计算机通信中数据传输的正确性和有效性。检错码可以检测出数据是否发生错误,但不能纠错。纠错码可以检测错误并且纠正发生的错误。一般地,纠错码虽然能够纠错,但其编码效率较低。常见的检错码有奇偶校验码、循环冗余校验码,常见的纠错码有海明码。......
2023-10-19
相关推荐