海树

我心有猛虎 细嗅蔷薇香

Owen Lee's avatar Owen Lee

计算机网络面试(5)TCP 协议概述

TCP 的特点

1. 面向连接

使用 TCP 协议进行数据传输之前,必须先建立 TCP 连接,在传送数据完毕后,必须释放已经建立的连接。

2. 只提供一对一通信

每条 TCP 连接只能有两个端点,只能是点对点的。

3. 提供可靠的数据传输

通过 TCP 连接传送的数据,无差错,不丢失,不重复,并且按序到达。

4. 全双工通信

TCP 允许通信双方的应用进程在任何时候都能发送数据。

5. 面向字节流

补充

  • TCP 提供一种面向连接的、可靠的字节流服务
  • 在一个 TCP 连接中,仅有两方进行彼此通信。
  • 广播和多播不能用于 TCP
  • TCP 使用校验和,确认和重传机制来保证可靠传输
  • TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复
  • TCP 使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制

注意:TCP 并不能保证数据一定会被对方接收到,因为这是不可能的。TCP 能够做到的是,如果有可能,就把数据递送到接收方,否则就(通过放弃重传并且中断连接这一手段)通知用户。因此准确说 TCP 也不是 100% 可靠的协议,它所能提供的是数据的可靠递送或故障的可靠通知。

来源于:https://hit-alibaba.github.io/interview/basic/network/TCP.html