假设主机H通过TCP向服务器发送长度为3000B的报文,往返时间RTT=10ms,最长报文段寿命MSL=30s,最大报文段长度MSS=1000B,忽略TCP段的传输时延,报文传输结束后H首先请求断开连接,则从H请求建立TCP连接时刻起,到H进入CLOSED状态为止,所需的时间至少是()。

【正确答案】 D
【答案解析】

建立TCP连接的前两次握手需要1个RTT,第三次握手的报文段可以携带MSS=1000B的数据,H收到该报文段的确认后,发送窗口增大到2000B,因此第三个RTT可以发送2000B的数据,经过3个RTT后,3000B的报文传输结束。第四个RTT开始时,H向服务器发送FIN报文段请求断开连接,题目问的是最少时间,因此服务器收到FIN请求后不再发送数据,即服务器同时发出连接释放ACK报文段和FIN报文段。H收到服务器发来的FIN报文段后开启时间等待计时器,等待2MSL的时间(60s),进入CLOSED状态,总时间为40ms+60s=60.04s。