Current Page: | Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m06 » Learning Units » Unit ID: 2_2_23 |
---|---|
Last Modified: | Tuesday, 2015-05-05 - 08:09:01 |
Tools: | Validate — Preview XML Preview HTML Preview PDF |
Alternative: | Printable HTML |
Title: | MM-Übertragungsprotokolle | ||
---|---|---|---|
Abstract: | Diese LU beschäftigt sich mit den Protokollen, die zur Übertragung über das Netzwerk notwendig sind. Sie beinhaltet eine kurze Einführung in TCP und UDP und geht insbesondere auf die Echtzeit-Übertragungsprotokolle ein, die für Multimedia-Übertragungen benötigt werden. | ||
Status: |
Review II: done |
Version: | 8.0 |
History: |
caption, source done. Rendering tags done. Acronyme, Absätze und Wordanführungszeichen done. Review von Prof. Kosch eingearbeitet. Unbekannte Character ausgebessert. Referenzen aufgeteilt. |
Author 1: | Harald Kosch | E-Mail: | harald.kosch@itec.uni-klu.ac.at |
---|---|---|---|
Author 2: | (empty) | E-Mail: | (empty) |
Author 3: | (empty) | E-Mail: | (empty) |
Author 4: | (empty) | E-Mail: | (empty) |
Author 5: | (empty) | E-Mail: | (empty) |
Organization: | Universität Klagenfurt - Institut für Informatik-Systeme |
Echtzeit-Protokolle1Übersicht über Echtzeit-Protokolle
Einführung TCP/UDP
Traditionelle ProtokolleTCP VerhaltenAuto PCAuto PDA_PhoneAuto
UDP VerhaltenAuto PCAuto PDA_PhoneAuto
Protokolle für Echtzeit-Audio und VideoAuto PCAuto PDA_PhoneAuto
Echtzeit Protokoll RTP
Echtzeit Protokoll Dienste
RTCP Funktionen
2Übersicht über Echtzeit-ProtokolleDie wichtigsten Echtzeit-Protokolle sind RTP106
(Real-Time Protocol), RTSP146
(Real-Time Streaming Protocol) und RSVP144
(Resource Reservation Protocol). Einführung TCP/UDPTCP145 (Transmission Control Protocol) und UDP141 (User Datagram Protocol) stellen die beiden wichtigsten Protokolle der Transportschicht dar. Beide Protokolle arbeiten mit Ports. Mit den Portnummern werden auf der Transportschicht die verschiedenen Anwendungen adressiert um die empfangenen Daten an die korrekte Applikation weiterzuleiten. TCP145 und UDP141 können die gleichen Portnummern belegen, allerdings haben sie jeweils eigene Adressräume. Das bedeutet, dass die Portnummer 53 in TCP145 nicht identisch mit der Portnummer 53 in UDP141 ist.
Traditionelle ProtokolleTCP VerhaltenAuto PCAuto PDA_PhoneAutoNach Aufbau der Verbindung über das TCP145-Protokoll beginnt der Sender dem Empfänger Daten zu übermitteln. Zuerst beginnt er langsam zu senden, mit der Zeit erhöht TCP145 dann die übertragene Paket-Rate. Überschreitet die Anzahl der Datenpakete, die der Sender dem Netz übergibt, die Aufnahmekapazität des Empfängers, wird dieser überlastet und verwirft einen Teil der Pakete. Dies wird dem Sender gemeldet, wodurch dieser wiederum seine Paket-Rate reduziert. Dieser Mechanismus wird Flusskontrolle genannt. UDP VerhaltenAuto PCAuto PDA_PhoneAutoBei der Übertragung von Daten mithilfe des UDP141-Protokolls beginnt der Sender von Anfang an mit Höchstgeschwindigkeit Daten an den Empfänger zu übermitteln. Sollen weniger Daten übertragen werden, so reduziert UDP141 die Paket-Rate. Bei diesem Protokoll erhält der Sender keinerlei Rückmeldung vom Empfänger. Wird der Empfänger durch eine zu hohe übertragene Paket-Rate überlastet, so ist er gezwungen Pakete zu verwerfen. Da in diesem Fall allerdings dem Sender keine Rückmeldung übertragen wird, überträgt er weiterhin mit der hohen Paketrate. Protokolle für Echtzeit-Audio und VideoAuto PCAuto PDA_PhoneAutoUm allerdings Echtzeit-Daten zu übertragen
sind weder TCP145
noch UDP141
alleine wirklich geeignet. Mit TCP145
können Echtzeit-Audio und -Video Applikationen nicht übertragen, da
dieses wie schon erwähnt, die Datenübertragung langsam startet. Um auch diese Nachteile auszugleichen, wird von den meisten Applikationen RTP106 (Real-Time Transport Protokoll) dazwischengeschalten. RTP106 arbeitet unabhängig von der darunterliegenden Transport- und Netzwerkschicht. Es überträgt sowohl Uni- als auch Multicast über UDP141. Dieses Protokoll wird nicht als eigene Netzwerkschicht dargestellt, es ist in die Applikation integriert. RTP106 verwendet Zeitstempel und arbeitet mit Rückmeldungen, wodurch der Sender den Verlust von Paketen erkennen kann. Echtzeit Protokoll RTPDas Echtzeit-Protokoll RTP106 wurde als Internet IETF258 (The Internet Engineering Task Force) Standard definiert. Version 1 von RTP106 wurde im Januar 1996 als RFC 1889 definiert, Version 2 im März 2001. Die zentralen, von RTP106 angebotenen Funktionen sind:
Die Inhalts-Identifikation wird mithilfe eines speziellen Bytes im Header des RTP106-Paketes definiert und gibt an, ob es sich bei den übertragenen Daten z.B. um ein Video-Frame oder eine Sequenz von Audio-Samples handelt. Durch die Formatangabe in jedem Paket wird eine dynamische Änderung des Kodierungsverfahrens im Verlauf einer Sitzung ermöglicht. Um Verluste zu erkennen ist es notwendig die einzelnen Pakete zu
nummerieren, was mittels der Sequenznummer geschieht. Durch diese
Nummerierung ist es dem Empfänger möglich die ursprüngliche Reihenfolgebeziehung
der Pakete wiederherzustellen und eventuelle Paketverluste zu erkennen. Ein Vorteil von RTP106 gegenüber TCP145 ist, dass es den Netzverkehr weniger belastet. Zum einen dadurch, dass der RTP106 Header nur 12 Byte ausmacht, wohingegen der TCP145 Header aus 20 Byte besteht. Zum anderen dadurch, dass RTP106 keine Flusskontrolle und kein erneutes Übertragen von Paketen anbietet. Echtzeit Protokoll DiensteRTP106 an sich ist nur für die Datenübertragung zuständig. Um eine dynamische Skalierung der Anwendung und auch flexible Anpassungen an die jeweiligen QoS72-Parameter zu ermöglichen ist ein weiteres Protokoll nötig und zwar RTCP142 (Real-Time Transport Protocol). RTP106 Header besitzen, wie schon erwähnt, Sequenznummern, welche aus 2 Bytes bestehen, um Paketverlust zu entdecken und die ursprüngliche Reihenfolge der übertragenen Daten wiederherzustellen. Außerdem besitzen sie Zeitstempel (4 Bytes), welche zur Intra-Media als auch der Inter-Media Synchronisation dienen. Das Protokoll RTCP142 ist hingegen zuständig für die Sitzungskontrolle. Es basiert auf dem periodischen Austausch von Kontrollpaketen unter den Sitzungsteilnehmern. RTCP142 setzt hierbei auf die gleichen Protokollschichten wie RTP106 beim eigentlichen Datentransport. RTCP FunktionenDas RTCP142 basiert auf den periodischen Austausch von Kontrollpaketen unter den Sitzungsteilnehmern. RTCP142 deckt insbesondere folgende Funktionsbereiche ab:
3Referenzen zu RTPRTP04a RTP04b RTSP1Motivation für RTSP: Streaming über das Web
Auto PCAuto PDA_PhoneAutoHaupthindernis: Medienplayer interagiert mit dem Server über den dazwischenliegenden Web Browser Alternative: Verbindungsaufbau zwischen Server und Player
Auto PCAuto PDA_PhoneAutoProbleme: Auto PCAuto PCRTSP Grundsätze
RTSP beginnt und kontrolliert ÜbertragungAuto PCAuto PDA_PhoneAuto
2Motivation für RTSP: Streaming über das WebAuto PCAuto PDA_PhoneAutoRTSP146 dient
der verteilten Kontrolle der Medienströme und wird von Streamingapplikationen
über das Netz angewendet. Um den Einsatz von RTSP146
zu motivieren, betrachten wir ein typisches Szenario von Medienabspiel
und Webserver. Auto PCAuto PDA_PhoneAutoEs ist allerdings möglich, diesen Nachteil zu übergehen, und eine direkte Verbindung zwischen Server und Medienplayer aufzubauen. Hier stellt der Web-Browser eine Anfrage für eine bestimmte Datei an den Webserver. Dieser sendet eine Metadatei zurück, welche eine Beschreibung der zu übertragenden Datei beinhaltet. Der Web-Browser liest nun aus dem Header den Inhalts-Typ der Datei aus und startet den entsprechenden Medienplayer. Der Player seinerseits baut eine TCP145-Verbindung mit dem Server auf und sendet eine HTTP63 Anfrage für diese Datei. Der Server überträgt ihm darauf die Datei und der Medienplayer spielt sie ab. Hierbei stellt sich allerdings das Problem, dass der Medienplayer mit dem Server über HTTP63 kommuniziert. HTTP63 ist allerdings nicht in der Lage, eine VCR-Kontrolle (Pause, Fast Forward, Rewind) anzubieten. Verwendung von RTSP/RTCP/RTP PCAuto PCAuto PDA_PhoneAutoMithilfe von RTSP146 (Real-Time Streaming Protocol) ist es möglich kontinuierliche Daten mit VCR-Kontrolle zu übertragen. Schickt der Web-Browser nun eine HTTP63 Anfrage an den Server, so erhält er von diesem eine Präsentationsbeschreibung des gewünschten Mediums. Der Browser ruft nun einen entsprechenden Medienplayer auf, welcher über eine in der Präsentationsbeschreibung beinhaltete RTSP146-Referenz Verbindung zu den benötigten Medienströmen aufnimmt. Die wirkliche Übertragung erfolgt nicht über RTSP146, sondern zum Beispiel über RTP106. RTSP146 hat allein die Aufgabe die Übertragung zu kontrollieren. Kommen wir nun nach der Motivation zu einer genaueren Erklärung des Aufbaus von RTSP146. RTSP GrundsätzeDas Echtzeit-Übertragungsprotokol RTSP146
(Real Time Streaming Protocol) wurde ebenso wie RTP106
von IETF258
standardisiert (RCF 2326). Die von RTSP146 kontrollierten Ströme können z.B. mit RTP106 übertragen werden, aber die Operationen von RTSP146 sind nicht von dem Transportmechanismus, mit dem die kontinuierlichen Daten übertragen werden, abhängig. RTSP146 unterstützt folgende Operationen:
RTSP146 stellt ein textbasiertes Protokoll auf der Applikationsebene dar. Bezüglich der Syntax und des Ablaufes weist RTSP146 einige Ähnlichkeiten mit HTTP63 auf. Allerdings unterscheiden sich diese zwei Protokolle in wichtigen Punkten. Zum einen muss ein RTSP146 Server in der Lage sein seinen Sitzungsstatus beizubehalten. Außerdem können bei diesem Protokoll sowohl der RTSP146-Server als auch der Benutzer Anfragen stellen. Zusätzlich werden die Daten von einem anderen Protokoll band-extern übertragen. RTSP146 selbst kann über UDP141 oder TCP145 übertragen werden und bietet die Möglichkeit entweder eine Unicast- oder eine Multicastübertragung zu starten. RTSP beginnt und kontrolliert ÜbertragungAuto PCAuto PDA_PhoneAutoWill ein Benutzer eine bestimmte Audio- oder Videodatei erhalten, so sendet er wie üblich eine HTTP63 Anfrage an den Webserver. Von diesem erhält er eine Beschreibung der Multimedia-Datei, welche aus verschiedenen Medienströmen bestehen kann. Der Browser ruft nun einen Medienplayer auf, der dem Inhaltstyp in der Präsentationsbeschreibung entspricht (z.B.: SMIL27). Die Präsentationsbeschreibung beinhaltet zusätzlich eine Referenz zu den benötigten Medienströmen (rtsp://). An die angegebene Referenz sendet der Medienplayer zuerst eine RTSP146 SETUP Anfrage und erhält vom Server eine RTSP146 SETUP Antwort. Daraufhin sendet der Player eine RTSP146 PLAY Anfrage. Der Server beginnt nun den Medienstrom zu übertragen. Um die Verbindung wieder zu beenden wird vom Player eine RTSP TEARDOWN Anfrage gesendet und vom Server bestätigt. Durch RTSP146 ist auch die VCR-Kontrolle möglich, der Player kann zum Beispiel eine RTSP146 PAUSE Anforderung an den Server schicken um die Übertragung zeitweilig zu unterbrechen. 3Referenzen zu RTSPRTS03 RTS04 RSVP1Auto
RSVP Grundfunktionalität
RSVP Betriebsgrundsätze
2AutoRSVP144 (Resource Reservation Protocol) ist ein Protokoll zur Netzwerkkontrolle. Es ermöglicht Internet-Applikationen ein spezielles Quality of Service für Datenflüsse. In der Hierarchie der Protokolle kommt RSVP144 über IP, RSVP144-Informationen werden also über IP-Pakete übertragen. Daher ist RSVP144 transparent, der Datenfluss kann also nicht-RSVP144-fähige Strecken beinhalten. Um ein bestimmtes Quality of Service erfüllen zu können, müssen Ressourcen entlang des Übertragungspfades reserviert werden. Die Reservierung kommt in der zeitlichen und damit auch logischen Reihenfolge nach dem Routing. Erst nachdem mit den herkömmlichen IP-Routingmechanismen ein Pfad gefunden wurde, werden per RSVP144 an ihm entlang Ressourcen reserviert. RSVP144 ist
ein Teil des zukünftigen "Integrierten Service" Internet,
welches sowohl Best-Effort als auch Echtzeit-Quality of Service anbieten
wird. RSVP GrundfunktionalitätFolgende Grundfunktionalität wird von RSVP144 zur Verfügung gestellt:
RSVP BetriebsgrundsätzeDie Betriebsgrundsätze von RSVP144: Jeder Knoten auf dem Übertragungspfad wird von RSVP144 einer Entscheidungsprozedur (Zugangskontrolle) hinsichtlich der QoS72-Anfrage unterworfen. Diese ermittelt ob ein Knoten genug freistehende Ressourcen zur Verfügung stellen kann um das gewünschte Quality of Service zu liefern. Wenn die Zugangskontrolle Erfolg hat, so werden die Parameter im Klassifizierungs- und Paketscheduler bestimmt um das gewünschte QoS72 zu erreichen. Wenn nur einer der Knoten des Pfades nicht genug Ressourcen zur Verfügung stellen kann, so sendet RSVP144 eine Fehlermeldung an die Applikation. Zusätzlich bedient sich RSVP144 einer Strategiekontrolle. Diese prüft, ob der Benutzer auch die Erlaubnis hat die angefragten Ressourcen zu reservieren. Jeder Router des Pfades, der zur Ressourcen-Reservierung fähig ist (also bei dem die vorherigen zwei Kontrollen positiv verlaufen), übergibt die eingehenden Datenpakete einer Paket-Sortiermaschine und einem Paket-Scheduler. Der Paket-Sortierer bestimmt die QoS72-Klasse für jedes Paket und der Scheduler bestimmt die Folge der Paket-Übertragungen um das bestimmte QoS72 für jeden gesendeten Stream zu erlangen. 3Referenzen zu RSVPRSV99 RSV04 Bibliographie2Allgemeine ReferenzenIRT04 |
(empty) |