三次握手(建立连接)四次挥手(断开连接)


三次握手,四次挥手

三次握手四次挥手是TCP协议中关于连接管理机制的。在正常情况下, TCP要经过三次握手建立连接, 四次挥手断开连接。那么三次握手及四次挥手到底是怎么一回事呢?
一个小问题:
为啥要建立连接?
1.更好的保证可靠性(建立连接的过程就是在验证通信双方的发送能力和接收能力是否正常)
2.协商一些重要参数
具体是怎么建立连接的?
给大家举一个打电话的例子。这个例子是为了说明连接可以验证双方都具有通信能力。
在这里插入图片描述
下面这个图就类似于在协商一些重要参数。(比如在TCP中,TCP的序号不是从0开始的,初始值是双方协商出来的)
在这里插入图片描述
TCP中真实的连接过程:
SYN:同步报文段
ACK:确认报文段
在这里插入图片描述
四次挥手
在这里插入图片描述

FIN:结束报文段

在这里插入图片描述
有朋友肯定好奇为什么不把ACK和FIN一块发送呢?
这是因为主机B收到FIN后,内核就会自动发送ACK过去,及时给与响应。
但此时主机B接收缓冲区中可能有一些积压数据需要处理,等到处理完后,才会发送FIN。

总结:
这就是关于三次握手和四次挥手我的理解。如果有不对的希望大家多多指教。