Real Time Transport Protocol

Real Time Transport Protocol (RTP) ist ein Protokoll der Verarbeitungsschicht. Das RTP dient dem Ende-zu-Ende Transport von Echtzeitdaten (z.B. Audio oder Video). Der eigentliche Datentransport muss durch ein Protokoll der Transportschicht übernommen werden.

RTP verwendet RTP Pakete, um Daten zu übertragen. Ein RTP Paket besteht aus einem Header und den Nutzdaten. Das Format der Nutzdaten wird nicht von der RTP Spezifikation geregelt. Der Header besteht aus:

• der Versionsnummer (2 Bit),
• das Padding-Flag (1 Bit), das gesetzt ist, wenn am Ende des Pakets Füllbytes angefügt wurden,
• das Extension-Flag (1 Bit), das gesetzt ist, wenn auf den Header eine Headererweiterung folgt,
• die Anzahl der Contributing Sources (4 Bits), die angibt, wie viele Contributing Source Ids auf den Header folgen,
• das Marker-Flag (1 Bit), dessen Bedeutung spezifisch für eine Anwendung ist,
• der Payload-Typ (7 Bits), der das Format der Nutzdaten angibt,
• die Sequenznummer (16 Bits),
• der Zeitstempel (32 Bit), der angibt, auf welchen Zeitpunkt sich der Beginn der Nutzdaten bezieht und
• die Synchronization Source Id (32 Bit), die die Quelle des RTP Datenstroms identifiziert.


Auf den Header folgen bis zu 15 Contributing Source Ids (je 32 Bit), wenn der Datenstrom von einem Mixer stammt. Ein Mixer kombiniert mehrere eingehende Datenströme zu einem ausgehenden Datenstrom.

In periodischen Abständen werden RTCP (RTP Control Protocol) Pakete an die Teilnehmer der einer Kommunikationssitzung versendet. Diese Pakete transportieren Informationen über die Qualität der RTP Kommunikation (z.B. Zahl der verlorenen Pakete, Jitter), die Datenquelle (z.B. Name, Benutzername, eMail-Adresse) und eventuell über das Verlassen der Kommunikationssitzung.


Links

http://www.cs.columbia.edu/%7Ehgs/rtp/faq.html


Quelle

http://www.ietf.org/rfc/rfc1889.txt