tcp连接/断开过程详述

tcp连接/断开过程详述

tcp是面向连接的,有三次握手四次断开的过程(左方为服务器,右方为客户机)
 

建立连接:(客户机发起连接)
1.客户机发送一个syn位置为一的数据包,以及端口号给服务器.此时客户机的连接被置为syn_sent状态
2.服务器接收到请求后,以一个syn和ack位置为一的tcp包作为回应.服务器的连接被置为syn_rcvd状态
3.客户机收到回应后,回应一个ack被置为一的tcp包,客户机状态转入established.

断开连接:(客户机发起断开请求)四次断开是由于tcp的半关闭造成的,即一方已经断开连接二另一方没有断开
1.客户机发送一个带有fin为的包给服务器,然后进入fin_wait_1状态.而此时服务器处于close_wait状态
2.服务器收到后,回应一个ack到客户机.此时客户机进入fin_wait_2状态
3.服务器继续回应一个Fin的包,服务器进入last_ack状态,而客户机进入time_wait状态
4.客户机发送ack给服务器,客户机进入cloesed状态.
最终双方连接终止.

你可能感兴趣的:(tcp连接/断开过程详述)