TCP的三次握手实际就是TCP通信的连接
三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。
三次握手过程:
第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;
第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;
第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。
为什么要有三次握手过程:
为什么要三次?通俗一点来说,原因是:客户端和服务端要确认彼此都有收发的能力。
第一次握手:客户端发出连接请求,服务端收到连接请求,服务端知道客户端能够与之连接并发送
第二次握手:服务端收到第一次客户端发出的连接请求后,向客户端表明收到连接请求响应并连接请求,客户端知道服务端能发送和接收。
第三次握手:客户端收到服务端对它第一次请求回应,发送收到连接请求响应,服务端收到后,服务端知道客户端有接收能力。
服务端和客户端都知道彼此有收发能力后,才可建立连接。所以,至少要三次才能建立连接。