欢迎来到天天文库
浏览记录
ID:59485650
大小:582.00 KB
页数:39页
时间:2020-09-13
《计算机网络课程详细ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章数据链路层1组帧(framing)使用字节(字符)填充的首尾标记法:使用特殊的字节来表示帧的开始与结束为避免在数据部分出现这些特殊字节时产生异义,在特殊字节前插入转义字符,称为字节填充(bytestuffing)该方法依赖于特定的字符编码集,帧长必须是8比特的整倍数,灵活性差,处理开销大(必须由软件处理)。字节填充图例(a)Aframedelimitedbyflagbytes(b)Fourexamplesofbytesequencesbeforeandafterstuffing.比特填充图例(a)Theoriginaldata.(b)Thed
2、ataastheyappearontheline.(c)Thedataastheyarestoredinreceiver’smemoryafterdestuffing.2检错和纠错传输出错的类型单个错:由随机的信道热噪声引起,一次只影响1位。突发错:由瞬间的脉冲噪声引起,一次影响许多位。用突发长度表示突发错影响的最大数据位数。差错编码的类型检错码:只能检测到数据传输发生了错误,但无法自行纠正,通常与反馈重传结合起来进行差错恢复。纠错码:不权能够检测出数据传输发生了错误,而且能够自行纠正错误。如何检测与纠正错误?码字(codeword):由m比特的数
3、据(消息)加上r比特的冗余(校验位)构成。有效编码集:由2m个(符合编码规则的)有效码字组成。检错:当收到的码字为无效码字时,称检测出错误。海明距离(HammingDistance):两个码字的对应位上取值不同的位数。纠错:将收到的无效码字纠正到距其最近的有效码字。检错码与纠错码的能力都是有限的。2.2循环冗余码(CRC码)CRC是一种多项式编码,它将位串看成是某个一元多项式的系数,如1011001看成是一元多项式X6+X4+X3+1的系数。信息多项式M(x):由m个信息比特为系数构成的多项式。冗余多项式R(x):由r个冗余比特为系数构成的多项式。
4、码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应的多项式,表达式为T(x)=xr·M(x)+R(x)。生成多项式G(x):双方预先确定用来计算R(x)的一个多项式。编码方法:用对应于G(x)的位串去除对应于xr·M(x)的位串,所得的余式即为R(x),将其附加到信息比特串的后面一起发送。检错方法:用对应于G(x)的位串去除对应于T(x)的位串,若余式为0则认为传输正确,否则认为传输错误。CRC码检错能力强,实现简单快捷,是应用最广泛的检错码。CRC编码及校验例1:G(X)=X4+X+1,对10110011进行CRC编码,为1011
5、00110100。例2:仍取G(X)=X4+X+1,判断收到的位串100101111001是否有错?3可靠交付差错恢复的两种办法:使用纠错码,由接收端自动纠正错误。使用检错码,采用自动重传请求(ARQ)保证可靠交付。这是数据链路层(及传输层)上最常使用的可靠交付方式。自动重传请求(AutomaticRepeatRequest):使用确认和超时实现可靠传输的策略。两种ARQ方案:停-等算法滑动窗口算法3.1停-等算法(stop-and-wait)基本思想:发送方发完一帧后即停下来等待确认,同时启动一个定时器;如果收到确认,复位定时器,发送下一个帧;如
6、果定时器超时,重发刚才的帧。停-等算法的四种情形。停-等算法的超时值对性能影响很大,必须仔细选择。为区分新帧和重发帧,停-等算法使用一比特的帧序号。停-等算法的四种情形停-等算法的处理流程发送端:1)帧序号seq初始化为0。2)从缓冲区中取出一个帧,以seq作为帧序号发送。3)启动定时器,等待确认:i)收到确认帧,且seq≠ack,则seq加1;从缓冲区中取出一个新的帧,加上seq发送。ii)收到确认帧,但seq=ack,重发当前序号的帧。iii)收到错误的确认帧,重发当前序号的帧。iv)定时器超时,重发当前序号的帧。4)回到3)接收端:1)帧序号
7、ack初始化为0,准备接收序号为0的帧。2)等待接收。3)帧到达,有以下三种情况:i)帧校验正确,且seq=ack,将帧存入接收缓冲区;ack加1,放入确认帧中发送,确认帧中的序号表明当前期待接收的帧。ii)帧校验正确,但seq≠ack,丢弃帧,重发确认帧。iii)帧校验错误,丢弃帧,重发确认帧。4)回到2)停-等算法的处理流程发送端:1)帧序号seq初始化为0。2)从缓冲区中取出一个帧,以seq作为帧序号发送。3)启动定时器,等待确认:i)收到确认帧,且seq≠ack,seq加1;从缓冲区中取出一个新的帧,加上seq发送。ii)其它情况,重发当前
8、序号的帧。4)回到3)接收端:1)帧序号ack初始化为0。2)等待接收。3)帧到达:i)帧校验正确,且seq=ack,将帧
此文档下载收益归作者所有