第5讲数据链路协议第5讲数据链路协议课时授课计划课程内容第5讲数据链路协议内容:停等协议滑动窗口协议目的与要求:掌握停等协议的工作原理;掌握滑动窗口协议的工作原理;重点与难点:重点:停等协议、滑动窗口协议;难点:通信利用率的分析。第5讲数据链路协议课堂讨论:滑动窗口协议?现代教学方法与手段:投影PowerPoint幻灯课件复习(提问):循环冗余码?第5讲数据链路协议复习差错控制的实现原理差错检查(编码)海明码纠错码差错的控制ARQFEC第5讲数据链路协议差错的控制发收能够发现错误的码应答信号2种应答帧:确认帧ACK否认帧NAK发收能够纠正错误的码第5讲数据链路协议第3章数据链路层2.3数据链路协议停等协议顺序接收管道协议选择重传协议第5讲数据链路协议停等协议停止等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。完全理想化的数据传输假定1:链路式理想的传输信道,所传送的任何数据既不会出差错也不会丢失。假定2:不管发送方以多快的速率发送数据,接收方总来得及收下,并及时上交主机。(接收端向主机交付的数据速率永远不会低于发送端发送数据的速率)第5讲数据链路协议数据链路通信的简单模型AP1缓存AP2缓存帧帧数据链路发送方接收方主机A主机B第5讲数据链路协议停等协议具有最简单流量控制的数据链路层协议假定:链路是理想的传输信道,即所传送的任何数据既不会出差错也不会丢失由接收方控制发送方的数据流,乃是计算机网络中流量控制的一个基本方法。第5讲数据链路协议停等协议两种数据传输比较从主机取数据上交主机DATA1DATA4DATA3DATA2结点A结点B从主机取数据上交主机DATA1DATA2结点A结点BACKACK理想信道具有简单流量控制的数据链路层协议从主机取数据上交主机DATA1DATAnDATA2结点A结点BDATAn+3DATAn+2DATAn+1NAKn+1ACK流水线协议第5讲数据链路协议停等协议在发送结点:(1)从主机取一个数据帧;(2)将数据帧送到数据链路层的发送缓存;(3)将发送缓存中的数据帧发送出去;(4)等待;(5)若收到由接收结点发过来的信息(此信息的格式与内容可由双方事先商定好),则从主机取一个新的数据帧,然后转到(2)。第5讲数据链路协议停等协议在接收结点:(1)等待;(2)若收到由发送结点发过来的数据帧,则将其放入数据链路层的接收缓存;(3)将接收缓存中的数据帧上交主机;(4)向发送结点发一信息,表示数据帧已经上交给主机;(5)转到(1)。第5讲数据链路协议实用的停止等待协议有噪声信道的单工协议前提:实际信道不满足理想化数据传输的假定流量控制方法:等待发送差错控制:发送方数据帧中加入校验码(CRC),由接收方检查;若出错,返回NAK;发送方收到NAK后重发。帧丢失处理:超时定时器;以序号标识数据帧优点:简单缺点:信道利用率低第5讲数据链路协议数据帧在链路上传输的几种情况AB时间送主机送主机Tout丢失AB重传送主机放弃×(a)正常情况(b)数据帧出错(C)数据帧丢失(d)确认帧丢失AB出错重传送主机重传丢失ABTout送主机第5讲数据链路协议第5讲数据链路协议发送状态变量初始化V(s)0从主机取以数据帧装配:将v(s)的值写入N(s)将数据帧送缓冲区从发送缓冲区取出数据帧并发送出去设置超时定时器应答到达否ACK/NAK更新状态变量V(s)V(s)+1超时否NAKACKNNYY接收状态变量初始化V(R)0发NAK接收数据帧并作差错校验讲收到的帧中的数据部分送主机发ACK接收帧收到否?N(s)=V(R)?更新状态变量准备接收下一帧V(R)V(R)+1结果正确否?丢失此帧第5讲数据链路协议发送方接收方2RL/B时间T(sec)B为信道容量(b/s)R为单程传播延迟时间(s)L为数据帧长度(bits)U为信道利用率RBLLRBLBLU22//第5讲数据链路协议连续ARQ协议工作原理:发送方发完一帧后,不必停下来等待对方的应答,可以连续发送若干帧;如果在发送过程中收到接收方的肯定应答,可以继续发送;若收到对其中某一帧的否认帧,则从该帧开始的后续帧全部重发流量控制方法:连续发送差错控制:同停等协议优点:连续发送提高了信道利用率缺点:回走重传(Go-back-N),导致某些已正确接收的帧的重传,因此降低了发送效率误码率较低时,连续ARQ优于停等协议;反之则不一定第5讲数据链路协议连续ARQ协议Go-back-NARQsenderreceiver出错7,8帧被丢弃6,7,8帧重传第5讲数据链路协议滑动窗口概念前提:在连续ARQ协议中,必须对可以连续发出的最多帧数(以发出但未确认的帧)作限制原则:循环重复使用有限的帧序号流量控制:发送窗口:其大小WT表示在收到对方确认的信息之前,可以连续发出的最多数据帧数(只有序号在窗口内的帧才可以发送)接收窗口:其大小WR可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)接收窗口驱动发送窗口的转动发送窗口的最大值:WT+WR2n(n为序号的位数)WT2n-1第5讲数据链路协议WT=2WR=1的滑动窗口编码长度=?发收t0t1t2t3t4t5t6t7初始发0帧发1帧收0帧发ACK0收ACK0发2帧收1帧发ACK1收ACK1第5讲数据链路协议滑动窗口协议0123456701234567已成功发出的数据帧将发出的数据帧窗口后沿窗口前沿帧序号发送方缓冲区0123456701234567已正确接收的数据帧将收到的数据帧帧序号接收方缓冲区窗口后沿窗口前沿第5讲数据链路协议01234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670123456701234567012345670,1,2ACK33,4,5,6ACK4第5讲数据链路协议选择重传ARQ协议原则:只重传出错或定时器超时的数据帧方法:WR1,暂存接受窗口中序号在出错帧之后的数据帧优点:避免重传已正确传送的帧,提高了信道利用率缺点:在接收端需要占用一定容量的缓存接收窗口的最佳值:WRWTWR2n-1第5讲数据链路协议0123452678910tftout出错送主机放弃送主机AB送主机仅重传分组2!第5讲数据链路协议课堂小结掌握下面的术语ACK、NAK、滑动窗口、信道利用率理解停等协议的工作流程理解选择重传协议第5讲数据链路协议Homework预习第四章内容作业:第76页第4题第9题第17题作业:第116页第6题第12题