2.4.3 RTCP

Während RTP die Aufgabe des Transports von Nutzdaten übernimmt, wird RTCP (Real-Time Transport Control Protocol) ausschließlich für das Versenden von Kontroll- und Steuer-Daten genutzt. RTCP-Pakete werden in periodischen Abständen von allen Systemen verschickt, die an einer RTP-Session beteiligt sind. Dazu gehören die Endsysteme (Sender und Empfänger) sowie die Zwischensysteme (Mixer und Übersetzer). Die Adressaten jedes einzelnen RTCP-Pakets sind alle an der Session beteiligten Systeme. Bei der Nutzung von IP-Multicast bedeutet das, daß sowohl RTP- als auch RTCP- Pakete an dieselbe IP-Gruppenadresse verschickt werden. Nur die Zielports der beiden Protokolle sind unterschiedlich.

Die Aufgaben von RTCP sind:

RTCP-Pakete bestehen aus einem festen Teil, dem in Abhängigkeit vom Pakettyp Erweiterungen unterschiedlicher Größe folgen. Die Pakete besitzen ein Feld, das ihre Länge angibt, die immer ein Vielfaches von vier Byte ist. Folgende RTCP-Pakettypen sind definiert:

Sender- und Empfängerberichte

Empfänger von RTP-Paketen verschicken in periodischen Abständen Berichte über die Empfangsqualität. Der Typ des zu sendenden Berichts (Sender- oder Empfängerbericht) ist davon abhängig, ob der Empfänger seit seinem zuletzt verschickten Bericht selbst RTP-Daten gesendet hat. Ist dies der Fall, dann wird ein Senderbericht und im anderen Fall ein Empfängerbericht erzeugt und verschickt.

Der Aufbau der Sender- und Empfängerberichte ist fast identisch. Natürlich besitzen beide einen unterschiedlichen Identifikator für den Pakettyp. Der einzige weitere Unterschied ist der, daß ein Senderbericht noch einen 20 Byte großen Informationsteil über die Sendeaktivitäten enthält.

Beide Berichtstypen können dann noch bis zu 31 Empfangsberichte enthalten.

Sender- und Empfängerberichte bestehen aus mehreren Teilen. Der erste Teil ist immer vorhanden:

Den nächsten Teil gibt es nur beim Senderbericht:

Der nächste Teil eines Sender- oder Empfängerberichts kann bis zu 31 Empfangsberichte (Reception Reports) enthalten.

Achtung: Verwechseln Sie nicht Empfängerberichte (RTCP-Nachricht) und Empfangsberichte (Teile der RTCP-Nachricht "Senderbericht" oder "Empfängerbericht")! Diese wohl nicht ganz glückliche Begriffsbildung ist nicht unsere Erfindung, sondern in den RFCs so eingeführt worden.

Mit Hilfe der Daten in Sender- und Empfängerberichten sind alle Teilnehmer der Konferenz gut über die Qualität des Datentransports informiert. Aus Paketverlustraten und Verzögerungszeiten sind Abschätzungen über die aktuelle Belastung (den "Verstopfungsgrad") des Netzes möglich. Diese Daten können Sender zur Anpassung ihrer Sendeaktivitäten nutzen (Änderung der Senderate, des Nutzdatentyps, der Kompressionsrate, ...).

Quellenbeschreibungen

Alle Teilnehmer einer RTP-Session verschicken in gewissen Abständen SDES-Pakete (Source DEScription - Quellenbeschreibungen). Diese Pakete bestehen aus einem Kopf und bis zu 31 Quellenbeschreibungen. Eine Quellenbeschreibung enthält allgemeine Informationen über genau einen Session-Teilnehmer (Name, E-Mail-Adresse, ...). Ein Endsystem (Sender oder Empfänger) erzeugt eine Quellenbeschreibung nur für sich selbst, während Zwischensysteme (Mixer und Übersetzer) außerdem noch Quellenbeschreibungen für die Teilnehmer erzeugen, von denen sie Daten erhalten.

Der Kopf des SDES-Pakets ist nur 4 Byte groß und wie folgt aufgebaut:

Dem Kopf wird die im Feld SC angegebene Anzahl von Quellenbeschreibungen angefügt. Das erste Feld der Quellenbeschreibung ist ein SSRC- oder CSRC-Identifikator. Dieser bestimmt eindeutig den Session-Teilnehmer, für den die in der Quellenbeschreibung enthaltenen Angaben zutreffen. Danach folgt eine Liste mit Komponenten. Die Anzahl der Komponenten ist nicht festgelegt. Eine Komponente ist folgendermaßen aufgebaut:

Die Komponente mit der größten Bedeutung für RTP ist der CNAME (Canonical NAME). Der Inhalt des CNAME-Identifikators ist das Nutzerkennzeichen des Teilnehmers und der vollständige Rechnername des genutzten Hosts (user@host).

In anderen Typen von Komponenten sind weitere Informationen enthalten, so zum Beispiel der Name des Konferenzteilnehmers und seine E-Mail-Adresse.

Abmeldung

Das Verlassen einer RTP-Session wird durch ein BYE-Paket angezeigt:

Das Paket enthält eine Liste von SSRC/CSRC-Identifikatoren der Hosts, die die Session verlassen werden. Die Länge der Liste ist im Feld SC festgelegt. Endsysteme werden BYE-Pakete wohl nur für sich selbst versenden.


© Patrick Voigt, Uwe Hübner, Holger Trapp, 1.6.1998