若甲向乙发起一个TCP连接,最大段长MSS=1KB,RTT=5ms,乙开辟的接收缓存为64KB,则甲从连接建立成功至发送窗口达到32KB,需经过的时间至少为() 单选题 (4 分) A. 160ms B. 25ms C. 30ms D. 165ms
时间: 2024-05-18 13:12:31 浏览: 203
根据题意,甲从连接建立成功至发送窗口达到32KB,需经过的时间可以分为两个部分:建立连接的时间和发送数据的时间。
1. 建立连接的时间:
甲向乙发起TCP连接,需要经过三次握手,也就是需要发送3个TCP报文段。假设甲发送的第一个SYN报文段到达乙的时间为t,乙回复的SYN+ACK报文段到达甲的时间为t+RTT,甲再发送ACK报文段到达乙的时间为t+2*RTT。因此,建立连接的时间为2*RTT=10ms。
2. 发送数据的时间:
甲从连接建立成功开始发送数据,第一个窗口为MSS,也就是1KB。因为甲的发送窗口大小为32KB,所以甲需要发送32个MSS才能将窗口填满。假设甲每发送一个MSS后都需要等待一个ACK报文段的到达,也就是需要等待RTT的时间。因此,发送数据的时间为32*(MSS/带宽+RTT)=32*(1/10+5)=160ms。
综上所述,甲从连接建立成功至发送窗口达到32KB,需经过的时间至少为建立连接的时间加上发送数据的时间,即10ms+160ms=170ms。所以,答案为D. 165ms。
相关问题
若甲向乙发起一个TCP连接,最大段长 MSS =1KB, RTT = 4ms,乙开辟的接收缓存为64 KB, 则甲从连接建立成功至发送窗口达到 32 KB, 需经过的时间至少是 ( )ms。
TCP连接建立成功后,甲开始向乙发送数据,发送窗口大小为32KB=32个报文段。假设所有报文段都能够成功发送并得到确认。由于TCP采用的是可靠传输,每发送一个报文段需要等待其收到确认后才能发送下一个报文段,因此,甲向乙发送32个报文段需要的时间为:
```
32 * (MSS / 发送带宽) + 32 * RTT + 32 * (处理时延 + 排队时延)
```
其中,处理时延和排队时延在此不考虑,假设为0。根据最大段长MSS=1KB和RTT=4ms,可以计算出发送带宽为:
```
1KB / (RTT / 2) = 0.5MB/s
```
因此,甲向乙发送32个报文段需要的时间为:
```
32 * (1KB / 0.5MB/s) + 32 * 4ms = 64ms
```
所以,甲从连接建立成功至发送窗口达到32KB,需要经过至少64ms的时间。
主机甲和主机乙新建一个TCP连接,甲的拥塞控制初始阈值为6KB,甲向乙始终以MSS=1KB
在TCP连接建立后,主机甲和主机乙会进行三次握手,建立起连接后,甲向乙发送数据的时候,会根据乙返回的确认信息来动态调整自己的拥塞窗口大小。在这个例子中,甲的拥塞控制初始阈值为6KB,意味着它最初发送数据时最多只能发送6个MSS的数据量,也就是6KB。当甲发送了6个MSS的数据之后,就会进入慢启动状态,此时甲的拥塞窗口大小会以指数级别增加,每当收到一个乙的确认信息,拥塞窗口大小就会增加一个MSS的大小,也就是1KB。当拥塞窗口大小达到拥塞控制阈值时,甲就会进入拥塞避免状态,此时拥塞窗口大小会以线性级别增加,每当收到一个乙的确认信息,拥塞窗口大小就会增加1/MSS。如果发生拥塞,甲就会进入快速重传和快速恢复状态,此时拥塞窗口大小会被减半,然后重新进入拥塞避免状态。
阅读全文