MST

星途 面试题库

面试题:网络编程中TCP和UDP协议在传输层的主要区别有哪些

在网络编程基于TCP/IP协议栈的传输层中,TCP和UDP是两种重要协议。请详细阐述它们在连接特性、可靠性、传输效率、首部开销以及适用场景等方面的主要区别。
47.8万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试
比较项TCPUDP
连接特性面向连接,传输数据前需三次握手建立连接,传输结束后需四次挥手释放连接无连接,不需要建立和释放连接,直接发送数据
可靠性可靠传输,通过序列号、确认应答、重传机制等保证数据的有序和完整性不可靠传输,不保证数据按序到达、不保证数据不丢失
传输效率相对较低,因为需要建立连接、确认应答、重传等操作相对较高,无需连接建立和复杂确认机制
首部开销TCP首部20字节,若有选项字段会更大UDP首部8字节
适用场景适用于对数据准确性要求高,对实时性要求相对不高的场景,如文件传输、HTTP/HTTPS协议等适用于对实时性要求高,对数据准确性要求相对不高的场景,如视频流传输、实时游戏等