RFC 5595 – The Datagram Congestion Control Protocol (DCCP) Service Codes

StatusProposed Standard
VeröffentlichtSeptember 2009
Volltextrfc-editor.org/rfc/rfc5595

RFC 5595 spezifiziert die Verwendung von Service Codes im Datagram Congestion Control Protocol (DCCP) und aktualisiert die ursprüngliche Spezifikation in RFC 4340. Ein Service Code ist ein 4-Byte-Wert, der den gewünschten Dienst oder die Anwendung auf Anwendungsebene identifiziert, zu der ein Client eine DCCP-Verbindung aufbauen möchte. Dieses Konzept entkoppelt die klassische Rolle von Portnummern: Portnummern dienen weiterhin der Demultiplexing- und Zustandsverwaltung, während der Service Code den eigentlichen Dienst angibt. Dadurch wird die flexible Zuordnung mehrerer Dienste zu einem Port möglich, was besonders für Server mit vielen gleichzeitigen Verbindungen vorteilhaft ist.

Der Kernmechanismus besteht darin, dass der Client im DCCP-Request-Paket einen Service Code sendet, den der Server mit seinen konfigurierten Werten abgleicht. Jeder Server assoziiert einen oder mehrere Service Codes mit einem listening Port. Middleboxen wie Firewalls oder NATs können den Service Code auswerten, um den Verkehrstyp zu identifizieren, ohne auf tiefe Paketinspektion oder Port-Ableitungen angewiesen zu sein. Dies verbessert die Sicherheit und Interoperabilität, da eine eindeutige Dienstidentifikation unabhängig vom verwendeten Port erfolgt.

Historisch adressiert RFC 5595 ein zentrales Problem der Port-basierten Dienstzuordnung: den beschränkten 16-Bit-Portraum und die Neigung von Anwendungen, sich durch unregistrierte Ports zu überschneiden oder Dienste zu verschleiern. Der Service Code erweitert den Identifikationsraum auf 32 Bit und ermöglicht eine konsistente Dienstkennung über Netzwerkgrenzen hinweg. Aktuell ist der Service Code ein integraler Bestandteil von DCCP und erleichtert den Einsatz in Umgebungen mit Middleboxen, indem er eine standardisierte, portunabhängige Dienstangabe bereitstellt, die auch für andere Transportprotokolle nutzbar ist.