TCP三次握手过程?
分享
回答 1
浏览 3662
- 一颗小胡椒 2 CISM-WSE CISP-PTS
三次握手是 TCP 连接的建立过程。在握手之前,主动打开连接的客户端结束 CLOSE 阶段,被动打开的服务器也结束 CLOSE 阶段,并进入 LISTEN 阶段。随后进入三次握手阶段:
-
客户端向服务器发送一个 SYN 包,并等待服务器确认。
其中:标志位为 SYN,表示请求建立连接;序号为 Seq = x(x 一般取随机数);随后客户端进入 SYN-SENT 阶段。
-
服务器接收到客户端发来的 SYN 包后,对该包进行确认后结束 LISTEN 阶段,并返回一段 TCP 报文。
其中: 标志位为 SYN 和 ACK,表示确认客户端的报文 Seq 序号有效,服务器能正常接收客户端发送的数据,并同意创建新连接; 序号为 Seq = y;确认号为 Ack = x + 1,表示收到客户端的序号 Seq 并将其值加 1 作为自己确认号 Ack 的值,随后服务器端进入 SYN-RECV 阶段。
-
客户端接收到发送的 SYN + ACK 包后,明确了从客户端到服务器的数据传输是正常的,从而结束 SYN-SENT 阶段,并返回最后一段报文。
其中: 标志位为 ACK,表示确认收到服务器端同意连接的信号;序号为 Seq = x + 1,表示收到服务器端的确认号 Ack,并将其值作为自己的序号值;确认号为 Ack= y + 1,表示收到服务器端序号 seq,并将其值加 1 作为自己的确认号 Ack 的值。随后客户端进入 ESTABLISHED。
当服务器端收到来自客户端确认收到服务器数据的报文后,得知从服务器到客户端的数据传输是正常的,从而结束 SYN-RECV 阶段,进入 ESTABLISHED 阶段,从而完成三次握手。
分享
-