【什么是TCP】TCP(Transmission Control Protocol)是互联网协议套件中的核心协议之一,主要用于在网络中可靠地传输数据。它属于OSI模型的传输层,与IP(Internet Protocol)一起工作,构成了TCP/IP协议族的基础。
TCP通过建立连接、分段数据、确认接收、重传丢失数据以及流量控制等机制,确保数据在发送端和接收端之间准确无误地传输。它适用于对数据完整性要求较高的应用场景,如网页浏览、电子邮件、文件传输等。
TCP 的主要特点总结:
| 特点 | 描述 |
| 可靠性 | 通过确认机制、重传机制和校验和确保数据正确到达 |
| 连接导向 | 在数据传输前需要建立连接(三次握手) |
| 流量控制 | 防止发送方发送过多数据导致接收方无法处理 |
| 拥塞控制 | 避免网络过载,调整发送速率 |
| 全双工 | 支持同时双向通信 |
| 基于字节流 | 数据以字节流形式传输,不保留消息边界 |
TCP 的工作流程简述:
1. 建立连接(三次握手)
- 客户端发送SYN报文请求连接;
- 服务器响应SYN-ACK报文;
- 客户端发送ACK报文确认连接。
2. 数据传输
- 数据被分割为多个数据包;
- 每个数据包包含序列号以便接收方按顺序重组;
- 接收方发送ACK确认收到数据包。
3. 断开连接(四次挥手)
- 一方发送FIN报文表示不再发送数据;
- 对方确认并可能继续发送剩余数据;
- 另一方也发送FIN报文;
- 最终双方关闭连接。
TCP 与 UDP 的对比(表格)
| 特性 | TCP | UDP |
| 连接方式 | 面向连接 | 无连接 |
| 可靠性 | 高 | 低 |
| 传输速度 | 较慢 | 快 |
| 数据顺序 | 保证 | 不保证 |
| 适用场景 | 网页、邮件、文件传输 | 视频流、在线游戏、DNS查询 |
总之,TCP 是一种面向连接、可靠、基于字节流的传输协议,广泛应用于现代互联网通信中。它的设计目标是确保数据的完整性和准确性,尽管这可能会带来一定的延迟,但在大多数需要稳定通信的场景中,TCP 是不可或缺的。


