用户数据报协议(UDP)
什么是UDP(用户数据报协议)?
UDP是用户数据报协议(User Datagram Protocol)的简称,是互联网常用的传输层协议(第4层)之一。与TCP一样,它也是IP的上层协议。
UDP报头包含源端口号和目标端口号,可通过指定端口进行通信。与TCP不同,UDP是一种无连接协议,无需通过握手机制建立或终止会话。UDP不具备流量控制、错误控制和拥塞控制等功能,是一种面向消息的协议,以单向方式发送消息。
由于缺少可靠性机制,UDP对通信错误的容忍度较低,可靠性也不如TCP。不过,它更适合对速度和实时传输要求较高的通信。此外,UDP采用无连接方式,非常适合组播和广播通信,可将数据同时传输给多个接收方。UDP的常见应用包括:
- 用于查询域名服务器的DNS
- DHCP,用于自动分配IP地址
- 用于管理网络设备的SNMP
- 用于兼容UPnP的设备的SSDP
- 用于时间同步的NTP。
但是,UDP能够单向发送数据包,因此容易被滥用于DoS/DDoS攻击。例如,在UDP洪水攻击中,攻击者从多台计算机发送大量UDP数据包,导致网络不堪重负。此外,通过UDP发送查询时,响应不会验证来源,因此攻击者可以伪造源IP地址实施反射攻击,将攻击流量导向受害者。
