Die Internet-Protokollwelt Wintersemester 2016/17 Die InternetProtokollwelt 8. MULTIMEDIA-STRÖME IM INTERNET Unter Nutzung einiger Folien von Prof. Dr. -Ing. Anatol Badach Fachhochschule Fulda, FB Angewandte Informatik Übersicht Multimedia-Anwendungen Realtime Streaming Protocol, RTSP Realtime Protocol, RTP Voice over IP, VoIP DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 274 1 Die Internet-Protokollwelt Wintersemester 2016/17 Multimedia und Internet Ständig neue multimediale verteilte Anwendungen ◦ ◦ ◦ ◦ ◦ ◦ ◦ Video on Demand IP-Telefonie Internet Radio Telekonferenzen Interaktive Spiele Virtuelle Welten Tele-Learning Erhöhte Anforderungen an ◦ Ende-zu-Ende-Verzögerung ◦ Verzögerungsschwankungen Spezielle „Streaming Protocols” notwendig DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 275 Multimedia-Client-Anwendungen Aufgaben ◦ Dekomprimierung des Datenstroms „on the fly” ◦ Abschwächung der Verzögerungsschwankungen durch Pufferung ◦ Fehlerbehandlung durch Vorwärtsfehlerkorrektur Explizite Übertragungswiederholung in Ausnahmefällen Interpolierung verlorener Daten ◦ Bereitstellung einer grafischen Benutzerschnittstelle Ausprägungen ◦ Stand-alone-Anwendungen, z. B. VLC Player, MS Media Player ◦ Plug-Ins für Browser, z. B. Flash DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 276 2 Die Internet-Protokollwelt Wintersemester 2016/17 Audio/Video im Web (I) Naiver Ansatz: Übertragung der Medienströme über HyperText Transfer Protocol, HTTP ◦ Medienstrom in einer HTTP-Response übertragen ◦ Eventuell mehrere Responses, z. B. bei Video (eine Response für das Video, eine für den Ton dazu) ◦ Client für notwendige Synchronisation zuständig Web Browser Web-Server mit Mediendateien Media Player Nachteil: Gesamter Medienstrom muss zunächst heruntergeladen werden, ehe er abgespielt werden kann 277 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Audio/Video im Web (II) Verbesserung durch Übertragung des Medienstroms direkt zum Media Player Koordination zwischen Web Browser und Media Player über Metafile Beschreibung z. B. mittels Session Description Protocol, SDP [RFC 4566] Web-Server mit Mediendateien Web Browser (2) Metafile Media Player DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 278 3 Die Internet-Protokollwelt Wintersemester 2016/17 Audio/Video im Web (III) Zur Umgehung von HTTP Verwendung eines speziellen Streaming Servers (nicht notwendigerweise ein zweiter Rechner) Web-Server Web Browser (2) Beschr. Media Player Streaming Server DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 279 Optionen zur Übertragung des Medienstroms Übertragung über UDP mit konstanter Senderate und sofortiger Darstellung auf Client-Seite ◦ Beispielsweise Audiostrom mit 13 kbit/s ◦ Sobald die Daten empfangen werden, werden sie dekomprimiert und dargestellt Übertragung über UDP mit konstanter Senderate und verzögerter Darstellung auf ClientSeite ◦ Client puffert den Strom für kurze Zeit (2-5 s) zur Eliminierung der Verzögerungsschwankung Übertragung über TCP mit verzögerter Darstellung auf Client-Seite ◦ Bessere Übertragungsqualität, aber Leerlaufen des Puffers wahrscheinlich (TCP-Staukontrolle) DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 280 4 Die Internet-Protokollwelt Wintersemester 2016/17 Realtime Streaming Protocol Version 2.0, RTSP [RFC 7826] Kontrolle des Medienstroms analog zu einem Videorekorder: ◦ Pause ◦ Positionieren ◦ Schnelles Vor- und Zurückspulen mit Bildwiedergabe ◦ ... Protokoll zur Übermittlung der Kontrollinformation notwendig: Realtime Streaming Protocol, RTSP RTSP ist nicht verantwortlich für ◦ Medienkompressionsverfahren ◦ Verpacken des Medienstroms in Pakete ◦ Transport des Medienstroms ◦ Pufferung der Daten 281 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET RTSP – Ablauf Web Browser HTTP Get Session Description Web Server Übergabe Metafile SETUP PLAY Media Player RTP audio RTP video RTCP Media Server PAUSE CLOSE DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 282 5 Die Internet-Protokollwelt Wintersemester 2016/17 RTSP – Befehle OPTIONS – (bidirektionales) Abfragen verfügbarer Funktionen/Merkmale DESCRIBE – Abfragen der (low-level) Beschreibung eines Medienstroms SETUP – Aufbau der Transportbeziehung/RTSP-Sitzung; Ändern der Transport-Parameter PLAY – Start der Wiedergabe/Umpositionierung PLAY_NOTIFY – Informieren über ein asynchrones Ereignis während der Wiedergabe, z. B. Scale-Change PAUSE – Anhalten des Stroms, Aufrechterhalten des Zustands TEARDOWN – Anhalten des Stroms und Löschen des Zustands GET_PARAMETER – Abfragen von Parametern, die den Medienstrom betreffen SET_PARAMETER – Steuerung des Gerätes/der Kodierung, auch zum Rücksetzen des Keep-Alive-Timers REDIRECT – Umlenken des Clients zu neuem Server DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 283 RTSP – Eigenschaften Out-Of-Band-Protocol Portnummer 554 RTSP benutzt ◦ TCP oder ◦ UDP Zuverlässigkeit ◦ Wenn TCP verwendet wird, wird jeder Befehl nur einmal geschickt ◦ Wenn UDP verwendet wird, wird nach einer geschätzten Round Trip Time, RTT der Befehl bei ausbleibender Reaktion wiederholt ◦ Befehle werden durchnummeriert Implementierungen vorhanden, z.B. rtspd von Columbia University (http://www.cs.columbia.edu/IRT/software/rtspd/) DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 284 6 Die Internet-Protokollwelt Wintersemester 2016/17 Realtime Protocol, RTP Zweck: Standardisierte Übertragung von Multimediaströmen Notwendig: Paketstruktur mit Feldern für ◦ ◦ ◦ ◦ [RFC 3550] Audio-Daten Video-Daten Sequenznummern Zeitstempeln Nutzung von UDP zur Übertragung der Medienströme Übertragung bestehender standardisierter Formate ◦ für Audio, z. B. PCM- oder GSM-Kodierung ◦ für Video, z. B. MPEG1 oder MPEG2 Wichtig: RTP umfasst keinerlei Mechanismen zur Garantie der zeitgerechten Auslieferung oder sonstiger QoS-Anforderungen DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 285 Internet-Referenzmodell Einordnung von RTP RTP geht auch für Multicast und Multipeer RTP Session Anwendung RTP Transport (UDP) Internet (IP) RechnerNetzanschluss DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 286 7 Die Internet-Protokollwelt Wintersemester 2016/17 RTP – Paketkopf Payload Type Sequence Number Timestamp Synchronization Miscellaneous Source ID Fields 32 bit lang, identifiziert die Quelle des RTP-Stroms (nicht die IP-Adresse, sondern eine Zufallszahl, die bei Beginn des Stromes generiert wurde) 32 bit lang, abgeleitet vom Abtasttakt auf Senderseite, bezieht sich auf das erste Byte im Paket 16 bit lang, wird mit jedem Paket um 1 erhöht zur Erkennung und eventuell Neuanforderung fehlender Pakete 7 bit lang, Angabe der Kodierung (s. nächste Folie) 287 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET RTP – Payload Types Payload Type Audio-Format Abtastrate Durchsatz Payload Type Video Format 0 PCM m-law 8 kHz 64 kbit/s 26 Motion JPEG 1 1016 8 kHz 4,8 kbit/s 31 H.261 3 GSM 8 kHz 13 kbit/s 32 MPEG1 Video 7 Linear Predictive Coding 8 kHz 2,4 kbit/s 33 MPEG2 Video 9 G.722 8 kHz 48–64 kbit/s 14 MPEG Audio 90 kHz n.a. 15 G.728 8 kHz 16 kbit/s Audio Video DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 288 8 Die Internet-Protokollwelt Wintersemester 2016/17 RTP Control Protocol, RTCP Steuerprotokoll in Verbindung mit RTP RTCP-Pakete werden periodisch versendet und enthalten Sender- und/oder Empfängerinformationen zur Auswertung durch die Anwendung ◦ Anzahl gesendeter Pakete ◦ Anzahl verlorengegangener Pakete ◦ Abschätzung der Abweichung der Zwischenankunftszeiten Was die Anwendungen mit dieser Information machen, bleibt den Anwendungsentwicklern überlassen DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 289 RTCP – Pakettypen Jeder RTP-Empfänger sendet für jeden Strom periodisch ein RTCP-Paket als Empfangsbericht ◦ ◦ ◦ ◦ Synchronization Source ID Anteil der verloren gegangenen Pakete Letzte empfangene Sequenznummer Mittlere Abweichung der Zwischenankunftszeiten Der RTP-Sender schickt periodisch Informationen: ◦ ◦ ◦ ◦ Synchronization Source ID Timestamp des zuletzt gesendeten Pakets Lokale Zeit des Senders Anzahl der gesendeten Pakete und Bytes Mit Hilfe der Senderberichte können verschiedene Ströme synchronisiert werden DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 290 9 Die Internet-Protokollwelt Wintersemester 2016/17 RTCP – Skalierung der Bitrate Problem: Skalierbarkeit – RTCP-Verkehr kann RTP-Verkehr übertreffen Lösung: Anpassung der Rate, mit der die RTCP-Pakete geschickt werden Ziel: Begrenzung des RTCP-Verkehrs auf 5% des gesamten Verkehrsaufkommens in einer Session Beispiel: ◦ Gesamtes Verkehrsaufkommen: 2 Mbit/s ◦ RTCP-Verkehr: 100 kbit/s ◦ Aufteilung beispielsweise 25 % für Sender: 25 kbit/s (nur ein Sender) 75 % insgesamt für alle R Empfänger: 75 kbit/s ◦ Periode für Sender: 1 T RTCP Paketgröße 0,25 0,05 2 Mbit / s ◦ Periode für Empfänger: T R RTCP Paketgröße 0,75 0,05 2 Mbit / s 291 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Voice over IP (VoIP) PC mit PC: IP-Netz (Intra- oder Internet) PC mit Telefon: IP-Netz (Intra- oder Internet) VoIPGateway Öffentliches Telefonnetz DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz TKAnlage 292 10 Die Internet-Protokollwelt Wintersemester 2016/17 Protokolle für VoIP Protokolle für die Übermittlung der Sprache: ◦ RTP & RTCP Protokolle für die Signalisierung, d. h. VoIP-Signalsierungsprotokolle: ◦ H.323 ◦ Session Initiation Protocol, SIP [RFC 3261] Protokolle zur Anbindung herkömmlicher TK-Systeme für die Sprachübermittlung an IP-Netze; d. h. so genannte Media Gateway Control Protokolle: ◦ Media Gateway Control Protocol, MGCP [RFC3435] ◦ H.248/Megaco [RFC 5615] DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 293 Integration von IP und Telefonie durch H.323 Telefonienetz IP-Netz Daten • Optimiert für Datenanwendungen • Effiziente Nutzung der Bandbreite Sprache Video • Optimiert für Sprachund Video-Anwendungen • Isochrone Übertragung H.323 verbindet diese unterschiedlichen „Welten” DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 294 11 Die Internet-Protokollwelt Wintersemester 2016/17 H.323 Standard für Echtzeit-Audio- und Videokonferenzen für Endsysteme im Internet Spezifikation der Kommunikation zwischen Endsystemen und herkömmlichen Telefonen Interoperabilität Anwendungskontext für RTP – RTP integraler Bestandteil von H.323 H.323-Komponenten: ◦ End Points Stand-alone-Geräte wie Web Phones oder Web TVs oder PC-Anwendungen wie InternetVideokonferenzsoftware ◦ Gateways zum Übergang ins herkömmliche Telefonnetz ◦ Gatekeepers für Adressumsetzung, Autorisierung, Bandbreitenmanagement, Abrechnung, ... 295 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET H.323-Terminal Multipoint Control Unit Gatekeeper H.323-Basiskomponenten H.323-Zone Telefonnetz H.324 MCU VoIPGateway B-ISDN ISDN H.321 H.320 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz H.323-Terminal 296 12 Die Internet-Protokollwelt Wintersemester 2016/17 AudioAnwendungen RAS – Registration/Administration/Status H.323 H.323 – Protokollarchitektur G.711 G.722 G.729 etc. VideoAnwendungen H.261 H.263 etc. RAS Channel H.255 RTP RTCP Systemsteuerung Call Signaling Channel Q.931 UDP Call Control Channel H.245 TCP IP DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 297 H.323 – Kanäle und Sessions In einer H.323-Session werden verschiedene H.323-Kanäle benötigt: ◦ mehrere simultane RTP-Ströme pro RTP-Strom typischerweise ein Kanal zum Senden und ein Kanal zum Empfangen ◦ ein RTCP-Kanal wie beschrieben ◦ ein H.245-Steuerkanal zum Aufbau/Abbau von Kanälen und zum Aushandeln von Stromeigenschaften ◦ ein Q.931-Kanal für traditionelle Telefonfunktionalität DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 298 13 Die Internet-Protokollwelt Wintersemester 2016/17 TCP/IP und VoIP-Protokolle Signalisierung H.323Signalisierung Audio/Video SIP TCP RTP RTCP UDP Internet Protocol Rechnernetzanschluss 299 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Session Initiation Protocol , SIP RFC 3261 der Internet Engineering Task Force, IETF Signalisierungsprotokoll für die Übermittlung von Audio und Video über IP-Netze Der Funktion nach mit H.323 vergleichbar, aber weniger komplex und einfacher zu implementieren Client/Server-Prinzip Unterstützung der Mobilität von Benutzern DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz [Jeong 2003] 300 14 Die Internet-Protokollwelt Wintersemester 2016/17 [email protected] Beispiel für einen SIPVerlauf [email protected] INVITE [email protected] 180 Ringing 200 OK ACK [email protected] VoIP - Verbindung BYE [email protected] 200 OK 301 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET SIP-Abbildung auf das D-KanalProtokoll VoIPGateway INVITE 100 Trying 180 Ringing 200 OK VoIP-Verbindung BYE 200 OK DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz SETUP ALERT CONNECT B-Kanal DISCONNECT RELEASE RELEASE ACKNOWLEDGE 302 15 Die Internet-Protokollwelt Wintersemester 2016/17 Integration herkömmlicher TK-Systeme mit VoIP-Systemen Verschiedene Gateways für die Einbindung herkömmlicher Systeme für die Sprachkommunikation in IP-Netze ◦ Media Gateways Protokolle für die Steuerung von Media Gateways ◦ Media Gateway Control Protocol, MGCP ◦ Megaco Klassische Telefonapparate können auch in VoIP-Systemen eingesetzt werden 303 DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Media Gateways: Typen und Einsatz Trunking Gateway VoIP ..... VoIP ..... VoIP ..... Telefonnetz Residential Gateway Access Gateway TK-Anlage DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 304 16 Die Internet-Protokollwelt Wintersemester 2016/17 Aktueller Stand VoIP Verschiedene Standards für VoIP: ◦ H.323 ◦ SIP ◦ MGCP ◦ Megaco Gemäß aktuellem Stand: SIP und Megaco führend ◦ Einfache Integration von SIP mit Web-Anwendungen DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 305 Zusammenfassung Für Multimedia-Ströme im Internet wurden ganze Protokollfamilien definiert Funktionsumfang dieser Familien ◦ Anschluss der Geräte ◦ Transport der Multimedia-Daten ◦ Steuerung der Multimedia-Ströme ◦ Interoperabilität mit traditionellen Einrichtungen Für den eigentlichen Multimedia-Datentransfer vorrangig UDP verwendet ◦ Keine QoS-Garantie in diesen Protokollen ◦ Zusätzliche Vorkehrungen (DiffServ, IntServ) notwendig DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 306 17 Die Internet-Protokollwelt Wintersemester 2016/17 Literatur BADACH, Anatol (2010): Voice over IP - die Technik. Grundlagen, Protokolle, Anwendungen, Migration, Sicherheit. 4., überarbeitete und erweiterte Auflage. München, Wien: Hanser. KUROSE, James F.; Ross, Keith W. (2017): Computer Networking. A Top-Down Approach. Seventh edition. Boston: Pearson. PERKINS, Colin (2003): RTP. Audio and Video for the Internet. Boston: Addison-Wesley. SIEGMUND, Gerd (2014): Technik der Netze 2. Neue Ansätze: SIP in IMS und NGN. 7., neu bearbeitete und erweiterte Auflage. Berlin: VDE Verlag. TRICK, Ulrich; WEBER, Frank (2015): SIP und Telekommunikationsnetze. Next Generation Networks und Multimedia over IP - konkret. 5. Auflage. Berlin, Boston: De Gruyter Oldenbourg. DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET 307 RFCs ROSENBERG, Jonathan; SCHULZRINNE, Henning; CAMARILLO, Gonzalo; JOHNSTON, Alan; PETERSON, Jon; SPARKS, Robert et al. (2002): SIP: Session Initiation Protocol. Internet Engineering Task Force (IETF) (Request for Comments, 3261). ROSENBERG, Jonathan; SCHULZRINNE, Henning (2002): Session Initiation Protocol (SIP): Locating SIP Servers. Internet Engineering Task Force (IETF) (Request for Comments, 3263). ANDREASEN, Flemming; FOSTER, Bill (2002): Media Gateway Control Protocol (MGCP) Version 1.0. Internet Engineering Task Force (IETF) (Request for Comments, 3435). SCHULZRINNE, Henning; CASNER, Stephen L.; FREDERICK, Ron; JACOBSON, Van (2003): RTP: A Transport Protocol for RealTime Applications. Internet Engineering Task Force (IETF) (Request for Comments, 3550). HANDLEY, Mark; JACOBSON, Van; PERKINS, Colin (2006): SDP: Session Description Protocol. Internet Engineering Task Force (IETF) (Request for Comments, 4566). GROVES, Christian; LIN, Yangbo (2009): H.248/MEGACO Registration Procedures. Internet Engineering Task Force (IETF) (Request for Comments, 5615). OTT, Joerg; PERKINS, Colin (2010): Guidelines for Extending the RTP Control Protocol (RTCP). Internet Engineering Task Force (IETF) (Request for Comments, 5968). SCHULZRINNE, Henning; RAO, Anup; LANPHIER, Rob; WESTERLUND, Magnus; STIEMERLING, Martin (2016): Real-Time Streaming Protocol Version 2.0. Internet Engineering Task Force (IETF) (Request for Comments, 7826). DIE INTERNET-PROTOKOLLWELT - 8. MULTIMEDIA-STRÖME IM INTERNET Prof. Jochen Seitz 308 18