区别
是否基于链接
TCP是面向连接的协议,发送数据之前需要建立连接;而UDP是无连接的协议,即发送数据之前不需要简历连接。
可靠性和有序性区别
TCP提供交付保证,(TCP通过校验和重传控制,序号表示,滑动窗口,确认应答实现可靠传输),无差错,不丢失,不重复,且按续到达,也保证了消息的有序性。
该消息将以从服务端发出的同样的顺序发送到客户端,尽管这些消息到网络的另一端时可能是无序的,TCP协议将会为你排好序。
UDP不提供审核有序性或许流行的保证。UDP尽最大努力交付,数据包将以任何可能的顺序到达。TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道。
实时性
UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高要求的通信或广播通信。
协议首部大小
TCP首部开销20字节,UDP首部开销小,只有8个字节。
运行速度
TCP运行速度慢,而UDP速度比较快,因为TCP必须创建链接,以保证消息的可靠交付和有序性,毕竟TCP协议比UDP复杂。
应用
每一条TCP连接只能是点到点的,UDP支持一对一,-对多,多对一和多对多的交互通信。 基于UDP不需要建立连接,所以适合多播的环境中,UDP是大量使用在游戏和娱乐场所。