目录
TCP协议
TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,适用于需要高可靠性的数据传输场景。
特点
- 可靠性:通过确认应答(ACK)、超时重传、流量控制和拥塞控制机制确保数据完整有序传输。
- 面向连接:通信前需通过"三次握手"建立连接,结束后通过"四次挥手"释放连接。
- 全双工通信:支持双向数据传输。
- 基于字节流:数据被看作无结构的字节序列,可能合并或拆分发送。
适用场景
- 网页浏览(HTTP/HTTPS)、文件传输(FTP)、电子邮件(SMTP)等对数据准确性要求高的应用。
缺点
- 建立连接和重传机制增加延迟,不适合实时性要求高的场景。
UDP协议
UDP(User Datagram Protocol)是一种无连接的、不可靠的传输层协议,适用于低延迟或容忍数据丢失的场景。
特点
- 无连接:无需建立或释放连接,直接发送数据包。
- 不可靠性:不保证数据到达顺序或是否丢失,无重传机制。
- 高效性:头部开销小(仅8字节),传输延迟低。
- 支持广播/多播:可同时向多个目标发送数据。
适用场景
- 实时音视频(如VoIP、视频会议)、在线游戏、DNS查询等对速度敏感的应用。
缺点
- 不保证数据完整性,需应用层自行处理丢包或乱序问题。
对比总结
| 特性 | TCP | UDP |
|---|---|---|
| 连接方式 | 面向连接(三次握手) | 无连接 |
| 可靠性 | 可靠(确认、重传) | 不可靠 |
| 传输效率 | 较低(头部20字节) | 较高(头部8字节) |
| 数据顺序 | 保证有序 | 不保证 |
| 适用场景 | 文件传输、网页浏览 | 实时音视频、游戏 |
TCP连接
TCP建立连接的过程称为三次握手

TCP断开连接的四次挥手
常用的TCP端口号及其功能
|-----|--------|--------------------------------------------|
| 端口 | 协议 | 说明 |
| 21 | FTP | FTP服务器所开放的控制端口 |
| 22 | SSH | 一种加密的网络协议,用于安全地远程登录和管理系统,以及在网络中安全地传输文件和数据。 |
| 23 | TELNET | 用于远程登录,可以远程控制管理目标计算机 |
| 25 | SMTP | SMTP服务器开放的端口,用于发送邮件 |
| 80 | HTTP | 超文本传输协议 |
| 110 | POP3 | 用于邮件的接收 |