第2讲协议设计差错控制技术精选PPT.ppt
《第2讲协议设计差错控制技术精选PPT.ppt》由会员分享,可在线阅读,更多相关《第2讲协议设计差错控制技术精选PPT.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2讲协议设计差错讲协议设计差错控制技术控制技术07 十月 2022差错控制技术2-1第1页,此课件共93页哦07 十月 2022差错控制技术2-2第第 2 讲:协议设计讲:协议设计2.1 协议模型协议模型2.2 协议设计的基本内容协议设计的基本内容2.3 协议设计方法协议设计方法2.4 差错控制技术差错控制技术2.5 流量控制技术流量控制技术第2页,此课件共93页哦07 十月 2022差错控制技术2-3差错控制技术:内容提纲差错控制技术:内容提纲2.4.1 差错类型差错类型2.4.2 差错检测技术差错检测技术2.4.3 差错控制技术差错控制技术2.4.4 差错控制与层次的关系差错控制与层次
2、的关系第3页,此课件共93页哦07 十月 2022差错控制技术2-4差错控制:概述差错控制:概述v网络通信的目的是通过网络在应用进程间传输网络通信的目的是通过网络在应用进程间传输信息,任何数据丢失或损坏都将对通信双方产信息,任何数据丢失或损坏都将对通信双方产生重要的影响。生重要的影响。v差错控制差错控制是指在网络通信过程中发现是指在网络通信过程中发现(检测检测)差差错,并采取措施纠正,把差错限制在错,并采取措施纠正,把差错限制在所允许所允许的的尽可能小的范围内的技术和方法。尽可能小的范围内的技术和方法。v差错控制的目的是为了差错控制的目的是为了提高数据传输的可靠性提高数据传输的可靠性,但是任何
3、一种差错控制方法均但是任何一种差错控制方法均不可能纠正所有不可能纠正所有可能出现的差错。可能出现的差错。第4页,此课件共93页哦07 十月 2022差错控制技术2-5差错控制:概述差错控制:概述(续续)v差错控制主要有两种途径:差错控制主要有两种途径:硬件途径硬件途径。这种途径选用高可靠性的设备和传输媒。这种途径选用高可靠性的设备和传输媒体体(如光纤如光纤)及相应的辅助措施及相应的辅助措施(如如屏蔽屏蔽)来提高传输的来提高传输的可靠性。可靠性。软件途径软件途径。这种途径通过通信协议来实现差错控制。这种途径通过通信协议来实现差错控制。在通信协议中,通过差错控制编码在通信协议中,通过差错控制编码(
4、包括检错码和前包括检错码和前向纠错码向纠错码)实现的差错检测、肯定确认、超时重传、实现的差错检测、肯定确认、超时重传、否认重传、选择重传等措施来实现差错控制。否认重传、选择重传等措施来实现差错控制。第5页,此课件共93页哦07 十月 2022差错控制技术2-6差错类型差错类型v根据差错发生的位置,分为三种类型:根据差错发生的位置,分为三种类型:通信链路差错通信链路差错指有关通信链路上故障、干扰造成的传输错误问题指有关通信链路上故障、干扰造成的传输错误问题 路由差错路由差错 有关传输报文在路由过程中阻塞、丢失、死锁以及有关传输报文在路由过程中阻塞、丢失、死锁以及报文顺序错而造成传输的差错问题报文
5、顺序错而造成传输的差错问题通信结点差错通信结点差错 有关通信中某结点的资源限制、环境条件或文本不有关通信中某结点的资源限制、环境条件或文本不符、协议同步关系以及操作错误、硬件故障等,可符、协议同步关系以及操作错误、硬件故障等,可能影响通信链路的正确联接或正常通常的错误中断能影响通信链路的正确联接或正常通常的错误中断等问题等问题 第6页,此课件共93页哦07 十月 2022差错控制技术2-7差错类型(续)差错类型(续)v根据差错的表现形式根据差错的表现形式,可分为四类():,可分为四类():失真失真(Distortion)定义:被传送信息中的一个或多个比特发生了改定义:被传送信息中的一个或多个比
6、特发生了改变,或者被传送的信息中插入了一些新的信息变,或者被传送的信息中插入了一些新的信息(这种情况也称为这种情况也称为“插入插入(Insertion)”)主要原因:主要原因:网络中物理干扰网络中物理干扰(如线路噪声如线路噪声)发送者和接收者之间的失步发送者和接收者之间的失步入侵者的故意攻击入侵者的故意攻击结点中的硬件故障和软件差错等结点中的硬件故障和软件差错等 解决方法:各种校验方法来检测解决方法:各种校验方法来检测 第7页,此课件共93页哦07 十月 2022差错控制技术2-8差错类型(续)差错类型(续)v根据差错的表现形式根据差错的表现形式,可分为四类,可分为四类()()丢失丢失(Del
7、etion)定义:网络将被传输的信息丢弃定义:网络将被传输的信息丢弃 主要原因:主要原因:噪声脉冲对某个帧的破坏程度太大,以致接收方不知噪声脉冲对某个帧的破坏程度太大,以致接收方不知道这个帧已经被传输;道这个帧已经被传输;发送者和接收者之间的失步;发送者和接收者之间的失步;流量控制或拥塞控制措施不当时因资源不够而被中间流量控制或拥塞控制措施不当时因资源不够而被中间结点或接收者丢弃;结点或接收者丢弃;因接收者检测到信息被损坏而主动将其丢弃等因接收者检测到信息被损坏而主动将其丢弃等 解决方法:用序号、计时器和确认共同检测,通解决方法:用序号、计时器和确认共同检测,通过重传的方法来纠正错误过重传的方
8、法来纠正错误 第8页,此课件共93页哦07 十月 2022差错控制技术2-9差错类型(续)差错类型(续)v根据差错的表现形式根据差错的表现形式,可分为四类,可分为四类()()重复重复(Duplication)定义:多次收到同样的信息定义:多次收到同样的信息 主要原因:主要原因:是差错控制机制本身,如果发送方错误地认为数据丢是差错控制机制本身,如果发送方错误地认为数据丢失了,因而重传了它,就可能造成接收方收到重复的失了,因而重传了它,就可能造成接收方收到重复的信息信息 路由选择机制引起的重复帧,如使用基于扩散的路由路由选择机制引起的重复帧,如使用基于扩散的路由选择策略选择策略(如洪泛法如洪泛法)
9、解决方法:用序号来检测这种错误,用丢弃重复解决方法:用序号来检测这种错误,用丢弃重复的数据来纠正错误。的数据来纠正错误。第9页,此课件共93页哦07 十月 2022差错控制技术2-10差错类型(续)差错类型(续)v根据差错的表现形式根据差错的表现形式,可分为四类,可分为四类()()失序失序(Reordering)定义:定义:数据到达接收方的顺序与发送方发送的顺数据到达接收方的顺序与发送方发送的顺序不一致序不一致 主要原因:主要原因:采用自适应的路由选择策略,分组在网络中传送时可采用自适应的路由选择策略,分组在网络中传送时可能有多条路由而引起的后发先到能有多条路由而引起的后发先到 重传丢失的数据
10、也可能导致数据不按序到达重传丢失的数据也可能导致数据不按序到达解决方法:解决方法:把乱序的数据先存储下来,使得以后能把它们存放在把乱序的数据先存储下来,使得以后能把它们存放在正确的位置上;正确的位置上;丢弃乱序的数据,然后按数据丢失来处理丢弃乱序的数据,然后按数据丢失来处理。第10页,此课件共93页哦07 十月 2022差错控制技术2-11第第 讲:内容提纲讲:内容提纲2.4.1 差错类型差错类型2.4.2 差错检测技术差错检测技术2.4.3 差错控制技术差错控制技术2.4.4 差错控制与层次的关系差错控制与层次的关系第11页,此课件共93页哦07 十月 2022差错控制技术2-12差错检测技
11、术:概述差错检测技术:概述v检查收到的数据是否正确的方法和技术检查收到的数据是否正确的方法和技术通常情况下,我们所说的差错检测是指检测收到的通常情况下,我们所说的差错检测是指检测收到的数据是否被损坏,而不包括对数据丢失、重复、乱数据是否被损坏,而不包括对数据丢失、重复、乱序等差错的检测序等差错的检测在这样的前提下,差错检测技术所采取的方法一般在这样的前提下,差错检测技术所采取的方法一般是各种检验和技术,如奇偶检验,循环冗余检验等是各种检验和技术,如奇偶检验,循环冗余检验等,本节主要介绍这方面的技术本节主要介绍这方面的技术v差错检测是差错控制的基础差错检测是差错控制的基础 第12页,此课件共93
12、页哦07 十月 2022差错控制技术2-13差错检测技术:原理差错检测技术:原理E,E:差错检验码:差错检验码对比对比接收器接收器数据数据 EE=f(Data)数据数据 EE=f(Data)发送器发送器数据数据f:差错检验函数差错检验函数问题:问题:为什么总是将检验码放在帧的尾部?为什么总是将检验码放在帧的尾部?第13页,此课件共93页哦07 十月 2022差错控制技术2-14差错检测技术差错检测技术一、奇偶检验一、奇偶检验(Parity Check)第14页,此课件共93页哦07 十月 2022差错控制技术2-15奇偶检验奇偶检验v奇偶检验在数据的尾部附加上奇偶检验位,使奇偶检验在数据的尾部
13、附加上奇偶检验位,使得码字中比特得码字中比特“1”的个数保持为奇数的个数保持为奇数(奇检验奇检验)或偶数或偶数(偶检验偶检验)v被广泛用于诸如计算机的异步串行口通信中被广泛用于诸如计算机的异步串行口通信中v三种类型:三种类型:垂直冗余检验垂直冗余检验(VRC:Vertical Redundancy Checking)纵向冗余检验纵向冗余检验(LRC:Longitudinal Redundancy Checking)纵向垂直冗余检验纵向垂直冗余检验 第15页,此课件共93页哦07 十月 2022差错控制技术2-16奇偶检验:奇偶检验:垂直冗余检验v原理:原理:将整个发送的信息分为长度为将整个发送
14、的信息分为长度为p位的若干段,如位的若干段,如q段,每段,每段后面按段后面按“1”的个数为奇数或偶数的规律加上一位奇偶位,其有的个数为奇数或偶数的规律加上一位奇偶位,其有(p*q)个信息位,每段由个信息位,每段由p位构成,共位构成,共q列列(段段)v通常通常p值等于一个字符的长度,因此有时也将垂直冗余检验值等于一个字符的长度,因此有时也将垂直冗余检验称为称为字符奇偶检验字符奇偶检验。v可以用硬件或软件方法来实现连续半加运算,且可以边发送边产可以用硬件或软件方法来实现连续半加运算,且可以边发送边产生检验位,并插入发送。在接收时边接收边进行检验并除去检验生检验位,并插入发送。在接收时边接收边进行检
15、验并除去检验位位v能检测出每列中的能检测出每列中的所有奇数个位的错所有奇数个位的错,但检测不出,但检测不出偶数个位偶数个位的错的错。对于突发错误而言,奇数位错与偶数位错的概率差不多是相。对于突发错误而言,奇数位错与偶数位错的概率差不多是相等的,因而对差错的漏检率接近于等的,因而对差错的漏检率接近于50%50%。第16页,此课件共93页哦07 十月 2022差错控制技术2-17奇偶检验:奇偶检验:垂直冗余检验第17页,此课件共93页哦07 十月 2022差错控制技术2-18奇偶检验:奇偶检验:纵向冗余检验v原理:原理:对各个信息段的相应位水平进行编码,对各个信息段的相应位水平进行编码,对应每一行
16、产生一个奇偶检验位。这种附加的对应每一行产生一个奇偶检验位。这种附加的水平基础上检验字符的技术,使用了和垂直冗水平基础上检验字符的技术,使用了和垂直冗余检验同样的奇偶性。余检验同样的奇偶性。v漏检率要比垂直冗余检验低。不但可以检测出漏检率要比垂直冗余检验低。不但可以检测出各段同一位上的奇数位错,而且可以检测出突各段同一位上的奇数位错,而且可以检测出突发长度小于等于发长度小于等于p的所有突发错误(的所有突发错误(Why?Why?)因为可以安排发送顺序使得因为可以安排发送顺序使得在可见突发长度小于等于在可见突发长度小于等于p的的突发错误必然分布在不同行中,每突发错误必然分布在不同行中,每行一位,所
17、以可以检测出来行一位,所以可以检测出来 第18页,此课件共93页哦07 十月 2022差错控制技术2-19奇偶检验:奇偶检验:纵向冗余检验第19页,此课件共93页哦07 十月 2022差错控制技术2-20奇偶检验:奇偶检验:纵向冗余检验v实现复杂:实现时不能在发送过程中边产生奇实现复杂:实现时不能在发送过程中边产生奇偶检验位,边插入发送,而必须要等到要发送偶检验位,边插入发送,而必须要等到要发送的完整信息块到齐后,才能产生检验位,因而的完整信息块到齐后,才能产生检验位,因而一定要使用记忆寄存器。一定要使用记忆寄存器。第20页,此课件共93页哦07 十月 2022差错控制技术2-21奇偶检验:奇
18、偶检验:垂直纵向冗余检验v同时进行垂直冗余检验和纵向冗余检验同时进行垂直冗余检验和纵向冗余检验v能检测出所有能检测出所有3位或位或3位以下的错误位以下的错误(因为此时至少在某一行因为此时至少在某一行或某一列上为一位错或某一列上为一位错)、奇数位错奇数位错、突发长度小于等于突发长度小于等于(p+1)的突发错的突发错以及很大以及很大一部分偶数位错一部分偶数位错。v还可以还可以纠正部分差错,纠正部分差错,例如仅在某一行和某一列中有奇数例如仅在某一行和某一列中有奇数位错时,就可以确定错误的位置就在该行和该列的交叉处,位错时,就可以确定错误的位置就在该行和该列的交叉处,从而得以纠正。从而得以纠正。v此外
19、,当某一行出现偶数个错时,虽然纵向冗余检验不能发现,此外,当某一行出现偶数个错时,虽然纵向冗余检验不能发现,但在其垂直冗余检验中还是可以被检测出来。只有当有错的各行但在其垂直冗余检验中还是可以被检测出来。只有当有错的各行和各列中出错位数均为偶数时,才不可能被发现。和各列中出错位数均为偶数时,才不可能被发现。第21页,此课件共93页哦07 十月 2022差错控制技术2-22奇偶检验:奇偶检验:垂直纵向冗余检验第22页,此课件共93页哦07 十月 2022差错控制技术2-23奇偶检验:小结奇偶检验:小结v使用奇偶检验并不是十分安全,因为噪声脉冲使用奇偶检验并不是十分安全,因为噪声脉冲的长度经常足以
20、破坏一个以上的比特,特别是的长度经常足以破坏一个以上的比特,特别是在数据率较高的情况下。在数据率较高的情况下。v低速率的串行口通信协议,如低速率的串行口通信协议,如RS232接口,常接口,常采用奇偶检验方法来检测错误采用奇偶检验方法来检测错误。v一般情况下,垂直冗余检验主要用于异步传输,一般情况下,垂直冗余检验主要用于异步传输,且一列对应一个字符。且一列对应一个字符。v而纵向冗余检验则常用于同步传输,通常是把而纵向冗余检验则常用于同步传输,通常是把一串字符作为一个块传送,字符之间没有时间一串字符作为一个块传送,字符之间没有时间间隔,产生一个附加的字符跟在块的后面。间隔,产生一个附加的字符跟在块
21、的后面。第23页,此课件共93页哦07 十月 2022差错控制技术2-24差错检测技术差错检测技术二、二、循环冗余检验循环冗余检验(CRC)第24页,此课件共93页哦07 十月 2022差错控制技术2-25CRC检验:原理检验:原理 1101010110Q 商 除数P110101 1010001101000002nM 被除数 110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110R 余数q 数据:M=1010001101q 除数P(生成多项式)=X5+X4+X2+1q 模 2 运算:加
22、法不进位,减法 和加法是一样的,例如:1111+1010=0101q 冗余码称为帧检验序列 FCSq 接收端运算:XnM(X)+R(X)/P(X)=Q(X)q 有错:R(X)!=0q 问题:R(X)等于0是否就不定没有错吗?q 常见多项式:o CRC-16=X16+X15+X2+1o CRC-CCITT=X16+X12+X5+1o CRC-32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1第25页,此课件共93页哦07 十月 2022差错控制技术2-26CRC检验:检错率检验:检错率vCRC检验的漏检率是比较低的。检验的漏检率是比较低的。
23、CRC-CCITT检验可以检测出所有的双比特差错,长度为检验可以检测出所有的双比特差错,长度为17比特的数据中的比特的数据中的99.997%的突发错误,长度大的突发错误,长度大于于17比特的数据中的比特的数据中的99.998%的突发错误。的突发错误。v采用采用CRCCRC检验的著名协议:检验的著名协议:数据链路层协议数据链路层协议HDLCHDLC采用的就是采用的就是CRC-CCITTCRC-CCITT检验。检验。IBMIBM的的BisyncBisync协议中采用的是协议中采用的是CRC-16CRC-16检验检验以太网帧和光纤分布式数据接口标准以太网帧和光纤分布式数据接口标准(FDDI)(FDD
24、I)中则采中则采用的是用的是CRC-32CRC-32检验。检验。第26页,此课件共93页哦07 十月 2022差错控制技术2-27CRC检验:实现检验:实现vCRC检验的编码需要花费不少的时间,因此计检验的编码需要花费不少的时间,因此计算检验和可能会降低协议的性能。算检验和可能会降低协议的性能。v为了提高协议的性能,通常采用为了提高协议的性能,通常采用硬件方法硬件方法(移位移位寄存器寄存器)或或查检验和表查检验和表(预先计算出检验和放在预先计算出检验和放在表中,使用时查表即可表中,使用时查表即可)的软件方法来实现。的软件方法来实现。第27页,此课件共93页哦07 十月 2022差错控制技术2-
25、28CRC检验:源代码检验:源代码vAT&T Bell实验室的实验室的Don Mitchell所写的一个计所写的一个计算算CRC检验和,并生成检验和表的程序检验和,并生成检验和表的程序Crc_init.c:Crc_init.c:创建检验和表创建检验和表(crc_table)(crc_table)Checksum(s,n)Checksum(s,n)查表生成检验和。输入参数查表生成检验和。输入参数s s为被为被检验的数据,检验的数据,n n为数据长度为数据长度(单位为字节单位为字节)。函数返。函数返回值为被检验的数据的检验和。回值为被检验的数据的检验和。第28页,此课件共93页哦07 十月 202
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 协议 设计 差错 控制 技术 精选 PPT
限制150内