区别概述:
TCP是基于点对点的连接通信;而UDP根本无需连接,且支持一对一、一对多、多对多的交互通信。TCP因为需要建立连接,首部格式内容多,内部开销大,所以资源开销大且通信速度慢;而UDP无需连接,资源开销小且通信速度快,效率高。TCP通信过程中,使用字节流传送数据;UDP是通过数据报文段传输的。TCP每条传输的数据,数据都是顺序的且都会收到来自对方回复的确认收到数据包,如果三次收到的ACK是同一个数据包的,则表示丢包了,会启动重传机制,这个过程,就保证了TCP数据传输的稳定性、正确性即可靠性;但UDP没有这个过程,它不管对方是否收到,只管自己继续发送数据,所以UDP不稳定、传输数据也不可靠。
总的来说:
UDP首部格式结构简单、内部开销小、不需要连接、传输效率高;但传输不可靠。所以UDP适用于网络通讯质量不高、但通讯速度较快的场景;如视频通话、语音通话
TCP传输可靠,传输数据准确且有顺序;但内部开销大、效率低、只支持点对点通信。所以TCP适用于对传输数据的完整性要求较为严格的场景。如传输文件、发送邮件等。