网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

TCP三方握手过程

更新时间:2026年03月27日   作者:spoto   标签(Tag):

TCP三次握手是一种由传输控制协议(TCP)使用的机制,用于在数据传输之前,建立客户端与服务器之间的可靠连接。这一机制确保了双方都处于同步状态,能够顺利地进行通信。

TCP段结构

一个TCP段由需要发送的数据字节以及由TCP添加到数据中的头部组成,具体结构如图所示:

TCP段的首部大小可以在20到60字节之间。其中,40字节用于存放各种选项。如果不存在任何选项的话,那么首部的长度就是20字节;否则,首部的大小可以达到60字节。首部中的各个字段如下:

1. 源端口/目标端口(各16位):识别正在发送和接收的应用程序。
2. 序列号(32位):该段中第一个字节的位置,用于进行排序。
3. 致谢编号(32位):下一个字节将由接收方收到,这标志着数据已经成功接收。
4. 头部长度(HLEN):头部的大小为5到15个单词,即20到60字节。

5. 控制标志(每个1位):

  • 紧急:紧急数据
  • ACK:致谢有效
  • PSH:立即推送数据
  • RST:重置连接
  • SYN:同步序列号
  • 结束:终止连接

6. 窗口大小:接收方的缓冲区大小(用于流量控制)。
7. CHEXSUM:错误检测(必选)。
8. 紧急提示:紧急数据的位置(如果设置了URG标志的话)。

TCP三路握手过程

通过互联网进行通信时,遵循的是TCP/IP模型。像网页浏览器这样的应用程序使用的是应用层;它们传输的数据会被传递到传输层,而在这里,TCP和UDP则负责数据的传输工作。

  • TCP被广泛使用,因为它能够提供可靠的通信体验。
  • UDP虽然传输速度更快,但可靠性较低(例如,它常用于DNS查询中)。

TCP通过采用“正确认+重传机制”来确保数据传输的可靠性。

  • 每个发送的数据段都必须得到确认。
  • 如果某个数据段丢失或损坏了(通过校验和可以检测出来),接收方会丢弃该数据段,然后发送方需要重新发送该数据段。
  • 步骤1(SYN):在第一步中,客户端需要与服务器建立连接。为此,它发送一个包含SYN(同步序列号)的数据段。这个数据段的作用是向服务器表明:客户端准备开始通信了,并且希望以某个特定的序列号来开始发送数据段。
  • 步骤2:同步握手+确认响应服务器在收到客户端的请求后,会发送带有SYN-ACK信号的响应。ACK表示已经收到了该段数据;而SYN则表明该段数据的起始序列号。
  • 步骤3(确认):在最后一步中,客户端确认了服务器的响应,于是双方建立了可靠的连接,从而可以开始实际的数据传输过程。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料