假设主机H通过TCP向服务器发送长度为3000B的报文,往返时间RTT=10ms,最长报文段寿命MSL=30s,最大报文段长度MSS=1000B,忽略TCP段的传输时廷,报文传输结束后H首先请求断开连接,则从H请求建立TCP连接时刻起,到H进入CLOSED状态为止,所需时间至少是( )
A.30.03s
R.30.04s
C.60.03s
D.60.04s
要解决这个问题,需详细分析 TCP...
用户登录可进行刷题及查看答案
要解决这个问题,需详细分析 TCP 连接建立、数据传输、断开连接的全过程,并计算各阶段耗时。以下是具体步骤:
一、TCP 连接建立(三次握手)
三次握手的时间消耗为 1 个往返时间(RTT):
过程:H 发送 SYN → 服务器回 SYN+ACK → H 回 ACK。
耗时:RTT = 10ms。
二、数据传输阶段
报文分段:3000B ÷ 1000B(MSS)= 3 个报文段。
传输逻辑:忽略传输时延,H 可连续发送 3 个报文段,服务器收到后发送累积确认。确认耗时为 1 个 RTT。
三、TCP 连接断开(四次挥手)
H 先请求断开,四次挥手的时间消耗为 2 个 RTT:
H 发送 FIN → 服务器回 ACK:耗时 1 个 RTT(10ms)。
服务器发送 FIN → H 回 ACK:耗时 1 个 RTT(10ms)。
总耗时:2×RTT = 20ms。
四、TIME_WAIT 状态
原因:H 发送最后一个 ACK 后进入 TIME_WAIT,等待 2 倍最长报文段寿命(2×MSL)以确保连接安全关闭。
耗时:2×MSL = 2×30s = 60s = 60000ms。
五、总时间计算
将各阶段耗时累加:
三次握手:10ms
数据传输:10ms
四次挥手:20ms
TIME_WAIT:60000ms
总计:10 + 10 + 20 + 60000 = 60040ms = 60.04s
答案:D. 60.04s
登录后提交答案
暂无评论,来抢沙发