美团网站建设,昆明著名网站,六安网站建设优化,南宁手机模板建站TCP 是面向连接的协议#xff0c;所以使用 TCP 前必须先建立连接#xff0c;而建立连接是通过三次握手来进行的。三次握手的过程如下图#xff1a;
刚开始客户端处于 closed 的状态#xff0c;服务端处于 listen 状态。 第一次握手#xff1a;客户端给服务端发一个 SYN 报…TCP 是面向连接的协议所以使用 TCP 前必须先建立连接而建立连接是通过三次握手来进行的。三次握手的过程如下图
刚开始客户端处于 closed 的状态服务端处于 listen 状态。 第一次握手客户端给服务端发一个 SYN 报文客户端会随机初始化序号client_isn。此时客户端处于 SYN_SEND 状态。此状态下将此序号置于 TCP 首部的「序号」字段中同时把 SYN 标志位置为 1表示 SYN 报文。接着把第一个 SYN 报文发送给服务端表示向服务端发起连接该报文不包含应用层数据之后客户端处于 SYN_SEND 状态。 第二次握手服务器收到客户端的 SYN 报文之后会以自己的 SYN 报文作为应答并且服务端也是也随机初始化自己的序号server_isn将此序号填入 TCP 首部的「序号」字段中同时会把客户端的 client_isn 1 作为 ACK 的值表示自己已经收到了客户端的 SYN接着把 SYN 和 ACK 标志位置为 1。最后把该报文发给客户端该报文也不包含应用层数据之后服务端处于 SYN_RCVD 状态。 第三次握手客户端收到服务端 SYN 报文之后还要向服务端回应最后一个应答 ACK 报文当然也是一样把服务器的 server_isn 1 作为 ACK 的值把报文发送给服务端表示已经收到了服务端的 SYN 报文这次报文可以携带客户到服务端的数据这时候客户端处于 established 状态。 服务器收到 ACK 报文之后也处于 established 状态此时双方以建立起了链接客户端和服务端就可以相互发送数据了。