一道网络题的看法


一个TCP连接使用256 kb/s的链路, 其端到端时延为128ms。经测试,发现吞吐量只有128 kb/s。试问窗口是多少?忽略PDU封装的协议开销及接受方应答组的发射时间(假定应答分组长度很小)


1.在网上找了些内容,当然不靠谱的居多了。下面的方法便是找到的答案,如下:

来回路程的时延等于 256 ms(128 ms x2).设窗口值为X(B),假定一次 最大发送量 等于窗口值,且发送时延等于X/256(ms),那么,每发送一次都得停下来期待再次得到下一窗口的确认(256ms),以得到新的发送许可。结果,测到的平均吞吐量就等于发送速率的一半,即128kb/s.
        X                                 (b)
________________________  = 128kb/s,得X=65536,即窗口值为 65536。
   X  
--------——       + 128 x2 (ms)       

256kb/s

这是  停止等待协议。收方每接受到发方一帧后,回复确认帧,让发方继续发送下一帧。因此 一次窗口发送总时延 = 发送时延 + 来回路程的时延(256ms)。

2. 但是还不对,感觉应该是: 一次窗口发送总时延 = 发送时延 + 端到端的时延(128ms)。
      X                                  (b)
________________________= 128kb/s,得X=32768,即窗口值为 32768。
      X  
-------——  +  128ms   (ms)       

256kb/s     

这是连续ARQ协议(连续发送,不需要对方确认)因此一次窗口发送总时延 = 发送时延 +  端到端的时延(128ms)。得到窗口值为 32768。



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 可能达到的最大吞吐量为 800 Mb/s(即 1 Gb/s * .8),因为 TCP 的发送窗口大小为 65535 字节,每个 TCP 报文段的最大大小为 146 字节(MTU 大小为 150 字节,减去 20 字节的 IP 头和 20 字节的 TCP 头),因此每个报文段可以携带 146 字节的数据。在端到端时延为 10 ms 的情况下,每个报文段需要 20 ms(即 2 * 10 ms)才能从发送端到达接收端,因此每秒最多可以发送 50 个报文段,即每秒可以发送 73,000 字节的数据(即 50 * 146)。因此,最大吞吐量为 800 Mb/s(即 73,000 * 8 * .8)。 信道的利用率为 80%(即 .8),因为 TCP 的发送窗口大小为 65535 字节,每个报文段的最大大小为 146 字节,因此每个窗口可以携带 45 个报文段(即 65535 / 146)。在端到端时延为 10 ms 的情况下,每个报文段需要 20 ms 才能从发送端到达接收端,因此每个窗口需要 900 ms(即 20 ms * 45)才能被发送完毕。因此,每秒最多可以发送 1.11 个窗口(即 1 / .9),即每秒可以发送 72,960 字节的数据(即 1.11 * 65535)。因此,信道的利用率为 80%(即 72,960 * 8 / 1 Gb/s)。 ### 回答2: 通信系统的吞吐量是指在一定时间内传输的数据量。在本中,我们需要计算TCP协议在这个通信信道中的最大吞吐量。通常情况下,TCP协议的发送窗口大小与网络带宽有关。窗口大小越大,网络带宽被更好地利用。 在本中,TCP的发送窗口大小为65535字节,也就是524288位。通信信道带宽为1gb/s,即每秒可以传输亿位(1×10^9)数据。因此,TCP协议的最大吞吐量为: 最大吞吐量 = TCP发送窗口大小/端到端时延 = 524288位/10ms = 52428.8 kbps = 52.43 Mbps 因此,在本中,TCP协议在这个通信信道中的最大吞吐量为52.43 Mbps。我们还需要计算信道的利用率。 信道的利用率通常是指在某个时间段内,信道的实际使用时间占总时间的百分比。在本中,信道的总时间为10ms,其中需要去掉因为传输的时间而造成的信道空闲时间。TCP协议的传输时间由发送方的发送窗口大小和接收方的要求、丢失、延时确认等因素共同决定。因此,信道空闲的时间取决于接收方的确认时间。 假设接收方的确认时间为5ms,那么信道的利用率为: 利用率 = 最大吞吐量/信道带宽 = 52.43 Mbps/1 Gbps = 0.0524 = 5.24% 因此,在本中,通信信道的利用率为5.24%。需要注意的是,这只是TCP协议在这个通信信道中的最大吞吐量和信道利用率的一种计算方法。实际上,还需要考虑其他因素的影响,例如网络拥塞、网络质量等。 ### 回答3: 通信信道带宽为1gb/s,即每秒可以传输1亿个比特位。TCP的发送窗口为65535字节,换算成比特位为524,280位。因此,在没有任何丢包和拥塞的情况下,一次传输最多可以发送524,280个比特位。 端到端时延为10ms,也就是说,在10ms内,数据包从一端发送到了另一端。因此,在10ms内,可以传输的数据量为(1gb/s*10ms) = 10,000,000个比特位。 由于发送窗口的大小限制了在同一时间最多可以发送的数据量为524,280个比特位。因此,在10ms内,最多可以发送的数据包数为10,000,000/524,280=19个。 因此,最大吞吐量为19*524,280=9.96mbps。 信道的利用率可以通过最大吞吐量与信道带宽之比得到。即: (9.96mbps/1gbps)*100% = 0.996% 因此,TCP在该信道上的最大吞吐量为9.96mbps,信道的利用率为0.996% 。同时需要指出,在实际的网络环境中,存在包括丢包、拥塞等问,这些问会对TCP的传输效果产生较大的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值