UDP vs. TCP

Die Netzwerkschnittstelle von unserem Waffelstrichlistenprogramm, <tt>waffel.c</tt>, basiert auf UDP. Warum aber nicht TCP?

Von der Funktion her sind beide Protokolle gleich: Im ISO-OSI-Modell entsprechen sie der Ebene Nummer 4 (Transport-Layer, zwischen 3: Network Layer und 5: Session Layer).

Sehen wir uns mal die Vorteile von TCP, dem Transmission Control Protocol, an:

  • Drei-Wege-Handschlag zum Aufbau einer Verbindung
  • Datenpakete werden in korrekter Reihenfolge zusammengesetzt
  • fehlende Pakete werden neu angefordert
  • bei Verstopfungen wird die Paketrate automatisch gedrosselt

All diese Vorteile bietet UDP, das User Datagram Protocol nicht; warum haben wir uns trotzdem dafür entschieden? Schließlich is es ja…

  • unzuverlässig,
  • ungeordnet,
  • fehleranfällig.

Aber: es ist wesentlich einfacher zu handhaben und schneller. Gerade für kurze Nachrichten (einige hundert Bytes), die sowieso nicht auf einzelne Pakete aufgeteilt werden. Das Fehlen von einem Handschlag und der Überprüfung, ob die Pakete wirklich angekommen sind, ist eine große Zeitersparnis, wenn die Nachrichten sehr kurz sind. Da verloren gegangene Pakete nicht neu angefordert werden, wird UDP gerne für Realtime-Anwendungen (Videokonferenz, VoIP etc) genutzt.

Vergleichbar mit einem Klavierspieler, der an Weihnachten begleitet und vom Blatt spielt: Trifft mal ein Finger nicht die richtige Taste – einfach weiterspielen, sonst kommen die Sänger ja aus dem Rhythmus…

Kategorie: Allgemein, Linux Kommentare deaktiviert für UDP vs. TCP

Kommentarfunktion ist deaktiviert.

Zur Werkzeugleiste springen