校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > UI专业知识 > 色彩
题目

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

A.处于TIME_WAIT状态的连接等待2MSL后真正关闭连接

B.对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态

C.主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态

D.在已经成功建立连接的TCP连接上,任何情况下都不允许丢失数据。

解答

正确答案是 A

A     time_wait 需要等待2msl,防止ack丢失
B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket
C     收到了ack之后的状态,是只能接受不能发送
D     会有很多意外情况,例如rst
C 4条回复 评论
是小橘子吖

大佬,可以转载吗?

发表于 2024-01-06 21:00:00
0 0
卡卡卡

看完解析才知道应该是这样的思路

发表于 2022-07-17 22:00:00
0 0
子不语

A
TIME_WAIT状态下发送的ACK丢失,服务器端的LAST_ACK时刻设定的重传定时器超时,发送重传的FIN,很不幸,这个FIN也丢失,主动关闭方在 TIME_WAIT状态等待2MSL没收到任何报文段,进入CLOSED状态,当此时被动关闭方并没有收到最后的ACK。所以即使要主动关闭方在 TIME_WAIT状态下停留2MSL,也不一定表示四次握手关闭就一定正常完成

发表于 2018-11-01 14:37:05
0 0
小飞鞋

正确答案A
A     time_wait 需要等待2倍最大传输时间,防止丢失接收重传的的ack;
B     shutdown可以使TCP半双工,但是如果之前调用了close,则直接关闭了socket;
C     主动发送FIN的意思是告诉对方,”我不会传输信息了,我想关闭我到你的链接“,因此在收到了对方返回的确认ack后,全双工变半双工,只接不发了;
D     说法太绝对了,如rst,或者,直接服务器宕机了呢?


发表于 2018-11-01 14:36:50
0 0