三次握手
- 第一次握手就是客户端给服务器端发送一个报文,
- 第二次就是服务器收到报文之后,会应答一个报文给客户端,
- 第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就成功了。
目的:(三次握手)
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常
为什么需要三次握手,两次不行吗?
- 第一次握手:客户端发送网络包,服务端收到了。
- 这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。
- 第二次握手:服务端发包,客户端收到了。
这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。 - 第三次握手:客户端发包,服务端收到了。
这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。 - 因此,需要三次握手才能确认双方的接收与发送能力是否正常。
四次挥手
建立一个连接需要三次握手,而终止一个连接要经过四次挥手(也有将四次挥手叫做四次握手的)。