网站建设中文百,腾讯微信官网,做行业网站投资多少,wordpress主题栏是什么意思网上已经有很多解释了#xff0c;就不瞎说了#xff0c;Mark一些链接作为自己的学习笔记吧。 学习参考链接1 学习参考链接2 学习参考链接3 学习参考链接4
为什么要3次握手
防止已过期的连接请求报文突然又传送到服务器#xff0c;因而产生错误。 Client发生一个请求连…网上已经有很多解释了就不瞎说了Mark一些链接作为自己的学习笔记吧。 学习参考链接1 学习参考链接2 学习参考链接3 学习参考链接4
为什么要3次握手
防止已过期的连接请求报文突然又传送到服务器因而产生错误。 Client发生一个请求连接报文可能因为网络延迟等原因没有送达到server中。但是当这个client的请求报文送达到server时如果没有三次握手的话server就会直接发数据可client这样会导致server资源的浪费。这个问题的本质是, 信道不可靠。 信道不可靠但是通信双发需要就某个问题达成一致. 而要解决这个问题, 无论你在消息中包含什么信息, 三次通信是理论上的最小值. 所以三次握手不是TCP本身的要求, 而是为了满足”在不可靠信道上可靠地传输信息”这一需求所导致的. 请注意这里的本质需求,信道不可靠, 数据传输要可靠. 三次达到了, 那后面你想接着握手也好, 发数据也好, 跟进行可靠信息传输的需求就没关系了. 因此,如果信道是可靠的, 即无论什么时候发出消息, 对方一定能收到, 或者你不关心是否要保证对方收到你的消息, 那就能像UDP那样直接发送消息就可以了.”。
为什么要4次挥手
确保数据能够完成传输。 关闭连接时当收到对方的FIN报文通知时它仅仅表示对方没有数据发送给你了但未必你所有的数据都全部发送给对方了所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后再发送FIN报文给对方来表示你同意现在可以关闭连接了所以它这里的ACK报文和FIN报文多数情况下都是分开发送的。