UDP-Lite

Bestimmte Anwendungen profitieren davon, dass teilweise beschädigte Pakete nicht verworfen werden, wenn Pfade mit fehleranfälligen Verbindungen verwendet werden. Solche Anwendungen können eine Beschädigung von Nutzdaten tolerieren und entscheiden sich für die Verwendung der UDP-Lite-Variante (Lightweight User Datagram Protocol) [RFC3828] von UDP anstelle von UDP. Die Nachrichten von UDP-Lite ähneln in vielerlei Hinsicht regulären UDP-Datagrammen. Das Header-Format folgt weitgehend dem von UDP. UDP-Lite ändert die Semantik des UDP-Felds "Payload Length" in das Feld "Checksum Coverage Length".
Ansonsten ist UDP-Lite identisch mit UDP. Die Schnittstelle von UDP-Lite unterscheidet sich von der von UDP durch eine zusätzliche (Socket-) Option, die einen Prüfsummen-Coverage-Längenwert kommuniziert: am Sender gibt dies die beabsichtigte Prüfsummenabdeckung an, wobei der verbleibende ungeschützte Teil der Payload als "Fehlerunempfindlicher Teil" deklariert ist.

UDP-Lite für höhere Fehlertoleranz


Standardmäßig erstreckt sich die Prüfsummenabdeckung von UDP-Lite über das gesamte Datagramm. Bei Bedarf kann eine Anwendung diesen Längenwert dynamisch ändern, um beispielsweise einigen Nachrichten einen besseren Schutz zu bieten. UDP-Lite verifiziert immer, dass ein Paket tatsächlich an das beabsichtigte Ziel geliefert wurde, es überprüft grundsätzlich die Header-Felder. Fehler im insensitiven Teil führen nicht dazu, dass ein UDP-Datagramm vom Ziel verworfen wird. Anwendungen, die UDP-Lite verwenden, dürfen daher keine Annahmen in Bezug auf die Korrektheit der Daten treffen, die im insensitiven Teil der UDP-Lite-Nutzdaten empfangen werden (dies könnte sich geändert haben). Die sendende Anwendung muss daher eine minimale Prüfsummenabdeckung angeben, die alle empfindlichen Protokoll-Header enthält.

Kommentar veröffentlichen