区别
- TCP是面向连接的传输协议,传输数据时必须建立好连接,UDP是无连接;
- TCP只支持一对一,UDP支持一对一、一对多、多对一、多对多等场景
- TCP是可靠的传输协议,传输时可保证无差错、不丢失、不重复、按序到达等,UDP是不可靠,只是尽最大努力交付;
- TCP有拥塞控制和流量控制,UDP无拥塞控制,当网络拥塞时不影响主机的发送效率;
- TCP首部开销比UDP大(分别为20Byte和8Byte),TCP报文长度是动态的,会根据接收方窗口大小和拥塞情况来决定,UDP会保留上面传下来的报文边界,不合并、不拆分;
应用场景
- TCP的适用于通信数据的完整性、准确性要求较高的场景 ,eg: 文件传输、邮件发送与接收、重要状态的更新等。
- UDP的适用于通信响应度要求高、对数据信息的安全性、完整性要求相对较低的场景,常用于实时通信,eg: 网络电话、网络视频、实时通信等。