key:TCP是一种面向连接的、可靠的、字节流服务
1.面向链接:TCP面向链接,面向连接意味着两个使用TCP的应用(通常是一个客户和一
个服务器)在彼此交换数据之前必须通过三次握手先建立一个TCP连接。
在一个TCP中仅有两方彼此通信,多播和广播不能用于TCP。
UDP是不可靠的传输,传输前不需要建立链接,可以应用多播和广播实现一对多的通信。
2.可靠性:TCP提供端到端的流量控制,对收到的数据进行确认,采用超时重发,
对失序的数据进行重新排序等机制保证数据通信的可靠性。
而UDP是一种不可靠的服务,接收方可能不能收到发送方的数据报。
3.TCP是一种流模式的协议,UDP是一种数据报模式的协议。
进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。
TCP应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系。
TCP会有粘包和半包的现象。
4.效率上:速度上,一般TCP速度慢,传输过程中需要对数据进行确认,超时重发,还要对数据进行排序。
UDP没有这些机制所以速度快。数据比例,TCP头至少20个字节,UDP头8个字节,相对效率高。
组装效率上:TCP头至少20个字节,UDP头8个字节,系统组装上TCP相对慢。
5.用途上:用于TCP可靠性,http,ftp使用。而由于UDP速度快,视频,在线游戏多用UDP,保证实时性