假设只有一个 TCP (Reno) 连接使用一个不缓存任何数据的 10Mbps 链路,该链路是发送和接收主机之间唯一的拥塞链路。假设 TCP 发送方有一个大文件要发送到接收方,接收缓冲区远大于拥塞窗口。我们还做出以下假设:每个 TCP 段大小为 1,500 字节;这个连接的双向传播延迟为 150 毫秒;并且该 TCP 连接始终处于拥塞避免阶段,即忽略慢启动。 a. 此 TCP 连接可以实现的最大窗口大小(以段为单位)是几个段。 b. 平均窗口大小(以段为单位)为几个段,此 TCP 连接的平均吞吐量(以 Mbps 为单位)为多少Mbps。
时间: 2023-06-20 12:09:41 浏览: 367
a. 在拥塞避免阶段,TCP 拥塞窗口的增长速率是每个往返时间(RTT)增加 1 个段的大小。因此,该 TCP 连接可以实现的最大窗口大小为:
最大窗口大小 = 链路容量 * 往返时间 / 段大小
= 10Mbps * 0.15s / 1500字节
= 100 段
b. 在拥塞避免阶段,TCP 拥塞窗口的增长速率是每个 RTT 增加 1 个段的大小,因此平均窗口大小为最大窗口大小的一半,即 50 段。平均吞吐量为:
平均吞吐量 = 平均窗口大小 * 段大小 / RTT
= 50 * 1500字节 / 0.15s
= 500Mbps
相关问题
557 2023年47题 MD data=8000 从FTP服务器 18 数据 Internet 下载数据H<18102 MSS 47.[9 分]如图,主机H登录FTP服务器后从服务器上传一个大小为18000B的文件F,假设H传输F建立数连接时,选择的初始序号为100,MTU=1000B,拥塞控制初始國值为4MSS,RTT=10ms,忽略TCP的传输时延,在F的传过程中,H以MSS段向服务器发送数据,且未发生差错,去包和乱序。 (1)FTP的控制连接是持久的还是非持久的?FTP的数连接是持久的还是非持久的?H登录FTP服务器时,建立的TCP连接是控制连接还是数据连接? (2)H通过数据连接发送F时,F的第一个字节序号是多少?在断开数据连接的过程中,FTP发送的第二次挥手的ACK序号是01D2 2 (3)F发送过程中,当H收到确认序号为2101的确认时,H的拥塞调整为多少? 收到确认序号为7101的确认段时,H的拥窗口调整为多少 2 (4)H从请求建立数据连接开始,到确认F已被服务器全部接收为止,至少要多 长时间?期间应用层数平均发送速率是多少? OPPO Reno4 5G 2023.06.02 12:07
(1) FTP的控制连接是持久的,FTP的数据连接是非持久的。H登录FTP服务器时,建立的TCP连接是控制连接。
(2) F的第一个字节序号是100。在断开数据连接的过程中,FTP发送的第二次挥手的ACK序号是01D2。
(3) 收到确认序号为2101的确认时,H的拥塞调整为6个MSS。收到确认序号为7101的确认时,H的拥窗口调整为1个MSS。
(4) 至少需要传输4个RTT,即40ms。期间应用层数平均发送速率是3600B/s。
考虑图3-54,假设在t,时刻,即下一一个拥塞丢包发生时,发送速率下降为0.75Wmax (当然,不为TCP发送方所知)。请分别给出TCP Reno和TCP CUBIC在之后两轮的变化情况。(提示: TCP Reno和TCP CUBIC对拥塞丢包做出反应的时间可能不再相同。)
### 回答1:
对于TCP Reno:
第一轮:
- 发送速率:0.5Wmax
- 拥塞窗口大小:W = W/2 = 0.5Wmax
第二轮:
- 发送速率:W/RTT = 0.25Wmax
- 拥塞窗口大小:W = W/2 + 3MSS = 0.75Wmax
对于TCP CUBIC:
第一轮:
- 发送速率:0.5Wmax
- 拥塞窗口大小:W = W/2 = 0.5Wmax
- cwnd_reduction_factor:0.7
第二轮:
- 发送速率:W/RTT = 0.25Wmax
- 拥塞窗口大小:W = cubic_root(cwnd_reduction_factor) * W = 0.728Wmax
- cwnd_reduction_factor:0.7^3 = 0.343
注意,TCP Reno和TCP CUBIC对拥塞丢包做出反应的时间不同,因此在第二轮的表现可能会有所不同。
### 回答2:
根据题目给出的条件,在t时刻,即下一个拥塞丢包发生时,发送速率下降为0.75Wmax,但是不为TCP发送方所知。我们将分别考虑TCP Reno和TCP CUBIC对于拥塞丢包的反应。
TCP Reno:
TCP Reno是一种经典的拥塞控制算法,它采用了快速恢复和快速重传的机制。
首先,在t时刻,当发生拥塞丢包时,TCP Reno会将拥塞窗口减半,并设置拥塞窗口的阈值为当前窗口的一半(Wmax/2)。因此,发送速率下降为0.5Wmax。
接下来,TCP Reno会进入拥塞避免阶段,在两轮的变化情况中,TCP Reno会以线性增加的方式逐渐增加拥塞窗口的大小,即每经过一个往返时间RTT,拥塞窗口增加一个MSS(最大段大小)。
TCP CUBIC:
TCP CUBIC是一种现代的拥塞控制算法,它具有拥塞窗口和拥塞窗口阈值的增加和减少的特点。
在t时刻,当发生拥塞丢包时,TCP CUBIC会将拥塞窗口和拥塞窗口阈值设置为当前窗口的0.75倍(Wmax*0.75)。因此,发送速率下降为0.75Wmax。
接下来,在两轮的变化情况中,TCP CUBIC会采用一种指数增长的方式增加拥塞窗口和拥塞窗口阈值,即每经过一个往返时间RTT,拥塞窗口和拥塞窗口阈值都会以指数形式增长。
综上所述,根据题目所给的条件,在t时刻发生拥塞丢包后,TCP Reno和TCP CUBIC在两轮的变化情况中,TCP Reno的拥塞窗口和发送速率会以线性增加的方式逐渐增加,而TCP CUBIC的拥塞窗口和发送速率会以指数增长的方式逐渐增加。此外,由于TCP Reno和TCP CUBIC对拥塞丢包的反应时间可能不同,因此它们在两轮中的具体变化情况可能会有所差异。
阅读全文