UDP

Aus dev.kaibel.net
Zur Navigation springen Zur Suche springen

Vorlage:Infobox Software

Einführung

Das User Datagram Protocol (UDP) ist ein verbindungsloses Transportprotokoll, das auf der Transportschicht des OSI-Modells bzw. des TCP/IP-Modells arbeitet. Es bietet einen minimalen Übertragungsdienst für Anwendungen, die auf einfache, schnelle und ungesicherte Datenübertragung angewiesen sind. UDP ist das zweitwichtigste Transportprotokoll neben dem Transmission Control Protocol (TCP).

Geschichte

UDP wurde 1980 in RFC 768 von David P. Reed spezifiziert. Es wurde als schlanke Alternative zu TCP konzipiert und ist bis heute in nahezu allen Betriebssystemen implementiert.

Hauptmerkmale

  • Verbindungslos – keine Verbindungsaufbauphase vor der Datenübertragung.
  • Unzuverlässig – keine Garantie für Zustellung, Reihenfolge oder Fehlerkorrektur.
  • Geringer Overhead – nur 8 Byte Header.
  • Schnelle Übertragung – ideal für Echtzeitanwendungen.
  • Portbasiert – unterstützt Multiplexing mehrerer Anwendungen über Ports.

Aufbau des UDP-Headers

Der UDP-Header ist minimalistisch und besteht aus:

  • Quellport (16 Bit)
  • Zielport (16 Bit)
  • Länge des Datagramms (16 Bit)
  • Prüfsumme (16 Bit) – optional bei IPv4, verpflichtend bei IPv6

UDP überträgt Nutzdaten direkt ohne weitere Mechanismen wie Sequenznummern oder Flusskontrolle.

Arbeitsweise

  • Anwendungen senden Datagramme (Pakete) an einen Zielhost und -port.
  • Jedes Datagramm wird unabhängig verarbeitet und zugestellt.
  • Empfangende Anwendungen müssen selbst Fehlerbehandlung oder Neuübertragungen implementieren, falls erforderlich.

Ports und Multiplexing

UDP nutzt Portnummern zur Unterscheidung verschiedener Dienste auf demselben Host. Bekannte Beispiele:

  • Port 53 – DNS
  • Port 67/68 – DHCP
  • Port 123 – NTP
  • Port 161 – SNMP

Anwendungsgebiete

UDP wird oft in Szenarien verwendet, in denen Geschwindigkeit wichtiger ist als Zuverlässigkeit:

  • DNS (Domain Name System)
  • DHCP (Dynamic Host Configuration Protocol)
  • Streaming (Audio/Video)
  • Online-Spiele (geringe Latenz)
  • VoIP (Voice over IP)
  • IoT-Anwendungen

Vergleich zu TCP

Merkmal UDP TCP
Verbindung Verbindungslos Verbindungsorientiert
Zuverlässigkeit Keine Zuverlässig, geordnet
Overhead 8 Byte Header 20 Byte Header (ohne Optionen)
Flusskontrolle Keine Ja (Sliding Window)
Typische Anwendungen DNS, Streaming, VoIP Web, E-Mail, FTP

Vorteile

  • Sehr geringer Overhead.
  • Kein Handshake vor der Datenübertragung.
  • Weniger Latenz – ideal für Echtzeitanwendungen.
  • Einfach in der Implementierung.

Nachteile

  • Keine Garantie für Zustellung oder Reihenfolge.
  • Keine integrierte Flusskontrolle oder Überlastkontrolle.
  • Sicherheit muss durch höhere Protokollschichten implementiert werden.

Sicherheitsaspekte

  • UDP ist anfällig für IP-Spoofing und Amplification-Angriffe (z. B. bei DDoS).
  • Schutzmaßnahmen:
    • Einsatz von DTLS (Datagram Transport Layer Security) zur Verschlüsselung und Authentifizierung.
    • Rate-Limiting und Firewalls zur Eindämmung von Angriffen.
    • Filterregeln zur Portabsicherung.

Erweiterungen und verwandte Technologien

  • QUIC – modernes Transportprotokoll, das auf UDP aufsetzt und Funktionen wie Verschlüsselung und Multiplexing integriert.
  • UDP-Lite – Variante von UDP, bei der nur Teile der Daten durch Prüfsummen abgesichert werden.

Literatur und Standards

  • RFC 768 – User Datagram Protocol
  • RFC 6347 – Datagram Transport Layer Security (DTLS)
  • Andrew S. Tanenbaum: Computer Networks

Siehe auch