Multicast

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

Types de routage

Cast.svg
anycast

Anycast.svg
broadcast

Broadcast.svg
multicast

Multicast.svg
unicast

Unicast.svg

En informatique, le terme multicast (multidiffusion) est utilisé pour désigner une méthode de diffusion efficace de l'information d'un émetteur (source unique) vers un groupe (plusieurs supports/medias). On dit aussi diffusion multipoint ou diffusion de groupe.

Les récepteurs intéressés par les messages adressés à ce groupe doivent joindre ce groupe au préalable. Le résultat de ces abonnements est de permettre aux commutateurs et routeurs intermédiaires d'établir une route depuis le ou les émetteurs de ce groupe vers le ou les récepteurs de ce groupe.

Avantages

L'avantage de ce système par rapport au classique unicast est manifeste quand on veut diffuser de la vidéo en direct vers une large audience. En streaming unicast, on envoie une information autant de fois que l'on a de connexions simultanées ce qui conduit à une perte de temps, de ressources du serveur et surtout de bande passante. A contrario de l'unicast, en multicast le paquet n'est émis qu'une seule fois par la source, et sera routé vers toutes les machines du groupe de diffusion en évitant de dupliquer le contenu sur les liens physiques, c'est donc le réseau qui se charge de reproduire les données.

De plus, multicast permet de développer des applications interactives de groupe, comme la vidéoconférence ou le partage de tableau.

Le multicast ne permet cependant pas le contrôle de la participation au groupe par la source, c'est-à-dire que la source ne peut pas déterminer ni qui participe, ni qui peut participer au groupe.

Protocoles

Un groupe multicast se compose d'un ensemble de machines. Il est entièrement dynamique (une station peut rejoindre ou quitter le groupe à tout moment), et ouvert : il n'y a pas de restriction des sources a priori, une station peut même émettre un paquet dans un groupe sans en faire partie.

Les protocoles de routages tels que PIM permettent la diffusion du multicast au-delà du segment.

Le trafic multicast étant unidirectionnel, l'utilisation de TCP n'est pas possible, seul UDP est donc utilisé. Les mécanismes d'évitement de congestion et de retransmission de TCP ne sont pas disponibles, les applications doivent donc tolérer les pertes ou faire usage d'un système de retransmission basé sur unicast, ce mode de transmission est alors appelé Reliable multicast (en). Sur des liens où il peut exister de la congestion, la QoS peut contribuer à l'amélioration de la qualité des flux multicast dans le réseau d'un opérateur en prioritisant multicast.

IPv4

En multicast, le protocole IP utilise les adresses de 224.0.0.0 à 239.255.255.255, les 28 bits les moins significatifs constituent l'adresse du groupe.

Les adresses IP multicast 224.0.0.1 à 224.0.0.255 sont locales à un lien et sont réservées pour le fonctionnement des protocoles réseaux, comme OSPF par exemple. D'autres protocoles délaissés : AppleTalk, DECnet, IPX utilisent aussi le multicast.

Lorsqu'un poste veut envoyer un paquet à un groupe multicast, il envoie ce paquet à l'adresse IP identifiant ce groupe (par exemple : 224.1.2.3). La réception est réalisée par un routeur abonné au groupe et le paquet est alors dupliqué et renvoyé grâce à une trame de niveau 2 Multicast.

Sur un segment, les routeurs identifient les groupes disposant de membres grâce au protocole Internet Group Management Protocol (IGMP). IGMP n'identifie cependant pas les récepteurs individuels.

Les commutateurs ethernet simples traitent les trames multicast comme des trames broadcast, c'est-à-dire en les répliquant sur toutes les portes à l'exception de la porte émettrice. Le protocole IGMP snooping permet d'améliorer ce comportement et de ne transmettre les trames qu'aux hôtes qui manifestent de l'intérêt pour le groupe.

Au niveau ethernet, les trames avec le bit le moins significatif du 1 octet d'une adresse MAC sont des trames diffusées. Le préfixe 01-00-5E (/25) est réservé pour les groupes multicast par la RFC 1112. Les 23 bits les moins significatifs de l'adresse MAC sont peuplés avec les 23 bits les moins significatifs de l'adresse IP multicast. Comme l'adresse IP multicast dispose de 28 bits de groupe, ceci signifie que plusieurs adresses IP multicast partagent la même adresse MAC.

Adresses multicast IPv4 réservées

Les blocs d'adresses suivants ont été réservés par l'IANA :

BlocDescription
224.0.0.0/8adresses multicast sur le lien. Par exemple 224.0.0.5 est utilisé par OSPF pour contacter tous les routeurs OSPF du lien.
232.0.0.0/8Source-specific multicast (RFC 3569)
233.0.0.0/8Adressage GLOP (RFC 2770) qui permet à un fournisseur de contenu de de disposer de ses propres adresses. Les octets 2 et 3 représentent un numéro d'AS public de 16 bits.
239.0.0.0/8Adresse multicast de site. Celles-ci jouent le même role que les adresses privées, leur diffusion est limitée à un site.

IPv6

Multicast fait partie des spécifications initiales d'IPv6. Il est notamment utilisé par le Neighbor Discovery Protocol et se substitue au broadcast.

Les adresses IPv6 ff00::/8 sont réservées pour le multicast, 112 bits de groupe sont disponibles.

champpréfixedrap.scopegroupe
bits844112

Le préfixe consiste en la valeur binaire 11111111. Trois des quatre bits du champ drapeau sont définis par la RFC 4291. Le bit le plus significatif est réservé à un usage ultérieur. Les quatre bits de scope indiquent le domaine de validité de l'adresse (ff0s::) :

  • si s=1, l'adresse multicast est locale à l'hôte,
  • si s=2, l'adresse est link-local,
  • si s=5, l'adresse est locale au site,
  • si s=8, l'adresse est locale à l'oganisation,
  • si s=e, l'adresse est globale.

Multicast Listener Discovery joue le même rôle qu'IGMP pour IPv4, tandis que MLD snooping est similaire à IGMP snooping.

Au niveau ethernet, un préfixe OUI est réservé aux adresses IPv6 multicast (33:33:xx). L'adresse MAC du groupe multicast consistera en ces 16 bits que l'on fait suivre par les 32 derniers bits de l'adresse IPv6 muticast. Par exemple, l'adresse ff02::3:2 correspondra à l'adresse MAC 33:33:00:03:00:02. Bien que de nombreux groupes multicast partagent la même adresse MAC, ceci permet déjà un filtrage efficace au niveau de la carte réseau.

Adresses IPv6 multicast réservées

Voici quelques adresses réservées par l'IANA :

BlocDescription
ff02::1Tous les hôtes sur un segment
ff02::2Tous les routeurs sur un segment
ff02::1:FF00:0000/104Solicited Node utilisé par Neighbor Discovery Protocol
ff05::1Tous les hôtes d'un site
ff0x::fbMulticast DNS
ff0x::101Network Time Protocol
ff05::1:3Tous les serveurs DHCP du réseau local.

Efficacité de multicast vis à vis du broadcast sur un segment

Outre la limitation de la diffusion si IGMP snooping ou MLD snooping sont actifs, l'utilisation d'une adresse MAC multicast permet un filtrage dès la carte réseau sur les hôtes, c'est-à-dire sans que la pile TCP/IP de l'hôte n'ait besoin d'examiner le contenu du paquet, au contraire des trames diffusés avec une adresse broadcast.

Quand un hôte joint ou quitte un groupe, il met à jour une liste d'adresses MAC multicast acceptée par la carte réseau.

Utilisation

L'usage du multicast sur Internet est encore limité aux réseaux de recherche et aux universités, il est plus rarement pris en charge par les les fournisseurs d'accès Internet et les réseaux d'entreprise. Le réseau mondial Mbone facilite les échanges de trafic multicast sur Internet. Les points d'échange Internet offrent généralement la possibilité de transmettre du trafic multicast entre les fournisseurs.

Multicast est utilisé par les systèmes de Télévision IP pour diffuser le contenu des chaînes à un grand nombre d'abonnés. Il est aussi utilisé dans certaines grandes entreprises pour la diffusion d'informations, la mise à jour simultanée des postes de travail ou la synchronisation des horloges des stations de travail et des serveurs.

Certaines webradios expérimentent un flux multicast pour la diffusion de leurs programmes, mais comme ce type de flux n'étant pas généralement supporté par les opérateurs de réseau, la diffusion de celles-ci reste limitée.

Multicast ne dispose cependant pas d'applications populaires qui susciterait l'intérêt de la part du grand public. La méconnaissance des protocoles de routage multicast au sein des fournisseurs et des opérateurs constitue également un obstacle. Les fournisseurs de contenu manquent d'un système de contrôle de l'audience.