TCP、三次握手、四次挥手(图解)

2021/11/26 23:13:03

本文主要是介绍TCP、三次握手、四次挥手(图解),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。TCP使用三次握手协议建立连接,使用四次挥手终止连接。具体过程如下所示:

1、三次握手

(1)客户端与服务端建立连接时,需要发送请求连接消息,请求号syn=1,序列号seq=123(假设为123),此时客户端进入SYN_SEND状态;

(2)服务端接收数据后,会发送确认操作(确认号ack=1,ack=123+1),然后服务端会发送与客户端建立连接的请求(请求号syn=1,序列号seq=456(假设为456)),此时服务端进入SYN_RECV状态;

(3)客户端收到数据之后,会再返回一个确认的操作(确认号ack=1,ack=456+1),至此服务端到客户端的链路建立成功;此时客户端进入ESTABLISHED状态,服务端收到ack后进入ESTABLISHED状态。

 2、四次挥手

(1)客户端发送完数据之后,向服务器请求断开连接,此时客户端进入FIN_WAIT_1状态;

(2)服务端收到FIN包之后,回复ACK包表示已经收到,但此时服务端可能还有数据没发送完成,此时服务端进入CLOSE_WAIT状态;客户端进入FIN_WAIT_2状态;

(3)服务端数据发送完成之后,发送FIN包给客户端,此时服务端进入LAST_ACK状态;

(4)客户端收到FIN包后,回复一个ACK包,此时客户端进入TIME_WAIT状态;

(5)服务端接收到ACK包后,此时服务端进入CLOSE状态。

 

 

 

 

 



这篇关于TCP、三次握手、四次挥手(图解)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程