Multicast - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

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.

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.

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 1er 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 :

Bloc Description
224.0.0.0/8 adresses 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/8 Source-specific multicast (RFC 3569)
233.0.0.0/8 Adressage 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/8 Adresse 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.

Format d'une adresse multicast
champ préfixe drap. scope groupe
bits 8 4 4 112

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 :

Bloc Description
ff02::1 Tous les hôtes sur un segment
ff02::2 Tous les routeurs sur un segment
ff02::1:FF00:0000/104 Solicited Node utilisé par Neighbor Discovery Protocol
ff05::1 Tous les hôtes d'un site
ff0x::fb Multicast DNS
ff0x::101 Network Time Protocol
ff05::1:3 Tous les serveurs DHCP du réseau local.
Page générée en 0.092 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise