TCP三次握手
- TCP是面向链接的,双方需要链接上才能进行数据传输,需要先保证通信的客户端和服务端都有发送数据和接受数据的能力
- 当客户端第一次发送SYN报文时,可以确认客户端是有发送数据能力的,但是这时不能确认客户端是否有接收数据的能力,以及服务端是否有接收数据和发送数据的能力(第一次握手)
- 当服务端接收到SYN报文时,这时可以确定服务端是具有接收数据能力的
- 当服务端回复SYN和ACK报文时这时候可以确定服务端是具有发送数据能力的。到此服务端是有了接收和发送数据的能力(第二次握手)
- 当客户端接收到服务端的回复时,就可以确定客户端是具有接收和发送数据的能力,但是此时服务端不知道客户端是否接收到数据,即服务端还不知道客户端有没有接收数据的能力,所以客户端需要回复一个ACK报文(即第三次握手)
- 至此就确定了客户端和服务端都具有接收数据和发送数据的能力