面试题答案
一键面试UDP协议主要特点
- 无连接:UDP在传输数据前不需要像TCP那样建立连接,发送端可以直接将数据报发送出去,减少了建立和拆除连接的开销,传输效率高。
- 不可靠:UDP不保证数据一定能到达目的地,也不保证数据的顺序与发送顺序一致,没有重传机制。接收方收到数据后也不会给发送方发送确认信息。
- 面向数据报:UDP以数据报为单位进行传输,每个数据报都是独立的,包含完整的源和目的地址等信息。应用层交给UDP多长的报文,UDP就照样发送,不会拆分或合并。
- 开销小:由于没有连接建立、维护以及重传等机制,UDP的首部开销小,只有8个字节(源端口、目的端口、长度、校验和)。
常见使用场景
- 实时音视频传输:如视频会议、直播、实时通话等场景。这类应用对实时性要求很高,少量数据的丢失对整体质量影响不大,例如直播中偶尔丢几帧画面观众可能察觉不到,但如果因为等待重传而导致卡顿,体验会大大下降。
- DNS查询:DNS用于将域名解析为IP地址,查询请求和响应的数据量通常较小,且对实时性有一定要求,UDP能快速传输数据满足需求。即使偶尔丢失查询请求,客户端可以重新发起查询。
- 在线游戏:游戏中玩家的操作指令(如移动、攻击等)需要及时传递给服务器,对实时性要求高。少量指令丢失可能影响不大,例如玩家移动过程中某一帧的位置数据丢失,下一帧数据跟上后游戏画面仍能流畅显示。