Multicast
Types deroutage |
---|
Anycast |
Broadcast |
Multicast |
Unicast |
Géocast |
Lemulticast(qu'on pourrait traduire par «multidiffusion») est une forme dediffusiond'un émetteur (source unique) vers un groupe de récepteurs. Les termes « diffusion multipoint » ou « diffusion de groupe » sont également employés.
Les récepteurs intéressés par les messages adressés à ce groupe doivent s'inscrire à ce groupe. Ces abonnements permettent auxswitchsetrouteursintermédiaires d'établir une route depuis le ou les émetteurs de ce groupe vers les récepteurs de ce groupe.
Avantages
[modifier|modifier le code]Ce système est plus efficace que l'unicastpour diffuser des contenus simultanément vers une large audience. Enstreamingunicast,on enverrait l'information autant de fois qu'il y a de connexions, d'où gaspillage de temps, de ressources du serveur et surtout debande passante.Le multicast IP diffère également dubroadcast,puisque le message est seulement délivré à un groupe auparavant annoncé à l'expéditeur, et non à tous les utilisateurs du réseau[1].Enmulticast,chaque paquet n'est émis qu'une seule fois et seraroutévers toutes les machines du groupe de diffusion sans que le contenu soit dupliqué sur une quelconque ligne physique; c'est donc le réseau qui se charge de reproduire les données.
Le multicast permet de développer des applications interactives de groupe, comme lavisioconférence,le partage de tableau, etc.
Inconvénients
[modifier|modifier le code]Le multicast ne permet cependant en aucune façon le contrôle de la participation au groupe par la source: la source ne peut déterminer ni qui participe, ni qui peut participer ou non au groupe.
L'identificationet l'authentificationdes participants doivent être prises en charge au niveau applicatif si elles sont souhaitées.
Protocoles
[modifier|modifier le code]Un groupemulticastse compose d'un ensemble de machines[2].Il est entièrementdynamique(une station peut rejoindre ou quitter le groupe à tout moment), etouvert(il n'y a pas de restriction des sourcesa priori); une station peut même émettre un paquet dans un groupe sans en faire partie.
Les protocoles de routages tels quePIM[3]permettent la diffusion du multicast au-delà du segment (TTL).
Le trafic multicast étant unidirectionnel, l'utilisation deTCPn'est pas possible, seulUDPest donc utilisé. Les mécanismes d'évitement de congestion et de retransmission de TCP ne sont en conséquence pas disponibles; les applications ou le type de données transmises doivent pour cette raison soit tolérer les pertes, soit faire usage d'un système de retransmission fondé sur unicast (ce mode de transmission est alors appeléReliable multicast(en)). Sur des liens où il peut exister de la congestion, laQoSpeut contribuer à l'amélioration de la qualité des flux multicast dans le réseau d'un opérateur en priorisant le multicast.
IPv4
[modifier|modifier le code]Le multicasting IP a été défini dans laRFC988[4]en.
Enmulticast,le protocoleIPutilise lesadressesde 224.0.0.0 à 239.255.255.255 (adresses de classe D), les 28 bits les moins significatifs constituent l'adresse du groupe.
Les adresses IPmulticast224.0.0.0 à 224.0.0.255 sont locales à un lien et sont réservées pour le fonctionnement des protocoles réseaux, commeOSPFpar exemple. D'autres protocoles délaissés:AppleTalk,DECnet,IPXutilisent aussi lemulticast.
Lorsqu'un poste veut envoyer un paquet à un groupemulticast,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 2multicast.
Sur un segment, les routeurs identifient les groupes disposant de membres grâce au protocoleInternet Group Management Protocol(IGMP). IGMP n'identifie pas pour autant les récepteurs individuels.
Les commutateurs Ethernet simples traitent les trames multicast comme des tramesbroadcast,c'est-à-dire en les répliquant sur tous les ports à l'exception du port émetteur. Le protocoleIGMP Snoopingne transmet les trames qu'aux hôtes ayant manifesté de l'intérêt pour le groupe, ce qui est plus efficace.
Au niveau d'Ethernet, les trames avec le bit le moins significatif du1eroctet d'uneadresse MAC(bit I/G) sont des trames diffusées. Le préfixe 01-00-5E (/25) est réservé pour les groupes multicast par laRFC1112[5].Les 23 bits les moins significatifs de l'adresse MAC sont remplis 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 32 (228-23) adresses IP multicast partagent la même adresse MAC.
Adresses multicast IPv4 réservées
[modifier|modifier le code]Les blocs d'adresses suivants ont été réservés par l'IANA[6]:
Bloc | Description |
---|---|
224.0.0.0/24 | adresses multicast sur le lien. Par exemple 224.0.0.5 est utilisé parOSPFpour contacter tous les routeurs OSPF du lien. |
232.0.0.0/8 | Source-specific multicast (RFC3569[7]) |
233.0.0.0/8 | Adressage GLOP (RFC2770[8]) qui permet à un fournisseur de contenu de disposer de ses propres adresses. Les octets 2 et 3 représentent un numéro d'ASpublic de 16 bits. |
239.0.0.0/8 | Adresse multicast de site. Celles-ci jouent le même rôle que lesadresses privées,leur diffusion est limitée à un site. |
IPv6
[modifier|modifier le code]Multicast fait partie des spécifications initiales d'IPv6.Il est notamment utilisé par leNeighbor Discovery Protocolet se substitue aubroadcast.
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 champdrapeausont définis par laRFC4291[9].Le bit le plus significatif est réservé à un usage ultérieur. Les quatre bits descopeindiquent 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'organisation,
- si s=e, l'adresse est globale.
Multicast Listener Discoveryjoue le même rôle qu'IGMPpour IPv4, tandis que MLD snooping est similaire à IGMP snooping.
Au niveauethernet,un préfixeOUIest 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 multicast. 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 lacarte réseau.
Adresses IPv6 multicast réservées
[modifier|modifier le code]Voici quelques adresses réservées par l'IANA[10]:
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 Nodeutilisé parNeighbor Discovery Protocol |
ff02::1:2 | Tous les agentsDHCPsur un segment |
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. |
Auto-configuration des Adresses IPv6 multicast
[modifier|modifier le code]Efficacité de multicast vis-à-vis du broadcast sur un segment
[modifier|modifier le code]Outre la limitation de la diffusion siIGMP Snoopingou 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 pileTCP/IPde l'hôte ait besoin d'examiner le contenu du paquet, au contraire des trames diffusées 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
[modifier|modifier le code]L'usage dumulticastsurInternetest encore limité aux réseaux de recherche et auxuniversités,il est plus rarement pris en charge par lesfournisseurs d'accès Internetet les réseaux d'entreprise. Le réseau mondialMbonefacilite les échanges de trafic multicast sur Internet. Lespoints d'échange Internetoffrent généralement la possibilité de transmettre du trafic multicast entre les fournisseurs.
Multicast est utilisé par les systèmes deTélévision IPpour 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 desstations de travailet des serveurs.
Certaineswebradiosexpérimentent un fluxmulticastpour la diffusion de leurs programmes; ce type de flux n'étant pas généralement supporté par les opérateurs de réseau en 2010, la diffusion de celles-ci reste limitée: uncampus,par exemple.
Multicast ne dispose pas pour le moment (en 2010) d'applications susceptibles de rencontrer l'engouement du grand public. La méconnaissance des protocoles de routage multicast au sein des fournisseurs et des opérateurs n'y est pas étrangère. L'absence de tout système de contrôle de l'audience en standard démotive aussi les fournisseurs de contenu.
Notes et références
[modifier|modifier le code]- «Multicast: pour une diffusion multipoint», surIONOS Digitalguide(consulté le)
- Ou plus exactement d'adaptateurs réseau sur ces machines
- Méthode recommandée parCiscodans ses brochures
- (en)Steve Deering,«Host Extensions for IP Multicasting»,Request for commentsno988,
- (en)Steve Deering,«Host extensions for IP multicasting»,Request for commentsno1112,
- Internet Multicast Addresses
- (en)Supratik Bhattacharyya, «An Overview of Source-Specific Multicast (SSM)»,Request for commentsno3569,
- (en)David Meyer,Peter Löthberg(sv),«GLOP Addressing in 233/8»,Request for commentsno2770,
- (en)Steve Deering,Robert Hinden, «IP Version 6 Addressing Architecture»,Request for commentsno4291,
- IPv6 Multicast Address Space Registry