【问题标题】:How Do sequence numbers affect sliding window protocol with fixed window size?序列号如何影响固定窗口大小的滑动窗口协议?
【发布时间】:2013-04-27 13:04:11
【问题描述】:
我一直在经历,试图从一本书中学习这个协议,除了在这一点上他们似乎回避它,他们表示序列位是一个可以发送和接收的帧数,但除了他们不再接近它。
我想知道它如何影响具有固定窗口大小的协议。
序列位为 3,窗口大小为 4 是否意味着发送方在任何时候都不能发送超过 3 帧?
还是说帧的编号顺序是:0、1、2、0、1、2
如您所见,我很困惑,但请帮忙!非常感谢:)
【问题讨论】:
标签:
protocols
communication
theory
【解决方案1】:
试试维基百科-> http://en.wikipedia.org/wiki/Sliding_window_protocol
“滑动窗口协议用于需要可靠的按顺序传送数据包的情况。”使用附加在每个数据包上的“序列号”来定义数据包的顺序。在传输任何包含实际数据的数据包之前,双向通信双方都同意窗口大小。该窗口大小可以固定或动态更改。
例如,对于客户端到客户端的通信,假设窗口大小为 10 个数据包。依赖序列号,这意味着它最初是从序列 0 的数据包到序列 10 的数据包。
协议发生并开始数据传输后,客户端A将开始发送第一个数据包,序列号为:1,2,3,4,5,6,7,8,9,10。
当根据序列号达到窗口大小 (10) 时,客户端 A 将停止发送数据包。
客户端 B 以确认 (ACK) 回复它已收到数据包 1、2、3、4。
这意味着窗口从 0-10 移动到 5-14。在固定大小的滑动窗口协议中,偏移量 10 保持不变。
因此客户端 A 能够发送接下来的 4 个数据包,即 11、12、13、14。
一般来说,只要客户端A有数据要发送,它就会一直发送,直到达到窗口大小。然后它会等待对方的 ACK,然后才能继续再次发送。
【解决方案2】:
序列号表示正在发送的帧的编号方式。
例如,如果帧从 0 到 7 编号,则它是一个 3 位序列号。
如果帧的编号是 0-15,那么它是一个 4 位的序列号。