User Datagram Protocol (UDP)
Was ist UDP (User Datagram Protocol)?
UDP, kurz für User Datagram Protocol, ist eines der im Internet häufig verwendeten Protokolle der Transportschicht (Schicht 4). Wie TCP ist es ein übergeordnetes Protokoll von IP.
Der UDP-Header enthält Quell- und Zielportnummern und ermöglicht so eine über Ports festgelegte Kommunikation. Im Gegensatz zu TCP ist UDP ein verbindungsloses Protokoll, das heißt, dass weder der Aufbau noch die Beendigung einer Sitzung über Handshake-Mechanismen erforderlich ist. Es bietet keine Funktionen wie Flusskontrolle, Fehlerkontrolle oder Überlastkontrolle und arbeitet als nachrichtenorientiertes Protokoll, das Nachrichten unidirektional überträgt.
Da UDP keine Mechanismen zur Gewährleistung der Zuverlässigkeit bietet, ist seine Fehlertoleranz bei der Kommunikation geringer und seine Zuverlässigkeit niedriger als die von TCP. Dafür eignet es sich besser für Kommunikationsanwendungen, bei denen Geschwindigkeit und Echtzeitübertragung entscheidend sind. Da UDP zudem verbindungslos arbeitet, ist es ideal für Multicast- und Broadcast-Kommunikation, bei der Daten gleichzeitig an mehrere Empfänger übertragen werden können. Zu den gängigen Einsatzgebieten von UDP gehören:
- DNS zur Abfrage von Domain-Name-Servern
- DHCP zur automatischen Zuweisung von IP-Adressen
- SNMP zur Verwaltung von Netzwerkgeräten
- SSDP für UPnP-kompatible Geräte
- NTP zur Zeitsynchronisierung.
Die Fähigkeit von UDP, Pakete unidirektional zu senden, macht das Protokoll jedoch anfällig für den Missbrauch bei DoS-/DDoS-Angriffen. Dazu zählen etwa UDP-Flood-Angriffe, bei denen große Mengen an UDP-Paketen von mehreren Computern gesendet werden, um ein Netzwerk zu überlasten. Da bei über UDP gesendeten Anfragen zudem die Quelle der Antwort nicht überprüft wird, können Quell-IP-Adressen gefälscht und so Reflexionsangriffe auf Opfer durchgeführt werden.
