TCP详解 | 青训营笔记

55 阅读3分钟

首先回顾一下计算机网络

计算机网络是指位于地理位置不同的计算机之间,通过通信传递数据和共享资源的系统。它由硬件和软件组成,可以支持不同的通信方式和协议来实现数据的传输和交换。计算机网络可分为局域网、城域网、广域网和因特网。

局域网是指在同一物理范围内的计算机和设备组成的网络,常见的例如家庭和办公室内的WiFi网络。城域网是覆盖城市一定范围的网络,包含了多个局域网,可以看作是多个局域网的扩展。广域网是涵盖更广范围的网络,例如一个国家、一组洲或者全球的网络。

因特网是全球最大的计算机网络,它是由许多自治系统组成的互联网。每个自治系统都有一个唯一的IP地址,它们通过互联网互相连接,形成了一个全球性的网络。

计算机网络需要按照一定的标准和规范来保证通信的可靠性、稳定性和安全性。通信的协议有很多种类,例如TCP/IP协议、HTTP协议、FTP协议等。网络安全是计算机网络最重要的一部分,它包括了数据加密、身份认证、访问控制等技术来保护计算机网络的信息安全。

然后是我们今天的主角TCP

TCP是传输控制协议(Transmission Control Protocol)的缩写,是一种面向连接的、可靠的、基于字节流的传输协议。它是互联网协议套件TCP/IP中的一部分,被广泛用于互联网上的数据传输。

TCP协议的主要特点包括:

  1. 可靠性:TCP协议使用确认应答机制和重传机制,可以保证数据传输的可靠性,确保数据不会丢失或损坏。
  2. 面向连接:在进行数据传输之前,TCP需要在发送方和接收方之间建立一个连接,传输完毕后再断开连接。这种方式确保了数据传输的顺序和完整性。
  3. 基于流:TCP协议将数据看成一连串的字节流,而不是独立的数据报或报文段,因此数据传输更加灵活。
  4. 流量控制和拥塞控制:TCP协议使用滑动窗口机制对数据传输的速率进行控制,以避免网络拥塞和数据丢失。

TCP协议的工作过程可以分为三个阶段:

  1. 建立连接阶段:在该阶段,发送方和接收方通过互相确认,建立一个TCP连接。该过程称为三次握手。
  2. 数据传输阶段:在建立连接后,发送方可以开始向接收方传输数据。传输完成后,接收方会回送一个确认应答,告诉发送方数据已接收。
  3. 断开连接阶段:当发送方已经传输完所有数据后,它会向接收方发起断开连接请求。接收方回送一个确认,告诉发送方可以断开连接。这个过程称为四次握手。

TCP协议被广泛应用于web浏览器、电子邮件、文件传输等各种网络应用中,已经成为互联网上应用最为广泛的传输协议之一。