Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2010

Fair multicast congestion control and interface with the application layer

Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif

Résumé

IP multicast is an efficient solution able to deliver a data simultaneously to several receivers: i.e. IPTV streams. Nonetheless, there is a need to use multicast streams on limited bandwidth capacity networks, such as ADSL ones or wireless access. Thereby, a multicast congestion control mechanism is mandatory in order to fairly share the bandwidth between the competing multicast and TCP streams. In this thesis we first study the multicast join time latency as well as its impact on multicast congestion control protocols. Thereby, we propose M2C a new scalable multicast congestion control protocol able to deal with the join time latency. M2C uses a WEBRC-like dynamic layering at the source part and each M2C receiver manages its reception rate with a congestion window controlled by a "Slow Start" and a "Congestion Avoidance" mechanisms. Thanks to these mechanisms, M2C behavior is robust and TCP-friendly. Moreover, to quickly converge to the fair rate, M2C is able to return in "Slow Start" when a receiver detects that the current rate is far below the fair one. In addition, a "Fast Start" algorithm is designed to speed up M2C startup. We have implemented M2C and studied its behavior over several network configurations: on a local testbed specially deployed within our laboratory, as well as an interdomain testbed through Internet between Strasbourg (France), Trondheim (Norway) and Louvain-la-Neuve (Belgium). The evaluation is driven by several rigorous and realistic scenarios: i.e. competition between a variable population of M2C and TCP streams, with or without background noise such as short communications generated by web navigation or email browsing, etc. These numerous experiments highlight the good M2C behavior in terms of bandwidth usage, loss rate, fairness, etc. Besides, it is a challenging task for application programmers to efficiently take advantage of the dynamic channels used by M2C. Indeed, the source must be able to cope with the dynamic channels whose sending rate is updated for each new packet. Moreover, the source has to schedule the application data to allow each receiver to take advantage of the whole received data and thus independently of the reception rate. To deal with these problems, we propose a sequencer and its API, which assure that the more important the data is, the lower its sending rate is. And thus acquired by the majority of receivers. Experiments have shown the sequencer optimal performances insuring that a receiver subscribed to N% of the source rate obtains the most important N% of the applicative data. Moreover, applications can use this API without knowing anything about the dynamic layering used by M2C. Therefore, this API is easy to use, which makes it suitable for various kind of applications. Indeed, we have demonstrated the usefulness of the API and the underlying congestion control protocol by implementing two experimental applications: a file transfer [MUTUAL] and a video streaming software [MUST]. All source codes are publicly available: - [M2C] http://svnet.unistra.fr/mcc/ - [MUTUAL] http://mutual.sourceforge.net/ - [MUST] http://must.sourceforge.net/
Les communications de groupe telles que le multicast IP procurent un moyen efficace pour transmettre simultanément la même donnée vers plusieurs destinataires, comme par exemple pour la diffusion de l'IPTV. Or, il existe une demande pour utiliser le multicast sur des réseaux à capacité variable ou limitée tels que ceux des utilisateurs abonnés à l'ADSL ou ceux utilisés pour les usages mobiles avec un accès sans fil. Dans ces conditions, il est nécessaire de créer un mécanisme de contrôle de congestion pour le multicast capable de partager équitablement la bande passante entre les flux multicast et les flux TCP concurrents. Cette thèse commence par une étude de la latence du temps d'adhésion aux groupes multicast ainsi que son influence sur les différents protocoles existants de contrôle de congestion pour le multicast. Ainsi, nous proposons de créer M2C un protocole de contrôle de congestion prenant en compte cette latence du temps d'adhésion et capable de supporter le passage à très grande échelle. Côté source, M2C utilise des canaux dynamiques semblables à ceux de WEBRC et chaque récepteur M2C dispose d'une fenêtre de congestion mise à jour par des mécanismes de "Slow Start" et de "Congestion Avoidance" qui permettent d'obtenir de façon robuste un partage équitable de la bande passante. De plus, pour converger rapidement vers le débit équitable, un algorithme de "Fast Start" est utilisé au démarrage des sessions M2C. Par ailleurs, un mécanisme permettant de détecter les évolutions du débit équitable réactive le "Slow Start" afin de converger plus rapidement vers le nouveau débit équitable. Le protocole M2C a été implémenté et évalué sur plusieurs environnements complémentaires : aussi bien sur une plateforme locale spécialement mise en place pour ces tests au sein du laboratoire, qu'à travers Internet entre Strasbourg (France), Trondheim (Norvège) et Louvain-la-Neuve (Belgique). L'évaluation se déroule selon des scenarii rigoureux et réalistes : comme par exemple, la concurrence entre une population variable de flux M2C et TCP, avec ou sans bruit de fond tel que les communications courtes produites par la navigation sur des sites web ou la consultation de courriel. Cela permet de mettre en exergue le comportement de M2C grâce à l'évaluation de métriques telles que l'utilisation de la bande passante, le taux de pertes, l'équité, etc. Les canaux dynamiques utilisés par M2C peuvent rendre difficile le développement d'applications. En effet, la source doit être capable d'ordonner ses données en utilisant ces canaux dynamiques dont le débit est recalculé pour chaque paquet envoyé et en permettant à chaque récepteur ayant un débit différent de tirer parti de toutes les données reçues. Ces problèmes sont traités en proposant un séquenceur et une interface de programmation (API) qui permettent d'envoyer les données les plus importantes aux débits reçus par la majorité des récepteurs. Nous avons montré que l'efficacité de ce séquenceur est telle qu'un récepteur recevant N% du débit de la source, alors ce récepteur reçoit les N% les plus importants des données applicatives. De plus, l'API fournie permet à l'application de s'abstraire de connaître les mécanismes utilisés par le séquenceur et par M2C. Cette API est à la fois simple d'utilisation et très efficace pour différents types d'applications. Ainsi, nous l'avons utilisé pour implémenter des logiciels de transfert de fichiers [MUTUAL] et de diffusion de vidéos [MUST], dont les sources sont disponibles publiquement ainsi que celles de M2C~: - [M2C] http://svnet.unistra.fr/mcc/ - [MUTUAL] http://mutual.sourceforge.net/ - [MUST] http://must.sourceforge.net/
Fichier principal
Vignette du fichier
lucas_these.pdf (4.03 Mo) Télécharger le fichier
pres_lucas_thesis10.pdf (3.78 Mo) Télécharger le fichier
Format : Autre

Dates et versions

tel-00523422 , version 1 (05-10-2010)

Identifiants

  • HAL Id : tel-00523422 , version 1

Citer

Vincent Lucas. Contrôle de congestion équitable pour le multicast et interface avec le niveau applicatif. Réseaux et télécommunications [cs.NI]. Université de Strasbourg, 2010. Français. ⟨NNT : ⟩. ⟨tel-00523422⟩

Collections

CNRS
137 Consultations
685 Téléchargements

Partager

Gmail Facebook X LinkedIn More