- 三次握手
- 客户端发请求给服务端
- 服务端做了确认
- 客户端对确认做确认
- 此后,双方才开始收发数据
- 现在,如果去掉第三次
- 那么,如果客户端 的 建立链接请求 延迟到到达服务端
- 客户端没收到服务端ack,以为超时了,所以认为链接不成功。
- 这个时候服务器又收到了,发ack给客户端
- 客户端发现自己么有建立链接请求,认为ack无效。
- 所以客户端不会收发数据。
- 而服务端以为客户端请求自己ack了,链接就建立了,所以一直等待与客户端通信中。
- 浪费了服务端的资源。
【zz】关于TCP三次握手?二次握手为什么不行?
- 转载
- 建立连接的过程是利用客户服务器模式,假设主机A为客户端,主机B为服务器端。
(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。
(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点