TCP在网络模型的第二层传输层保证可靠传输。
TCP的三次握手:
在最开始的时候 客户端的状态是CLOSED 服务器也是CLOSED
第一次握手:客户端向服务器发送请求 :SYN = 1;客户端的状态为:SYN-SENT
第二次握手:服务器响应客户端: SYN = 1; 服务器的状态为 :SYN-RCVD
第三次握手:客户端响应服务器 。完成三次握手后就可以进行数据传输了。客服端和服务器的状态都为 ESTAB-LISHED
我们用一个生活中的例子来说吧:就比如你跟人打电话 :你:你能听见我说话吗? 他:我能听到你说话,那你能听到我说话吗? 你:我能听见。接下来你们是不是就开始聊天了。
TCP的四次挥手:
第一次挥手:客户端:我要结束了。FIN = 1;
第二次挥手:服务器:嗯我知道,但是我要继续传输数据。 ACK = 1; 客服端的状态为:FIN-WAIT-1; 服务器的状态为:CLOSE-WAIT;
第三次挥手:服务器:我也要结束了。 ACK=1 FIN = 1 服务器的状态为:LAST-ACK 客服端的状态为:FIN-WAIT-2;
第四次挥手:客服端:我知道你结束了。 服务器的状态为:CLOSED 客服端的状态为:TIME-WAIT 等一会状态为 CLOSED