tcp 和 udp的区别

2019-09-22  

TCP 
    协议官方定义     维基百科介绍

 

UDP 
    协议官方定义     维基百科介绍

 

可参考:
TCP、UDP 协议的区别的详细分析
基于 TCP、UDP 协议编程差异


TCP/IP 协议是一个协议簇,包括很多协议。命名为 TCP/IP 协议的原因是 TCP 和 IP 这两个协议非常重要,应用很广。
TCP 和 UDP 都是 TCP/IP 协议簇里的一员。

 

TCP,Transmission Control Protocol 的缩写,即传输控制协议。

  • 面向连接,即必须在双方建立可靠连接之后,才会收发数据
  • 信息包头 20 个字节
  • 建立可靠连接需要经过3次握手
  • 断开连接需要经过4次挥手
  • 需要维护连接状态
  • 报文头里面的确认序号、累计确认及超时重传机制能保证不丢包、不重复、按序到达
  • 拥有流量控制及拥塞控制的机制

 

UDP,User Data Protocol 的缩写,即用户数据报协议。

  • 不建立可靠连接,无需维护连接状态
  • 信息包头 8 个字节
  • 接收端,UDP 把消息段放在队列中,应用程序从队列读消息
  • 不受拥挤控制算法的调节
  • 传送数据的速度受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制
  • 面向数据报,不保证接收端一定能收到

    
    
区别

  • TCP 面向连接;UDP 不建立可靠连接
  • TCP 信息包头 20 个字节;UDP 8 个字节
  • TCP 只能一对一的传输;UDP 支持一对一、一对多、多对一、多对多的传输
  • TCP 需要维护连接状态;UDP 无
  • TCP 拥有流量控制及拥塞控制的机制;UDP 不关注网络状况
  • TCP 通过流模式传输数据;UDP 通过数据报模式传输数据
  • TCP 保证数据正确性、不丢包、不重复、有序性;UDP 只最大交付,不保证可靠性
  • TCP 适合网络负担不大、可靠性要求高的场景;UDP 适合网络负担重响应高、客户端较多、可靠性要求不高的场景

 

ConstXiong 备案号:苏ICP备16009629号-3