La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Applications en temps réel

Présentations similaires


Présentation au sujet: "Applications en temps réel"— Transcription de la présentation:

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

2 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,…

3 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

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

5 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,…

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

7 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

8 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

9 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

10 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 P1 30 sec. P2 30 sec. P3

11 Relation temporelle Variation du délai
Le délai est variable Données affichées à des temps variables Serveur Client P1 30 sec. P2 37 sec. P3 Temps d'émission Temps d'arrivée et d'affichage

12 Relation temporelle Horodatege
Le temps d'émission (Time stamp) ajouté aux paquets Utilisé pour adapter les moments d'affichage: Serveur Client P1 ( ) ( ) 30 sec. P2 ( ) 37 sec. ( ) P3 ( ) ( ) ( ) Temps d'émission Temps d'arrivée et d'affichage

13 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

14 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

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

16 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

17 Codages supporté par RTP

18 Paquet RTP

19 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.

20 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.

21 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

22 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

23 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

24 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

25 Échanges de paquets RTCP

26 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

27 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)

28 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

29 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

30 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

31 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.

32 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.

33 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

34 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 = " /> <ENTRY> <REF HREF = "rtsp://ServerName/Path/FileName.wmv " /> <BANNER HREF=" <MOREINFO HREF =" /> <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

35 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.

36 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)

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

38 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

39 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

40 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

41 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

42 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

43 Dialogues SIP Session avec Proxy SIP Adresses:

44 Dialogues SIP

45 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.

46 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

47 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.

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

49 Adresses IP multicast Un groupe multicast possède une adresse de Classe D dans l'ensemble: Les adresses 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.

50 Adresses IP Spéciales Adresses IP de classe A,B, C spéciales:
Cette machine (this host) La machine sur ce LAN-ci Adresse broadcast sur le LAN Adresse broadcast sur le réseau 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

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

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

53 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

54 Transfert multicast de trames
Sendto Dest IP: Dest. Port: 123 Appl Appl Port: 123 Join: 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 01:00:5e:00:01:01 123 Dest MAC Dest IP Dest Port

55 Relation temporelle Horodatege
Serveur Client P1 7sec ( ) 30 sec. ( ) P2 ( ) 37 sec. 3 sec ( ) P3 ( ) 1 sec ( ) ( ) Temps d'émission Temps d'arrivée et d'affichage


Télécharger ppt "Applications en temps réel"

Présentations similaires


Annonces Google