Echtzeittransportprotokoll

Real-time Transport Protocol (RTP) definiert ein standardisiertes Paket-Format, um Audio- und Video-über IP Netze zu liefern. RTP wird umfassend in Nachrichten- und Unterhaltungssystemen verwendet, die strömende Medien, wie Telefonie, Videotelefonkonferenz-Anwendungen, Fernsehdienstleistungen und webbasierte Eigenschaften des Stoßes zum Gespräch einschließen.

RTP wird in Verbindung mit dem RTP-Kontrollprotokoll (RTCP) verwendet. Während RTP die Mediaströme trägt (z.B, Audio- und Video-), wird RTCP verwendet, um Übertragungsstatistik und Qualität des Dienstes (QoS) und Hilfssynchronisation von vielfachen Strömen zu kontrollieren. RTP wird hervorgebracht und auf sogar Hafen-Zahlen erhalten, und die verbundene RTCP Kommunikation verwendet das folgende höher sonderbare Hafen-Zahl.

RTP ist eines der technischen Fundamente des Begleitkommentars IP und in diesem Zusammenhang wird häufig in Verbindung mit einem Signalprotokoll verwendet, das bei der Aufstellung von Verbindungen über das Netz hilft.

RTP wurde von der Audiovideotransportarbeitsgruppe von Internet Engineering Task Force (IETF) entwickelt und zuerst 1996 als RFC 1889 veröffentlicht, der durch RFC 3550 2003 ersetzt ist.

Übersicht

RTP wurde von der Audio/Video Transportarbeitsgruppe der IETF Standardorganisation entwickelt. RTP wird in Verbindung mit anderen Protokollen wie H.323 und RTSP verwendet. Der RTP Standard definiert ein Paar von Protokollen, RTP und RTCP. RTP wird für die Übertragung von Multimediadaten verwendet, und der RTCP wird verwendet, um Steuerinformation und Rahmen von QoS regelmäßig zu senden.

RTP wird für der Länge nach entworfen, Übertragung von Strom-Daten schritthaltend. Das Protokoll stellt Möglichkeit für die Bammel-Entschädigung und Entdeckung aus der Folge-Ankunft in Daten zur Verfügung, die während Übertragungen in einem IP Netz üblich sind. RTP unterstützt Datenübertragung auf vielfache Bestimmungsörter durch den IP-Mehrwurf. RTP wird als der primäre Standard für den Audio/Video Transport in IP Netzen betrachtet und wird mit einem verbundenen Profil und Nutzlast-Format verwendet.

Strömende Echtzeitmultimediaanwendungen verlangen rechtzeitige Übergabe der Information und können einen Paket-Verlust dulden, um dieses Ziel zu erreichen. Zum Beispiel kann der Verlust eines Pakets in der Audioanwendung auf Verlust eines Bruchteils einer Sekunde von Audiodaten hinauslaufen, die unbemerkenswert mit passenden Fehlerverbergen-Algorithmen gemacht werden können. Transmission Control Protocol (TCP), obwohl standardisiert, für den RTP-Gebrauch, wird in der RTP Anwendung nicht normalerweise verwendet, weil TCP Zuverlässigkeit über die Rechtzeitigkeit bevorzugt. Stattdessen wird auf die Mehrheit der RTP Durchführungen auf User Datagram Protocol (UDP) gebaut. Andere für Multimediasitzungen spezifisch entworfene Transportprotokolle sind SCTP und DCCP, obwohl, sie nicht im weit verbreiteten Gebrauch sind.

Protokoll-Bestandteile

Die RTP Spezifizierung beschreibt zwei Subprotokolle:

  • Die Daten übertragen Protokoll, RTP, der sich mit der Übertragung von Echtzeitdaten befasst. Durch dieses Protokoll gegebene Auskunft schließt Zeitstempel (für die Synchronisation), Folge-Zahlen (für den Paket-Verlust und die Umstellungsentdeckung) und das Nutzlast-Format ein, das das verschlüsselte Format der Daten anzeigt.
  • Ein Kontrollprotokoll, RTCP, wird verwendet, um Feed-Back der Qualität des Dienstes (QoS) und Synchronisation zwischen den Mediaströmen anzugeben. Die Bandbreite des RTCP Verkehrs im Vergleich zu RTP, ist normalerweise ungefähr 5 % klein.
  • Ein fakultatives Signalprotokoll wie H.323 oder Session Initiation Protocol (SIP)
  • Ein fakultatives Mediabeschreibungsprotokoll wie Sitzungsbeschreibungsprotokoll

Sitzungen

Eine RTP Sitzung wird für jeden Multimediastrom gegründet. Eine Sitzung besteht aus einer IP-Adresse mit einem Paar von Häfen für RTP und RTCP. Zum Beispiel werden Audio- und Videoströme getrennte RTP Sitzungen haben, einem Empfänger ermöglichend, einen besonderen Strom abzuwählen. Die Häfen, die eine Sitzung bilden, werden mit anderen Protokollen wie RTSP verhandelt (SDP in der Einstellungsmethode verwendend), und NIPPEN. Gemäß der Spezifizierung sollte ein RTP Hafen sogar sein, und der RTCP Hafen ist das folgende höher sonderbare Hafen-Zahl. RTP und RTCP verwenden normalerweise benachteiligte UDP Häfen (1024 bis 65535), aber können andere Transportprotokolle (am meisten namentlich, SCTP und DCCP) ebenso verwenden, weil das Protokoll-Design Transportunabhängiger ist.

Profile und Nutzlast-Formate

Eine der Designrücksichten von RTP sollte eine Reihe von Multimediaformaten (wie H.264, MPEG-4, MJPEG, MPEG, usw.) unterstützen und neuen Formaten erlauben, hinzugefügt zu werden, ohne den RTP Standard zu revidieren. Das Design von RTP basiert auf dem architektonischen als Anwendungsniveau-Gestalten (ALF) bekannten Grundsatz. Die durch Bedürfnisse einer spezifischen Anwendung erforderliche Auskunft wird in den allgemeinen RTP Kopfball nicht eingeschlossen, aber wird stattdessen durch RTP Profile und Nutzlast-Formate gegeben.

Für jede Klasse der Anwendung (z.B, Audio-, Video-), definiert RTP ein Profil und ein oder mehr verbundene Nutzlast-Formate. Eine ganze Spezifizierung von RTP für einen besonderen Anwendungsgebrauch wird ein Profil und Nutzlast-Format-Spezifizierung (En) verlangen.

Das Profil definiert den codecs, der verwendet ist, um die Nutzlast-Daten zu verschlüsseln, und dass sie zu Nutzlast-Format-Codes im Feld von Payload Type (PT) des RTP Kopfballs (sieh unten) kartografisch darstellen. Jedes Profil wird durch mehrere Nutzlast-Format-Spezifizierungen begleitet, von denen jede den Transport einer Einzelheit verschlüsselte Daten beschreibt. Einige der Audionutzlast-Formate schließen ein: G.711, G.723, G.726, G.729, GSM, QCELP, MP3, DTMF usw. und einige der Videonutzlast-Formate schließen ein: H.261, H.263, H.264, MPEG-4 usw.

Beispiele von RTP Profilen schließen ein:

  • Das RTP Profil für den Audio- und die Videokonferenzen mit der minimalen Kontrolle (RFC 3551) definiert eine Reihe statischer Nutzlast-Typ-Anweisungen und einen Mechanismus, um zwischen einem Nutzlast-Format und einem Nutzlast-Typ-Bezeichner (im Kopfball) das Verwenden von Session Description Protocol (SDP) kartografisch darzustellen.
  • Secure Real-time Transport Protocol (SRTP) (RFC 3711) definiert ein Profil von RTP, der kryptografische Dienstleistungen für die Übertragung von Nutzlast-Daten zur Verfügung stellt.
  • Das experimentelle Kontrolldatenprofil für RTP (RTP/CDP) für Maschine-zu-Maschine-Kommunikationen.

Paket-Kopfball

Der RTP Kopfball hat eine minimale Größe von 12 Bytes. Nach dem Kopfball können fakultative Kopfball-Erweiterungen da sein. Dem wird von der RTP Nutzlast gefolgt, deren Format durch die besondere Klasse der Anwendung bestimmt wird. Die Felder im Kopfball sind wie folgt:

  • Version: (2 Bit) Zeigen die Version des Protokolls An. Jetzige Version ist 2.
  • P (Polstern): (1 Bit), das verwendet ist, um anzuzeigen, ob es Extrapolstern-Bytes am Ende des RTP Pakets gibt. Ein Polstern könnte verwendet werden, um einen Block der bestimmten Größe, zum Beispiel wie erforderlich, durch einen Verschlüsselungsalgorithmus voll zu füllen. Das letzte Byte des Polsterns enthält die Zahl dessen, wie viele auspolsternde Bytes (einschließlich sich) hinzugefügt wurden.
  • X (Erweiterung): (1 Bit) Zeigt Anwesenheit eines Erweiterungskopfballs zwischen Standardkopfball und Nutzlast-Daten An. Das ist Anwendung oder spezifisches Profil.
  • CC (CSRC Graf): (4 Bit) Enthalten die Zahl von CSRC Bezeichnern (definiert unten), die dem festen Kopfball folgen.
  • M (Anschreiber): (1 Bit), das am Anwendungsniveau verwendet ist und durch ein Profil definiert ist. Wenn es gesetzt wird, bedeutet es, dass die aktuellen Daten eine spezielle Relevanz für die Anwendung haben.
  • PT (Nutzlast-Typ): (7 Bit) Zeigen das Format der Nutzlast An und bestimmen seine Interpretation durch die Anwendung. Das wird durch ein RTP Profil angegeben. Sieh zum Beispiel RTP Profil für den Audio- und die Videokonferenzen mit der minimalen Kontrolle (RFC 3551).
  • Folge-Zahl: (16 Bit) wird Die Folge-Zahl von einer für jedes RTP Datenpaket gesandt erhöht und soll durch den Empfänger verwendet werden, um Paket-Verlust zu entdecken und Paket-Folge wieder herzustellen. Der RTP gibt keine Handlung auf dem Paket-Verlust an; es wird zur Anwendung verlassen, passende Handlung zu nehmen. Zum Beispiel können Videoanwendungen den letzten bekannten Rahmen im Platz des fehlenden Rahmens spielen. Gemäß RFC 3550 sollte der Anfangswert der Folge-Zahl zufällig sein, um bekannte-plaintext Angriffe auf die Verschlüsselung schwieriger zu machen. RTP stellt keine Liefergarantie zur Verfügung, aber die Anwesenheit von Folge-Zahlen macht es möglich, fehlende Pakete zu entdecken.
  • Zeitstempel: (32 Bit), die verwendet sind, um dem Empfänger zu ermöglichen, die erhaltenen Proben an passenden Zwischenräumen abzuspielen. Wenn mehrere Mediaströme da sind, sind die Zeitstempel in jedem Strom unabhängig, und dürfen für die Mediasynchronisation nicht darauf gebaut werden. Die Körnung des Timings ist spezifische Anwendung. Zum Beispiel, eine Audioanwendung, dass Beispieldaten sobald alle 125 µs (8 Kilohertz, eine allgemeine Beispielrate in der Digitaltelefonie) diesen Wert als seine Uhr-Entschlossenheit verwenden konnten. Die Uhr-Körnung ist eines der Details, das im RTP Profil für eine Anwendung angegeben wird.
  • SSRC: (32-Bit-)-Synchronisationsquellbezeichner identifiziert einzigartig die Quelle eines Stroms. Die Synchronisationsquellen innerhalb derselben RTP Sitzung werden einzigartig sein.
  • CSRC: Beitragende Quellpersonalausweise zählen beitragende Quellen zu einem Strom auf, der von vielfachen Quellen erzeugt worden ist.
  • Erweiterungskopfball: (Fakultativ) enthält Das erste 32-Bit-Wort einen mit dem Profil spezifischen Bezeichner (16 Bit) und eine Länge specifier (16 Bit), der die Länge der Erweiterung (EHL=extension Kopfball-Länge) in 32-Bit-Einheiten anzeigt, der 32 Bit des Erweiterungskopfballs ausschließend.

RTP-basierte Systeme

Gestütztes System eines ganzen Netzes wird andere Protokolle und Standards in Verbindung mit RTP einschließen. Protokolle wie NIPPEN, RTSP, H.225 und H.245 werden für die Sitzungseinleitung, Kontrolle und Beendigung verwendet. Andere Standards wie H.264, MPEG, H.263 usw., werden verwendet, um die Nutzlast-Daten, wie angegeben, über das RTP Profil zu verschlüsseln.

Ein RTP Absender gewinnt die Multimediadaten, der dann verschlüsselt, eingerahmt und als RTP Pakete mit passenden Zeitstempeln und steigernden Folge-Zahlen übersandt wird. Abhängig vom RTP Profil im Gebrauch wird das Nutzlast-Typ-Feld gesetzt. Der RTP Empfänger gewinnt die RTP Pakete, entdeckt fehlende Pakete, und kann Umstellung von Paketen durchführen. Die Rahmen werden abhängig vom Nutzlast-Format decodiert und dem Endbenutzer präsentiert.

RFC Verweisungen

  • RFC 3550, Normale 64, RTP: Ein Transportprotokoll für Echtzeitanwendungen
  • RFC 3551, Normale 65, RTP Profil für den Audio- und die Videokonferenzen mit der Minimalen Kontrolle
  • RFC 6184, Vorgeschlagener Standard, RTP Nutzlast-Format für das H.264 Video
  • RFC 3984, Veraltet, RTP Nutzlast-Format für das H.264 Video
  • RFC 4103, RTP Nutzlast-Format für das Textgespräch
  • RFC 3640, RTP Nutzlast-Format für den Transport von MPEG-4 Elementaren Strömen
  • RFC 3016, RTP Nutzlast-Format für MPEG-4 Audio/visuelle Ströme
  • RFC 2250, Vorgeschlagener Standard, RTP Nutzlast-Format für das MPEG1/MPEG2 Video
  • RFC 4175, RTP Nutzlast-Format für das Unkomprimierte Video

Siehe auch

  • ZRTP

Referenzen

Links


Echtzeiteinteilungsprotokoll / Robert Calvert
Impressum & Datenschutz