TCP的三次握手与四次挥手详细介绍

TCP的三次握手与四次挥手详细介绍

为什么是三次握手?

目的:防止已失效的连接请求又传到了服务器端。

场景(A为客户,B为服务器):A向B发送一个请求连接报文,但是这个报文在网络中阻塞了,并没有传到B。所以B也无法向A发送确认报文,在A的重传计时器到达之后,A再次向B发送请求连接报文,这个报文B收到了,并且向A做出应答,建立连接,传输数据。数据传输完后,关闭连接。问题来了,就在B关闭连接之后,A第一次发送的请求连接报文到了(这个报文是已经失效的),B以为A要再次创建一个新连接,于是向A发送确认报文。

如果采用两次握手的话,此时连接已经建立了。但是A根本没有向B发送请求连接报文,所以A并不会理会B的确认。B以为此时连接已经建立了,就会一直等待A向它发送数据。这样B的资源就白白浪费了。

但是采用三次握手就不同了,A不会因为B的确认而向B发送确认,B收不到A的确认,就知道B没有请求连接。B的资源也就不会浪费。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!