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édentesRévision précédente
Prochaine révision
Révision précédente
multicast [Le 06/02/2009, 10:24] – Lien dédié pour l'installation de smcroute, mise en gras des noms de fichier MrWaloomulticast [Le 11/09/2022, 11:47] (Version actuelle) – 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) moths-art
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
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.\\
 [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] smcroute. [[: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>
  
Ligne 61: Ligne 74:
  
 === 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 86: 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>