区别一、是否基于连接
TCP是面向连接的协议,而UDP是面向无连接的协议
即TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接
区别二、可靠性 和 有序性
TCP 提供交付保证,无差错,不丢失,不重复,且按序到达,也保证了消息的有序性。该消息将以从服务器端发出的同样的顺序发送到客户端,*尽管这些消息到网络的另一端时可能是无序的,TCP协议将会为你排好序。
UDP不提供任何有序性或序列性的保证。UDP尽最大努力交付,数据包将以任何可能的顺序到达。
TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
区别三、实时性
UDP具有较好的实时性,工作效率比TCP高
区别四、运行速度
TCP速度比较慢,而UDP速度比较快,因为TCP必须创建连接,以保证消息的可靠交付和有序性,毕竟TCP协议比UDP复杂
区别五、拥塞机制
UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
区别六、流模式(TCP)与数据报模式(UDP)
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;
UDP是面向报文的 。
区别七、资源占用
TCP对系统资源要求较多
UDP对系统资源要求较少
区别八、应用
每一条TCP连接只能是点到点的
UDP支持一对一,一对多,多对一和多对多的交互通信,基于UDP不需要建立连接,所以且适合多播的环境
区别九、协议首部大小
TCP首部开销20个字节
UDP的首部开销小,只有8个字节