TCP的三次握手与四次挥手

来源:互联网 发布:jsp 访问数据库 编辑:程序博客网 时间:2024/05/17 02:52

参考资料《计算机网络》谢希仁


这里写图片描述

为什么是三次握手?

目的:防止已失效的连接请求又传到了服务器端。
场景(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的资源也就不会浪费。

0 0
原创粉丝点击