
动态演示滑动窗口协议.ppt
27页3.33.3 流量控制流量控制q 功能:q 控制发送方的发送数据量,使得不能超过接 q 收方的接收能力〔接收方使用反响机制,向发送 q 方应答,报告自己当前的接收情况和能力接收能力q 由接收设备的处理速度、接收缓冲的容量等影响〕q 两种常用的流量控制策略:q 停-等协议q 滑动窗口协议(1) (1) 停等协议〔停等协议〔Stop-and-WaitStop-and-Wait〕〕 过程:过程:①①发送方发完一帧后,停止发送,并启动定时器,等待发送方发完一帧后,停止发送,并启动定时器,等待 对方应答对方应答②②接接收收者者收收到到帧帧,,假假设设正正确确那那么么应应答答ACK,,错错误误那那么么应应答答NAK③③发送者假设收到发送者假设收到ACK,接着发送下一幀;,接着发送下一幀; 假设收到假设收到NAK、或超时,那么重发该幀或超时,那么重发该幀停停等等协协议议适适用用于于半半双双工工或或全全双双工工信信道道,且且传传输输时时延延短短的的链链路路,信号传输时延较长时传输效率比较低信号传输时延较长时传输效率比较低 优点:简单优点:简单缺点:信道利用率低,效率低缺点:信道利用率低,效率低停等协议停等协议 原理:将过失控制和流量控制结合起来原理:将过失控制和流量控制结合起来 接收方对幀校验,出错那么重发接收方对幀校验,出错那么重发措施:措施: 1.发送方和接收方各有一个帧缓冲区.发送方和接收方各有一个帧缓冲区 2.为解决重复幀问题,需对幀进行编号,编.为解决重复幀问题,需对幀进行编号,编 号只需两个号只需两个(0或或1), 以区分是新幀还是重复以区分是新幀还是重复 之前的幀之前的幀 3.发送帧依次交替编号为.发送帧依次交替编号为0,,1帧帧 4.应答帧那么需指明所应答的帧号.应答帧那么需指明所应答的帧号 5. 设置超时重发设置超时重发停等停等ARQ 初始时,双方维护的幀编号都为0;发送方维护的幀编号说明当前所发幀的序号,接收方维护的幀编号说明接收方当前期望接收的幀序号。
停等停等ARQ (1)停等停等ARQ (2) 发送方收到应答幀后,如果应答幀中的幀编号与当前维护的幀编号相同、或超时未收到应答,那么重发当前编号的幀 因发出的数据幀丧失引起超时:超时未收到应答,那么重发当因发出的数据幀丧失引起超时:超时未收到应答,那么重发当前编号的幀前编号的幀 超时时间的设置必须恰当,既不能太大也不能太小超时时间的设置必须恰当,既不能太大也不能太小停等停等ARQ (3)超时的另一种情况:超时的另一种情况:因为应答幀丧失而引起超时重发因为应答幀丧失而引起超时重发停等停等ARQ (4)停等停等 ARQframe 0frame 0ACK 1ACK 1frame 1frame 1ACK 0ACK 0frame 0frame 0frame 0frame 0ACK 1ACK 1frame 1frame 1ACK 0frame 1frame 1ACK 0ACK 0发送方发送方发送方发送方接收方接收方超时超时超时超时帧丢失帧丢失 重发重发ACKACK丢失丢失 重发重发 窗口机制:窗口机制:窗口机制:窗口机制: 发送方和接收方都具有一定容量的缓冲区〔即窗发送方和接收方都具有一定容量的缓冲区〔即窗发送方和接收方都具有一定容量的缓冲区〔即窗发送方和接收方都具有一定容量的缓冲区〔即窗 口〕,允许发送站连续发送多个幀而不需要等待应口〕,允许发送站连续发送多个幀而不需要等待应口〕,允许发送站连续发送多个幀而不需要等待应口〕,允许发送站连续发送多个幀而不需要等待应 答答答答 发送窗口就是发送端允许连续发送的幀的序号表,发送窗口就是发送端允许连续发送的幀的序号表,发送窗口就是发送端允许连续发送的幀的序号表,发送窗口就是发送端允许连续发送的幀的序号表, 发送端可以不等待应答而连续发送的最大幀数称为发送端可以不等待应答而连续发送的最大幀数称为发送端可以不等待应答而连续发送的最大幀数称为发送端可以不等待应答而连续发送的最大幀数称为 发送窗口的尺寸发送窗口的尺寸发送窗口的尺寸发送窗口的尺寸 接收窗口是接收方允许接收的幀的序号表,凡落在接收窗口是接收方允许接收的幀的序号表,凡落在接收窗口是接收方允许接收的幀的序号表,凡落在接收窗口是接收方允许接收的幀的序号表,凡落在 接收窗口内的幀,接收方都必须处理,落在接收窗接收窗口内的幀,接收方都必须处理,落在接收窗接收窗口内的幀,接收方都必须处理,落在接收窗接收窗口内的幀,接收方都必须处理,落在接收窗 口外的幀被丢弃口外的幀被丢弃口外的幀被丢弃口外的幀被丢弃. .接收方每次允许接收的幀数称为接收方每次允许接收的幀数称为接收方每次允许接收的幀数称为接收方每次允许接收的幀数称为 接收窗口的尺寸。
接收窗口的尺寸接收窗口的尺寸接收窗口的尺寸 〔〔2 2〕〕 滑动窗口协议〔滑动窗口协议〔Sliding Sliding Window Window 〕〕滑动窗口滑动窗口q 目的:对可以连续发出的最多帧数〔已发出但未确认的帧〕目的:对可以连续发出的最多帧数〔已发出但未确认的帧〕目的:对可以连续发出的最多帧数〔已发出但未确认的帧〕目的:对可以连续发出的最多帧数〔已发出但未确认的帧〕 q 作限制作限制作限制作限制q 序号使用:循环重复使用有限的帧序号序号使用:循环重复使用有限的帧序号序号使用:循环重复使用有限的帧序号序号使用:循环重复使用有限的帧序号q 流量控制:流量控制:流量控制:流量控制:q 发送窗口:其大小发送窗口:其大小发送窗口:其大小发送窗口:其大小WTWT表示在收到对方确认的信息之前,表示在收到对方确认的信息之前,表示在收到对方确认的信息之前,表示在收到对方确认的信息之前, q 可以连续发出的最多数据帧数〔只有序号在窗可以连续发出的最多数据帧数〔只有序号在窗可以连续发出的最多数据帧数〔只有序号在窗可以连续发出的最多数据帧数〔只有序号在窗 q 口内的帧才可以发送〕口内的帧才可以发送〕口内的帧才可以发送〕口内的帧才可以发送〕q 接收窗口:其大小接收窗口:其大小接收窗口:其大小接收窗口:其大小WRWR为可以连续接收的最多数据帧数为可以连续接收的最多数据帧数为可以连续接收的最多数据帧数为可以连续接收的最多数据帧数q 〔只有序号在窗口内的帧才可以接收,否那么〔只有序号在窗口内的帧才可以接收,否那么〔只有序号在窗口内的帧才可以接收,否那么〔只有序号在窗口内的帧才可以接收,否那么q 丢弃〕丢弃〕丢弃〕丢弃〕q 接收窗口驱动发送窗口的转动接收窗口驱动发送窗口的转动接收窗口驱动发送窗口的转动接收窗口驱动发送窗口的转动 滑动窗口例如滑动窗口例如1 10 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7已成功发出已成功发出的数据帧的数据帧将发出的数据帧将发出的数据帧窗口后沿窗口后沿窗口前沿窗口前沿帧序号帧序号发送方发送方缓冲区缓冲区0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7已正确接收已正确接收的数据帧的数据帧将收到的数据帧将收到的数据帧帧序号帧序号接收方接收方缓冲区缓冲区窗口后沿窗口后沿窗口前沿窗口前沿……连续连续 ARQq 发送方:发送方:发送方:发送方:q 可连续发送多帧,每次发送的幀序号数为上可连续发送多帧,每次发送的幀序号数为上可连续发送多帧,每次发送的幀序号数为上可连续发送多帧,每次发送的幀序号数为上q 次幀序号数加次幀序号数加次幀序号数加次幀序号数加1 1,它必须位于发送窗口内。
发送方,它必须位于发送窗口内发送方,它必须位于发送窗口内发送方,它必须位于发送窗口内发送方保存所有已发送、但未确认的数据帧,以备出错重保存所有已发送、但未确认的数据帧,以备出错重保存所有已发送、但未确认的数据帧,以备出错重保存所有已发送、但未确认的数据帧,以备出错重发连续发出多幀后,因还未收到对方确认信息,发连续发出多幀后,因还未收到对方确认信息,发连续发出多幀后,因还未收到对方确认信息,发连续发出多幀后,因还未收到对方确认信息,发送窗口缩小;当收到对方确认答复后,去除已确发送窗口缩小;当收到对方确认答复后,去除已确发送窗口缩小;当收到对方确认答复后,去除已确发送窗口缩小;当收到对方确认答复后,去除已确认的幀所占的幀缓冲区,因而发送窗口扩大认的幀所占的幀缓冲区,因而发送窗口扩大认的幀所占的幀缓冲区,因而发送窗口扩大认的幀所占的幀缓冲区,因而发送窗口扩大q 连续连续 ARQ ARQ〔续〕〔续〕 q 接收方:接收方:接收方:接收方:q 假设接收幀后尚未答复,因幀数据还未假设接收幀后尚未答复,因幀数据还未假设接收幀后尚未答复,因幀数据还未假设接收幀后尚未答复,因幀数据还未交上层,其幀缓冲未释放,故接收窗口缩小;交上层,其幀缓冲未释放,故接收窗口缩小;交上层,其幀缓冲未释放,故接收窗口缩小;交上层,其幀缓冲未释放,故接收窗口缩小;假设接收端答复后,表示幀数据已交上层,接假设接收端答复后,表示幀数据已交上层,接假设接收端答复后,表示幀数据已交上层,接假设接收端答复后,表示幀数据已交上层,接收缓冲区空出,因此接收窗口相应扩大。
收缓冲区空出,因此接收窗口相应扩大收缓冲区空出,因此接收窗口相应扩大收缓冲区空出,因此接收窗口相应扩大 q q 捎带应答捎带应答捎带应答捎带应答q 为每个幀都单独发一个应答幀,效率比为每个幀都单独发一个应答幀,效率比为每个幀都单独发一个应答幀,效率比为每个幀都单独发一个应答幀,效率比较低q 实际通信中,双方都有数据发给对方,实际通信中,双方都有数据发给对方,实际通信中,双方都有数据发给对方,实际通信中,双方都有数据发给对方,因此可以在反方向传输的数据幀中增加一个字段,因此可以在反方向传输的数据幀中增加一个字段,因此可以在反方向传输的数据幀中增加一个字段,因此可以在反方向传输的数据幀中增加一个字段,专门用来携带给对方的应答信息,这种方式称为专门用来携带给对方的应答信息,这种方式称为专门用来携带给对方的应答信息,这种方式称为专门用来携带给对方的应答信息,这种方式称为捎带应答〔背载〕捎带应答〔背载〕捎带应答〔背载〕捎带应答〔背载〕q 应答策略 接收方在收到一个幀后可以等待一定的时间后再应接收方在收到一个幀后可以等待一定的时间后再应接收方在收到一个幀后可以等待一定的时间后再应接收方在收到一个幀后可以等待一定的时间后再应 答,不必对每一个幀都单独应答,通常用对某一个幀的答,不必对每一个幀都单独应答,通常用对某一个幀的答,不必对每一个幀都单独应答,通常用对某一个幀的答,不必对每一个幀都单独应答,通常用对某一个幀的 应答来代替对该幀之前所有幀的应答。
应答来代替对该幀之前所有幀的应答应答来代替对该幀之前所有幀的应答应答来代替对该幀之前所有幀的应答 收到收到收到收到ACK nACK n应答帧后,表示应答帧后,表示应答帧后,表示应答帧后,表示n n号号号号之前的数据帧已被正之前的数据帧已被正之前的数据帧已被正之前的数据帧已被正 确接收,希望下次接收确接收,希望下次接收确接收,希望下次接收确接收,希望下次接收n n n n号幀 收到收到收到收到NAK nNAK n应答帧后,表示应答帧后,表示应答帧后,表示应答帧后,表示n n号号号号之前的数据帧已被正之前的数据帧已被正之前的数据帧已被正之前的数据帧已被正 确接收,而确接收,而确接收,而确接收,而n n号帧出错,希望重发号帧出错,希望重发号帧出错,希望重发号帧出错,希望重发n n号帧 发送方发出一幀后,启动相应的定时器,超时会重发发送方发出一幀后,启动相应的定时器,超时会重发发送方发出一幀后,启动相应的定时器,超时会重发发送方发出一幀后,启动相应的定时器,超时会重发。
连续连续 ARQ ARQ〔续〕〔续〕滑动窗口例如滑动窗口例如 2 2滑动窗口例如滑动窗口例如3 30 1 2 3 4 5 60 1 2 3 4 5 6 7 0 1 2 3 4 5 6 77 0 1 2 3 4 5 6 70 1 2 3 4 5 6 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 77 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70 1 2 3 4 5 6 7 0 1 2 3 4 5 6 70,1,2 0,1,2 ACK3ACK33 3ACK4ACK4WWT T=7=7WWR R=7=74,5,64,5,6出错全部重发〔出错全部重发〔Go-back-N〕〕 假设发送方发出连续的假设干幀后,收到对其中某一帧的假设发送方发出连续的假设干幀后,收到对其中某一帧的假设发送方发出连续的假设干幀后,收到对其中某一帧的假设发送方发出连续的假设干幀后,收到对其中某一帧的否认帧,那么从该帧及该幀开始的后续帧全部重发。
否认帧,那么从该帧及该幀开始的后续帧全部重发否认帧,那么从该帧及该幀开始的后续帧全部重发否认帧,那么从该帧及该幀开始的后续帧全部重发 优点:连续发送提高了信道利用率优点:连续发送提高了信道利用率优点:连续发送提高了信道利用率优点:连续发送提高了信道利用率 缺点:导致某些对方已正确接收的帧也重传,因此降低了缺点:导致某些对方已正确接收的帧也重传,因此降低了缺点:导致某些对方已正确接收的帧也重传,因此降低了缺点:导致某些对方已正确接收的帧也重传,因此降低了 发送效率发送效率发送效率发送效率 出错全部重发时,发送窗口出错全部重发时,发送窗口出错全部重发时,发送窗口出错全部重发时,发送窗口 WT ≤ 2n WT ≤ 2n----1 (1 (设幀序号为设幀序号为设幀序号为设幀序号为n n位位位位) ) 误码率较低时,连续误码率较低时,连续误码率较低时,连续误码率较低时,连续ARQARQ优于停等协议;反之那么不一定优于停等协议;反之那么不一定优于停等协议;反之那么不一定优于停等协议;反之那么不一定 出错重发可分为出错重发可分为出错重发可分为出错重发可分为 “ “出错全部重发〞出错全部重发〞出错全部重发〞出错全部重发〞 和和和和 “ “出错选择重出错选择重出错选择重出错选择重发〞发〞发〞发〞WT==2n-1时正常时正常, WT>2n-1时出错时出错发送窗口大小受限说明发送窗口大小受限说明WT=2n--1时时(此处此处n==2)WT>>2n--1时时Go-back-N ARQframe 1senderreceiver出错出错出错出错7 7 ,,,, 8 8帧帧帧帧 被丢弃被丢弃被丢弃被丢弃frame 2frame 2frame 3frame 3ACK 4frame 4frame 4frame 5frame 5ACK 6frame 6frame 7frame 7frame 8frame 8NACK 6NACK 6ACK 9frame 7frame 7frame 6frame 6frame 8frame 86, 7, 86, 7, 8帧重传帧重传帧重传帧重传Go-back-N ARQ 正常传输时正常传输时Go-back-N ARQ 丧失帧时丧失帧时出错选择重发〔出错选择重发〔Selective Repeat〕〕 假设发送方发出连续的假设干幀后,收到对其中某一帧假设发送方发出连续的假设干幀后,收到对其中某一帧假设发送方发出连续的假设干幀后,收到对其中某一帧假设发送方发出连续的假设干幀后,收到对其中某一帧 的否认帧,的否认帧,的否认帧,的否认帧, 只重传该出错幀或定时器超时的数据帧。
只重传该出错幀或定时器超时的数据帧只重传该出错幀或定时器超时的数据帧只重传该出错幀或定时器超时的数据帧 方法:方法:方法:方法: WR > 1 WR > 1 时,暂存接受窗口中序号在出错时,暂存接受窗口中序号在出错时,暂存接受窗口中序号在出错时,暂存接受窗口中序号在出错 帧之后的数据帧帧之后的数据帧帧之后的数据帧帧之后的数据帧 优点:优点:优点:优点: 防止重传已正确传送的帧,提高了信道防止重传已正确传送的帧,提高了信道防止重传已正确传送的帧,提高了信道防止重传已正确传送的帧,提高了信道 利用率利用率利用率利用率 缺点:缺点:缺点:缺点: 在接收端需要占用一定容量的缓存在接收端需要占用一定容量的缓存在接收端需要占用一定容量的缓存在接收端需要占用一定容量的缓存 出错选择重发时,接收窗口的尺寸出错选择重发时,接收窗口的尺寸出错选择重发时,接收窗口的尺寸出错选择重发时,接收窗口的尺寸( (设幀序号为设幀序号为设幀序号为设幀序号为 n n位位位位) ) :::: WR ≤ 2n -1 WR ≤ 2n -1选择重传选择重传 ARQframe 1frame 1senderreceiver出错出错出错出错frame 2frame 2frame 3frame 3ACK 4frame 4frame 4frameframe 5 5ACK 6frame 6frame 7frame 7frame 8frame 8NACK 6ACK 9frame 9frame 9frame 6frame 6frame 10frame 10只重传帧只重传帧只重传帧只重传帧 6 6选择重传,选择重传,ARQ ARQ 丧失帧时丧失帧时WR==2n-1时正常时正常, WR>2n-1时出错时出错设设n=2,接收窗口,接收窗口WR =22-1 =2 、发送窗口、发送窗口WT=2时时q 流量控制流量控制 停等法停等法( WWT T = = WWR R = 1 = 1 ) 滑动窗口法滑动窗口法 出错全部重发出错全部重发出错全部重发出错全部重发 ( W( WT T ≤ ≤ 2 2n n----1 1 ) ) 出错选择重发出错选择重发出错选择重发出错选择重发 ( ( WWR R ≤ 2 ≤ 2n -1n -1) )小小 结结〔点击图标返回本章目录〕〔点击图标返回本章目录〕。
