一、题目
UDP是面向无连接的, 必须依靠( )来保障传输的可靠性?
A.网际协议
B.传输控制协议
C.网络层协议
D.应用层协议
二、答案
D
三、解析
A. 网际协议(IP)负责网络层寻址与路由转发,不提供任何可靠性保障,无法弥补 UDP 的不可靠性。
B. 传输控制协议(TCP)是面向连接、自带确认、重传、流量控制的可靠传输协议,但它和 UDP 是并列、独立的传输层协议,UDP 并不会依赖 TCP 来保证可靠。
C. 网络层协议网络层主要是 IP、ICMP 等,均为不可靠、无连接设计,不负责数据重传、校验、顺序控制,无法保障 UDP 传输可靠。
D. 应用层协议UDP 本身不提供可靠性机制。如果UDP 要保证可靠,必须由应用层自己实现,例如在应用层添加序列号、确认应答、超时重传、校验等逻辑。
四、扩展——UDP 核心特点
1. 无连接
- 发送数据前不需要建立连接,没有 TCP 那样的三次握手过程。
- 发送方直接把数据封装成 UDP 数据报,填上目标端口和 IP,直接交给 IP 层发送。
- 接收方收到后直接交付应用层,不需要确认连接、不需要断开连接。
- 无连接带来的优点:延迟低、简单、适合一对多 / 多对多广播、组播。
2. 不可靠传输
UDP 本身不提供任何可靠性机制,具体表现为:
- 不保证数据到达:丢包不会自动重传。
- 不保证顺序:后发的数据报可能先到,接收方收到的可能乱序。
- 不保证不重复:网络重复发包时,UDP 会原样交给应用层。
- 无流量控制:发送方不管接收方处理能力,一直发可能导致溢出。
- 无拥塞控制:网络拥堵时仍高速发送,会加剧拥塞。
- 只做最基本的校验和检查,出错直接丢弃,不通知发送方。


