TCP(传输控制协议)是一种面向连接的协议,用于在网络中可靠地传输数据。TCP使用三次握手和四次挥手来建立和终止连接。
三次握手(Three-Way Handshake):
a. 第一步:客户端发送一个带有SYN(同步序列号)标志的数据包给服务器,表示客户端请求建立连接,并选择一个初始序列号(ISN)。
b. 第二步:服务器收到SYN数据包后,回复一个带有SYN/ACK标志的数据包给客户端,表示同意建立连接,并为连接分配资源,同时选择自己的初始序列号。
c. 第三步:客户端收到服务器的SYN/ACK数据包后,向服务器发送一个带有ACK(确认序列号)标志的数据包,表示确认建立连接。双方连接建立完成,可以开始传输数据。四次挥手(Four-Way Handshake):
a. 第一步:当客户端想要关闭连接时,发送一个带有FIN(结束)标志的数据包给服务器,表示不再发送数据。
b. 第二步:服务器收到FIN后,回复一个带有ACK标志的数据包给客户端,表示确认收到关闭请求。
c. 第三步:服务器完成自己的数据发送后,发送一个带有FIN标志的数据包给客户端,表示服务器也准备关闭连接。
d. 第四步:客户端收到服务器的FIN后,发送一个带有ACK标志的数据包给服务器,表示确认收到关闭请求。双方连接关闭完成。
通过三次握手,客户端和服务器建立起可靠的连接,在连接关闭时通过四次挥手逐步关闭连接。这种方式可以确保数据的可靠传输和连接的正确关闭,保证通信的完整性。