首页 > 试题广场 >

TCP的关闭过程,说法正确的是( )

[单选题]
TCP的关闭过程,说法正确的是( )
  • 处于TIME_WAIT状态的连接等待2MSL后真正关闭连接
  • 对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态
  • 主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
  • 在已经成功建立连接的TCP连接上,任何情况下都不允许丢失数据。
正确答案A A     time_wait 需要等待2倍最大传输时间,防止丢失接收重传的的ack; B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket; C     主动发送FIN的意思是告诉对方,”我不会传输信息了,我想关闭我到你的链接“,因此在收到了对方返回的确认ack后,全双工变半双工,只接不发了; D     说法太绝对了,如rst,或者,直接服务器宕机了呢?
发表于 2021-01-02 09:23:09 回复(0)
A     time_wait 需要等待2msl,防止ack丢失
B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket
C     收到了ack之后的状态,是只能接受不能发送
D     会有很多意外情况,例如rst
发表于 2017-04-11 09:54:06 回复(0)
为何感觉ab都对啊。。
a:如果没有收到对方的fin,那至少等待2msl后真正关闭
b:close以后sockfd不可用,但只是发fin收ack,tcp连接还是半关闭的,直到对方也close或shutdown来发fin收ack。貌似是这样?
c:发fin,收ack以后半关闭了,关了写端,表示不发数据了,还可以收
d:发rst,对方就重置连接了,未达的数据就丢了
发表于 2015-03-27 11:24:14 回复(4)
A     time_wait 需要等待2msl,防止ack丢失
B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket
C     收到了ack之后的状态,是只能接受不能发送
D     会有很多意外情况,例如rst
发表于 2015-08-12 12:02:19 回复(1)
正确答案A
A     time_wait 需要等待2倍最大传输时间,防止丢失接收重传的的ack;
B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket;
C     主动发送FIN的意思是告诉对方,”我不会传输信息了,我想关闭我到你的链接“,因此在收到了对方返回的确认ack后,全双工变半双工,只接不发了;
D     说法太绝对了,如rst,或者,直接服务器宕机了呢?

发表于 2016-05-13 08:59:54 回复(2)
A
TIME_WAIT状态下发送的ACK丢失,服务器端的LAST_ACK时刻设定的重传定时器超时,发送重传的FIN,很不幸,这个FIN也丢失,主动关闭方在 TIME_WAIT状态等待2MSL没收到任何报文段,进入CLOSED状态,当此时被动关闭方并没有收到最后的ACK。所以即使要主动关闭方在 TIME_WAIT状态下停留2MSL,也不一定表示四次握手关闭就一定正常完成
发表于 2015-07-22 10:18:05 回复(4)
2MSL 的时间是从客户端接收到 FIN 后发送 ACK 开始计时的。如果在 TIME-WAIT 时间内,因为客户端的 ACK 没有传输到服务端,客户端又接收到了服务端重发的 FIN 报文,那么 2MSL 时间将重新计时。
发表于 2023-02-22 13:02:08 回复(0)
正确答案A A     time_wait 需要等待2倍最大传输时间,防止丢失接收重传的的ack; B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket; C     主动发送FIN的意思是告诉对方,”我不会传输信息了,我想关闭我到你的链接“,因此在收到了对方返回的确认ack后,全双工变半双工,只接不发了; D     说法太绝对了,如rst,或者,直接服务器宕机了呢?
发表于 2022-12-05 13:46:37 回复(0)
shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket;
发表于 2017-04-12 10:07:39 回复(0)
C答案中
该报文到达服务端后,服务端会进行一次确认,发送ACK报文,并且服务端处于close_wait(关闭等待)状态。这时客户端已经没有数据要发送了,但服务器若发送数据,客户端仍要接收,
发表于 2016-11-24 09:18:21 回复(0)
看一下谢希仁老师的计算机网络那本书 就有对TIME_WAIT的意义有明确的解释。
发表于 2016-08-05 17:07:25 回复(0)
正确答案是A。。
发表于 2015-04-02 17:23:14 回复(0)
C
发表于 2015-03-26 17:25:14 回复(0)