问题
对于使用令牌桶算法进行拥塞控制的主机,令牌桶容量为1兆字节,最大输出速率为每秒20兆字节。令牌以每秒 10 兆字节的速度维持输出的速度到达。令牌桶目前已满,机器需要发送 12 兆字节的数据。传输数据所需的最短时间为 _____________ 秒。
我的方法
最初令牌桶已满。它排空的速率是 (20-10) Mbps。清空 1 mb 令牌桶的时间是 1/10,即 0.1 秒
但答案是 1.2sec 。
问题
对于使用令牌桶算法进行拥塞控制的主机,令牌桶容量为1兆字节,最大输出速率为每秒20兆字节。令牌以每秒 10 兆字节的速度维持输出的速度到达。令牌桶目前已满,机器需要发送 12 兆字节的数据。传输数据所需的最短时间为 _____________ 秒。
我的方法
最初令牌桶已满。它排空的速率是 (20-10) Mbps。清空 1 mb 令牌桶的时间是 1/10,即 0.1 秒
但答案是 1.2sec 。
这里一个字节被认为是一个令牌
⇒ C=1 M 代币
⇒20-R=10
⇒ 输入速率 R=10MBps
与 Leaky Bucket 不同,空闲主机可以捕获并保存 c ≤ C 个令牌,以便以后发送更大的突发。s
当我们开始传输代币桶中的代币时,会立即将其传输到网络
IE。如果令牌桶的初始容量为“c”,则 c 个令牌将立即出现在网络中。
是时候清空令牌桶了
c: 是令牌桶的初始容量 R: 每一秒我们得到 R 个令牌 M: 每一秒产生 M 个令牌
INPUT FLOW:那么在时间间隔't'内准备进入网络的数据包数量是c+Rt
OUTPUT FLOW:那么在时间间隔't'内准备进入网络的数据包数量是Mt
输入流量 = 输出流量
⇒ c+Rt = Mt
t= c/MR =1/20-10 =0.1sec
现在,我们有两个案例
转1M(初始代币)代币,t=0时会立即转吗
考虑方程
输入流 = c+Rt
这意味着“ c 个令牌(最初包含在令牌桶中)的传输没有任何延迟”
与漏桶不同,令牌桶可以在发送方空闲时继续保留令牌。一旦它准备好发送数据包。数据包将获取令牌并将传输到网络。⇒ c 然后我们添加在“t”时间产生的 R 令牌以最终获得 INPUTFLOW
⇒ 1 MB 立即传输。现在我们剩下 11 MB 来传输
转移剩余的 11 MB
在 t=0 时,我们开始传输 11 MB 数据。
在 t=0.1sec 时:1MB(传输 1 MB)
在 t=0.2sec 时:1MB(传输 2 MB)
......
在 t=1.1 秒时:1MB(已传输 11 MB)
因此传输 12MB 需要 1.1 秒 + 0 秒 = 1.1 秒
转账 1M(初始代币)代币,我们取 = 0.1sec
(如果 1MB 需要 0.1 秒,我可以说 12MB 需要 1.2 秒)
然后在 0.1sec 期间。01 *10MBps = 1M 代币已满。
t=0s : 开始传输 12 MB 数据。
t=0.1s : 1MB
t=0.2s : 1MB (2 MB 传输)
t=0.3s : 1MB (3 MB 传输) .. ..
t=1.2s : 1MB (12 MB 传输)
因此传输 12MB 需要 1.2 秒
问题确实明确提到了这部分。因此,通常的做法是始终遵循最佳情况。因此答案是 1.1 秒