Applications en temps réel

Slides:



Advertisements
Présentations similaires
L’Essentiel sur… La sécurité de la VoIP
Advertisements

11 - Composants dun routeur. Sommaire 1)Sources de configuration externes 1)Composants de configuration internes et commandes détat associées.
Le Protocole TCP Chapitre 6.
RSX101 Réseaux et Télécommunications
La Couche Réseau.
Chapitre 2 – Protocoles liés à la VoIP
NGN : Opportunités pour le développement de la Voix sur IP
Protocole PPP* *Point-to-Point Protocol.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
RFC 3581 “An extension to the Session Initiation Protocole for Symetric Response Routing”
DUDIN Aymeric MARINO Andrès
La Téléphonie sur IP Broussard Philippe Lagrue Sandra DESS IIR
Architecture de réseaux
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
Formation réseau de base
2-Generalites FTP:Protocole De transfert de fichiers sur un réseau TCP/IP. Permet de copier des fichiers depuis ou vers un autre ordinateur du reseaux,d'administrer.
Services multimédia sur réseaux – La vidéo sur IP
UDP – User Datagram Protocol
PERRIN Lydie mail: Dossier TICE Le Streaming PERRIN Lydie mail:
La Voix sur IP.
ToIP avec Asterisk.
SIP (Session Initiation Protocol) & H.323
La voix IP : Mr.FERGOUGUI Boudouch Ali kmichou Ansar Atrassi Najoua
Introduction aux réseaux
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Labview Programmation réseau Communication par sockets
TRANSMISSION DES DONNEES.
Les Réseaux Informatiques Le Modèle TCP/IP Clients & Serveurs Le protocole FTP Boukli HACENE Sofiane.
Les relations clients - serveurs
Le Modele OSI.
MIDI Sans Frontières Analyse des problèmes relatifs à la communication musicale sur IP Mémoire présenté en vue de lobtention du grade de Licencié en informatique.
Techniques de fiabilisation de SIP
Simulateur interactif de QOS dans un routeur
Université des Sciences et Technologies Houari Boumediene
Cours 5 Le modèle de référence.
Sommaire Dans ce chapitre, nous aborderons :
User Datagram Protocol
OSI et TCP/IP CNAM
CEG3585/CEG3555 Tutorat 2 Hi ver 2013.
Généralités sur les réseaux de transmission de données numériques
Deug 11 Systèmes d ’Information : 4b Michel de Rougemont Université Paris II Protocoles Réseaux.
SURVEILLANCE VIDEO SUR RESEAU ETHERNET
Advisor Advanced IP Présentation Télémaintenance Télésurveillance.
Auvray Vincent Blanchy François Bonmariage Nicolas Mélon Laurent
28/01/2008 Mobile VoIP « Un protocole de haut niveau pour les applications temps réel » Ngoné DIOP Remarques générales : Présenter un minimum de diapositives.
Les Réseaux Informatiques Clients & Serveurs Le protocole FTP Laurent JEANPIERRE DEUST AMMILoR.
Master 1 SIGLIS Ingénierie des réseaux Stéphane Tallard Chapitre 4 – Couche réseau Master 1 SIGLIS1 Ingénierie des réseaux - Chapitre 4 La couche réseau.
L’architecture IntServ
Etat d’avancement Développement et intégration Bilal EL ALI Caen, Mars 2001.
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
Les Réseaux Informatiques
Les Réseaux Informatiques
Commutation de circuits
Couche transport du modèle OSI
1 IP : Couche réseau 2 Introduction : Connections de LANs indépendants D. Diffusion Réseau IP En local = Même D. de diffusion Switch.
Réseaux Informatiques
03/05/2004Diffusion vidéo sur l'Internet - Timothy BURK ENS de Lyon 1 Techniques de diffusion vidéo sur l'Internet Streaming avec RTP/RTSP Timothy BURK.
UE3-1 RESEAU Introduction
Ingénierie des réseaux
Réseau maillé à transfert de paquets
L’horloge et type de transmission
Architecture Client/Serveur
Par Tristan Salaün. A propos de la technique. A quoi sert un serveur vidéo stream Qu’est ce que le streaming ? Qu’est ce que le multicasting Qu’est.
GESTION DU BUS Hugo Descoubes - Octobre 2012 Universal Serial Bus.
Les réseaux locaux (Ethernet)
Synthèse: une journée dans la vie d'une requête Web 5: DataLink Layer5-1.
Gestion de la qualité de service (QoS)
CentralWeb F. Playe1 Principes de base du routage IP Ce cours est la propriété de la société CentralWeb. Il peut être utilisé et diffusé librement.
Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE.
La Voix sur IP.
Transcription de la présentation:

Applications en temps réel Source: B. Forouzan, Data Communications and Networking,

Applications temps réel Plusieurs nouvelles applications Internet ont des contraintes de temps réel: Téléphonie Conférences audio/vidéo Télétraitement (médecine, robotique, …) Jeux interactifs,…

Applications temps réel Utilisent généralement UDP car TCP est lourd. Caractéristiques: Relations temporelles entre paquets Codes correcteurs d'erreurs Horodatage (Time stamp) Buffer d'affichage (Blayback) Mise en ordre de paquets Diffusion en multicast Mixage des sources de données

Pile de protocoles TCP UDP IP MAC, ATM H.261, MPEG SDP H.323 SIP RTSP RSVP RTCP RTP TCP UDP IP MAC, ATM

Protocoles pour le temps réel RTP (Real-Time Transport Protocol): Transport de données en temps réel RTCP (Real-Time Control Protocol): Échange de données de contrôle de sessions temps réel. RTSP (Real-Time Streaming Protocol): Protocole de contrôle d'affichage de données en continu RSVP (Resource reSerVation Protocol) : Réservation des ressources réseau pour les applications SIP , H323,…

Transaction HTTP Navigateur Serveur Web Fichier Audio/video Site serveur Web Navigateur GET Fichier audio/vidéo Serveur Web Réponse Fichier Audio/video

Transaction avec méta-fichier Site serveur Web GET Métafichier Navigateur Serveur Web Réponse Métafichier Application Média GET Fichier Audio/Vidéo Réponse

Transaction avec méta-fichier Site serveur Web GET Métafichier Navigateur Serveur Web Réponse Métafichier Application Média GET Fichier Audio/Vidéo Serveur média Réponse

Transaction avec méta-fichier Site serveur Web GET Métafichier Navigateur Serveur Web Réponse Métafichier Application Média Streaming Serveur média Réponse

Relations temporelles Délai constant Le délai est constant (1 sec.). Le client reçoit les données à la même vitesse que l'émission Serveur Client 00.00.00 00.00.01 00.00.10 P1 30 sec. 00.00.11 00.00.20 P2 30 sec. 00.00.21 00.00.30 P3 00.00.31

Relation temporelle Variation du délai Le délai est variable Données affichées à des temps variables Serveur Client 00.00.00 00.00.01 00.00.10 P1 30 sec. 00.00.20 P2 00.00.15 37 sec. 00.00.30 P3 00.00.27 00.00.37 Temps d'émission Temps d'arrivée et d'affichage

Relation temporelle Horodatege Le temps d'émission (Time stamp) ajouté aux paquets Utilisé pour adapter les moments d'affichage: Serveur Client 00.00.00 00.00.01 00.00.10 P1 (00.00.08) (00.00.00) 30 sec. 00.00.20 P2 (00.00.10) 00.00.15 37 sec. (00.00.18) 00.00.30 P3 (00.00.20) 00.00.27 (00.00.28) 00.00.37 (00.00.38) Temps d'émission Temps d'arrivée et d'affichage

Gestion des buffers Arrivée Affichage Arrivée Affichage Arrivée Durée service: 7 sec A 00:00:18 Arrivée Affichage Durée service: 3 sec A 00:00:28 Arrivée Affichage Durée service: 1 sec

RTP Protocole pour le transport les données en temps réel. Implanté dans l'espace usager du SE (ex. JMF: Java Media Framework) Conçu pour remédier aux faiblesses du protocole UDP Il fonctionne en mode unicast et multicast. Les paquets RTP seront encapsulées dans UDP. En-tête UDP En-tête RTP Données RTP

Les acteurs Application Émetteur (TR) RTP-RTCP UDP Routeur Routeur RSVP RSVP RTCP RSVP RSVP UDP Récepteur (TR) RTP-RSVP Application

Services de RTP Support de plusieurs types de données (texte, image, audio et vidéo) et plusieurs techniques de codage (JPEG, GIF, MPEG,…). Synchronisation entre émetteur et récepteur: Mécanisme d’horodatage (Timestamping). Synchronisation de plusieurs sources de média Outils de : Contrôle de la gigue Traduction d'un codage vers un autre Détection de paquets perdus Aucune garantie de livraison des données

Codages supporté par RTP

Paquet RTP

Paquets RTP V : version CC: nombre de champs CSRC dans l’en-tête PT : type de données transportées   Numéro de séquence: ordre de l’émission du paquet. Horodatage: l’instant d’échantillonnage du premier octet des données du paquet. SSRC: identité de l’émetteur des paquets de la session. CSRC: liste des sources qui ont contribué aux données contenues dans le paquet.

Exemple d'utilisation de RTP Chaque participant émet des segments audio d’une durée de 20 ms. Chaque segment constitue un paquet RTP qui enacapsulé dans UDP. L’en-tête RTP indique le type de codage utilisé (ex. PCM). L’horodatage et le numéro de séquence sont utilisés par le récepteur pour reconstruire l’horloge fournie par l’émetteur.

Horodatage et numéro de séquence Audio: Horloge à 8 kHz Un paquet = 20 ms d'échantillons (dans un paquet UDP) Incrément de 20,000 ms /125 msec = 160 Débit des paquets = 1 sec/20 ms = 50 Hz. Numéro de séquence : incrémenté de 1 à chaque paquet TS=x Séq.=y Stream audio TS=x+160 Séq.=y+1 Stream audio Paquet RTP k Paquet RTP k+1

Horodatage et numéro de séquence Vidéo: Horloge à 90 kHz Un paquet = 1 frame vidéo (dans un o Débit des paquets = 30 Hz (ou 25 en Europe). Incrément de: (1/30) x (1/90000) = 3000 Numéro de séquence : incrémenté de 1 à chaque paquet TS=x Séq.=y Stream vidéo TS=x+3000 Séq.=y+1 Stream vidéo Paquet RTP k Paquet RTP k+1

Identification des sources Synchronization source identifier (SSRC) Identifie une source multimédia Contributing source identifier (CSRC) Utilisé par une mixeur pour identifier les sources Mixeur Traducteur Réseau SSRC=10 CSRC={} SSRC=11 SSRC=20 CSRC={10,011} SSRC=12

RTCP Real Time Control Protocol , un compagnon de RTP Transmet périodiquement des paquets de contrôle aux participants à une session. Fournit des informations sur la qualité de la session (feedback à une source, défauts de distribution, …) Garder une trace des participants (CNAME,SSRC) Contrôle le pourcentage de paquets RTCP émis …

Échanges de paquets RTCP

Récupération après pertes de paquets Raisons des pertes: Le paquet n'est jamais arrivé. Paquet reçu corrompu. Paquet arrive en retard. RTP et RTCP ne font pas de traitement des erreurs Il faut recourir à des techniques auto correctrices

Récupération après pertes de paquets FEC : Forward Error Correction; Utilise un code correcteur Exemple : Parity packet Bloc = <d1,d2,d3,…,dn-1, p> di: paquets de données P=XOR(d1,…,dn-1) Paquet FEC Si d3 est perdu, d3=XOR(d1,d2,d4…,dn-1,P)

Récupération après pertes de paquets Interleaving FEC demande plus de bande passante On réordonne les paquets avant la transmission Les paquets RTP d'origine (de 20 msec) sont scindés en petites unités, réarrangés et transmis Un paquet perdu affecte de plus petite parties 20 ms 5 unités de voix 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Perdus 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

Récupération après pertes de paquets On peut recouvrir les paquets perdus en cas de perte de petits paquets Perdu 1 2 3 4 5 1 2 2 4 5 Par répétition Interpolation 1 2 3' 4 5 Par interpolation

Récupération après pertes de paquets Perdu 1 2 3 4 5 1 2 2 4 5 Par répétition Interpolation 1 2 3' 4 5 Par interpolation

RTSP Contrôle la livraison en temps réel des données partir d'un Serveur de média (Streaming). Utilise un transport comme RTP, UDP,… Offre des fonctions de VCR à distance: Rechercher les données Inviter un serveur à joindre une présentation. Effectuer des opérations telles que: PLAY, PAUSE, FAST FORWARD, REWIND, STOP, etc.

RTSP et HTTP RTSP est généralement couplé avec HTTP : À partir d'un lien qui correspond à un document multimédia, le navigateur émet une requête de téléchargement à un serveur Web. Le serveur répond avec un Méta-fichier qui contient un URL RTSP que le navigateur passe à une application spécifique appelée Application Média (ex. RealPlayer). Cette application contacte un serveur média (ex. RealNetwork) avec RTSP. Les données sont émises à partir de ce serveur RSTP contrôle la livraison.

RTSP et HTTP Navigateur Serveur Web Site serveur Web Requête HTTP Réponse (Métafichier) Métafichier Application Média Requête RTSP Serveur Média Flux de données Multimédia (RTP, ..) Site serveur média http://christian-hosting-solutions.com/support/streamasx.php#structure

Meta fichier - Exemple Méta fichier de WMP Playlist <ASX version = "3.0"> <TITLE> Global title of the show</TITLE> <AUTHOR>The name of the author</AUTHOR> <COPYRIGHT>2004 by Your Company</COPYRIGHT> <MOREINFO HREF = "http://www.microsoft.com/windows/windowsmedia" /> <ENTRY> <REF HREF = "rtsp://ServerName/Path/FileName.wmv " /> <BANNER HREF="http://Servername/Path/Banner1.gif"> <MOREINFO HREF ="http://www.microsoft.com/windows/windowsmedia" /> <ABSTRACT>This is the description for this clip.</ABSTRACT> </BANNER> </ENTRY> </ASX> Méta fichier de WMP <ASX VERSION = "3.0"> <TITLE>Title</TITLE> <ENTRY> <REF HREF = "rtsp://ServerName/Path/title1.wmv" /> </ENTRY> <ENTRY> <REF HREF = "rtsp://ServerName/Path/title2.wmv" /> </ENTRY> <ENTRY> <REF HREF = "rtsp://ServerName/Path/title3.wmv" /> </ENTRY> </ASX> Playlist

L'application média Reçoit les données en continu du serveur Utilise RTSP pour le contrôle de la livraison Référence les documents avec une URL de la forme: rtsp://Site/document. Utilise une interface graphique adéquate Gère des erreurs de transmission en se basant sur les infos fournies par RTP et RTCP. Décode les données  selon le champ PT de RTP. Élimine les effets de la variation des délais (gigue ) en utilisant le streaming.

Streaming Mémoriser des données dans une mémoire tampon du récepteur pendant une période de temps avant de les jouer. Télécharger de nouvelles données dans le buffer pour le garder suffisamment plein Adapter le flot de données qui arrive à un certain débit (Débit Réseau) au flot d’affichage (Débit d’affichage)

Streaming Buffer Débit Réseau Application Média Débit d'affichage Serveur Média Buffer

Commandes RTSP SETUP :l’application établit un canal avec le serveur PLAY : le client demande l’émission des données au serveur. PAUSE : l’application demande de suspendre temporairement l’émission des données RECORD : le client initie l'enregistrement de données sur les serveur. DESCRIBE : le client demande de lister les paramètres du média TEARDOWN: le client demande de libérer le canal

Réponse HTTP (Métafichier) Session RTSP - Exemple Navigateur Requête HTTP Serveur HTTP Réponse HTTP (Métafichier) Serveur Média SETUP Application Média PLAY Données (RTP audio) Données (RTP vidéo) Rapports RTCP PAUSE TEARDWON

Commandes RTSP SETUP :l’application établit un canal avec le serveur PLAY : le client demande l’émission des données au serveur. PAUSE : l’application demande de suspendre temporairement l’émission des données RECORD : le client initie l'enregistrement de données sur les serveur. DESCRIBE : le client demande de lister les paramètres du média TEARDOWN: le client demande de libérer le canal

SIP Session Initiation Protocol Protocole IETF pour établir et terminer des sessions multimédia sur RTP. Fonctions: Déterminer l'adresse IP courante de l'appelé L'appelé peut avoir une adresse IP dynamique (DHCP) Acheminer un appel même si l'appelé est absent Etre notifié lorsque l'appelé re-devient présent Inviter de nouveaux participants durant une session Autre alternative ITU : H.323

Commandes SIP Les commandes sont En ASCII (semblables à celles de HTTP): Requête / Réponse Commandes: INVITE: Initie un appel ACK: Réponse à INVITE BYE: Termine une connexion ou refuse un appel CANCEL: Termine une transmission en cours SUBSCRIBE: Demande de notifications d'appels NOTIFY: Notification suite à une souscription REFER: Transfert d'appel REGISTER; Enregistre l'emplacemet courant d'un usager

Dialogues SIP Session avec Proxy SIP Adresses:

Dialogues SIP

Le multicast Le multicast permet d’atteindre un groupe d’usagers en même temps: Participants à une conférences audio et vidéo Classe virtuelle Utilise les adresses mutipoint Une source émet un seul paquet à tous Économie de bande passante.

Adresses multicast Une adresse (de groupe) représente plusieurs utilisateurs. Permet de pallier aux gains de capacité requise pour le multimédia. (9 paquets) (4 paquets) Multicast Unicast

Le réseau Multicast Réseau virtuel de LAN et des tunnels reliant des routeurs muticast. Les tunnels reliant ces réseaux sont des liaisons unipoint. Les routeurs multicast exécutent un démon spécialisé (mrouted). Les paquets IP multicast sur les tunnels sont encapsulés dans des paquets unipoint.

Le réseau Multicast routeur multicast Réseau multipoint Tunnel

Adresses IP multicast Un groupe multicast possède une adresse de Classe D dans l'ensemble: 224.0.0.0 - 239.255.255.255 Les adresses 224.0.0.0 - 224.0.0.255 sot réservées aux informations des protocoles de routage multicast (ex. IGMP). Il n'est pas nécessaire d'être membre d'un groupe pour envoyer des datagrammes au groupe.

Adresses IP Spéciales Adresses IP de classe A,B, C spéciales: 0.0.0.0 Cette machine (this host) 0.1.1.25 La machine 1.1.25 sur ce LAN-ci 255.255.255.255 Adresse broadcast sur le LAN 193.1.1.255 Adresse broadcast sur le réseau 193.1.1 127.x.x.x: Boucle locale Différences entre braodact et multicast: Broadcast: tout le monde sur le réseau. Multicast: tous les membres du groupe. Adresse MAC broadcast: FF:FF:FF:FF:FF:FF

Trames en unicast Sendto Dest IP: 128.7.6.5 Dest. Port: 7433 Appl Appl UDP UDP UDP 128.7.6.99 128.7.6.255 128.7.6.5 128.7.6.255 IP IP IP MAC MAC MAC 02:60:8c:2f:4e:00 08:00:20:03:f6:42 128.7.6 08:00:20:03:f6:42 128.7.6.5 7433 Dest. MAC Dest IP Dest Port

Transfert en IP broadcast L'interface MAC effectue l'association IP broadcast - MAC broadcast. Sendto Dest. IP: 128.7.6.255 Dest. Port: 520 Appl Appl Port: 520 UDP UDP UDP 128.7.6.99 128.7.6.255 128.7.6.5 128.7.6.255 IP IP IP MAC MAC MAC 02:60:8c:2f:4e:00 08:00:20:03:f6:42 128.7.6 ff:ff:ff:ff:ff:ff 128.7.6.255 520 Dest MAC IP Dest. Port Dest

Associations multicast IP - MAC Il existe une association entre adresses multicast et adresses multicast des LAN. 23 bits Adresse de groupe classe D: e Adresse multicast Ethernet de IP: 01 00 5e

Transfert multicast de trames Sendto Dest IP: 224.0.1.1 Dest. Port: 123 Appl Appl Port: 123 Join: 224.0.1.1 UDP UDP UDP IP IP IP Receive: 01:00:5e:00:01:01 MAC MAC MAC 02:60:8c:2f:4e:00 08:00:20:03:f6:42 128.7.6 01:00:5e:00:01:01 224.0.1.1 123 Dest MAC Dest IP Dest Port

Relation temporelle Horodatege Serveur Client 00.00.00 00.00.01 00.00.10 P1 7sec (00.00.00) 30 sec. (00.00.08) 00.00.20 P2 (00.00.10) 00.00.15 37 sec. 3 sec (00.00.18) 00.00.30 P3 (00.00.20) 00.00.27 1 sec (00.00.28) 00.00.37 (00.00.38) Temps d'émission Temps d'arrivée et d'affichage