【七日打卡】三次握手概念

简介: TCP一种是面向连接的可靠的传输协议, 那什么是连接呢?用最简单的物理连接举个例子,打比方TCP是根网线,百度和APP是两个小人,网线分别插在百度和APP上后,就建立连接了。但在程序中肯定不是这种物理连接方式的,那什么是程序上的连接呢,这就要从三次握手开始说了。

TCP一种是面向连接的可靠的传输协议, 那什么是连接呢?用最简单的物理连接举个例子,打比方TCP是根网线,百度和APP是两个小人,网线分别插在百度和APP上后,就建立连接了。但在程序中肯定不是这种物理连接方式的,那什么是程序上的连接呢,这就要从三次握手开始说了。

TCP是如何保证可靠的? 由于数据是通过内核中的传输控制层去做数据包的创建和验证, 当请求数据发送失败的时候,内核无需人工介入会进行重传,使得数据有来有回,所以才保证了TCP是一个可靠的协议。更多内容参考=>TCP协议如何保证可靠传输

首先你要知道的是

三次握手不一定能得到连接,得到的是另外一个东西(资源),而三次握手后开辟的资源就叫做连接

下面这幅图就说明了连接建立前要做的一些工作:

  1. app调用操作系统内核kernel告知它我需要和某某建立连接
  2. 调用内核当中的传输控制层去做数据包的创建和验证
  3. 经过三次握手后,建立TCP协议连接
  4. 4dde936b12066f888a166a809a3a959.png

三次握手过程

其实三次握手是针对客户端来说的,对服务端来说并不是三次握手,举2个例子来说明比较下就知道了。

看图说话

56764626c41482576c828a8854f4961.png

  1. C(客户端)发送syn标识的消息給S(服务端)
  2. S 把收到的syn标识 + 自己的ack标识发给 C
  3. S 把 C 的 ack标识发回给C

基于以上三步,就成功建立起来了一个连接

可能有的小伙伴还是不太能懂,我换个例子

  1. 蒋老湿读者说:“有人在看蒋老湿的文章吗?有点话评论下 在看! ”
  2. 读者蒋老湿评论:“在看!在看!”
  3. 蒋老湿读者说:“别评论了,我知道了”

这个过程就说明了读者和蒋老湿之间双方建立起了一个可以沟通的通道,我们把这个通道叫做连接

相关文章
|
4月前
|
网络协议 安全
三次握手和四次握手到底有啥区别?
三次握手和四次握手到底有啥区别?
35 0
|
6月前
|
网络协议
TCP连接的关键之谜:揭秘三次握手的必要性
在这篇文章中,我们将深入探讨TCP连接建立过程中的关键步骤——三次握手。三次握手是确保客户端和服务端之间建立可靠连接的重要过程。通过三次握手,双方可以确认彼此的接收和发送能力,并同步双方的初始序列号,从而确保连接的稳定性和可靠性。文章还解释了三次握手的原因,它可以避免历史重复连接的初始化,确保双方都收到可靠的初始序列号,并避免资源浪费和消息滞留的问题。通过三次握手,TCP连接可以保证数据的准确性和完整性,确保通信的可靠性。
TCP连接的关键之谜:揭秘三次握手的必要性
|
7月前
|
网络协议 安全 Linux
TCP 三次握手与四次挥手深入探究(大图解)
TCP 三次握手与四次挥手深入探究(大图解)
187 1
|
缓存 网络协议 安全
【图解】三次握手,四次挥手 —— 用心看这一篇就够了
【图解】三次握手,四次挥手 —— 用心看这一篇就够了
2061 0
【图解】三次握手,四次挥手 —— 用心看这一篇就够了
|
前端开发
前端学习案例1-三次握手和四次挥手1
前端学习案例1-三次握手和四次挥手1
46 0
前端学习案例1-三次握手和四次挥手1
|
前端开发
前端学习案例2-三次握手和四次挥手2
前端学习案例2-三次握手和四次挥手2
62 0
前端学习案例2-三次握手和四次挥手2
|
网络协议 安全 Linux
Linux网络原理及编程(5)——第十五节 TCP的连接(三次握手、四次挥手)
本节我们来介绍TCP连接的建立和断开。我们主要介绍两个过程、两个状态。
176 0
Linux网络原理及编程(5)——第十五节 TCP的连接(三次握手、四次挥手)
|
缓存 网络协议 算法
彻底弄懂TCP协议:从三次握手说起2
说到 TCP 协议,相信大家都比较熟悉了,对于 TCP 协议总能说个一二三来,但是 TCP 协议又是一个非常复杂的协议,其中有不少细节点让人头疼点。本文就是来说说这些头疼点的,浅谈一些 TCP 的疑难杂症。那么从哪说起呢?当然是从三次握手和四次挥手说起啦,可能大家都知道 TCP 是三次交互完成连接的建立,四次交互来断开一个连接,那为什么是三次握手和四次挥手呢?反过来不行吗?
194 0
彻底弄懂TCP协议:从三次握手说起2
|
缓存 网络协议 Unix
彻底弄懂TCP协议:从三次握手说起1
说到 TCP 协议,相信大家都比较熟悉了,对于 TCP 协议总能说个一二三来,但是 TCP 协议又是一个非常复杂的协议,其中有不少细节点让人头疼点。本文就是来说说这些头疼点的,浅谈一些 TCP 的疑难杂症。那么从哪说起呢?当然是从三次握手和四次挥手说起啦,可能大家都知道 TCP 是三次交互完成连接的建立,四次交互来断开一个连接,那为什么是三次握手和四次挥手呢?反过来不行吗?
235 0
彻底弄懂TCP协议:从三次握手说起1
|
网络协议 安全 Windows
图解网络:TCP三次握手背后的原理,为啥两次握手不可以?
TCP是 Internet 协议套件的主要协议之一,它位于应用层和网络层之间,用于提供可靠的连接服务,是一种面向连接的通信协议,有助于通过网络在不同设备之间交换消息。
134 0
图解网络:TCP三次握手背后的原理,为啥两次握手不可以?