Types de routage |
---|
anycast |
broadcast |
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.
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.
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.
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.
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.
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. |
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.
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::) :
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.
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. |