tcp和udp的区别及应用场景
tcp 和 udp 的区别及应用场景
tcp 和 udp 是传输层上两个性质不同的协议,但是它们的通信机制和应用场景不同。
TCP (Transmission Control Protocol),传输控制协议。TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP (User Data Protocol),用户数据报协议。UDP 是一种无连接传输协议。
tcp 特点
当一台计算机想要与另一台计算机通讯时,两台计算机之间的通信需要畅通且可靠,这样才能保证正确收发数据。例如,当你想查看网页或查看电子邮件时,希望完整且按顺序查看网页,而不丢失任何内容。当你下载文件时,希望获得的是完整的文件,而不仅仅是文件的一部分,因为如果数据丢失或乱序,都不是你希望得到的结果,于是就用到了TCP。
❶ 面向连接
❷ 字节流传输
❸ 可靠传输(应答机制、超时重传、拥塞控制)
❹ 仅支持单播传输
❺ 提供全双工通信
udp 特点
❶ 实时性高
❷ 资源占用少
❸ 基于数据报
❹ 头部开销小
❺ 有单播、多播、广播的功能
tcp 和 udp 的区别
- tcp 是面向连接的(需要建立连接后传输数据,这里说的就是 tcp 的三次握手); udp 是无连接的(发送数据前不需要建立连接)。
- tcp 是可靠传输(因为 tcp 拥有拥塞控制等机制,能够保证数据无差错传递);udp 是不可靠传输(udp 没有相关机制,不保证数据的可靠交付)。
- tcp 将数据看成一串无结构的字节流,是面向字节流传输的;udp 是面向报文传输。
- tcp 是一对一的两点服务,即一条连接只有两个端点;udp 支持一对一、一对多、多对多的交互通信。
综上,可知 tcp 是可靠的传输协议,但效率慢
;而 udp 是不可靠的传输协议,但效率快
。
tcp 和 udp 的应用场景
tcp 的适用场景:用于对通信数据的完整性和准确性要求较高的情况。如: 重要文件传输,邮件发送等。
udp 的适用场景:用于对通讯速度要求较高,对数据信息的安全性和完整性要求相对较低的情况。如: 网络电话、视频会议、直播等实时通信。
总结 sumary
关键词 | TCP | UDP |
---|---|---|
是否连接 | 面向连接 | 无连接 |
是否可靠 | 可靠传输 | 不可靠传输 |
连接对象个数 | 只能一对一通信 | 支持一对一、一对多、多对一、多对多交互通信 |
传输方式 | 面向字节流 | 面向报文 |
首部开销 | 首部最小20字节,最大60字节 | 首部开销小,近8字节 |
适用场景 | 要求可靠传输,如文件传输 | 实时应用,如IP电话、视频会议、直播 |