类别 | 优点 | 缺点 | 连接与状态 | 方式 | 使用场景 | 通信 | 连接方式 |
---|---|---|---|---|---|---|---|
TCP | 可靠稳定 | 慢、不安全、占资源 | 面向连接、有状态 | 面向字节流 | 对网络通讯质量有要求,传输大量数据 | 全双工可靠信道 | 点到点 |
UDP | 快、稍安全 | 不可靠、不稳定、易丢包、不保证数据顺序 | 面向无连接、无状态 | 面向报文 | 网络负担重、响应速率要求高、可靠性要求不高 | 全双工不可靠信道 | N:N交互通信 |
总结
TCP的优点:
- 可靠稳定 :TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。
TCP的缺点:
- 慢、效率低:TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间
- 占用系统资源高:要在每台设备上维护所有的传输连接,每个连接都会占用系统的CPU、内存等硬件资源
- 易被攻击:因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
UDP的优点
- 快:UDP是一个无状态的传输协议,所以它在传递数据时非常快
- 比TCP稍安全:UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些
UDP的缺点
- 不可靠,不稳定:因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。