Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
multicast [Le 06/02/2009, 10:17]
MrWaloo Mise en page (balises code pour les commandes et balises file pour les retours de commande)
multicast [Le 11/09/2022, 11:47] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
 +{{tag>​multicast ipv6 reseau }}
 +
 +----
 +
 ====== Le multicast ====== ====== Le multicast ======
  
 ===== Définition ===== ===== Définition =====
-Le [[http://​fr.wikipedia.org/​wiki/​Multicast|multicast]],​ ou multidiffusion,​ permet la diffusion vers plusieurs partenaires sur un réseau. Ces partenaires ont, en plus de leur adresse IP de classe A, B ou C (adresse privée), une adresse de multicast : **l'​adresse de groupe**. Cette adresse est de classe D, c'est à dire qu'​elle se trouve dans la plage allant de 224.0.0.0 jusqu'​à 239.255.255.255.+Le [[https://​fr.wikipedia.org/​wiki/​Multicast|multicast]],​ ou multidiffusion,​ permet la diffusion vers plusieurs partenaires sur un réseau. Ces partenaires ont, en plus de leur adresse IP de classe A, B ou C (adresse privée), une adresse de multicast : **l'​adresse de groupe**. Cette adresse est de classe D, c'est à dire qu'​elle se trouve dans la plage allant de 224.0.0.0 jusqu'​à 239.255.255.255
 + 
 +Lorsqu'​une application s'​adresse à une adresse de groupe, tous les éléments du réseau (ordinateur,​ imprimante, switch managable, routeur, etc.) qui font partie de ce groupe réceptionnent la trame TCP/IP.
  
 Pour simplifier on peut dire que le multicast est un broadcast sélectif. Pour simplifier on peut dire que le multicast est un broadcast sélectif.
  
 ===== Mise en place d'un multicast statique ===== ===== Mise en place d'un multicast statique =====
-<​note>​On parle de multicast statique lorsque, dans un même réseau, on défini une adresse de groupe pour atteindre certains PC.\\ +<​note>​Il est beaucoup question de multicast dans le domaine de la diffusion audio et/ou vidéo ou encore du routage, ce n'est pas ce qui est détaillé ici((c'​est un appel à contribution,​ si vous avez des connaissances dans ces domaines et si le cœur vous en dit, enrichissez cette documentation)).</​note>​ 
-Il est beaucoup question de multicast dans le domaine de la diffusion audio et/ou vidéo ou encore du routage, ce n'est pas ce qui est détaillé ici.</​note>​+ 
 +==== Définition ==== 
 +On parle de multicast statique lorsque, dans un même réseau, on **définit** une adresse de groupe pour atteindre certains éléments du réseau.\\ 
 +C'est à dire que les différents éléments du réseau sont configurés pour accepter des trames TCP/IP adressées à une adresse de groupe. 
 + 
 +On peut imaginer, par exemple, un cluster de PC au sein d'un réseau. Pour la communication entre ces PC, sachant que le nombre de PC pourrait être amené à varier, le plus simple est de définir une adresse unique à laquelle tous les PC du cluster répondent : une adresse de groupe ⇒ le multicast est né.\\ 
 +Le fait de n'​avoir qu'une seule adresse permet de ne pas avoir à gérer la liste des adresses IP de tous les PC du cluster. Il suffit qu'un PC fasse partie du groupe multicast pour faire partie du cluster.\\ 
 +En parlant de cluster, le multicast est utilisable pour [[:​heartbeat]]
  
 ==== Configuration du noyau Linux ==== ==== Configuration du noyau Linux ====
Ligne 20: Ligne 33:
 <​code>​sysctl net.ipv4.icmp_echo_ignore_broadcasts</​code>​ <​code>​sysctl net.ipv4.icmp_echo_ignore_broadcasts</​code>​
 <​file>​net.ipv4.icmp_echo_ignore_broadcasts = 1</​file>​ <​file>​net.ipv4.icmp_echo_ignore_broadcasts = 1</​file>​
-Les fonctionnalités multicast sont déactivées.\\+Les fonctionnalités multicast sont désactivées.\\
 Pour les activer : Pour les activer :
 <​code>​sudo sysctl net.ipv4.icmp_echo_ignore_broadcasts=0</​code>​ <​code>​sudo sysctl net.ipv4.icmp_echo_ignore_broadcasts=0</​code>​
Ligne 37: Ligne 50:
 rtt min/​avg/​max/​mdev = 0.024/​0.760/​1.949/​0.898 ms</​file>​ rtt min/​avg/​max/​mdev = 0.024/​0.760/​1.949/​0.898 ms</​file>​
  
--> **Explications :** l'​adresse IP 224.0.0.1 est une adresse pour atteindre tous les partenaires du réseau qui "​savent faire" ​du multicast.\\ +-> **Explications :** l'​adresse IP 224.0.0.1 est une adresse pour atteindre tous les partenaires du réseau qui gèrent ​du multicast.\\ 
-l'​adresse IP de mon PC est 192.168.1.141,​ mon PC répond. Mais l'​adresse 192.168.1.200 répond aussi au ping, c'est mon routeur ADSL, il "sait faire" du multicast et donc il répond à l'​adresse 224.0.0.1 lui aussi.+l'​adresse IP de mon PC est 192.168.1.141,​ mon PC répond. Mais l'​adresse 192.168.1.200 répond aussi au ping, c'est mon routeur ADSL, il gère le multicast et donc il répond à l'​adresse 224.0.0.1 lui aussi.
  
-Pour faire en sorte que cette modification reste même après un redémarrage,​ il faut éditer le fichier ​''​/​etc/​sysctl.conf'' ​et remplacer+Pour faire en sorte que cette modification reste même après un redémarrage,​ il faut éditer le fichier ​**/​etc/​sysctl.conf** et remplacer
 <​file>#​ Ignore ICMP broadcasts <​file>#​ Ignore ICMP broadcasts
 #​net.ipv4.icmp_echo_ignore_broadcasts = 1</​file>​ #​net.ipv4.icmp_echo_ignore_broadcasts = 1</​file>​
Ligne 49: Ligne 62:
 ==== Comment rejoindre une adresse de groupe multicast statique ==== ==== Comment rejoindre une adresse de groupe multicast statique ====
 <​note>​Pour le multicast statique privé, la plage d'​adresses de groupe à utiliser va de 239.0.0.1 à 239.255.255.254.</​note>​ <​note>​Pour le multicast statique privé, la plage d'​adresses de groupe à utiliser va de 239.0.0.1 à 239.255.255.254.</​note>​
-<​note>​Dès qu'un partenaire du réseau a rejoin ​une adresse de groupe multicast, celle-ci devient ​"​fonctionnelle"​, il n'y a pas de procédure de création d'​adresse de groupe.</​note>​ +<​note>​Dès qu'un partenaire du réseau a rejoint ​une adresse de groupe multicast, celle-ci devient ​« fonctionnelle », il n'y a pas de procédure de création d'​adresse de groupe.</​note>​ 
-L'​outil qui sert à rejoindre une adresse de groupe multicast est [[http://​www.cschill.de/​smcroute/​|smcroute]]. Il se lance comme un daemon et gère le multicast. +L'​outil qui sert à rejoindre une adresse de groupe multicast est [[http://​www.cschill.de/​smcroute/​|smcroute]]. Il se lance comme un daemon et gère le multicast.\\ 
-<​code>​sudo apt-get install ​smcroute</​code>​ +[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] ​smcroute
-Pour rejoindre (//join//) l'​adresse de groupe 239.0.0.10 :+ 
 +Pour rejoindre (//Join//) l'​adresse de groupe 239.0.0.10 :
 <​code>​sudo smcroute -j eth0 239.0.0.10</​code>​ <​code>​sudo smcroute -j eth0 239.0.0.10</​code>​
-Pour quiter (//leave//) l'​adresse de groupe 239.0.0.10 :+Pour quiter (//Leave//) l'​adresse de groupe 239.0.0.10 :
 <​code>​sudo smcroute -l eth0 239.0.0.10</​code>​ <​code>​sudo smcroute -l eth0 239.0.0.10</​code>​
  
-<note important>​Pour faire en sorte que le PC rejoigne une adresse de groupe à chaque démarrage, il faut ajouter la commande "​smcroute -j ..." dans le fichier ​''​/​etc/​smcroute/​startup.sh''​.</​note>​+<note important>​Pour faire en sorte que le PC rejoigne une adresse de groupe à chaque démarrage, il faut ajouter la commande "​smcroute -j ..." dans le fichier ​**/​etc/​smcroute/​startup.sh**.</​note>​
  
 === Exemple === === Exemple ===
-Pour l'​exemple,​ j'ai utilisé une machine virtuelle dans VMware-player qui est membre de l'​adresse de groupe 239.0.0.10. J'ai fait en sorte que la carte virtuelle vmnet8 qui relie mon PC au PC virtuel dans VMware-player rejoigne la même adresse de groupe, puis j'​ai ​"​pinger" ​cette adresse pour vérifier.\\+Pour l'​exemple,​ j'ai utilisé une machine virtuelle dans VMware-player qui est membre de l'​adresse de groupe 239.0.0.10. J'ai fait en sorte que la carte virtuelle vmnet8 qui relie mon PC au PC virtuel dans VMware-player rejoigne la même adresse de groupe, puis j'​ai ​« pingué » ​cette adresse pour vérifier.\\
 Avant l'​opération,​ seul le PC virtuel répond au ping. Puis mon PC rejoint l'​adresse de groupe. Et enfin les 2 PC répondent au ping. Avant l'​opération,​ seul le PC virtuel répond au ping. Puis mon PC rejoint l'​adresse de groupe. Et enfin les 2 PC répondent au ping.
 <​code>​ping 239.0.0.10 -c 3 -I vmnet8</​code>​ <​code>​ping 239.0.0.10 -c 3 -I vmnet8</​code>​
Ligne 85: Ligne 99:
  
 ===== Affectation standard d’adresses de multidiffusion ===== ===== Affectation standard d’adresses de multidiffusion =====
 +==== IPv4 ====
 ([[http://​www.vije.net/​ressources/​informatique/​reseaux/​ip.pdf|source]]) ([[http://​www.vije.net/​ressources/​informatique/​reseaux/​ip.pdf|source]])
-^Adresse ^Description ​^Adresse ^Description ^ +^Adresse ^Description ^ Adresse ^Description ^ 
-|224.0.0.0|Adresse de base (réservée)|224.0.1.14|IETF-2-AUDION| +|224.0.0.0|Adresse de base (réservée)| 224.0.1.14|IETF-2-AUDION| 
-|224.0.0.1|Tous les systèmes multicast sur ce sous-réseau|224.0.1.15|IETF-2-VIDEO| +|224.0.0.1|Tous les systèmes multicast sur ce sous-réseau| 224.0.1.15|IETF-2-VIDEO| 
-|224.0.0.2|Tous les routeurs multicast sur ce sous-réseau|224.0.1.16|MUSIC-SERVICE| +|224.0.0.2|Tous les routeurs multicast sur ce sous-réseau| 224.0.1.16|MUSIC-SERVICE| 
-|224.0.0.3|Non affecté|224.0.1.17|SEANET-TELEMETRY| +|224.0.0.3|Non affecté| 224.0.1.17|SEANET-TELEMETRY| 
-|224.0.0.4|Routeurs DVMRP|224.0.1.18|SEANET-IMAGE| +|224.0.0.4|Routeurs DVMRP| 224.0.1.18|SEANET-IMAGE| 
-|224.0.0.5|Tous les routeurs OSPFIGP|224.0.1.19|MLOADD| +|224.0.0.5|Tous les routeurs OSPFIGP| 224.0.1.19|MLOADD| 
-|224.0.0.6|Routeurs spécifiés OSPFIGP|224.0.1.20|Expérimentations privées| +|224.0.0.6|Routeurs spécifiés OSPFIGP| 224.0.1.20|Expérimentations privées| 
-|224.0.0.7|Routeurs ST|224.0.1.21|DVMRP on MOSPF| +|224.0.0.7|Routeurs ST| 224.0.1.21|DVMRP on MOSPF| 
-|224.0.0.8|Hôtes ST|224.0.1.22|SVRLOC| +|224.0.0.8|Hôtes ST| 224.0.1.22|SVRLOC| 
-|224.0.0.9|Routeurs RIP2|224.0.1.23|XINGTV| +|224.0.0.9|Routeurs RIP2| 224.0.1.23|XINGTV| 
-|224.0.0.10|IGRP|224.0.1.24|Microsoft-ds| +|224.0.0.10|IGRP| 224.0.1.24|Microsoft-ds| 
-|224.0.0.11|Agents mobiles|224.0.1.25|Nbc-pro| +|224.0.0.11|Agents mobiles| 224.0.1.25|Nbc-pro| 
-|224.0.0.12-255|Non affectés| ​|224.0.1.26|Nbc-pnf| +|224.0.0.13|Tous les routeurs multicast qui support le protocole PIM-SM sur ce réseau|224.0.1.26|Nbc-pnf| 
-|224.0.1.0|Groupes de gestionnaires VMTP| |224.0.1.27-255|Non affectés| +|224.0.0.14-255|Non affectés| 224.0.1.27-255|Non affectés| 
-|224.0.1.1|Network Time Protocol| |224.0.2.1|Groupe « rwho » (BSD, non officiel)| +|224.0.1.0|Groupes de gestionnaires VMTP| 224.0.2.1|Groupe « rwho » (BSD, non officiel)| 
-|224.0.1.2|SGI-Dogfight| |224.0.2.2|SUN RPC PMAPPROC_CALLIT| +|224.0.1.1|Network Time Protocol| 224.0.2.2|SUN RPC PMAPPROC_CALLIT| 
-|224.0.1.3|Rwhod| |224.0.3.0-255|Service générique RFE| +|224.0.1.2|SGI-Dogfight 224.0.3.0-255|Service générique RFE| 
-|224.0.1.4|VNP| |224.0.4.0-255|Conférences individuelles RFE| +|224.0.1.3|Rwhod| 224.0.4.0-255|Conférences individuelles RFE| 
-|224.0.1.5|Artificial Horizons-Aviator| |224.0.5.0-127|Groupes CDPD| +|224.0.1.4|VNP| 224.0.5.0-127|Groupes CDPD| 
-|224.0.1.6|Name Service Server| |224.0.5.128-255|Non affectés| +|224.0.1.5|Artificial Horizons-Aviator| 224.0.5.128-255|Non affectés| 
-|224.0.1.7|AUDIONEWS| |224.0.6.0-127|Projet ISIS de Cornell| +|224.0.1.6|Name Service Server| 224.0.6.0-127|Projet ISIS de Cornell| 
-|224.0.1.8|Service d’informations SUN NIS+| |224.0.6.128-255|Non affecté| +|224.0.1.7|AUDIONEWS| 224.0.6.128-255|Non affecté| 
-|224.0.1.9|Multicast transport protocol| |224.1.0.0-255.255|Groupes multidiffusion ST| +|224.0.1.8|Service d’informations SUN NIS+ 224.1.0.0-255.255|Groupes multidiffusion ST| 
-|224.0.1.10|IETF-1-LOW-AUDIO| |224.2.0.0-255.255|Appels conférences multimédias| +|224.0.1.9|Multicast transport protocol| 224.2.0.0-255.255|Appels conférences multimédias| 
-|224.0.1.11|IETF-1-AUDION| ​|224.252.0.0-255.255.255|Groupes transcient DIS| +|224.0.1.10|IETF-1-LOW-AUDIO| 224.252.0.0-255.255.255|Groupes transcient DIS| 
-|224.0.1.12|IETF-1-VIDEO| ​|232.0.0.0-255.255.255|Groupes transcient VMTP| +|224.0.1.11|IETF-1-AUDION 232.0.0.0-255.255.255|Groupes transcient VMTP
-|224.0.1.13|IETF-2-LOW-AUDIO| | | |+|224.0.1.12|IETF-1-VIDEO| ​ | 
 +|224.0.1.13|IETF-2-LOW-AUDIO| ​ | | 
 + 
 +==== IPv6 ==== 
 + 
 +Masque de réseau multicast en IPV6:** ff00::/​8** 
 +Ajoutez ceci a vos règles ip6tables pour en profiter 
 + 
 +<​code>​ 
 +ip6tables -A INPUT -d ff00::/8 -j ACCEPT 
 +</​code>​ 
 +Et éventuellement 
 +<​code>​ 
 +ip6tables -A OUTPUT -s ff00::/8 -j ACCEPT 
 +</​code>​
  • multicast.1233911820.txt.gz
  • Dernière modification: Le 18/04/2011, 14:54
  • (modification externe)