题目
在TCP/IP建立连接过程中,客户端或服务器的状态转移说法错误的是?
A.经历SYN_RECV状态
B.经历SYN_SEND状态
C.经历ESTABLISHED状态
D.经历TIME_WAIT状态
E.服务器在收到syn包时将加入半连接队列
F.服务器收到客户端的ack包后将从半连接队列删除
解答
正确答案是 D
Tcp/Ip有3次握手:第一次握手:客户端向服务器端发送SYN包(syn=j),进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,确认SYN,此时syn=j+1,同时发送一个SYN包(syn=k)即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到SYN+ACK包,向服务器发送ACK确认包,此时客户端和服务器端均进入ESTABLISHED状态。
其中有一个半连接状态:服务器维护一个半连接队列,该队列卫每个客户端SYN包开设一个条目,标明服务器已经接到SYN包,并向客户端发出确认,这些条目表示的连接处于SYN_RECV状态,得到客户端的确认后进入ESTABLISHED状态。
TCP/IP三次握手:
CLOSED :没有活跃的连接或挂起
LISTEN :服务器等待入境呼叫
TIME_WAIT是断开连接时的状态