TCP和UDP的区别
TCP(Transmission Control Protocol,传输控制协议)与UDP(User Data Protocol,用户数据协议)是互联网传输数据较为常用的协议,我们熟知的HTTP就是基于TCP的。
二者区别:
1、连接类型:TCP是面向连接的协议,要传输数据必须先进行连接,即常说的“三次握手”,握手成功,建立连接之后才能进行数据的传输交互,如同微信视频聊天需要对方接受,才能彼此看到。UDP是非面向连接的协议,发送数据时不管对方状态直接发送,无需建立连接,如同微信发送一条消息或语音,对方是否在线无所谓。
2、传输开销:由于二者的特性差异,TCP在传输数据过程中,接收方接收数据包时也会向发送方反馈数据包,因此会造成额外的通信开销。UDP接收方则不会反馈信息,因此不会有这方面的开销。
3、速度:TCP相较于UDP较慢,这主要是因为TCP有一个连接的过程,而UDP没有。
常见的基于TCP的应用:HTTP、WebScoker、重要数据文件传输等
常见的基于UDP的应用:QQ等部分实时通信软件、视频/音频下载传输等。
TCP | UDP | |
是否连接 | 面向连接 | 非面向连接 |
传输可靠性 | 可靠 | 不可靠 |
应用场合 | 传输大量数据,对可靠性要求高的场景 | 传输少量数据,对可靠性要求不高的场景 |
速度 | 慢 | 快 |