TCP与UDP的区别 | JianLinker Blog

TCP与UDP的区别

TCP 与 UDP 的特点

  • TCP 是基于连接的可靠的传输协议,UDP 是基于无连接的不可靠的传输协议

  • TCP 提供超时重传、丢弃重复数据、检验数据、流量控制等功能,UDP 没有提供这些功能。

  • 提供这些功能会加大网络带宽的开销,“虚拟信道”和网络中的大量“ ACK、FIN ”包是最主要的开销。

  • TCP 因为开销的原因,不适合作为实时通信,因此会选择开销很小的 UDP 协议。

  • UDP 因为是无连接不可靠的,没有重传机制,因此会发生丢包、收到重复包、乱序等问题。

总结

TCP 与 UDP 的区别

  1. 基于连接与无连接
  2. TCP 提供可靠的传输,有确认机制,UDP 不提供可靠性,不能保证数据能达到目的地
  3. 对于系统网络资源的开销(TCP 多,UDP 少)
  4. TCP 结构相对复杂,UDP 结构简单
  5. TCP 面向字节流模式,会保证服务端按顺序接收到全部的字节流,UDP 面向数据报模式,不保证顺序性

运用

强调数据传输的完整性、可靠性、可控制性,选择 TCP 协议,

强调数据传输的性能,选择 UDP 协议,如:音频、多媒体应用、DNS 交换。

TCP 功能丰富,但相对的性能会降低。

JianLinker wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!