TCP的三次握手与四次挥手

三次握手

第一次握手

建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认

第二次握手

服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态

第三次握手

客服端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

四次挥手

第一次挥手

客户端发送一个fin包(fin = j),用来关闭客户端到服务器的数据传送。

第二次挥手

服务器收到这个fin, 他发回一个ack包 (ack= j+1),确认已经收到客户端发来的syn包

第三次挥手

服务器关闭客户端的连接,发送一个FIN(fin = k)给客户端。

第四次挥手

(4) 客户端发回ack(ack = k+1)确认,关闭服务器的连接

注释
syn:同步序列编号
SYN_SENT:请求连接
ack:是确认字符,在数据通信中,接收站发给发送站的一种传输类[控制字符]。表示发来的数据已确认接收无误。
YN_RECV:是指,服务端被动打开后,接收到了客户端的SYN并且发送了ACK时的状态。
ESTABLISHED:TCP连接成功

你可能感兴趣的:(TCP的三次握手与四次挥手)