三次握手其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个数据包(没有数据)。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常。
第一次握手:客户端先发送一个标志位为SYN(请求)的数据包且将其置为1,给自身初始序列号置为X,seq=X
第二次握手:服务端收到SYN数据包,发送一个标志位为ACK(确认)的数据包,确认序列号置为X+1并且也发送一个标志位为SYN的数据包,初始序列号置为Y,seq=Y
第三次握手:客户端接收后也发送ACK确认数据包且将SYN标志位置为0,但初始序列号为X+1,确认序列号为Y+1
经过三次握手后就能相互间发送数据包通信了