什么是TCP,有什么特点,三次握手原理详解

2023年 7月 30日 50.7k 0

天天都在谈的TCP三次握手,大家还知道它的原理吗?今天不念就带着大家了解一下,对这块不熟悉的童鞋,可以花费你宝贵的三分钟看一下本文留个印象。

让我们直接开始!

一、什么是TCP?

  • 英文全称:Transmission Control Protocol
  • 中文名称:传输控制协议
  • 是 IP 网络中用于错误控制的协议
  • 运行在OSI参考模型第4层:传输层

二、TCP 特点

2.1 面向连接

上面提到TCP是英文“Transmission Control Protocol”的缩写,“Transmission”翻译为传输或传送,所以TCP意为控制传输的协议,这里的传输是连接,与通信的对方建立虚拟的通信路径,这里称为“面向连接”,TCP具有面向连接的特性,通过控制连接来实现安全、高可靠的通信。

2.2 可靠

TCP通过控制连接来实现高可靠的通信,数据通信的可靠性意味着数据不会丢失或乱序,TCP在通信前进行了充分的准备,保证了可靠的通信,因此,在使用TCP时,应用端不需要有保证可靠性的机制。

2.3 全双工通信

传输数据时,如果有两条路由,则可以同时向不同方向发送和接收数据,但如果只有一条路由,则不能同时发送数据,存在两条路径的状态称为全双工通信,只有一条路径的状态称为半双工通信。

由于TCP能够进行全双工通信,两个信号可以同时顺利传输,不会像半双工通信那样在中间发生碰撞。

2.4 同步序列号SYN和ACK号

在 TCP 中,数据以小块的形式发送,出于这个原因,我们有一个“序列号”和一个“ACK 号”作为管理细碎数据恢复顺序的机制,在通信的时候,SYN位是发送给连接请求目的地的,接收方也返回SYN来同步这两个数,然后返回ACK。

三、TCP三次握手

图片[1]-什么是TCP,有什么特点,三次握手原理详解-不念博客

在正式讲三次握手前,我们用生活的例子预热一下“三次握手”的概念。

比如小刘是个刚毕业的应届生,每周要定时向他的上级汇报工作。

在一个夜黑风高的夜晚,小刘潜入他领导办公室准备汇报工作。

小刘:领导,我要向你汇报最近的工作情况,你能听到我说的话吗?

领导:可以听到,小刘,我说话你听见吗?

小刘:听见!听见!那我开始了。

小刘:xxxxxx。

上面就是生活中三次确认的过程,那么在TCP中,三次握手也很类似。

在实际传输数据之前,TCP会在开始通信之前确认“是否与对方正常连接?”。

TCP 头信息有 SYN 和 ACK 等标志,通过打开/关闭这些标志,它们被用作相互确认信息。

图片[2]-什么是TCP,有什么特点,三次握手原理详解-不念博客

上面的图就是TCP三次握手的简易过程,可以解释为:

  • SYN:是否开始通信的确认;
  • SYN+ACK:同意开始通信的信号;
  • ACK:开始通信的信号;
  • ESTABLISHED:建立TCP连接。

这就是TCP三次握手,总体来说还是很简单的,主要是要记住上面这张图,那么对于三次握手的原理,你就很容易掌握。

四、总结

本文主要给大家介绍了:

  • 什么是TCP?
  • TCP 特点
  • 面向连接
  • 可靠
  • 全双工通信
  • 同步序列号SYN和ACK号
  • TCP三次握手

最后感谢您的阅读,如果本文对您有所帮助,可以收藏并转发给您的朋友,有任何问题欢迎在下方评论区与我讨论!

相关文章

如何在 Linux 中使用 logname 命令?
为什么有 HTTPS?HTTPS 如何实现安全通信?
HTTPS的TSL握手流程是什么
华为无线网络射频调优及WLAN跨VLAN的三层漫游示例
502错误是什么、应该怎么排查?
HTTP3为什么抛弃了经典的TCP,而选择QUIC

发布评论