RTP: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 9: | Zeile 9: | ||
=RTP-Header= | =RTP-Header= | ||
*Der RTP-Header ist der erste Teil eines RTP-Pakets und enthält wichtige Informationen zur Steuerung und Verarbeitung des Datenstroms. | *Der RTP-Header ist der erste Teil eines RTP-Pakets und enthält wichtige Informationen zur Steuerung und Verarbeitung des Datenstroms. | ||
| + | {|class="wikitable" style="text-align:center; | ||
| + | !colspan="32"|32 Bit | ||
| + | |- | ||
| + | |colspan="16" style="width:50%;" |Source Port | ||
| + | |colspan="16" style="width:50%;" |Destination Port | ||
| + | |- | ||
| + | |colspan="32"|Sequence Number | ||
| + | |- | ||
| + | |colspan="32"|Acknowledge Number | ||
| + | |- | ||
| + | |colspan="4"|Offset | ||
| + | |colspan="6"|Reserved | ||
| + | |colspan="6"|Flags | ||
| + | |colspan="16"|Window | ||
| + | |- | ||
| + | |colspan="16"|Checksum | ||
| + | |colspan="16"|Urgent Pointer | ||
| + | |- | ||
| + | |colspan="10"|Options | ||
| + | |colspan="22"|Paddings | ||
| + | |- | ||
| + | |colspan="32" style="background-color:yellow"|Data | ||
| + | |} | ||
| + | |||
| + | |||
==Version (2 Bit)== | ==Version (2 Bit)== | ||
*Gibt die verwendete RTP-Version an. | *Gibt die verwendete RTP-Version an. | ||
Version vom 16. Juni 2023, 21:34 Uhr
Zweck
Das Real-time Transport Protocol (RTP) wird für die Übertragung von Echtzeitdaten wie Audio- und Videostreams verwendet. Hier ist eine Zusammenfassung des Aufbaus von RTP:
Umsetzung
- Der RTP-Header und der RTP-Payload werden in IP-Paketen verpackt und über das Internet Protocol (IP) transportiert.
- RTP ist selbst kein zuverlässiges Protokoll ist.
- Es stellt keine Mechanismen zur Fehlererkennung oder Fehlerkorrektur bereit.
- Für eine zuverlässigere Übertragung müssen zusätzliche implementiert werden.
- Maßnahmen wie z. B. das User Datagram Protocol (UDP) in Kombination mit Fehlerkorrekturverfahren wie Forward Error Correction (FEC) oder das Real-time Transport Control Protocol (RTCP) implementiert werden.
RTP-Header
- Der RTP-Header ist der erste Teil eines RTP-Pakets und enthält wichtige Informationen zur Steuerung und Verarbeitung des Datenstroms.
| 32 Bit | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Source Port | Destination Port | ||||||||||||||||||||||||||||||
| Sequence Number | |||||||||||||||||||||||||||||||
| Acknowledge Number | |||||||||||||||||||||||||||||||
| Offset | Reserved | Flags | Window | ||||||||||||||||||||||||||||
| Checksum | Urgent Pointer | ||||||||||||||||||||||||||||||
| Options | Paddings | ||||||||||||||||||||||||||||||
| Data | |||||||||||||||||||||||||||||||
Version (2 Bit)
- Gibt die verwendete RTP-Version an.
Padding (1 Bit)
- Gibt an, ob am Ende des RTP-Pakets zusätzliche Padding-Bytes vorhanden sind.
Extension (1 Bit)
- Gibt an, ob ein Header-Erweiterungsfeld vorhanden ist.
CSRC Count (4 Bit)
- Gibt an, wie viele Contributing Sources (CSRC) im Header enthalten sind.
Marker (1 Bit)
- Kann zur Signalisierung von besonderen Ereignissen im Datenstrom verwendet werden.
Payload Type (7 Bit)
- Gibt den Typ des Payloads an, der im RTP-Paket enthalten ist (z. B. Audio-, Video-Codec).
Sequence Number (16 Bit)
- Wird verwendet, um die Reihenfolge der RTP-Pakete wiederherzustellen.
Timestamp (32 Bit)
- Gibt den Zeitstempel an, der für die Synchronisierung des Datenstroms verwendet wird.
SSRC (32 Bit)
- Synchronisierungsquelle, eine eindeutige Identifikation für den Datenstrom.
CSRC-Liste (0-15 Einträge)
- Eine Liste von Contributing Sources, die an der Erzeugung des RTP-Pakets beteiligt waren.
RTP-Payload
- Der RTP-Payload enthält die eigentlichen Daten, wie z. B. die codierten Audiosamples oder Videoframes.
Optional
- RTP kann auch eine Header-Erweiterung enthalten, die zusätzliche Informationen über den Datenstrom enthält.
- Dies kann beispielsweise zur Übertragung von Codec-spezifischen Parametern oder anderen Metadaten verwendet werden.