TCP通信过程三次握手、TCP通信四次挥手
一、TCP通信特点:点对点的连接,保证数据准确性,内容时序无误;
二、TCP三次握手

1、握手前服务器必须处于listen 状态;
2、第一个握手包由客户端发往服务器端,此包为请求包,发完后客户端处于SYN_SEND 状态;
(第一次握手 :客户端向服务器端发送SYN报文(seq=x,SYN=1;),字节进入SYN_SEND状态,等待服务器确认。)
3、服务器收到客户端第一个握手包后,发送第二个握手包,此包既为确认包也是请求包,发送完成后服务器处于SYN_RCVD状态;
第二次握手:分两部分,即SYN+ACK(请求和确认)报文:
①服务器收到了客户端的请求,向客户端回复一个确认信息(ACK+1);
②服务器再向客户端发送一个SYN包(seq=y),建立连接的请求,此时服务器进入SYN_RECV状态;
4、客户端收到服务器回包后,确认数据正常后发送第三个握手包,此包为确认包,发送完成后客户端处于ESTABLISHED状态;
第三次握手:客户端收到服务器的回复(SYN+ACK报文),客户端向服务器发送确认包(ACK),此包发送完毕,客户端和服务器端都进入ESTABLISHED 状态,完成三次握手。
5、服务器收到最后一个确认包后确认数据数据无误后状态变更为 ESTABLISHED;
注意:三次握手的目的是确认服务器端、客户端的收发数据包功能正常。seq表示请求序列号,ACK 表示确认序列号,SYN 和ACK 为标志位。
三、TCP四次挥手
在挥手过程中,请求断开的可以是服务器也可以是客户端,但往往都是客户端主动断开连接的。

本文详细介绍了TCP通信的特性,包括三次握手和四次挥手的过程。在三次握手中,客户端首先发送SYN报文,服务器回复SYN+ACK并请求连接,客户端再发送确认包,双方进入ESTABLISHED状态。四次挥手时,主动方发送FIN报文,被动方确认并可能发送剩余数据,然后发送FIN报文,主动方最后确认,确保连接关闭。
348

被折叠的 条评论
为什么被折叠?



