TCP协议与UDP协议的区别

连接

  • TCP面向连接,且连接时全双工通信;传输数据前需要通过三次握手建立连接,数据传输完需要关闭连接时通过四次挥手断开连接;每条连接仅支持一对一。
  • UTP无连接,传输数据时无需建立连接;支持一对一、一对多、多对一、多对多通信。

可靠性

  • TCP保证可靠传输,即数据无差错、不丢失、不重复、且有序;通过校验和、包有序、ACK、超时重试、滑动窗口以及拥塞控制,来确保可靠以及传输效率。
  • UDP尽最大努力交付,不确保传输可靠。

传输速度

  • TCP由于有各种机制,来确保数据传输的可靠性,所以传输速度上相对低。
  • UDP没有其他机制,所以传输速度上相对高。

资源占用

  • TCP有连接,所以需要占用的资源相对多;每个连接大约占3K左右的内存,如果作为客户端还需要占用一个端口。
  • UDP无连接,所以需要占用的资源相对少。

数据

  • TCP报文段的首部占用20字节。
  • UDP报文段的首部占用8字节。

你可能感兴趣的:(TCP协议与UDP协议的区别)