TCP和 UDP的区别

  • TCP

    TCP协议提供一种可靠的、面向连接的字节流服务。在传输数据前,必须要通过三次握手建立连接。可靠性通过超时重传、收发按序来实现,并且提供流量控制和拥塞控制。所以我们可以推断出,在TCP报文段头部必有:

  1. 源端口号、目的端口号
  2. 标志位(SYN,ACK等)
  3. 序列号和确认序列号(按序收发)
  4. 校验位
  5. 窗口大小(流量控制)
  • UDP

    UDP则提供不可靠的,无连接的面向报文的服务。在传输数据前无需建立连接。只要应用层有数据下发,直接加上UDP头部就下发到下层协议,既不拆分也不合并。在发送端,传输数据的速度只受应用层产生数据的速度、带宽和计算机性能的影响,所以它也无需维护复杂的链接状态表。可以看出UDP头部必然很小,所以UDP占有系统的资源很少,但可靠性必须由上层协议提供。

原文地址:https://www.cnblogs.com/coderht/p/7171152.html