Etude du trafic sur Internet et transmission audio temps réel
Transcription
Etude du trafic sur Internet et transmission audio temps réel
Etude du trafic sur Internet et transmission audio temps réel Phuong Hoang Nguyen1,2, Pascal Sicard1 Laboratoire LSR-IMAG 1 Université Joseph Fourier Domaine Universitaire 681 Rue de la Passerelle BP 72, 38402 SAINT MARTIN D'HERES CEDEX, France Laboratoire Objets Communicants et Faisabilité de système 2 FTR&D/DIH/OCF France Telecom R&D-Grenoble, 28 Chemin du Vieux Chêne BP 98 38243 MEYLAN Cedex, France [email protected], [email protected] Résumé : Nous nous intéressons au développement d’une application de transmission de l’audio haute qualité temps-réel sur Internet. Le problème de ce type d’application et de nombreuses applications multimédia à l’heure actuelle est le manque de garanties de qualités de services (QoS) du réseau Internet. Le but de cette étude est de mettre en place des mécanismes de contrôle des QoS au niveau de l’application afin d’obtenir une qualité sonore « au mieux » malgré l’état du réseau variable. Pour cela, dans une première partie nous donnons les résultats de mesures effectuées dans Internet sur différents types de liaison afin d’établir les caractéristiques actuelles des QoS d’Internet (pertes, délais et gigue). Cela nous permet ensuite de proposer une méthode générale d’adaptation de l’application qui contrôle et réagit de façon pertinente aux changements de chacun de ces paramètres afin de garantir une bonne qualité de rendu sonore à l’utilisateur. Pour finir, nous montrons l’intérêt de ces travaux dans un contexte plus moderne de réseau hétérogène pouvons comporter des parties garantissant ou non certaines QoS. Mots clés : Mesures de qualité de service (QoS), Internet, codage audio, transmission audio, protocole temps réel, application multimédia 1. Introduction Aujourd’hui, la transmission du multimédia sur Internet est devenue une réalité grâce à la croissance des technologies audiovisuelles et des réseaux d’ordinateurs. De nouvelles applications comme la téléphonie, la vidéo conférence, le télé-enseignement ou la messagerie unifiée pour envoyer indifféremment des messages voix, électroniques ou télécopie via l'Internet sont apparues. Les protocoles utilisés dans Internet ont été conçus au départ pour ne fournir qu’un service « best-effort » en termes de qualités de services (débit, gigue, délais de transport, taux de pertes). Les applications multimédias peuvent demander des contraintes temps réels et ainsi des qualités de services (QoS) plus strictes (délai, gigue et pertes). Malgré des travaux importants dans l’amélioration de la gestion des QoS dans Internet autour de la différentiation et l’intégration de services (Diffserv et Intserv) leurs mises en pratique sont loin d’être généralisées. Il reste donc pour l’instant aux applications à s’adapter au mieux aux qualités de services variables du réseau. Des protocoles comme RTP/RTCP (Real Time Transfert Protocol / Real Time Control Protocol) ont été normalisés et sont aujourd’hui utilisés pour cela. 1 Cet article aborde les résultats obtenus dans le cadre du développement d’applications de transmission de l’audio sur Internet. Le but de ce travail est d'améliorer la qualité des systèmes interactifs comme la téléphonie et aussi d'aider les concepteurs des systèmes multimédia en leur offrant une couche intermédiaire de développement. Pour évaluer les QoS actuelles dans Internet, nous avons effectué une série de mesures réelles pour un ensemble de connexions représentatives. Au vue des résultats de ces mesures, nous proposons des algorithmes de contrôle permettant à une application de transmission audio temps réel de s’adapter au mieux au réseau. La suite de ce document s’organise comme suit : • Section 2 : Rappels sur le codage numérique de l’audio et les algorithmes de compression existants • Section 3 : Etat de l’art sur les mécanismes de contrôle et d’adaptation des QoS • Section 4 : Résultats de mesures de QoS (délais, gigue, pertes, durée des pertes, corrélation de différents paramètres) • Section 5 : Proposition d’une méthode d’adaptation de l’application aux QoS variables • Conclusions et perspectives 2. Codage numérique de l’audio et algorithmes de compression Les algorithmes de compression audio actuels sont divisés en deux catégories : codage différentiel et codage par synthèse. Même si la technique de compression de ces deux types est tout à fait différente, l’une se base sur la quantification des échantillons (PCM, ADPCM, ADM…) l’autre sur la modélisation du système de production vocal humaine (LPC, CELP, GSM…), ils sont relativement simples, et peuvent fournir de la compression audio de fidélité moyenne. De plus, ces derniers fonctionnent parfaitement sur la voix, mais il est important de penser à des sources audio de différents types. Pour cette raison, le codage en sous-bande SBC (Sub-Band Coding) a été créé. Le codage MPEG Audio est l’exemple le plus connu de SBC. Les créateurs de MPEG Audio se sont intéressés à deux facteurs de l’oreille humaine : la non-linéarité et l’adaptivité. La non-linéarité repose sur le fait que tous les sons ne sont pas perçus par l’oreille humaine; les fréquences trop basses ou trop élevées ne sont pas prises en compte. On peut donc supprimer ces fréquences " inutiles " en les filtrant, réduisant ainsi considérablement la taille d’un fichier audio. L’adaptivité, quant à elle, est basée sur le fait qu’un son trop fort peut en cacher un autre. Ces sons " masqués " sont aussi supprimés puisque inaudibles par l’oreille humaine. Ces deux facteurs combinés, on obtient une réduction importante et variable de la taille d’un fichier audio. 3. Mécanismes de contrôle des QoS Le service offert par l'Internet, même s'il n'est apparemment pas idéal pour les applications multimédia, est de toute façon le seul service disponible à l'heure actuelle. Il s'agit donc de minimiser l'impact négatif des caractéristiques de ce service sur la qualité des données multimédia reçues. Ceci est fait en pratique par l'utilisation de mécanismes de contrôle. Trois caractéristiques du réseau ont un impact important sur la qualité des transmissions, à savoir le délai de transport, la bande passante 2 disponible, et les pertes. A chacune de ces caractéristiques peut être associé un mécanisme de contrôle. Les mécanismes de contrôle de délai Le délai possède une caractéristique fixe qui est le temps de propagation du signal sur les différents tronçons du réseau et une partie variable : le temps de traversée des routeurs intermédiaires. Il est impossible sans garantie de qualité de services de limiter le délai qui sera mis par des paquets pour traverser les routeurs. Il faut pour cela intervenir directement sur les routeurs (réservations de ressources, politiques d’ordonnancement …). Du point de vue des applications, le délai du réseau est donc incontrôlable [Kotas98]. Par contre, il est possible de contrôler les variations de délai (voir la figure 1.2) en ajoutant un tampon mémoire à chaque destination. Un paquet arrivant à la destination est mis en attente provisoire dans le tampon, ce qui lui permet d'attendre les paquets suivants en retard, afin qu'ils soient rejoués de façon synchrone pour corriger la gigue introduit par le réseau. Mais il est important de régler la taille de mémoire tampon au plus juste afin de ne pas trop augmenter le délai de restitution. Les mécanismes de contrôle de débit Ils cherchent à faire en sorte que le débit de la source soit égal à la bande passante disponible dans le réseau. Figure 1.2. Variation du délai (gigue) par paquet Cet ajustement est effectué pour l’audio en contrôlant soit le nombre de trames par seconde (lié à la fréquence d’échantillonnage), soit l’algorithme de compression de l’audio ; la qualité auditive du son transmis est donc variable mais peu rester correcte. Ceci permet une variation contrôlée de la qualité de l’audio transmise en fonction de la bande passante disponible dans le réseau à chaque instant. On peut mettre en place un mécanisme basé sur une boucle de contre-réaction suivant la gigue et les pertes des paquets observées [Busse96]. En effet, la bande passante disponible est fortement corrélée avec ces deux paramètres. En fait, ce genre d’idée n'est pas nouvelle, elle est par exemple utilisé dans TCP qui modifie son débit en fonction des pertes dans le réseau pour contrôler les congestions [Dabbous00]. Les pertes des paquets Les réseaux IP ne garantissent pas la livraison des paquets. La perte de paquets est inévitable. Les congestions aux nœuds du réseau sont considérées comme leurs causes principales. 3 Il existe actuellement plusieurs travaux relatifs aux mécanismes de protection contre les pertes des paquets. Nous pouvons distinguer deux méthodes : protection basée sur l’émetteur et réparation basée sur le récepteur. Protection basée sur l’émetteur Cette méthode peut être divisée en deux classes : retransmission active et chaîne de codage passif [Perkins98] (figure 1.4.) En raison des conditions rigoureuses sur le délai pour les applications interactives, des protocoles fiables de transport basés sur des retransmissions tels que TCP ne peuvent pas être utilisés. Dans la transmission audio, on utilise souvent la réparation passive qui est basée sur deux techniques principales : chaîne de codage FEC (Forward Errors Correction ) et d’entrelacement (interleaving-based scheme). Les mécanismes FEC protègent n paquets par l’ajout d’une unité de redondance. Les redondances construites peuvent être dépendantes ou non du codage du média. Dans la protection FEC indépendante au média, les unités de redondances sont calculées (par parité ou autre algèbre) à partir de n paquets et permettent de reconstruire à l’arrivée un paquet perdu. Dans le cas dépendant cela peut consister à ajouter une version du paquet n-1 dans le paquet n, obtenue en codant l’unité média (i.e. audio dans notre cas) de paquet n-1 avec un codeur à plus bas débit [Bolot99]. Protection de l’Emetteur Passive Active Retransmission Entrelacement Indépendant du média FEC Basée sur le média Figure 1.4. Taxonomie des mécanismes de protection basés sur l’émetteur Dans les cas où le délai n’est pas primordial et que chaque paquet peut contenir plusieurs trames, l’entrelacement de trames successives dans les paquets est très efficace pour réduire des effets de pertes sur la qualité sonore [Perkin98] (figure 1 .5). Flux original Flux entrelacé Paquet perdu Reconstruction Figure 1.5. Protection par l’entrelacement Récemment, un mécanisme d’entrelacement, basé sur les échantillons, est construit en utilisant l’interpolation de la valeur moyenne pour la transmission de la voix [Wah00]. Les échantillons sont divisés en deux groupes : numéro pair et impair. 4 Chaque groupe est ensuite envoyé dans des paquets distincts afin que le récepteur puisse reconstruire efficacement les paquets perdus. La reconstruction est basée sur un calcul de « valeur moyenne » (de deux échantillons adjacents à celui perdu) et un filtre adaptatif qui effectue l’apprentissage de la reconstruction. Réparation côté récepteur Pour la réparation côté récepteur, l'utilisation de la répétition de paquets et de la substitution du côté du récepteur peut également améliorer la qualité sonore perçue en présence de perte de paquets. Les stratégies sont présentées dans la figure 1.7. Réparation du Récepteur Interpolation Insertion Raccord Substitution par Silence Interpolation de l’état Répétition Substitution par une forme d’onde Régénération Substitution avec du bruit blanc Réparation basée sur modèle Balance d’échelle temporelle Figure 1.7. Taxonomie des mécanismes de protection basés sur récepteur. Parmi les mécanismes présentés, la substitution de bruit est recommandée, car son implémentation est également simple. La répétition de paquets est efficace pourvu que la taille des paquets soit petite, et le taux de perte de paquets soit bas. la similitude à court terme des formes d'onde de la parole permet à la répétition de fournir une qualité sonore améliorée comparée à la substitution de silence. La qualité subjective de la répétition peut être améliorée en évanouissant graduellement les unités répétées. [Perkins 98] Pour palier aux pertes en rafales pour lesquelles la substitution est peu efficace des techniques d’interpolation ou de régénération, comme la substitution avec une forme d’onde, ont été développées [Perkins 98]. Elles sont plus complexes et très coûteuse. Nous verrons dans la suite que les pertes en rafales sont aujourd’hui très occasionnelles dans Internet. Combinaison des contrôles Ces techniques de reconstruction sont utilisées conjointement pour un meilleur résultat. Par exemple, nous pouvons reconstruire les paquets perdus en utilisant d'abord la redondance, puis la duplication si aucune information redondante n'est disponible, et finalement le silence si le nombre maximum des duplications a été atteint [FreePhone]. On ne doit pas oublier que l’utilisation de ces techniques de reconstruction augmente le délai de bout en bout. Une meilleure compréhension de la perte des paquets et du délai dans Internet est essentielle pour la conception de mécanismes de contrôle efficaces appliqués à la transmission multimédia ou précisément à l’audio de haute-qualité. 4. Métrologie et environnement Dans nos expérimentations, nous voulons avoir une vue plus précise de la perte des paquets, du délai et de sa variation (la gigue), ainsi que de leurs relations. 5 Les caractéristiques importantes de la perte des paquets sont le taux de perte et la durée des pertes consécutives. Une autre mesure intéressante est la relation entre la perte et le taux d'émission de la source. La mise en œuvre des méthodes d’estimation dites passives qui consistent à observer et analyser les paquets reçus sur un système terminal étant délicate, nos estimations sont basées sur les mesures de types actives. Elles consistent à injecter du trafic dans le réseau de manière contrôlée et à analyser les paquets retournés (ping, traceroute, pathchar, treno) en utilisant soit un module d'attente, soit un service écho au serveur mesuré. D'autre part, il existe deux types de mesures: unidirectionnelles (à la destination) ou bidirectionnelles (après un aller-retour). Les mesures unidirectionnelles (plus réalistes) sont difficiles à effectuer à cause du décalage d’horloge (skew) entre les sites du réseau. Nous utilisons donc des mécanismes de mesures bidirectionnelles, en considérant que la longueur du chemin est doublée. En effet, le module miroir serveur utilisé est simplement une boucle fermée, et nous pouvons considérer la destination comme un routeur. Le temps de traitement dans ce serveur a été mesuré, il est constant et de l’ordre de 20 microsecondes (négligeable). Le service Ping dans l’Internet est l’outil le plus utilisé pour mesurer le temps d’aller-retour RTT (round trip time). Certains routeurs éliminent en priorité les paquets ICMP par rapport aux paquets UDP ou TCP en cas de congestion. Nous avons donc développé un outil de mesure basé sur le protocole UDP. A destination il assure un service d’écho qui renvoit immédiatement à la source les paquets reçus. A la source un module envoie des paquets de sonde et attend leurs retours ; les critères de QoS comme le taux de pertes, le délai, la gigue, l’histogramme du délai, la durée des pertes… sont enregistrés dans des fichiers textuels. Modèle expérimental Nous voulons effectuer nos mesures sur des connexions représentatives des différents cas potentiels réalistes. Pour cela nous avons effectué ces mesures entre des sites locaux (i.e. du campus de Grenoble : 2 routeurs), entre des sites nationaux (IMAG/Grenoble-ENST/Bretagne : 11 routeurs) et sur une ligne transcontinentale (IMAG/Grenoble-MIT/Etats-Unis : 23 routeurs). ENST MIT LSR 11 23 LANAI (LSR) 2 IMAG (isis) Figure 1.8. Configuration des expérimentations Comme l’intervalle minimum possible (contrainte système) entre des paquets consécutifs est de 10ms, nous ferons les sondes avec des taux d’envoi de 100 paquets/s à 1 paquet/s. Les trames audio que nous voulons transmettre sont de tailles variables. Une trame MP3 de 48 kHz de fréquence d’échantillonnage donne 7680 bits/trame = 6 960 octets, nous devons donc effectuer aussi des mesures avec des paquets de taille importante (900 à 1500 octets). Gigue Nous voulons mesurer la variation du délai (gigue définit par l’IETF dans le protocole RTCP[rfc1889]) ainsi que sa dispersion (définit par l’université de Standford [SLAC99]). La gigue IETF du paquet i (notée Ji) est estimée par la méthode rapide de la variance[Jacobson88]. C’est une fonction lissée de la différence du délais des deux paquets consécutifs i et i-1 (noté |Dij|). Ji = Ji-1 + (|Di-1,i|-Ji-1)/16 = 15/16*Ji-1 + 1/16*|Di-1,i| (1) Par ailleurs, l’Université de Stanford utilise l’écart inter-quartile (paramètre de dispersion) dans la probabilité pour estimer la gigue. Ici, la gigue est comprise comme la différence du délai maximal et minimal, ou la différence du temps entre les arrivés des paquets. J = Q3 - Q1 (2) Le premier quartile est la valeur du caractère, telle que pour p = 25% des effectifs, la valeur du caractère soit inférieure (et donc 75% supérieure). Les quartiles (Q3 , Q2et Q1) sont en conséquence les valeurs obtenues avec p égale 25, 50 ou 75. L’InterQuartile (IQR) est calculé par la soustraction de Q3 et Q1. Ainsi la dispersion est obtenue comme la différence entre la troisième et le premier quartile de l’ensemble des échantillons. Ce calcul permet d’éliminer les pics dans les sondes. Pour les réseaux locaux, le délai est très faible (la plupart du temps inférieur à 2 ms) et assez stable (il ne dépasse jamais 4 ms) (voir la figure 1.9.). ms Figure 1.9. Le délai sur une connexion locale Lanai-Isis et sa variation IETF. Pour les connexions moyennes et longues distances, le délai n’est plus négligeable : IMAG-ENST de 29 à 50ms et IMAG-MIT de 140 à 250ms. La gigue est importante, surtout pour la connexion transcontinentale IMAG-MIT. Ces variations sont présentées dans la figure 2.0. La gigue est mesurée à l’aide de sondes de 2000 à 10000 paquets envoyés à intervalle régulier sur une demi-journée. Les pics apparaissant sur la courbe IQR sont dus à une variation importante et durable (paliers) du délai. Un changement par paliers n’influence pas beaucoup la gigue IETF. La dispersion du délai (IQR) donne une vue plus précise de l’état de congestion du réseau. La gigue IETF permet seulement d’avoir une variation instantanée du délai. 7 Figure 2.0. Gigue de la connexion IMAG-MIT Pertes des paquets Dans ces mesures, nous considérons les paquets perdus après 10 secondes d’attente. Nous avons observé les pertes parmi 10 000 paquets de taille 1472 octets envoyés avec un intervalle de 10ms (minimum possible) pendant vingt et une heures sur la connexion locale du campus (avec le serveur isis). Le taux de pertes sur ces paquets est inférieur à 0,06%. Ce taux de perte est négligeable par rapport à la QoS nécessaire pour de l’audio. Ces pertes auront très peu d’impact sur la qualité sonore. Pour la connexion IMAG-ENST (figure 2.1) la mesure est effectuée à l’aide de sonde (2000 paquets de 1472 octets toutes les 10ms) espacées de 10 minutes pendant 8 heures. Le taux de pertes est toujours inférieur à 0,5%. La connexion à travers RENATER est donc aujourd’hui de bonne qualité. Figure 2.1. Taux de pertes sur la connexion IMAG-ENST Il en est autrement sur les connexions transcontinentales critiques où la bande passante n’est pas assez grande en comparaison des demandes. Nous avons envoyé des sondes (2000 paquets de 700 octets toutes les 30ms) pendant une journée (figure 2.7) . Le taux est très variable et peut atteindre plus de 10%. Le taux de perte et donc la congestion maximale du réseau se produit à 21 h (heure française) qui correspond à 15h au Etats-Unis. Figure 2.3. Taux de pertes sur la connexion IMAG-MIT 8 Corrélation entre gigue et pertes Il serait intéressant pour estimer et même prédire l’état du réseau de trouver une corrélation entre gigue et perte de paquets. Si l’on pouvait anticiper l’apparition ou la disparition d’une congestion, cela nous permettrait de mettre en place des mécanismes de contrôle performant. La figure 2.4. donne la variation et la dispersion du délai, et les pertes sur une journée. On observe une corrélation importante entre la gigue IQR et le taux de pertes mais malheureusement, nous avons trouvé (en accord avec les résultats de [Mukherjee94] [Garcia96]) qu’il est difficile de prédire une congestion (et donc des pertes futures) à partir de la gigue. Figure 2.4. Une forte corrélation entre gigue IETF – gigue IQR – pertes. Durée des pertes Un autre critère important pour les mécanismes de protection est la durée des pertes sur le réseau. Le choix d’un mécanisme de protection des pertes va influencer fortement le taux de redondances et le délai ajouté. Dans cette expérimentation, les deux connexions IMAG-ENST et IMAG-MIT sont étudiées. IMAG-ENST: Durée de pertes du 18 mai 2001 100,00% 93,99% 80,00% % 60,00% 40,00% 20,00% 5,69% 0,31% 0,00% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 durée Figure 2.5. Durée de perte sur la connexion IMAG-ENST. L’histogramme de la figure 2.5. montre une statistique des pertes pendant une journée (le 18 mai). Nous remarquons que la plupart des pertes observées sur la connexion IMAG-ENST (>90%), ont une durée de 1 à 2 paquets consécutifs. Les pertes de durée de plus de 3 paquets se sont rarement produites. Nous pouvons expliquer cela par l’apparition de congestions faibles (routeurs rarement saturés), mais surtout par les mécanismes mis en place aujourd’hui dans les routeurs (gestion intelligentes des files d’attente (RED-Random Early Detection)). La protection contre les congestions est basée sur la suppression anticipée et aléatoire de paquets quand les files d’attente approche de la saturation pour influencer la politique de gestion de 9 congestion utilisée dans TCP. Il est à noter que dans leurs études Sue B. Moon et al.[Moon98] ont noté que la plupart des flux de données dans Internet sont des flux TCP et ont mise en évidence le taux important de pertes isolées. Sur la connexion IMAG-MIT (figure 2.6), nous avons constaté une plus grande variation des durées des pertes. Les pertes isolées se produisent toute fois la plupart du temps (83% des cas). Des pertes de durée supérieure à 2 ne se produisent que dans 5% des cas. Ces observations peuvent aussi s’expliquer par les mécanismes intelligents de gestion de congestion dans les routeurs. Les cas plus importants sont du à des états de congestions exceptionnels, l’utilisation de flux non TCP ou des évènements particuliers sur le réseau. Par exemple, nous avons noté des pertes de durée exceptionnelle (plus de 20 paquets) à une heure fixe pendant la nuit, cela a été remarquée aussi dans [Owezaski01]. Nous pouvons supposé que cela correspond au moment de changement de configuration de routeurs internationaux. Durée de pertes IMAG-MIT 18 mai 2001 90,00% 83,85% 80,00% 70,00% % 60,00% 50,00% 40,00% 30,00% 12,64% 0,14% 0,07% 0,02% 0,01% 0,11% 0,03% 0,51% 0,09% 0,01% 0,02% 0,10% 0,02% 2,25% 0,06% 0,02% 0,06% 0,00% 20,00% 10,00% 0,00% 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 durée Figure 2.6. Durée de perte sur la connexion IMAG-MIT Corrélation entre la taille des paquets et le taux de perte Nous avons mesuré le taux de pertes pour des tailles de paquets différentes avec même cadence d’émission (i.e. par conséquent, le débit augmente). Cela peut nous montrer l’intérêt et l’effet d’ajout de redondances pour des mécanismes de protection de pertes. La figure 2.8 donne le taux de pertes pour deux séries de sondes (envoyés en parallèle entre l’IMAG et l’ENST de Bretagne) de paquets de tailles différentes : 1270 octets et 160 octets. Nous observons que le taux de pertes pour les gros paquets est la plupart du temps le double par rapport à celui des petits paquets. Il peut donc être inefficace et même mauvais d’augmenter la taille des paquets en rajoutant de la redondance pour palier à des pertes de paquets. Figure 2.8. Relation avec taille de paquet (débit) sur la connexion IMAG-Bretagne. 10 Figure 2.9. Relation avec taille de paquet (débit) sur la connexion IMAG-MIT. Dans le cas de la connexion IMAG-MIT (figure 2.9) le taux de pertes des gros paquets est toujours plus grand (en moyenne 5% de pertes supplémentaire). La différence reste significative dans des cas de congestion faible (taux de pertes de moins de 10%). 5. Mécanismes de contrôles et prototypage Dans notre approche de mécanismes de contrôles et d’adaptation, nous voulons développer un mécanisme dynamique basé sur la qualité de la voix en l’associant à l’état des qualités de services du réseau. Le mécanisme de contrôle proposé est une intégration de différents contrôles de transmission dynamique [Busse95], de réparation des pertes[Garcia 96][Bolot99] et de l’estimation de la qualité sonore requise. La fonction de ce mécanisme est montrée par les modules dans la figure 3.1. statistiques Analyses des critères de QoS Estimation de l’état du réseau Mode de Décision de la transmission stratégie Figure 3.1. Mécanisme de contrôle dynamique. Chaque fois que nous recevons des statistiques sur les pertes et la gigue (i.e. RTCP RR), un module d'analyses va filtrer (par filtre passe-bas) et analyser les paramètres reçus, celles-ci vont servir à estimer l’état actuel du réseau. Nous appliquons les définitions d’état proposées par [Busse95] dont les seuils d’estimation sont libre, chargé, congestionné. Enfin, la décision de stratégies de transmission aboutissant à la meilleure qualité auditive possible est effectuée. Les seuils d’estimation de l’état du réseau sont basés sur les résultats obtenus dans les mesures précédentes(figure 3.2). L’état Idéal est obtenu dans le contexte du réseau du campus avec le taux de pertes inférieur à 0,1%, l'état Libre associé avec le seuil de pertes inférieur à 1%. L’état Chargé du réseau est défini par le taux de pertes inférieur à 4% [Busse96] et le dernier état, état Encombré, est définit par le seuil du taux de pertes de 4%. Un autre facteur dans la classification de l’état du réseau est la bande passante. Nous avons décidé d’utiliser la bande passante maximale (estimée par l’algorithme Packet Pair basé sur la mesure de la durée d’inter-arrivées de sondes de deux paquets envoyés consécutivement [Lai00][Carter96]) comme le deuxième facteur pour identifier le réseau. En outre, quand la bande passante maximale est inférieure à la demande de transmission nous devrons changer les états, par exemple si la bande passante est insuffisante nous pouvons combiner l'état Libre et l'état Idéal. 11 Pertes(%) Etat Réaction 100% - 0 Encombré Réduire qualité Statistiques filtrées se sc sl Chargé Garder qualité Libre Augmenter avec protection Augmenter Idéal 0% - ~ Figure 3.2. Classification de l’état du réseau. Enfin, la décision de stratégies de transmission aboutissant à la meilleure combinaison des codages et ainsi à la meilleure qualité auditive possible dans le table de combinaison des codages (table 3.1). Au vu des résultats obtenus sur la durée des pertes (~90% des pertes ont une durée inférieure à 3 quelque soit le type de liaison), nous proposons l’utilisation d’un mécanisme simple de protection comme un FEC dépendant du média de facteur 2 (on ajoute un codage redondant). Codeur principal Codeur de redondance Bande passante LPC LPC(1) LPC(2) LPC(3) LPC(4) 28 kb/s GSM GSM(1) LPC(2) LPC(3) LPC(4) 43,4 kb/s ADPCM4 GSM(1) GSM(2) GSM(3) 71,9 kb/s ADPCM6 GSM(1) 61,3 kb/s MP3 (128 kb/s) MP3 (32 kb/s)(1) 160 kb/s MP3 (128 kb/s) MP3 (32 kb/s)(1) MP3 (32 kb/s)(2) 192 kb/s Tableau 3.1. Combinaisons de codeur principal et de redondances Ici, la qualité sonore des codages est estimée de manière subjective MOS (Most Opinion Score) dont les scores subjectifs sont mesurés usuellement sur cinq niveaux : 5 excellent, 4 bon, 3 moyen, 2 pauvre, 1 mauvais (voir table 3.2.). Pour une redondance basée sur n codages et un taux de pertes L, la qualité sonore reçue peut être donnée par [Chin98]: Qreçu = (1-L)*P + L1*(1-L)*R1 + L2*(1-L)*R2 +…+ Ln*(1-L)*Rn (3) Où P est la qualité sonore du codage audio principale, Ri est la qualité de ième codage redondant. Codage PCM ADPCM LD -CELP MP3 32kb/s GSM CELP LPC -10 e MOS 4,3 4,1 4,0 3,7 3,47 3,2 2,3 Table 3.2. MOS pour quelques codages audio Nous avons développé un prototype d’application de téléphonie permettant de transmettre si possible un flux audio de haute qualité codé avec le MPEG Audio (MP3). L’architecture de cette application est présentée dans la figure 3.3. L’audio fournie par une source sera traité par les modules de la partie Serveur. Les échantillons obtenus passés au test de détection du silence sont codés avec un ou des 12 codages désignés par les stratégies de transmission. Ces données sont assemblées et paquétisées puis envoyées vers le récepteur. Suivant l’état du réseau le calcul et l’ajout de redondance sont effectués. Côté client, les paquets audio reçus seront désassemblés et attendent dans une file (mémoire tampon) de taille variable gérée par un algorithme de contrôle de la gigue dynamique. Le module de décompression va décoder les données principales et redondantes grâce aux champs de contrôle dans l’en-tête des paquets. Si une ou des pertes ne peuvent pas être reconstruites dans la partie Réparation grâce aux redondances, elles seront substituées par la répétition ou le silence dans la phase de Reconstruction. Après cette phase, les morceaux de données audio seront mis en ordre dans une mémoire tampon avant d’être restitués. Source Audio Serveur Audio Client Restitution Capture audio Reconstruction Détection du silence Réparation FEC Contrôle de stratégie Compression MPEG & FEC Decompression Tampon Contrôle du débit Packetisation Collecteur Internet Dépacketisation RTCP RR Figure 3.3. Architecture de l’application Conclusion et Perspectives Les mesures effectuées, nous ont permis de conclure sur les qualités de services actuelles d’Internet. Nous avons ainsi pu mettre en évidence des paramètres important pour le développement d’application multimédia comme le taux et la durée des pertes, la corrélation pertes/gigue, la corrélation taille des paquets / pertes. Cela nous permet de déterminer différents états potentiel du réseau grâce à un nombre limité de statistiques collectées. Ces mesures montrent aussi la nécessité de la reconnaissance dynamique de l’état du réseau afin de pouvoir assurer la qualité de services d’application temps réel. Pour mettre ces idées en pratique, nous avons donc proposé une architecture d’une application de téléphonie. Cette dernière se compose de l’analyse des statistiques, de la classification de l’état du réseau et de la décision des stratégies qui est basée sur des algorithmes d’adaptation et des combinaisons de codage audio principaux et redondants basé sur la qualité audio perçue. Face à la transformation de l'Internet, notamment la bande passante du cœur du réseau, et les caractéristiques temps réel des trafics multimédia sur IP, les notions de la QoS garanties par le réseau sont en train de changer. Cependant, le réseau reste encore très hétérogène. Même si la qualité du noyau est gérée avec les politiques de 13 garantie de QoS comme Diffserv, la QoS des sous-réseaux périphériques restent toujours variables. Nous devrons appliquer ces idées d'adaptation au QoS suivant les tronçons du réseau utilisés et la forme des machines sources et destination. Dans un cadre plus général de développement d’application multimédia, nous voulons mettre en place une infrastructure logiciel répartie basée objet. L'idée est de construire des objets d'adaptation (OA) ou "adaptateurs" qui s'occupent des gestions de transmission entre les terminaux mais aussi de l'adaptation des flux aux différents types de réseaux intermédiaires et de terminaux. Nos études se basent sur un réseau dorsal VTHD (Vraiment Très Haut Débit), les adaptateurs sont utilisés dans les serveurs intermédiaires comme des proxies programmables, qui fonctionnent sur la couche 4 (Transport) ou plus. Ils peuvent par exemple changer la direction les flux vidéo reçus vers un serveur adjacent choisi. 14 Bibliographie [Bolot97] Jean-Chrysostome Bolot & Andrés Vega-Garcia, The case for FEC based error control for packet audio in the Internet, ACM Multimedia Systems. [Busse96] Ingo Busse, Bernd Deffner, Henning Schulzrinne, Dynamic QoS Control of Multimedia Applications based on RTP, Computer Communications, Jan. 1996. [Bolot 99] Jean-Chrysostome Bolot, S. Fosse-Parisis, D. Towsley. Adaptive FEC-Based error control for Internet Telephony. Proc. Infocom'99, New York, NY, mars 1999. [Carter96] Robert L. Carter, Mark E. Crowella, Measuring Bottleneck Link Speed in PacketSwitched Networks, Computer Science Departement, Boston University. 1996. K.V.Chin, S.C.Hui, S.Foo, Enhancing the quality of Internet voice communication for Internet telephony, School of Applied Science, Nanyang Technological University, 1998. Walid Dabbous, Applications multimédia sur l'Internet, INRIA Sophia Antipolis, ERCIM. 1998. IP Audio Freaks, FreePhone, http://www.inria.fr/rodeo/fphone/ [Chin98] [Dabbous] [FreePhone] [Garcia 96] Andrés VERGA GARCIAS. Mécanisme de contrôle pour la transmission de l’audio sur l’Internet. Mémoire de thèse. l’Université de Nice-Sophia Antipolis Ecole doctorale SPI. 1996. [Jacobson 88] Van Jacobson, Michael J.Karels, Congestion Avoidance and Control, Nonembre, SIGCOMM, 1988. [Kotas98] T.J.Kotas, M.S.Borella, I. Sidhu, G.M.Schuster, J.Grabiec, and J.Mahler, Real-time voice overs packet-switched networks, IEEE Network, vol.12, pp.18-27, JanuaryFebruary, 1998. [Lai 00] Kevin Lai and Mary Baker, Measuring Link Bandwidths Using a Deterministic Model of Packet Delay, Proceedings of the ACM SIGCOMM 2000 Conference, Stockholm, Sweden, August 2000. [Moon98] S. B. Moon, J. Kurose, P. Skelly and D. Towsley, Correlation of Packet Delay and Loss in the Internet, University of Massachusetts, March, 1998. [Mukherjee94] A. Mukherjee, On the dynamics and significance of low frequency components of Internet load, Journal of Internetworking: Research and Experience, vol. 5, no. 4, pp. 163-205, Dec. 1994. [Owezaski01] Supratik Bhattacharyya, Christophe Diot, Chuck Fraleigh, Bryan Lyles, Sue Moon, Philippe Owezarski, Dina Papagiannaki, Nina Taft, Patrick Thiran, Internet Trafic Analysis : Montoring the Sprint IP backbone, Sprint ATL, 2001. [Perkins98] Colin Perkins, Orion Hodson, Vicky Hardman, A survey of packet-loss recovery technique for streaming audio, University College London, August 1998. [rfc793] [rfc1889] Postel, J., Transmission Control Protocol, IETF,1981. H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, RTP: A Transport Protocol for Real-Time Applications, IETF 1996. [SLAC99] SLAC - Stanford Linear Accelerator Center, "Comparaison of various ping Jitter ", Stanford University, 3-1999. [Wah00] Benjamin W. Wah, Xiao Su and Dong Lin, A Survey of Error-Concealment Schemes for Real-Time Audio and Video Transmissions over the Internet, Proc. IEEE International Symposium on Multimedia Software Engineering, Dec. 2000. 15