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

古城微笑少年丶 2022-02-28 02:24 297阅读 0赞

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

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

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

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

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

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

客户端:“好嘞。”

在这里插入图片描述

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

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

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 TCP握手挥手

    TCP三次握手及释放连接过程(“三次握手”和“四次挥手”) TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。

    相关 tcp握手挥手

    1、为什么TCP采用3次握手而不是2次或4次握手 原因1:双向连接,至少要三次握手 其实问题本质是信道不可靠,但是通信双方需要就某个问题达成一致,而要解决这个问题,无论