【TCP】三次握手(最强详解!!通俗易懂!!)

这篇具有很好参考价值的文章主要介绍了【TCP】三次握手(最强详解!!通俗易懂!!)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先来了解一下SYN和ACK

SYN和ACK就是两个用于握手和确认建立连接的信号量

SYN

就是同步的意思,大概表示的就是发起请求

  • 可以将SYN视为“打招呼”或“发起请求”的信号
  • 在TCP的三次握手过程中,客户端发送一个带有SYN标志的包给服务器,表示客户端请求建立连接。
  • SYN包中包含一个初始序列号(Initial Sequence Number,ISN),用于在数据传输中唯一标识每个字节。
  • 客户端选择一个随机的ISN,并将其放入TCP头部的序列号字段,向服务器发起连接请求。

ACK

为确认的意思,大致表示的是收到消息

  • 可以将ACK视为“收到消息”的信号
  • 在TCP通信中,接收方用ACK标志来确认已经接收到的字节数据。
  • 当接收到SYN包后,服务器会回复一个带有SYN/ACK标志的包给客户端,表示确认收到了客户端的请求,并同意建立连接。
  • 这个包中,服务器选择一个随机的ISN作为自己的初始序列号,并将确认号字段设置为客户端的ISN加1,表示已经成功接收到了SYN包。

然后在具体的看TCP三次握手建立连接的流程

第一次握手 (SYN):

  • 客户端向服务器发送一个带有 SYN(同步)标志的包,表示客户端请求建立连接。
  • 客户端选择一个随机的初始序列号(ISN)作为起始序列号,并将该值放入TCP头部的序列号字段。
  • 客户端还设置了窗口大小(用于流量控制)等其他参数。

syn,ack,tcp/ip,网络协议,网络,计算机网络,http,信息与通信

syn,ack,tcp/ip,网络协议,网络,计算机网络,http,信息与通信

第二次握手 (SYN+ACK):

  • 服务器接收到客户端发来的SYN包后,会回复一个带有 SYN/ACK 标志的包,表示确认收到客户端的请求,并同意建立连接。
  • 服务器也会选择一个随机的初始序列号作为自己的起始序列号,并将该值放入TCP头部的序列号字段。
  • 服务器还会设置窗口大小和其他参数,并将确认号字段设置为客户端的初始序列号加1表示接收到了SYN包。

syn,ack,tcp/ip,网络协议,网络,计算机网络,http,信息与通信

第三次握手 (ACK):

  • 客户端收到服务器发来的SYN/ACK包后,会向服务器发送一个带有 ACK(确认)标志的包,表示确认服务器的同意,并告知服务器客户端已经准备好发送数据。
  • 在这个包中,客户端会将确认号字段设置为服务器的初始序列号加1,表示接收到了SYN/ACK包。
  • 服务器收到ACK包后,会确认客户端的接收能力和连接状态。
  • 从此时起,TCP连接建立完成,双方可以开始进行数据传输。

syn,ack,tcp/ip,网络协议,网络,计算机网络,http,信息与通信

 最终,TCP连接成功建立syn,ack,tcp/ip,网络协议,网络,计算机网络,http,信息与通信

再换一种最最通俗的说法!

A:我准备好了(SYN)

B:我知道了(ACK),我也准备好了(SYN)

A:我知道了(ACK)

        A 与 B 各自在内存中维护着自己的状态变量,三次握手之后,双方的状态都变成了连接已建立(ESTABLISHED)。

最后,想要了解四次挥手的话可以参考我的另外一篇博客

【TCP】四次挥手(最强详解!!通俗易懂!!)_是瑞穗的猫啊的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-774296.html

到了这里,关于【TCP】三次握手(最强详解!!通俗易懂!!)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解TCP的三次握手

    定义 TCP是一种面向连接(连接导向)的、可靠的基于字节流的传输层通信协议。TCP将用户数据打包成报文段,发送后会启动一个定时器,然后另一端收到的数据进行确认、对失序的数据重新排序、丢弃重复数据 特点 TCP是面向连接的传输控制层协议 每一条TCP连接只能有两个端

    2024年02月05日
    浏览(42)
  • 从TCP/IP到TCP连接过程(详解三次握手

    概述 OSI七层模型是一个概念(标准),TCP/IP是一种更加简化和实用的模型 TCP/IP四层模型各层作用 四层模型 功能 协议 应用层 负责处理用户和应用程序之间的通信。例如数据交换的格式和规则,以便不同的应用程序能够相互通信。 HTTP:超文本传输协议,用于Web页面的传输。

    2024年04月17日
    浏览(39)
  • 【TCP】三次握手 与 四次挥手 详解

    在正常情况下,TCP 要经过三次握手建立连接,四次挥手断开连接 服务端状态转化: [CLOSED - LISTEN] 服务器端调用 listen 后进入 LISTEN 状态,等待客户端连接; [LISTEN - SYN_RCVD] 一旦监听到连接请求(同步报文段 SYN),就将该连接放入内核等待队列中,并向客户端发送 SYN + ACK 确认

    2024年02月07日
    浏览(43)
  • TCP报文格式及三次握手详解

    TCP 报文是 TCP 层传输的数据单元,也称为报文段。TCP 报文中每个字段如图所示。  在Wireshark中查看   图中 TCP 报文中每个字段的含义如下: 源端口和目的端口字段 TCP源端口(Source Port) :源计算机上的应用程序的端口号,占 16 位。 TCP目的端口(Destination Port) :目标计算机

    2024年02月08日
    浏览(44)
  • TCP三次握手、四次挥手详解(Wireshark实践)

    ACK (Acknowledge character, 确认字符 )在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。TCP协议规定,只有ACK=1时有效,也规定连接建立后 所有发送的报文的ACK必须为1 。 SYN (synchronization, 同步 ) 在连接建立时用来同步序号。 当SYN=1而

    2024年02月04日
    浏览(40)
  • TCP的三次握手和四次挥手······详解

    三次握手是 建立连接 的过程 如图大致为三次握手的流程图: 当客户端对服务端发起连接时,会 先发一个包 连接请求数据,去询问能否建立连接,该数据包称为 “SYN”包 然后,如果对方同意连接,那么对方将会回复一个 “SYN+ACK”包 客户端收到后,回复一个 “ACK”包 ,连

    2024年02月09日
    浏览(43)
  • TCP协议+三次握手/四次挥手过程(带图详解!!!)

    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的通信协议,工作在 传输层 。 应用程序在使用 TCP 协议之前,必须先建立 TCP 连接。在传送数据完毕后,必须释放已经建立的 TCP 连接。 TCP运输连接主要有三个阶段: 建立TCP连接,也就是三

    2024年02月03日
    浏览(52)
  • 详解TCP/IP的三次握手和四次挥手

    本文章讲解TCP/IP协议的三次握手和四次挥手的流程。 三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。 TCP协议位于传输层,作用是提供可靠的字节流服务

    2024年02月09日
    浏览(50)
  • TCP/IP 三次握手&四次挥手详解,以及异常状态分析

    1.TCP/IP 三次握手 TCP/IP 三次握手过程 主要依靠IP协议报文中的 SYN ACK 两个标识位,SYN 表示是请求连接的报文,ACK 表示确认报文的请求 过程: 客户端处于 CLOSE 状态,服务器处于 LISTEN 状态,客户端向服务器发送请求连接报文,SYN=1 seq=x,发送成功后,客户端状态修改为 SYN_SEND

    2024年02月22日
    浏览(38)
  • 计算机网络面经之TCP三次握手和四次挥手的详解

    1.详细描述三次握手和四次挥手的过程。 2.三次握手可以变成两次握手吗? 3.简述 TCP 连接和关闭的状态转移。 4.简述TCP 四次挥手的 TIME_WAIT状态,以及为什么需要有这个状态 (1)序号(sequence number):seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据

    2024年02月12日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包