关于滑动窗口的小小小tip
@(计算机网络)
如果提出来一个结论:窗口大小 = 发送窗口大小+接收窗口大小。
不知道会多少人觉得这是在干啥。
对于n比特编号的数据帧,曾经讨论过, 发送窗口+接收窗口≤2n 时可以区分新旧轮次。
http://blog.csdn.net/u011240016/article/details/52653923?locationNum=2&fps=1
这篇记录了一点点那天晚上挺煎熬的思考,因为找不到合适的论据,也没有足够的抽象能力抽出这样的结论,所以只能猜测,后来想明白就是这样。
那么理解了区分新旧轮次的计算式,就很容易理解本文最上面提出的结论,但是这也是很容易被忽视的点,认为发送窗口和接收窗口天各一方,爱谁谁,有啥关系。实际二者大小此消彼长,共用n比特编出的离散状态作为自己的窗口数据编号。
有这些,就可以愉快的判断下面的几个结论了。
I. 对于窗口大小为n的滑动窗口,最多可以有n帧已经发送但是没有确认。
II. 假设帧序号有3位,采用连续ARQ协议,发送窗口的最大值是4.
III. 在GBN协议中,如果发送窗口大小是16,则至少需要4位序列号才能保证协议不出错。
- 全是错的,你能信?
分析:窗口大小,嗯,不是发送窗口。接收窗口至少是1吧,发送窗口最大时n-1,最多,顶天了只能连续发送n-1个帧。I,妥妥地错。概念挖坑。
3位,离散状态有8个,连续ARQ,可以的,让接收窗口最小,为1.发送窗口将独占7个状态,大小为7。II,妥妥地错。
GBN,回退n帧,n是发送窗口的大小。为什么要回退n帧?接收慢呗。一次只能接收一个(接收窗口为1),一旦出错就要GBN回退n,重新来。
2n≥16+1→n=5(at least)
. III.妥妥地错。
于是我想:
有些貌似正确的错误。
有些正确的废话。
都是需要过滤的。
最后
以上就是超级日记本最近收集整理的关于关于滑动窗口的小小小tip的全部内容,更多相关关于滑动窗口内容请搜索靠谱客的其他文章。
发表评论 取消回复