接收窗口大小所需位数的理论计算

网络工程 以太网
2022-02-12 07:35:40

好的,所以我有一个问题如下:

假设您正在为到月球的 10 Mbps 点对点链路设计一个滑动窗口协议,其单向延迟为 2.0 秒。假设每帧携带 5KB 的数据,如果 RWS = SWS,则序列号所需的最小位数是多少?

到目前为止我的工作是:

SWS = RTT x 带宽 / 帧大小

10,000,000 bps * 4 秒 = 40,000,000 位是吞吐量

5000 字节 = 每帧 40,000 位是每帧的大小

40,000,000 位/ 40,000 位 = 1000 位

SWS = 1000 位

根据讲师的说法,还有两个步骤可以得到答案,它们是: “首先,基于 SWS 计算 MaxSeqNum。

然后,计算序列号所需的位数。例如,如果 MaxSeqNum 为 1000,则所有可能的序列号至少需要 10 位,2^10 =1024 > 1000。”

我不知道如何根据 SWS 计算 MaxSeqNum

而且我不确定在第二部分中你如何获得 10 位,因为 2^10 ......那部分也没有任何意义。为什么 SWS 等于 1000 位时只有 10 位?1024在哪里发挥作用?

我正在寻找的是计算此问题所需的公式,或者解决的类似示例,我可以从中得出解决此问题的公式或方法。

1个回答

在你到达这里之前你做得很好:

40,000,000 bits/ 40,000 bits = 1000 bits 
SWS = 1000 bits

SWS 的度量单位不是比特,而是帧。那么问题就变成了,你需要多大的二进制数来表示 1000(帧)?正如您所说,答案是 10 位。那是因为表示 1000 (2^10) 至少需要 10 位。