Multicast
Cet article ne cite pas suffisamment ses sources ().
Si vous disposez d'ouvrages ou d'articles de reference ou si vous connaissez des sites web de qualite traitant du theme aborde ici, merci de completer l'article en donnant les references utiles a sa verifiabilite et en les liant a la section << Notes et references >>.
En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?| Types de routage |
|---|
| Anycast |
| Broadcast |
| Multicast |
| Unicast |
| Geocast |
Le multicast (qu'on pourrait traduire par << multidiffusion >>) est une forme de diffusion d'un emetteur (source unique) vers un groupe de recepteurs. Les termes << diffusion multipoint >> ou << diffusion de groupe >> sont egalement employes.
Les recepteurs interesses par les messages adresses a ce groupe doivent s'inscrire a ce groupe. Ces abonnements permettent aux switchs et routeurs intermediaires d'etablir une route depuis le ou les emetteurs de ce groupe vers les recepteurs de ce groupe.
Avantages
[modifier | modifier le code]Ce systeme est plus efficace que l'unicast pour diffuser des contenus simultanement vers une large audience. En streaming unicast, on enverrait l'information autant de fois qu'il y a de connexions, d'ou gaspillage de temps, de ressources du serveur et surtout de bande passante. Le multicast IP differe egalement du broadcast, puisque le message est seulement delivre a un groupe auparavant annonce a l'expediteur, et non a tous les utilisateurs du reseau[1]. En multicast, chaque paquet n'est emis qu'une seule fois et sera route vers toutes les machines du groupe de diffusion sans que le contenu soit duplique sur une quelconque ligne physique ; c'est donc le reseau qui se charge de reproduire les donnees.
Le multicast permet de developper des applications interactives de groupe, comme la visioconference, le partage de tableau, etc.
Inconvenients
[modifier | modifier le code]Le multicast ne permet cependant en aucune facon le controle de la participation au groupe par la source : la source ne peut determiner ni qui participe, ni qui peut participer ou non au groupe.
L'identification et l'authentification des participants doivent etre prises en charge au niveau applicatif si elles sont souhaitees.
Protocoles
[modifier | modifier le code]Un groupe multicast se compose d'un ensemble de machines[2]. Il est entierement dynamique (une station peut rejoindre ou quitter le groupe a tout moment), et ouvert (il n'y a pas de restriction des sources a priori) ; une station peut meme emettre un paquet dans un groupe sans en faire partie.
Les protocoles de routages tels que PIM[3] permettent la diffusion du multicast au-dela du segment (TTL).
Le trafic multicast etant unidirectionnel, l'utilisation de TCP n'est pas possible, seul UDP est donc utilise. Les mecanismes d'evitement de congestion et de retransmission de TCP ne sont en consequence pas disponibles ; les applications ou le type de donnees transmises doivent pour cette raison soit tolerer les pertes, soit faire usage d'un systeme de retransmission fonde sur unicast (ce mode de transmission est alors appele Reliable multicast (en)). Sur des liens ou il peut exister de la congestion, la QoS peut contribuer a l'amelioration de la qualite des flux multicast dans le reseau d'un operateur en priorisant le multicast.
IPv4
[modifier | modifier le code]Le multicasting IP a ete defini dans la RFC 988[4] en .
En multicast, le protocole IP utilise les adresses de 224.0.0.0 a 239.255.255.255 (adresses de classe D), les 28 bits les moins significatifs constituent l'adresse du groupe.
Les adresses IP multicast 224.0.0.0 a 224.0.0.255 sont locales a un lien et sont reservees pour le fonctionnement des protocoles reseaux, comme OSPF par exemple. D'autres protocoles delaisses : AppleTalk, DECnet, IPX utilisent aussi le multicast.
Lorsqu'un poste veut envoyer un paquet a un groupe multicast, il envoie ce paquet a l'adresse IP identifiant ce groupe (par exemple : 224.1.2.3). La reception est realisee par un routeur abonne au groupe et le paquet est alors duplique et renvoye grace a une trame de niveau 2 multicast.
Sur un segment, les routeurs identifient les groupes disposant de membres grace au protocole Internet Group Management Protocol (IGMP). IGMP n'identifie pas pour autant les recepteurs individuels.
Les commutateurs Ethernet simples traitent les trames multicast comme des trames broadcast, c'est-a-dire en les repliquant sur tous les ports a l'exception du port emetteur. Le protocole IGMP Snooping ne transmet les trames qu'aux hotes ayant manifeste de l'interet pour le groupe, ce qui est plus efficace.
Au niveau d'Ethernet, les trames avec le bit le moins significatif du 1er octet d'une adresse MAC (bit I/G) sont des trames diffusees. Le prefixe 01-00-5E (/25) est reserve pour les groupes multicast par la RFC 1112[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 meme adresse MAC.
Adresses multicast IPv4 reservees
[modifier | modifier le code]Les blocs d'adresses suivants ont ete reserves par l'IANA[6] :
| Bloc | Description |
|---|---|
| 224.0.0.0/24 | adresses multicast sur le lien. Par exemple 224.0.0.5 est utilise par OSPF pour contacter tous les routeurs OSPF du lien. |
| 232.0.0.0/8 | Source-specific multicast (RFC 3569[7]) |
| 233.0.0.0/8 | Adressage GLOP (RFC 2770[8]) qui permet a un fournisseur de contenu de disposer de ses propres adresses. Les octets 2 et 3 representent un numero d'AS public de 16 bits. |
| 239.0.0.0/8 | Adresse multicast de site. Celles-ci jouent le meme role que les adresses privees, leur diffusion est limitee a un site. |
IPv6
[modifier | modifier le code]Multicast fait partie des specifications initiales d'IPv6. Il est notamment utilise par le Neighbor Discovery Protocol et se substitue au broadcast.
Les adresses IPv6 ff00::/8 sont reservees pour le multicast, 112 bits de groupe sont disponibles.
| champ | prefixe | drap. | scope | groupe |
|---|---|---|---|---|
| bits | 8 | 4 | 4 | 112 |
Le prefixe consiste en la valeur binaire 11111111. Trois des quatre bits du champ drapeau sont definis par la RFC 4291[9]. Le bit le plus significatif est reserve a un usage ulterieur. Les quatre bits de scope indiquent le domaine de validite de l'adresse (ff0s::) :
- si s=1, l'adresse multicast est locale a l'hote,
- si s=2, l'adresse est link-local,
- si s=5, l'adresse est locale au site,
- si s=8, l'adresse est locale a l'organisation,
- si s=e, l'adresse est globale.
Multicast Listener Discovery joue le meme role qu'IGMP pour IPv4, tandis que MLD snooping est similaire a IGMP snooping.
Au niveau ethernet, un prefixe OUI est reserve 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 a l'adresse MAC 33:33:00:03:00:02. Bien que de nombreux groupes multicast partagent la meme adresse MAC, ceci permet deja un filtrage efficace au niveau de la carte reseau.
Adresses IPv6 multicast reservees
[modifier | modifier le code]Voici quelques adresses reservees par l'IANA[10] :
| Bloc | Description |
|---|---|
| ff02::1 | Tous les hotes sur un segment |
| ff02::2 | Tous les routeurs sur un segment |
| ff02::1:FF00:0000/104 | Solicited Node utilise par Neighbor Discovery Protocol |
| ff02::1:2 | Tous les agents DHCP sur un segment |
| ff05::1 | Tous les hotes d'un site |
| ff0x::fb | Multicast DNS |
| ff0x::101 | Network Time Protocol |
| ff05::1:3 | Tous les serveurs DHCP du reseau local. |
Auto-configuration des Adresses IPv6 multicast
[modifier | modifier le code]Efficacite de multicast vis-a-vis du broadcast sur un segment
[modifier | modifier le code]Outre la limitation de la diffusion si IGMP Snooping ou MLD snooping sont actifs, l'utilisation d'une adresse MAC multicast permet un filtrage des la carte reseau sur les hotes, c'est-a-dire sans que la pile TCP/IP de l'hote ait besoin d'examiner le contenu du paquet, au contraire des trames diffusees avec une adresse broadcast.
Quand un hote joint ou quitte un groupe, il met a jour une liste d'adresses MAC multicast acceptee par la carte reseau.
Utilisation
[modifier | modifier le code]L'usage du multicast sur Internet est encore limite aux reseaux de recherche et aux universites, il est plus rarement pris en charge par les fournisseurs d'acces Internet et les reseaux d'entreprise. Le reseau mondial Mbone facilite les echanges de trafic multicast sur Internet. Les points d'echange Internet offrent generalement la possibilite de transmettre du trafic multicast entre les fournisseurs.
Multicast est utilise par les systemes de Television IP pour diffuser le contenu des chaines a un grand nombre d'abonnes. Il est aussi utilise dans certaines grandes entreprises pour la diffusion d'informations, la mise a jour simultanee des postes de travail ou la synchronisation des horloges des stations de travail et des serveurs.
Certaines webradios experimentent un flux multicast pour la diffusion de leurs programmes ; ce type de flux n'etant pas generalement supporte par les operateurs de reseau en 2010, la diffusion de celles-ci reste limitee : un campus, par exemple.
Multicast ne dispose pas pour le moment (en 2010) d'applications susceptibles de rencontrer l'engouement du grand public. La meconnaissance des protocoles de routage multicast au sein des fournisseurs et des operateurs n'y est pas etrangere. L'absence de tout systeme de controle de l'audience en standard demotive aussi les fournisseurs de contenu.
Notes et references
[modifier | modifier le code]- | << Multicast : pour une diffusion multipoint >>, sur IONOS Digitalguide (consulte le )
- | Ou plus exactement d'adaptateurs reseau sur ces machines
- | Methode recommandee par Cisco dans ses brochures
- | (en) Steve Deering, << Host Extensions for IP Multicasting >>, Request for comments no 988,
- | (en) Steve Deering, << Host extensions for IP multicasting >>, Request for comments no 1112,
- | Internet Multicast Addresses
- | (en) Supratik Bhattacharyya, << An Overview of Source-Specific Multicast (SSM) >>, Request for comments no 3569,
- | (en) David Meyer, Peter Lothberg (sv), << GLOP Addressing in 233/8 >>, Request for comments no 2770,
- | (en) Steve Deering, Robert Hinden, << IP Version 6 Addressing Architecture >>, Request for comments no 4291,
- | IPv6 Multicast Address Space Registry