三次握手:TCP客户进程向服务器发出连接请求报文,TCP服务器收到请求报文后,同意连接,则发出确认报文,TCP客户进程收到确认后,还要向服务器给出确认。
为何需要第三次:避免在网络结点中滞留过久的连接请求又重新回到了服务器,若是2次,服务器不知道这个请求是无效的,会向客户端发送确认报文,会造成重复的连接建立,导致不必要的错误和资源的浪费。采用的是三次握手,就算是那一次失效的报文传送过来了,服务端接受到了那条失效报文并且回复了确认报文,但是客户端不会再次发出确认。由于服务器收不到确认,就知道客户端并没有请求连接。
四次放手:首先是客户端主动发送断开连接报文,服务器端发送确认报文;然后服务器发送断开连接报文,客户端回复确认报文。
详细: