计算机网络-TCP与UDP协议的异同

类别 优点 缺点 连接与状态 方式 使用场景 通信 连接方式
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那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。

参考

TCP和UDP的优缺点及区别