TCP和UDP的区别

TCP的特点

  1. TCP是面向连接的.
  2. 仅支持单播传输, 每一条TCP连接只能有两个端点, 点对点的数据传输, 不支持多播和广播传输方式.
  3. TCP提供可靠交付的服务, 通过TCP连接传输的数据, 无差错, 不丢失, 不重复, 并且按序.
  4. TCP提供拥塞控制, 当网络出现拥塞时, TCP能减小数据发送的速率和数量, 缓解拥塞.
  5. TCP提供双全工通信, TCP允许通信双方的应用进程在任何时候都能发送数据. TCP连接的两端都设有发送缓存和接收缓存, 用来临时存放双方通信的数据.
  6. 面向字节流, 虽然应用程序和TCP的交互是一次一个大小不等的数据块, 但是TCP把数据仅仅看成一连串的 无结构的字节流.

UDP的特点

  1. UDP是面向无连接的.
  2. UDP使用尽最大努力交付, 即不保证可靠交付, 因此主机不需要维持复杂的连接状态.
  3. UDP 是面向报文的.
  4. UDP 没有拥塞控制, 因此网络出现拥塞不会使源主机的发送速率降低, 对实时应用很有用.
  5. UDP支持一对一, 一对多, 多对一和多对多的交互通信.
  6. UDP的首部开销小, 只有8个字节, 比TCP的20个字节的首部要短.

TCP和UDP比较

TCP UDP
是否连接 面向连接 面向无连接
是否可靠 传输可靠 传输不可靠
连接对象个数 点对点, 一对一 一对一, 一对多, 多对一, 多对多
传输方式 面向字节流 面向报文
首部开销 20-60 8
所需资源
传输效率
使用场景 要求通信数据可靠, 如文件传输 要求通信速度高的实时应用, 如域名转换
作者:凯旋.Lau
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/KX-Lau/p/12555604.html