TCP
传输控制协议(TCP)是面向连接的,这意味着一旦建立了连接,数据就可以双向传输。TCP有内置的系统来检查错误并保证数据按发送顺序发送,使其成为传输静态图像、数据文件和网页等信息的完美协议。
但是,虽然TCP天生可靠,但其反馈机制也会导致更大的开销,从而会更多地使用网络上的带宽。
UDP
用户数据报协议(UDP)是一种更简单、无连接的互联网协议,其中不需要错误检查和恢复服务。使用UDP,打开连接、维护连接或终止连接都没有开销。无论接收者是否收到数据,数据都会持续发送给接收者。
TCP vs UDP
TCP是面向连接的协议,而UDP是无连接的协议。TCP和UDP之间的一个关键区别是速度,TCP比UDP更慢。总的来说,UDP是一种更快、更简单、更高效的协议,然而,只有使用TCP才能重新传输丢失的数据包。
TCP提供从用户到服务器的有序数据传输(反之亦然),而UDP不专用于端到端通信,也不检查接收器的准备情况。
| 特征 | TCP | UDP |
|---|---|---|
| 连接 | 需要建立连接 | 无连接协议 |
| 传输保证 | 可以保证数据的传递 | 不能保证数据的传递 |
| 重传 | 可以重传丢失的数据包 | 不重传丢失的数据包 |
| 速度 | 慢于UDP | 快于TCP |
| 广播 | 不支持广播 | 支持广播 |
| 使用举例 | HTTPS、HTTP、SMTP、POP、FTP等 | 视频流、DNS、VoIP等 |