【http】简述TCP三次握手和四次挥手

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AC_greener/article/details/88774109

三次握手是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。

可以想象两人用对讲机交谈。

A:我准备好了你准备好了吗,收到请回答。
B:收到收到,我也准备好了,收到请回答。
A:收到收到

四步挥手
客户端:“兄弟,我这边没数据要传了,咱关闭连接吧。”

服务端:“收到,我看看我这边有木有数据了。”

服务端:“兄弟,我这边也没数据要传你了,咱可以关闭连接了。”

客户端:“好嘞。”

在这里插入图片描述

为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。
而关闭连接时,当收到客户端的FIN报文时,仅仅表示客户端不再发送数据了但是还能接收数据,服务端也未必全部数据都发送给对方了,有可能还会发送一些数据给客户端后,再发送FIN报文给客户端来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。

猜你喜欢

转载自blog.csdn.net/AC_greener/article/details/88774109