ScholarGate
助手

传输控制协议

传输控制协议是互联网的面向连接的传输协议,它在两个进程之间提供可靠、有序、全双工的字节流,并内置流量控制和拥塞控制功能。

用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
下载幻灯片
Learn & explore
视频即将推出

Definition

传输控制协议是一种面向连接的传输层协议,它在应用程序进程之间提供可靠、有序、经过错误检查的字节流传输,并具有连接建立和拆除、流量控制和拥塞控制功能。

Scope

本主题专门涵盖TCP:其报文段结构、建立连接的三次握手和关闭连接的程序、序号和确认号、累积确认、带有自适应超时估计和快速重传的重传机制,以及通过接收窗口实现的流量控制。它将TCP定位为可靠数据传输原理和连接管理的具体实现。其拥塞控制行为在此处进行了总结,但在拥塞控制主题中进行了深入探讨。

Core questions

  • 三次握手实现了什么,以及连接是如何关闭的?
  • TCP的序号和确认号如何跟踪字节流?
  • TCP如何估计超时并使用快速重传从丢失中恢复?
  • 接收窗口如何实现流量控制?
  • TCP如何将可靠性、流量控制和拥塞控制结合在一个协议中?

Key concepts

  • 面向连接服务
  • 三次握手
  • TCP报文段结构
  • 序号和确认号
  • 累积确认
  • 重传超时估计
  • 快速重传
  • 流量控制和接收窗口
  • 字节流抽象

Key theories

连接管理
TCP通过三次握手建立连接,同步初始序号,并通过优雅的交换关闭连接,为每一端提供一致的状态,以实现可靠的全双工字节流。
可靠的字节流传输
TCP对每个字节进行编号,使用累积确认和自适应重传计时器,并在收到重复ACK时应用快速重传,从而传输可靠、有序的流,而非离散消息。
通过接收窗口进行流量控制
接收方通告其拥有的缓冲区空间大小,发送方将其在途数据限制在该窗口内,从而独立于网络拥塞,防止快速发送方压垮慢速接收方。

Clinical relevance

TCP承载了绝大多数可靠的互联网流量,包括网页、电子邮件和文件传输,因此其行为直接决定了这些应用程序的性能。其连接建立增加了延迟,这是新协议试图减少的;其流量和拥塞控制影响吞吐量;理解TCP对于性能调优、防火墙和NAT行为以及诊断连接停滞或缓慢至关重要。

History

TCP起源于1974年的Cerf-Kahn互联网互联协议,最初是一个单一协议,后来分拆为TCP和IP。它于RFC 793(1981年)中标准化,并在数十年间不断完善——包括自适应超时、快速重传和恢复、窗口缩放以及选择性确认——其规范在RFC 9293(2022年)中得到整合和更新。

Key figures

  • Vinton Cerf
  • Robert Kahn
  • Van Jacobson

Related topics

Seminal works

  • cerf1974
  • rfc9293
  • kurose2021

Frequently asked questions

什么是TCP三次握手?
它是开启TCP连接的交换过程:客户端发送一个带有其初始序号的SYN报文,服务器回复一个SYN-ACK报文以确认并给出自己的序号,客户端发送一个最终的ACK报文。此后,两端就起始序号达成一致,并可以可靠地交换数据。
TCP与UDP有何不同?
TCP是面向连接的,提供可靠、有序的字节流,并具有流量和拥塞控制功能,但代价是设置延迟和开销。UDP是无连接的,提供最小的、尽力而为的数据报服务,不提供任何这些保证,这使其更轻量、延迟更低,但将可靠性留给应用程序处理。

Methods for this concept

Related concepts