当前位置:文档之家› 滑动窗口协议和

滑动窗口协议和

发送窗口和接收窗口尺寸大小不同—两个窗口尺寸之和≤ 2k。
第7页/共42页
(a) 正常情况
(b) 不正常情况
一位滑动窗口协议的两种情形(双方同时发送分组)
第8页/共42页
接收窗口>1滑动窗口示意图
发送方
70 61 52
43
7 61 52
43
7 6 52
43
7 6 52
43
接收方
7 61 52
43
(a)初态
7 61 52
43
(b)发送帧0
7 61 52
43
收到0号帧,期待1号帧 收到1号帧,期待2号帧 收到2号帧,期待3号帧 收到3号帧,期待4号帧 收到4号帧,期待5号帧 收到5号帧,期待6号帧 收到6号帧,期待7号帧 收到7号帧,期待0号帧
……
0 1 2 3 4 5 6 7 准备接收新的0号帧 0 1 2 3 4 5 6 7 错将重发帧当作新帧接收
第9讲 窗口滑动机制和 HDLC
窗口滑动机制 高级数据链路控制协议HDLC PPP协议
第1页/共42页
1 滑动窗口机制
发送端和接收端分别设定发送窗口和接收窗口 。 发送窗口用来对发送端进行流量控制。 发送窗口的大小 WT 代表在还没有收到对方确认信
息的情况下发送端最多可以发送多少个数据帧。
每收到一个序号正确的帧,接收窗口就向前(即向右方) 滑动一个帧的位置。同时发送对该帧的确认。
第4页/共42页
WR
(a)
01 2
准备接收 0 号帧
WR
(b)
01 2
已收到 准备接收 1 号帧
(c)
01 2
已收到
34 56 7 0 1 2 不允许接收这些帧
34 56 7 0 1 2 不允许接收这些帧
此帧才提交给网络层。
第15页/共42页
选择重传协议的思路
发送方
超时间隔
0 12 34 5 26 7
8 9 10 11
01
34 5
接收方
出错 缓存的帧
26
7 8 9 10 11 时间
第16页/共42页
选择重传协议窗口大小的约束条件
发送窗口和接收窗口尺寸大小相同—两个窗口的尺寸≤2k的一半, 即2k-1
第2页/共42页
发送窗口 WT
(a) 0 1
2
34
567
0
12
允许发送 5 个帧 WT
不允许发送这些帧
(b) 0 1 2 3 4 5 6 7 0 1 2
已发送 还允许发送 4 个帧
不允许发送这些帧
WT
(c) 0 1
2
34
567
0
12
已发送
不允许发送这些帧
WT
(d) 0 1 2
已发送 并已收到确认
34 56 7
如果这时收到了接收端发来的确认帧,那么还可以接 着发送数据帧。
由于减少了等待时间,整个通信的吞吐量就提高了。 要求接收方的数据链路层必须按次序把分组交给网络
层。 当帧n的确认到达时,帧n-1,n-2等也都被自动确认。
第11页/共42页
退后N帧协议的思路
接收方将出错的帧及其后续帧一起丢弃,对出错的 帧不发送确认帧;发送方在出错帧的确认帧超时后, 从出错的帧开始重传所有已发送但未被确认的帧。
(c)发送帧1
70 6 52
43
(d)接收帧0
发送方
70 6 52
43
70 6 5
43
70 6 5
43
70 61 5
43
接收方
70 6 52
43
70 6 52
43
70 61 5
43
70 61 5
43
(e)接收确认帧0
(f)发送帧2 (g)接收帧1 (h)接收确认帧1
第9页/共42页
1.2 退பைடு நூலகம்N帧协议
第6页/共42页
1.1 一位滑动窗口协议
70
70
70
70
6 发送方
16
16
16
1
5
25
25
25
2
43
43
43
43
70
70
70
70
接收方 6 5
16 25
16 25
16 25
1 2
43
43
43
43
(a)
(b)
(c)
(d)
(a) 初始时 (c) 第一个帧接收之后
(b) 第一个帧发出之后 (d) 第一个确认收到之后
发送方
超时间隔
0 12 34 5 2 34 5 6 7 8
0 接收方
1 出错
丢弃的帧
2 34 5 6 7 8 时间
第12页/共42页
退后N帧协议窗口大小的约束条件
发送方
WT=8 01234567
连续发送 8个帧
Tout
01234567
接收方
WR=1 01234567
准备接收0号帧
01234567 01234567 01234567 01234567 01234567 01234567 01234567 01234567
WR 34 56 7 0 1 2
不允许接收这些帧 准备接收 4 号帧
第5页/共42页
滑动窗口的重要特性
只有在接收窗口向前滑动时(与此同时也发送 了确认),发送窗口才有可能向前滑动。
收发两端的窗口按照以上规律不断地向前滑动, 因此这种协议又称为滑动窗口协议。
当发送窗口和接收窗口的大小都等于 1时,就 是停止等待协议。
抛弃一种技巧性的假设
一个帧到达接收方的传输时间,加上确认帧来回的 传输时间是可以忽略不计。
解决策略
允许发送过程在阻塞之前发送多达w个帧,而不是
1帧。由于可以适当的选择w,发送过程就可以在等
待往返传输的时间内连续传输帧,而不至于填满窗
口。
第10页/共42页
退后N帧的工作原理
在发送完一个数据帧后,不是停下来等待确认帧,而 是可以连续再发送若干个数据帧。
已发送
还允许发送 3 个帧
第3页/共42页
0 12 不允许发送这些帧
接收端设置接收窗口
在接收端只有当收到的数据帧的发送序号落入接收窗口内 才允许将该数据帧收下。
若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 在连续 ARQ 协议中,接收窗口的大小 WR = 1。
只有当收到的帧的序号与接收窗口一致时才能接收该帧。 否则,就丢弃它。
第14页/共42页
1.3 选择重传协议
如果线路很糟糕,使用退后n帧的协议会浪费大量的带 宽重传帧。
解决的策略:
允许接收过程接收并缓存坏帧或丢失帧后面的帧。 接收方只把出错的帧丢弃,其后续帧保存在缓存中,向发送
方发送对出错帧的非确认帧(NAK)。 如果落在窗口内并从未接收过,就接受此帧,并存储起来。 直到比它序列号小的所有帧都按次序已经交给了网络层后,
第13页/共42页
退后N帧协议窗口大小的约束条件
考虑最大发送窗口大小为8的情况: 发送过程发送帧0~7帧; 帧7的捎带确认最终返回到发送过程; 发送过程发送另外8帧0~7,序号再次为0~7; 现在帧7的另一个捎带确认到达。
问题:第二次发送的8帧是成功了还是全部丢失了?
发送和接收窗口尺寸小于2k,K(序列号的位数)
相关主题