网工干货知识

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

传输控制协议(TCP)

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

TCP(传输控制协议)是一种允许设备在网络上可靠地通信的协议。它能够确保数据能够正确地、按正确的顺序到达目的地,即使网络中的某些部分速度较慢或不可靠也是如此。

  • 它位于OSI模型的传输层(第4层),是用于互联网通信的TCP/IP协议族中的重要组成部分。
  • 在数据传输开始之前,TCP会在发送方和接收方之间建立一种逻辑连接。
  • 它通过使用确认机制和序列号来确保数据能够准确、按照发送时的顺序被传输。
  • TCP通过校验和来检测错误,并重新传输丢失或损坏的数据包,从而确保数据的完整性。
  • 它能够控制数据传输速率,从而避免给接收端带来过大的负担。同时,它还能适应网络拥塞的情况,从而实现高效通信。

连接建立与终止

连接建立与终止描述了两个设备如何开始和结束可靠的通信会话的过程(主要应用于TCP协议中)。

连接建立(三方握手)

TCP是一种面向连接的协议,这意味着在发送任何数据之前,必须先建立连接。这一过程是通过“三次握手”的方式来实现的。

  1. SYN(同步):发送方向接收方发送一个SYN段,以请求建立连接。
  2. SYN-ACK(同步确认):接收方以SYN-ACK段进行响应,表示确认了该请求,并同意建立连接。
  3. ACK(确认):发送方会回复一个ACK信号,以确认连接已经建立。

这个过程确保了发送方和接收方都处于准备就绪且同步状态,从而避免了在数据传输过程中出现数据丢失或顺序混乱的情况。

2. 连接终止(四路握手过程)


关闭TCP连接需要经历四步握手过程,以确保双方都能安全地完成数据的传输。

  1. 结束/完成:FIN希望关闭连接的发送方,会向接收方发送一个FIN段。
  2. ACK(确认):接收方通过ACK信号来确认FIN的接收。
  3. 来自“Receiver”的FIN(完成/结束):随后,接收方在准备关闭连接时,会发送自己的FIN信号。
  4. ACK(确认):发送方通过发送ACK信号来确认接收方的响应,从而完成整个通信过程。

这样就能确保在连接完全关闭之前,所有剩余的数据都能被传输出去。

工作/运作

1. 分割/划分

  • 当应用程序发送数据(如电子邮件或文件)时,TCP会将数据拆分成较小的片段,这些片段被称为“段”。
  • 每个段都有一个标题,其中包含了序列号、端口以及各种标志等信息。
  • 这样,就可以更轻松地通过网络传输大量数据了。

2. 通过IP地址进行路由选择

  • 一旦TCP创建了数据包,这些数据包就会被传递给IP协议。
  • IP负责将数据包从发送方传输到接收方,这一过程可能会经过多个路由器的处理。
  • TCP并不关心具体的路径选择方式——路由和地址分配的工作由IP协议负责。

3. 在接收端重新组装

  • 这些段位可能会以不同的顺序到达,因为它们在网络中可能会经过不同的路径。
  • 接收端使用的TCP协议通过序列号来重新整理各个数据包,从而将它们按正确的顺序组合起来,进而还原出原始的消息内容。

4. 致谢/感谢声明

  • 接收方会在接收到每个正确传输的段(或一组段)时,发送一个ACK信号。
  • 这向发送方表明,数据已经安全送达。
  • 如果未能收到ACK响应,TCP会认为该数据段已经丢失,从而触发重新传输操作。

5. 重传

  • 如果发送者在规定的时间内没有收到确认回复,那么它将重新发送缺失的片段。
  • 这样就能确保没有任何数据丢失,从而使得TCP协议具有可靠性。

6. 流量与错误控制

  • 流量控制:TCP通过滑动窗口机制来防止发送方过快地发送大量数据,从而避免接收方无法及时处理这些数据。
  • 错误控制:TCP会通过校验和来检测损坏的数据段,并在必要时请求重新传输这些数据段。
  • 这些机制共同作用,能够确保数据的可靠且高效地传输,同时不会给网络或接收端带来过大的负担。

应用程序/软件

1. 网页浏览(HTTP/HTTPS)

  • 网站通过发送和接收被称为“数据包”的小段数据来实现通信。
  • TCP能够确保这些数据包按顺序且完整地传输到目的地。这样一来,页面就能正常加载,而不会出现图片缺失或内容损坏的情况。
  • HTTPS确实增加了加密功能,不过在底层,TCP仍然负责确保数据的可靠性。

2. 电子邮件(SMTP、IMAP、POP3)

  • 在发送和接收电子邮件时,所有的消息数据都必须保持完整无缺。
  • TCP能够确保电子邮件中的任何部分都不会丢失或损坏,因此附件和文本内容都能被正确接收。

3. 文件传输(FTP、SFTP)

  • 通过网络传输文件时,会涉及大量的数据。
  • TCP将文件分割成多个段,然后在目的地对这些段进行重新排序。对于丢失的段,TCP会重新传输它们,从而确保文件能够以与发送时完全相同的形式被接收。

4. 远程终端访问(SSH、Telnet))

  • 当你连接到远程计算机时,你可以实时发送命令并接收相应的响应。
  • TCP能够确保每一个按键操作或命令都能被可靠地传输,并且以正确的顺序到达目的地。这样,就可以维持稳定的连接,从而实现远程管理。

优点/好处

  • 无错误的数据传输:TCP能够在数据传输过程中检测错误,并重新传输丢失或损坏的数据,从而确保数据的准确传递。
  • 已订购的配送服务:数据包以发送时的相同顺序被接收,从而保持了数据的连贯性。
  • 流量控制:通过控制数据传输的速度,防止发送方给接收方带来过大的数据负担。
  • 拥塞控制:根据网络流量状况来调整发送速度,从而减少数据包丢失和拥塞现象。
  • 可靠的通信:确保数据的完整且可靠的传输,因此非常适合用于关键应用。
  • 得到了广泛的支持,且具有标准化特征。TCP是一种全球公认的协议,得到了所有主流操作系统和网络设备的支持。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

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