Multicast
Le multicast est le terme utilisé pour décrire la communication dans laquelle une information est envoyée d’un ou plusieurs points à un ensemble d’autres points. Dans ce cas, il peut y avoir un ou plusieurs expéditeurs, et l’information est distribuée à un ensemble de récepteurs (il peut n’y avoir aucun récepteur, ou tout autre nombre de récepteurs).
Un exemple d’application qui peut utiliser la multidiffusion est un serveur vidéo qui envoie des chaînes de télévision en réseau. La diffusion simultanée d’une vidéo de haute qualité à chacune des nombreuses plateformes de diffusion épuisera les capacités d’un réseau à large bande passante, même s’il est doté d’un puissant serveur de clips vidéo. Cela pose un problème majeur de scalabilité pour les applications qui nécessitent une bande passante élevée et durable. Une façon de faciliter considérablement la mise à l’échelle vers des groupes de clients plus importants est d’utiliser un réseau de multidiffusion.
Le multicast est la technique de mise en réseau qui consiste à fournir le même paquet simultanément à un groupe de clients. La multidiffusion IP offre une connectivité dynamique de type « Many to Many » entre un ensemble d’expéditeurs (au moins 1) et un groupe de récepteurs. Le format des paquets de multidiffusion IP est identique à celui des paquets de monodiffusion et se distingue uniquement par l’utilisation d’une classe spéciale d’adresse de destination (adresse IPv4 de classe D) qui désigne un groupe de multidiffusion spécifique. Étant donné que le protocole TCP ne prend en charge que le mode monodiffusion, les applications de multidiffusion doivent utiliser le protocole de transport UDP.
Multicast
Contrairement à la transmission par diffusion (qui est utilisée sur certains réseaux locaux), les clients multicast ne reçoivent un flux de paquets que s’ils ont préalablement choisi de le faire (en rejoignant l’adresse du groupe multicast spécifique). L’appartenance à un groupe est dynamique et contrôlée par les récepteurs (eux-mêmes informés par les applications clientes locales). Les routeurs d’un réseau de multidiffusion apprennent quels sous-réseaux ont des clients actifs pour chaque groupe de multidiffusion et tentent de minimiser la transmission de paquets dans les parties du réseau pour lesquelles il n’y a pas de clients actifs.
Le mode de multidiffusion est utile si un groupe de clients a besoin d’un ensemble de données commun en même temps, ou lorsque les clients sont capables de recevoir et de stocker (en cache) des données communes jusqu’à ce qu’ils en aient besoin. Lorsqu’un groupe de clients a un besoin commun de données identiques, la transmission en multidiffusion peut permettre de réaliser des économies de bande passante importantes (jusqu’à 1/N de la bande passante par rapport à N clients monodiffusion séparés).
Multicast
La majorité des réseaux locaux installés (par exemple Ethernet) sont capables de prendre en charge le mode de transmission multidiffusion. Les réseaux locaux partagés (utilisant des concentrateurs/répéteurs) prennent intrinsèquement en charge la multidiffusion, puisque tous les paquets atteignent toutes les cartes d’interface réseau connectées au réseau local. Les premières cartes d’interface réseau LAN n’avaient pas de support spécifique pour la multidiffusion et ont introduit une forte pénalité de performance en forçant l’adaptateur à recevoir tous les paquets (mode promiscuous) et à effectuer un filtrage logiciel pour supprimer tous les paquets non désirés. La plupart des cartes d’interface réseau modernes mettent en œuvre un ensemble de filtres de multidiffusion, libérant l’hôte de la charge que représente le filtrage logiciel excessif.