5. RTP-Datenübertragungsprotokoll (RTP Data Transfer Protocol)
5.1 Feste RTP-Header-Felder (RTP Fixed Header Fields)
Der RTP-Header hat das folgende Format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|X| CC |M| PT | sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Die ersten zwölf Oktette sind in jedem RTP-Paket vorhanden, während die Liste der CSRC-Identifikatoren nur vorhanden ist, wenn sie von einem Mixer eingefügt wird. Die Felder haben folgende Bedeutung:
Version (V): 2 Bits Dieses Feld identifiziert die Version von RTP. Die durch diese Spezifikation definierte Version ist zwei (2).
Padding (P): 1 Bit Wenn das Padding-Bit gesetzt ist, enthält das Paket am Ende ein oder mehrere zusätzliche Padding-Oktette, die nicht Teil der Nutzdaten sind.
Erweiterung (X): 1 Bit Wenn das Erweiterungs-Bit gesetzt ist, MUSS dem festen Header genau eine Header-Erweiterung folgen, mit einem in Abschnitt 5.3.1 definierten Format.
CSRC-Anzahl (CC): 4 Bits Die CSRC-Anzahl enthält die Anzahl der CSRC-Identifikatoren, die dem festen Header folgen.
Marker (M): 1 Bit Die Interpretation des Markers wird durch ein Profil definiert. Es soll ermöglichen, bedeutende Ereignisse wie Rahmengrenzen im Paketstrom zu markieren.
Nutzdatentyp (PT): 7 Bits Dieses Feld identifiziert das Format der RTP-Nutzdaten und bestimmt deren Interpretation durch die Anwendung.
Sequenznummer: 16 Bits Die Sequenznummer wird für jedes gesendete RTP-Datenpaket um eins erhöht und kann vom Empfänger verwendet werden, um Paketverlust zu erkennen und die Paketsequenz wiederherzustellen.
Zeitstempel: 32 Bits Der Zeitstempel spiegelt den Abtastzeitpunkt des ersten Oktetts im RTP-Datenpaket wider.
SSRC: 32 Bits Das SSRC-Feld identifiziert die Synchronisationsquelle.
CSRC-Liste: 0 bis 15 Einträge, je 32 Bits Die CSRC-Liste identifiziert die beitragenden Quellen für die in diesem RTP-Paket enthaltenen Nutzdaten.
5.2 Multiplexen von RTP-Sitzungen (Multiplexing RTP Sessions)
Aus Effizienzgründen sollte die Anzahl der Multiplexing-Punkte minimiert werden. In RTP wird Multiplexing durch die Ziel-Transportadresse bereitgestellt, die für jede RTP-Sitzung unterschiedlich ist.
5.3 Profilspezifische Änderungen am RTP-Header (Profile-Specific Modifications to the RTP Header)
Der bestehende RTP-Daten-Header wird für die erforderlichen Funktionen als vollständig angesehen. Änderungen können jedoch in bestimmten Profilen vorgenommen werden.
5.3.1 RTP-Header-Erweiterung (RTP Header Extension)
Ein Erweiterungsmechanismus wird bereitgestellt, um einzelnen Implementierungen das Experimentieren mit neuen, vom Nutzdatenformat unabhängigen Funktionen zu ermöglichen.