SuperYan - TCP 2022-12-28T22:12:26+08:00 Typecho https://www.hblyan.com/feed/atom/tag/TCP/ <![CDATA[【简述易懂】什么是”三次握手“ ”四次握手“?TCP为什么要握手]]> https://www.hblyan.com/archives/89.html 2022-12-28T22:12:26+08:00 2022-12-28T22:12:26+08:00 SuperYan http://www.hblyan.com

三次握手和四次握手都是为了全双工TCP协议建立和断开连接的。

TCP 提供 面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。

什么是连接?

平时给手机充电的时候充电线(规格型号)与手机之间就是建立连接然后传输电量,而两个设备之间传输数据则是通过物理线路(TCP协议)建立连接。

所以这个开始充电与断开充电就可以称为一次连接,时间就是充电的时间。数据传输则是一样的概念。

再比如说,生活中去邻居家蹭饭,从敲门进屋到出屋的过程我们也可以称为连接,而在屋中的会话过程就是建立连接,也可以称为Session

我说: ”老王,在不在家,我可以来吃顿饭吗?“

客人: ”正在做呢,先进来“

我说: ”好的“

在老王家屋里等待并吃个饭(此处省略好多事情) Session

我说: ”吃饱了,那我先走了“

老王说: ”这就要走了啊,再吃点“

老王说: ”诶呀,这肚子吃的这么撑了,确实是吃饱了“

我说: ”那我就先走了“

从上面的列子可以看出,握手其实就是两个人见面和离开的基本打招呼和确认信息的过程。

三次握手

当客户端需要向服务端请求数据的时候,我们首先就需要

  • 客户端向服务端发起请求
  • 服务端回应表示可以给你返回数据,准备好接收了吗
  • 客户端回应表示可以接收数据

三次握手

四次握手

  • 客户端向服务端发出想要断开连接的请求
  • 服务端相应表示收到断开请求
  • 服务端做出断开
  • 客户端发送断开确认

四次握手

]]>