TCP三次握手
按层次分,TCP位于传输层,提供可靠的字节流服务。为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略。
握手过程中使用了 TCP 的标志(flag)—SYN(synchronize)和ACK(acknowledgement)。
发送端首先发送一个带 SYN 标志的数据包给对方。(第一次握手)
接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息。(第二次握手)
最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束。(第三次握手)
三次握手的主要目的就是发送端和接收端双方确认自己与对方的发送与接收均是正常的。
TCP四次挥手
为了断开TCP连接,需要采用四次挥手策略。
客户端发送一个FIN,用来关闭客户端到服务器的数据传送。(第一次挥手)
服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。(第二次挥手)
服务器发送一个FIN给客户端,关闭与客户端的连接。(第三次挥手)
客户端发送ACK报文确认,并将确认序号设置为收到序号加1。(第四次挥手)