令牌桶上的数字
Numericals on Token Bucket
问题
对于使用令牌桶算法进行拥塞控制的主机,令牌桶容量为1兆字节,最大输出速率为20兆字节/秒。令牌以每秒 10 兆字节的速率维持输出的速率到达。当前令牌桶已满,机器需要发送 12 兆字节的数据。传输数据所需的最短时间为 _____________ 秒。
我的方法
初始令牌桶已满。它清空的速率是 (20-10) Mbps。清空 1 MB 令牌桶的时间是 1/10,即 0.1 秒
但答案是 1.2 秒。
- 令牌桶容量为1兆字节(最大容量C)
Here one byte is considered as one token
⇒ C=1 M 代币
- 输出速率为每秒 20 兆字节 (M=20MBps)
令牌到达的速度可以维持每秒 10 兆字节的输出
⇒20-R=10
⇒ 输入速率 R=10MBps
Unlike Leaky Bucket , idle hosts can capture and save up c ≤ C tokens in order to send larger bursts later. s
When we begin transfer the tokens present in token buckt is transmitted at once to the network
ie. if initially capacity of token bucket is 'c' then c tokens will
be instantly be present in the network.
是时候清空令牌桶了
c: 是令牌桶的初始容量
R:每一秒我们都会得到 R 代币
M : 每秒钟产生 M 个代币
INPUT FLOW : 那么在一个时间间隔't'内准备进入网络的数据包数量是c+Rt
OUTPUT FLOW : 那么在一个时间间隔't'内准备进入网络的数据包数量是Mt
输入流量 = 输出流量
⇒ c+Rt = Mt
t= c/M-R =1/20-10 =0.1sec
- 鉴于令牌桶已满 (c=C)
现在,我们有两个案例
- 要转1M代币,会不会是t=0瞬间
- 或者转移 1M 代币,我们需要 10/ 20-10 = 0.1sec ?
要转1M(initial token)个代币,会不会瞬间t=0
考虑等式
INPUTFLOW = c+Rt
这意味着
“ c 令牌(最初包含在令牌桶中)没有任何延迟地传输”
与漏桶不同,令牌桶可以在发送方空闲时继续保留令牌。一旦它准备好发送数据包。数据包将使用令牌并将其传输到网络。 ⇒ c 然后我们添加在 't' 时间内产生的 R 代币最终得到 INPUTFLOW
⇒ 1 MB 立即传输。现在我们还剩下 11 MB 可以传输
转移剩余的 11 MB
在 t=0 时,我们开始传输 11 MB 数据。
在 t=0.1 秒:1MB(传输 1MB)
在 t=0.2 秒:1MB(传输 2MB)
..
..
在 t=1.1 秒:1MB(传输 11MB)
因此传输 12MB 需要 1.1 秒 + 0 秒 = 1.1 秒
转账 1M (inital token) 个代币,我们取 = 0.1sec
(如果 1MB 需要 0.1 秒,我可以争辩说 12MB 需要 1.2 秒)
然后在 0.1 秒内。 01 *10MBps = 1M 令牌已满。
t=0s : 开始传输 12 MB 数据。
t=0.1s : 1MB
t=0.2s:1MB(传输 2MB)
t=0.3s:1MB(传输 3MB)
..
..
t=1.2s:1MB(传输 12MB)
因此传输 12MB 需要 1.2 秒
问题确实提到了这部分。因此,通常的做法是始终遵循最佳情况。
因此答案是 1.1 秒
问题
对于使用令牌桶算法进行拥塞控制的主机,令牌桶容量为1兆字节,最大输出速率为20兆字节/秒。令牌以每秒 10 兆字节的速率维持输出的速率到达。当前令牌桶已满,机器需要发送 12 兆字节的数据。传输数据所需的最短时间为 _____________ 秒。
我的方法
初始令牌桶已满。它清空的速率是 (20-10) Mbps。清空 1 MB 令牌桶的时间是 1/10,即 0.1 秒
但答案是 1.2 秒。
- 令牌桶容量为1兆字节(最大容量C)
Here one byte is considered as one token
⇒ C=1 M 代币
- 输出速率为每秒 20 兆字节 (M=20MBps) 令牌到达的速度可以维持每秒 10 兆字节的输出
⇒20-R=10
⇒ 输入速率 R=10MBps
Unlike Leaky Bucket , idle hosts can capture and save up c ≤ C tokens in order to send larger bursts later. s
When we begin transfer the tokens present in token buckt is transmitted at once to the network
ie. if initially capacity of token bucket is 'c' then c tokens will be instantly be present in the network.
是时候清空令牌桶了
c: 是令牌桶的初始容量 R:每一秒我们都会得到 R 代币 M : 每秒钟产生 M 个代币
INPUT FLOW : 那么在一个时间间隔't'内准备进入网络的数据包数量是c+Rt
OUTPUT FLOW : 那么在一个时间间隔't'内准备进入网络的数据包数量是Mt
输入流量 = 输出流量
⇒ c+Rt = Mt
t= c/M-R =1/20-10 =0.1sec
- 鉴于令牌桶已满 (c=C)
现在,我们有两个案例
- 要转1M代币,会不会是t=0瞬间
- 或者转移 1M 代币,我们需要 10/ 20-10 = 0.1sec ?
要转1M(initial token)个代币,会不会瞬间t=0
考虑等式
INPUTFLOW = c+Rt
这意味着 “ c 令牌(最初包含在令牌桶中)没有任何延迟地传输”
与漏桶不同,令牌桶可以在发送方空闲时继续保留令牌。一旦它准备好发送数据包。数据包将使用令牌并将其传输到网络。 ⇒ c 然后我们添加在 't' 时间内产生的 R 代币最终得到 INPUTFLOW
⇒ 1 MB 立即传输。现在我们还剩下 11 MB 可以传输
转移剩余的 11 MB
在 t=0 时,我们开始传输 11 MB 数据。
在 t=0.1 秒:1MB(传输 1MB)
在 t=0.2 秒:1MB(传输 2MB)
.. ..
在 t=1.1 秒:1MB(传输 11MB)
因此传输 12MB 需要 1.1 秒 + 0 秒 = 1.1 秒
转账 1M (inital token) 个代币,我们取 = 0.1sec
(如果 1MB 需要 0.1 秒,我可以争辩说 12MB 需要 1.2 秒)
然后在 0.1 秒内。 01 *10MBps = 1M 令牌已满。
t=0s : 开始传输 12 MB 数据。
t=0.1s : 1MB
t=0.2s:1MB(传输 2MB)
t=0.3s:1MB(传输 3MB) .. ..
t=1.2s:1MB(传输 12MB)
因此传输 12MB 需要 1.2 秒
问题确实提到了这部分。因此,通常的做法是始终遵循最佳情况。 因此答案是 1.1 秒