Difference between revisions of "MOOC:Compagnon Act15-s6"
From Livre IPv6
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | = Activité 15 : Les adresses multicast = | + | = Activité 15 : Les adresses multicast = |
== Communications multicast == | == Communications multicast == | ||
Line 10: | Line 10: | ||
C'est une manière efficace de s'adresser à un ensemble de machines. | C'est une manière efficace de s'adresser à un ensemble de machines. | ||
− | |||
Une communication multicast est une communication dans laquelle un | Une communication multicast est une communication dans laquelle un | ||
même paquet de données peut être envoyé à un groupe de | même paquet de données peut être envoyé à un groupe de | ||
Line 25: | Line 24: | ||
interactives distribuées, les jeux multimédia interactifs, les | interactives distribuées, les jeux multimédia interactifs, les | ||
applications militaires, etc. | applications militaires, etc. | ||
− | |||
Pour le multicast, on distingue deux modèles de communication : | Pour le multicast, on distingue deux modèles de communication : | ||
− | |||
* le modèle ASM (Any-Source Multicast) : dans le modèle ASM, un récepteur s'abonne à un groupe, et reçoit les données émises par n'importe quelles sources pour ce groupe. Ce modèle s'applique par exemple dans le cas de visioconférences avec de nombreux participants qui ne sont pas connus à l'avance. | * le modèle ASM (Any-Source Multicast) : dans le modèle ASM, un récepteur s'abonne à un groupe, et reçoit les données émises par n'importe quelles sources pour ce groupe. Ce modèle s'applique par exemple dans le cas de visioconférences avec de nombreux participants qui ne sont pas connus à l'avance. | ||
Line 36: | Line 33: | ||
le cadre de cette présentation. Cette séquence ne présente que le | le cadre de cette présentation. Cette séquence ne présente que le | ||
format des adresses IPv6 de ces protocoles. | format des adresses IPv6 de ces protocoles. | ||
− | |||
== Format des adresses multicast IPv6 == | == Format des adresses multicast IPv6 == | ||
Line 45: | Line 41: | ||
adresse a une portée spécifique, qui limite la propagation du | adresse a une portée spécifique, qui limite la propagation du | ||
trafic multicast. | trafic multicast. | ||
− | |||
[[Image:adressage-24.jpg]] | [[Image:adressage-24.jpg]] | ||
− | |||
Les adresses multicast IPv6 sont dérivées du préfixe ff<tt>00::/8</tt>. | Les adresses multicast IPv6 sont dérivées du préfixe ff<tt>00::/8</tt>. | ||
Le champ drapeaux (flags) de 4 bits, qui suivent les 8 bits | Le champ drapeaux (flags) de 4 bits, qui suivent les 8 bits | ||
d'identifiacation, est défini de la manière suivante : | d'identifiacation, est défini de la manière suivante : | ||
− | |||
* Seul le bit T (comme Transient) du champ drapeaux est initialement décrit dans le RFC 3513. La valeur 0 indique une adresse multicast bien connue gérée par une autorité, en l'occurence l'IANA. La valeur 1 indique une valeur temporaire. | * Seul le bit T (comme Transient) du champ drapeaux est initialement décrit dans le RFC 3513. La valeur 0 indique une adresse multicast bien connue gérée par une autorité, en l'occurence l'IANA. La valeur 1 indique une valeur temporaire. | ||
Line 61: | Line 54: | ||
Le champ drapeaux permet de définir plusieurs types d'adresses | Le champ drapeaux permet de définir plusieurs types d'adresses | ||
multicast IPv6 qui seront décrits dans les sections suivantes. | multicast IPv6 qui seront décrits dans les sections suivantes. | ||
− | |||
Le champ scope permet d'en limiter la portée ou l'étendue (scope | Le champ scope permet d'en limiter la portée ou l'étendue (scope | ||
Line 70: | Line 62: | ||
champ durée de vie (TTL Time To Live). Les valeurs suivantes sont | champ durée de vie (TTL Time To Live). Les valeurs suivantes sont | ||
définies. | définies. | ||
− | |||
* 1 - node-local | * 1 - node-local | ||
Line 85: | Line 76: | ||
Une adresse multicast IPv6 avec le bit T du champ drapeaux à 0 | Une adresse multicast IPv6 avec le bit T du champ drapeaux à 0 | ||
correspond à une adresse multicast permanente, allouée par l'IANA. | correspond à une adresse multicast permanente, allouée par l'IANA. | ||
− | |||
[[Image:adressage-24.jpg]] | [[Image:adressage-24.jpg]] | ||
− | |||
Lorsque le multicast IPv6 sera déployé à grande échelle, | Lorsque le multicast IPv6 sera déployé à grande échelle, | ||
Line 95: | Line 84: | ||
voir attribuer des adresses permanentes par l'IANA dans le préfixe | voir attribuer des adresses permanentes par l'IANA dans le préfixe | ||
ff<tt>00::/12</tt>. | ff<tt>00::/12</tt>. | ||
− | |||
Le RFC 2375 définit déjà certaines adresses IPv6 multicast. | Le RFC 2375 définit déjà certaines adresses IPv6 multicast. | ||
Deux types d'adresses multicast permanentes sont à distinguer : | Deux types d'adresses multicast permanentes sont à distinguer : | ||
− | |||
* des adresses correspondant à des services de niveau réseau (comme NTP, DHCPv6, cisco-rp-announce, SAP,...) et | * des adresses correspondant à des services de niveau réseau (comme NTP, DHCPv6, cisco-rp-announce, SAP,...) et | ||
Line 176: | Line 163: | ||
l'ensemble des valeurs réservées et les portées pour lesquelles | l'ensemble des valeurs réservées et les portées pour lesquelles | ||
elles peuvent s'appliquer. | elles peuvent s'appliquer. | ||
− | |||
* L'identifiant de groupe « tout à zéro » est réservé quelque soit la portée et ne doivent jamais être utilisé ff0x:0:0:0:0:0:0:0 avec x variant de 0 à f. | * L'identifiant de groupe « tout à zéro » est réservé quelque soit la portée et ne doivent jamais être utilisé ff0x:0:0:0:0:0:0:0 avec x variant de 0 à f. | ||
Line 183: | Line 169: | ||
<tt>ff01::1</tt> | <tt>ff01::1</tt> | ||
Toutes les interfaces du noeud | Toutes les interfaces du noeud | ||
− | |||
<tt>ff02::1</tt> | <tt>ff02::1</tt> | ||
Toutes les noeuds sur le même lien que l'interface émettrice | Toutes les noeuds sur le même lien que l'interface émettrice | ||
(correspond au broadcast 255.255.255.225 d'IPv4). | (correspond au broadcast 255.255.255.225 d'IPv4). | ||
− | |||
* Le groupe d'identifiants multicast à 2 concerne l'ensemble des routeurs, il est limité aux étendues (scope) interface-local, link-local et site-local. On ne peut donc pas diffuser sur l'ensemble des routeurs de l'Internet (sage précaution bis, pour limiter les attaques en déni de service ) | * Le groupe d'identifiants multicast à 2 concerne l'ensemble des routeurs, il est limité aux étendues (scope) interface-local, link-local et site-local. On ne peut donc pas diffuser sur l'ensemble des routeurs de l'Internet (sage précaution bis, pour limiter les attaques en déni de service ) | ||
Line 194: | Line 178: | ||
<tt>ff01::2</tt> | <tt>ff01::2</tt> | ||
Tous les routeurs du noeud ; | Tous les routeurs du noeud ; | ||
− | |||
<tt>ff02::2</tt> | <tt>ff02::2</tt> | ||
Tous les routeurs du lien ; | Tous les routeurs du lien ; | ||
− | |||
<tt>ff05::2</tt> | <tt>ff05::2</tt> | ||
Tous les routeurs du site. | Tous les routeurs du site. | ||
− | |||
L'IANA tient un registre des adresses multicast réservées. Il | L'IANA tient un registre des adresses multicast réservées. Il | ||
peut être consulté à cette | peut être consulté à cette | ||
URL : [[http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xthml]] | URL : [[http://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xthml]] | ||
− | |||
== Adresses mutlicast IPv6 temporaires == | == Adresses mutlicast IPv6 temporaires == | ||
Line 213: | Line 193: | ||
Les adresses temporaires sont des adresses multicast IPv6 dont le | Les adresses temporaires sont des adresses multicast IPv6 dont le | ||
bit T est positionné à 1. | bit T est positionné à 1. | ||
− | |||
A l'inverse des adresse mutlicast permanentes, une adresse | A l'inverse des adresse mutlicast permanentes, une adresse | ||
Line 220: | Line 199: | ||
aucune relation avec un groupe utilisant la même adresse multicast | aucune relation avec un groupe utilisant la même adresse multicast | ||
sur un autre site. | sur un autre site. | ||
− | |||
Il existe plusieurs types d'adresses temporaires : générales, | Il existe plusieurs types d'adresses temporaires : générales, | ||
dérivée d'un préfixe unicast IPv6 et par point de rendez-cous | dérivée d'un préfixe unicast IPv6 et par point de rendez-cous | ||
(Embedder-RP) | (Embedder-RP) | ||
− | |||
=== Adresses multicast temporaires générales === | === Adresses multicast temporaires générales === | ||
Line 233: | Line 210: | ||
l'utilisation de ces adresses. Des scénarios d'utilisation peuvent | l'utilisation de ces adresses. Des scénarios d'utilisation peuvent | ||
être, par exemple, les visioconférences ponctuelles. | être, par exemple, les visioconférences ponctuelles. | ||
− | |||
=== Addresse smulticast temporaires dérivées d'un préfixe unicast IPv6 === | === Addresse smulticast temporaires dérivées d'un préfixe unicast IPv6 === | ||
Line 239: | Line 215: | ||
Le RFC 3306 définit une méthode pour dériver une adresse | Le RFC 3306 définit une méthode pour dériver une adresse | ||
multicast IPv6 à partir d'un préfixe unicast. | multicast IPv6 à partir d'un préfixe unicast. | ||
− | |||
[[Image:adresse-multicast-temporaire-derivee-d-un-prefixe.png]] | [[Image:adresse-multicast-temporaire-derivee-d-un-prefixe.png]] | ||
− | |||
Par exemple, une adresse multicast | Par exemple, une adresse multicast | ||
Line 254: | Line 228: | ||
group-ID choisi dans l'exemple et X une des valeurs valides de la | group-ID choisi dans l'exemple et X une des valeurs valides de la | ||
portée (scope)). | portée (scope)). | ||
− | |||
Cette méthode permet la création | Cette méthode permet la création | ||
Line 266: | Line 239: | ||
adresss IPv6 Multicast "embedded RP" montre la structure | adresss IPv6 Multicast "embedded RP" montre la structure | ||
d'une telle adresse, aussi appelée adresse "embedded-RP". | d'une telle adresse, aussi appelée adresse "embedded-RP". | ||
− | |||
[[Image:adresse-multicast-embedded-rp.png]] | [[Image:adresse-multicast-embedded-rp.png]] | ||
− | |||
Ainsi pour un point de rendez-vous qui possède l'adresse | Ainsi pour un point de rendez-vous qui possède l'adresse | ||
Line 275: | Line 246: | ||
adresse multicast correspondante peut être dérivée de la façon | adresse multicast correspondante peut être dérivée de la façon | ||
suivante : | suivante : | ||
− | |||
* <tt>res</tt> (Reservé) : Les 4 bits de ce champ sont positionnés à 0. | * <tt>res</tt> (Reservé) : Les 4 bits de ce champ sont positionnés à 0. | ||
Line 299: | Line 269: | ||
prefix sont positionnés à 0 (cf. figure Structure des adresses IPv6 | prefix sont positionnés à 0 (cf. figure Structure des adresses IPv6 | ||
Multicast SSM). | Multicast SSM). | ||
− | |||
[[Image:adresse-multicast-ssm.png]] | [[Image:adresse-multicast-ssm.png]] | ||
Line 316: | Line 285: | ||
sollicité permet de réduire considérablement le nombre | sollicité permet de réduire considérablement le nombre | ||
d'équipements qui recevront la requête de découverte de voisin. | d'équipements qui recevront la requête de découverte de voisin. | ||
− | |||
L'adresse de multicast sollicté se construit automatiquement à | L'adresse de multicast sollicté se construit automatiquement à | ||
Line 322: | Line 290: | ||
préfixe <tt>ff02::1:ff00:0 /104</tt> | préfixe <tt>ff02::1:ff00:0 /104</tt> | ||
au 24 bits de poids faible de l'adresse unicast ou anycast. | au 24 bits de poids faible de l'adresse unicast ou anycast. | ||
− | |||
Un équipement, à partir de chacune de ses adresses IPv6 (unicat | Un équipement, à partir de chacune de ses adresses IPv6 (unicat | ||
Line 332: | Line 299: | ||
utilisées par les protocoles de détection d'adresse dupliquée et | utilisées par les protocoles de détection d'adresse dupliquée et | ||
de découverte de voisins, qui seront abordés ultérieurement.. | de découverte de voisins, qui seront abordés ultérieurement.. | ||
− | |||
Plusieurs équipements sur le lien peuvent avoir la même adresse | Plusieurs équipements sur le lien peuvent avoir la même adresse | ||
Line 346: | Line 312: | ||
cette dernière est construite à partir de l'identifiant d'interface | cette dernière est construite à partir de l'identifiant d'interface | ||
dérivée de l'adresse MAC de la carte Ethernet.. | dérivée de l'adresse MAC de la carte Ethernet.. | ||
− | |||
(prévoir un schéma???) | (prévoir un schéma???) | ||
− | |||
== correspondance avec les adresses de multicast de niveau 2 == | == correspondance avec les adresses de multicast de niveau 2 == | ||
Line 358: | Line 322: | ||
aldresse multicast IPv6 en concatenant les 32 derniers bits (4 | aldresse multicast IPv6 en concatenant les 32 derniers bits (4 | ||
octets) de l'adresse multicast IPv6 au préfixe MAC 33-33. | octets) de l'adresse multicast IPv6 au préfixe MAC 33-33. | ||
− | |||
Par exemple, à l'adresse multicast IPv6 | Par exemple, à l'adresse multicast IPv6 | ||
Line 370: | Line 333: | ||
effet, dans le cas des adresses dérivées d'un préfixe unicast, ce | effet, dans le cas des adresses dérivées d'un préfixe unicast, ce | ||
champ a une longueur de 32 bits. | champ a une longueur de 32 bits. | ||
− | |||
[[Image:environnement-et-contexte-03.jpg]] | [[Image:environnement-et-contexte-03.jpg]] | ||
− | |||
== Tableau Récapitulatif des types d'adresses multicast == | == Tableau Récapitulatif des types d'adresses multicast == | ||
Line 379: | Line 340: | ||
Le tableau suivant récapitule les préfixes associés aux | Le tableau suivant récapitule les préfixes associés aux | ||
différents types d'adresses multicast décrit précédement. | différents types d'adresses multicast décrit précédement. | ||
− | |||
{| border="1" | {| border="1" |
Revision as of 15:11, 2 April 2015
Activité 15 : Les adresses multicast
Communications multicast
Les adresses multicast permettent de s'adresser à un ensemble d'interfaces. Le datagramme émis avec une destination multicast sera écouté par toutes les interfaces appartenant au groupe multicast. C'est une manière efficace de s'adresser à un ensemble de machines.
Une communication multicast est une communication dans laquelle un même paquet de données peut être envoyé à un groupe de récepteurs, quelque soit leur localisation. Dans le modèle Internet IPv6, une station peut potentiellement émettre un paquet multicast vers n'importe quel groupe. Comparé aux communications point à point (unicast), le multicast évite la duplication des paquets de données au niveau de la source, et minimise l'utilisation de la bande passante au niveau du réseau. De plus, il offre un service insensible à l'augmentation du nombre et la localisation des membres d'un groupe. Le multicast peut être utilisé pour la distribution de logiciels, la téléconférence, les applications d'enseignement à distance, la radio ou la télévision sur Internet, les simulations interactives distribuées, les jeux multimédia interactifs, les applications militaires, etc.
Pour le multicast, on distingue deux modèles de communication :
- le modèle ASM (Any-Source Multicast) : dans le modèle ASM, un récepteur s'abonne à un groupe, et reçoit les données émises par n'importe quelles sources pour ce groupe. Ce modèle s'applique par exemple dans le cas de visioconférences avec de nombreux participants qui ne sont pas connus à l'avance.
- le modèle SSM (Source-Specific Multicast) : dans le modèle SSM, les sources sont connues à l'avance et les récepteurs s'abonnent à un groupe et un ensemble de sources. Ce modèle s'applique par exemple à la diffusion de la télévision ou radio sur Internet, où il n'y a qu'une seule source connue de tous.
Le fonctionnement détaillé des protocoles multicast dépassent le cadre de cette présentation. Cette séquence ne présente que le format des adresses IPv6 de ces protocoles.
Format des adresses multicast IPv6
Pour initier une session multicast, le groupe de récepteurs intéressés, appelé aussi groupe multicast, doit être formé. Un groupe multicast est identifié par une adresse IP multicast. Chaque adresse a une portée spécifique, qui limite la propagation du trafic multicast.
Les adresses multicast IPv6 sont dérivées du préfixe ff00::/8. Le champ drapeaux (flags) de 4 bits, qui suivent les 8 bits d'identifiacation, est défini de la manière suivante :
- Seul le bit T (comme Transient) du champ drapeaux est initialement décrit dans le RFC 3513. La valeur 0 indique une adresse multicast bien connue gérée par une autorité, en l'occurence l'IANA. La valeur 1 indique une valeur temporaire.
- Les bits P et R sont décrits dans le RFC 3306 et le draft Internet sur « embedded »-RP (RFC 3956).
- Le bit de poids fort du champ drapeaux n'est pas encore attribué.
Le champ drapeaux permet de définir plusieurs types d'adresses multicast IPv6 qui seront décrits dans les sections suivantes.
Le champ scope permet d'en limiter la portée ou l'étendue (scope en anglais) de « diffusion » de l'adresse multicast IPv6. Cela permet de maîtriser le confinement des datagrammes dans une zone déterminée. Cette méthode est plus rigide mais plus sure que la classe D d'IPv4, où la portée est limitée uniquement par le champ durée de vie (TTL Time To Live). Les valeurs suivantes sont définies.
- 1 - node-local
- 2 - link-local
- 3 - subnet-local
- 4 - admin-local
- 5 - site-local
- 8 - organisation-local
- E - global
- Les portées 0 et F sont réservées.
Adresses multicast IPv6 permanentes
Une adresse multicast IPv6 avec le bit T du champ drapeaux à 0 correspond à une adresse multicast permanente, allouée par l'IANA.
Lorsque le multicast IPv6 sera déployé à grande échelle, certains organismes pourraient avoir des émissions permanentes. Des chaînes de télévision ou stations de radio pourront par exemple se voir attribuer des adresses permanentes par l'IANA dans le préfixe ff00::/12.
Le RFC 2375 définit déjà certaines adresses IPv6 multicast. Deux types d'adresses multicast permanentes sont à distinguer :
- des adresses correspondant à des services de niveau réseau (comme NTP, DHCPv6, cisco-rp-announce, SAP,...) et
- des adresses correspondant d'avantage à des services applicatifs commerciaux permanents comme la distribution des chaînes de télévision.
Le RFC 3307 définit des procédures pour l'allocation des adresses multicast permanentes. Une adresse multicast permanente a un sens quelque soit son étendue (scope), son identifiant de groupe est réservé pour toutes les protées. Ainsi l'identifiant 0x101 réservé pour les serveurs NTP (Network Time Protocol).
Adresse de mutlicast
|
Population concernée
|
---|---|
ff01::101
|
Tous les serveurs NTP de la même interface (c.à.d. Le même noeud) que l'émetteur ;
|
ff02::101
|
Tous les serveurs NTP du même lien que l'émetteur ;
|
ff05::101
|
Tous les serveurs NTP du même site que l'émetteur ;
|
ff0E::101
|
Tous les serveurs NTP de l'Internet.
|
Cependant par précaution, certains identifiants mutlicast prédéfinis ne sont valables que sur un nombre limité de portées. Exemple les identifiants multicast pour les noeuds ou les routeurs sont limités aux portées lien-local ou site-local. D'autres, en général les services bien connus, tels que NTP cité ci dessus sont valides pour toutes les portées. Le document suivant http://www.iana.org/assignments/ipv6-multicast-addresses liste l'ensemble des valeurs réservées et les portées pour lesquelles elles peuvent s'appliquer.
- L'identifiant de groupe « tout à zéro » est réservé quelque soit la portée et ne doivent jamais être utilisé ff0x:0:0:0:0:0:0:0 avec x variant de 0 à f.
- Le groupe d'identifiants multicast à 1 concerne tous les nœuds,, il est limité aux étendues (scope) interface-local et link-local. On ne peut donc pas diffuser sur l'ensemble des noeuds de l'Internet (sage précaution, sinon il aurait très facilement permis des attaques de type déni de service par bombardement massif en diffusion )
ff01::1 Toutes les interfaces du noeud
ff02::1 Toutes les noeuds sur le même lien que l'interface émettrice (correspond au broadcast 255.255.255.225 d'IPv4).
- Le groupe d'identifiants multicast à 2 concerne l'ensemble des routeurs, il est limité aux étendues (scope) interface-local, link-local et site-local. On ne peut donc pas diffuser sur l'ensemble des routeurs de l'Internet (sage précaution bis, pour limiter les attaques en déni de service )
ff01::2 Tous les routeurs du noeud ;
ff02::2 Tous les routeurs du lien ;
ff05::2 Tous les routeurs du site.
L'IANA tient un registre des adresses multicast réservées. Il peut être consulté à cette URL : [[1]]
Adresses mutlicast IPv6 temporaires
Les adresses temporaires sont des adresses multicast IPv6 dont le bit T est positionné à 1.
A l'inverse des adresse mutlicast permanentes, une adresse multicast temporaire n'a de signification que dans la portée donnée. Exemple l'adresse multicast site-local ff15::101 sur un site n'a aucune relation avec un groupe utilisant la même adresse multicast sur un autre site.
Il existe plusieurs types d'adresses temporaires : générales, dérivée d'un préfixe unicast IPv6 et par point de rendez-cous (Embedder-RP)
Adresses multicast temporaires générales
Ce sont des adresses avec tous les bits du champ flag à 0 sauf le bit T positionné à 1. Il n'y a pas de recommandations pour l'utilisation de ces adresses. Des scénarios d'utilisation peuvent être, par exemple, les visioconférences ponctuelles.
Addresse smulticast temporaires dérivées d'un préfixe unicast IPv6
Le RFC 3306 définit une méthode pour dériver une adresse multicast IPv6 à partir d'un préfixe unicast.
Par exemple, une adresse multicast peut être dérivée à partir du préfixe de RENATER (2001:660::/32). Le champ prefix prend la valeur 2001:0660 et le champ Plen, la valeur 0x20 (32 en décimal). Les adresses multicast IPv6 à choisir seront de type ff3X:20:2001:660::aabb:ccdd (aabb:ccdd étant le group-ID choisi dans l'exemple et X une des valeurs valides de la portée (scope)).
Cette méthode permet la création potentielle de 2 puissance 32 adresses multicat par préfixe.
Adresses multicast « Embedded-RP »
Le RFC 3618 définit une méthode pour inclure l'adresse du RP (Point de Rendez-Vous servant à la construction de l'arbre multicast) dans l'adresse multicast IPv6. Le schéma Structure d'une adresss IPv6 Multicast "embedded RP" montre la structure d'une telle adresse, aussi appelée adresse "embedded-RP".
Ainsi pour un point de rendez-vous qui possède l'adresse 2001:660:3307:125::3, une adresse multicast correspondante peut être dérivée de la façon suivante :
- res (Reservé) : Les 4 bits de ce champ sont positionnés à 0.
- RPad : Ce champ contient les 4 derniers bits de l'adresse du RP. Dans cet exemple, RPad prend la valeur 3.
- Plen (Longueur du préfixe) : Ce champ contient la longueur du préfixe réseau du RP à prendre en compte. Dans cet exemple, la valeur est de 0x40 (soit 64 en décimal),
- prefix (Préfixe) : Ce champ contient le préfixe réseau du RP. Ici, cette valeur est 2001:660:3007:125
- group-ID : ce champ de 32 bits contient l'identifiant de groupe, détaillé au chapitre Identifiant de groupe.
Une adresse multicast dérivée de ce point de rendez-vous sera donc de la forme ff7X:340:2001:660:3007:125:aabb:ccdd (aabb:ccdd étant le group-ID choisi dans cet exemple et X une des valeurs valides de la portée (scope)).
Les adresses multicast SSM
Les adresses SSM (Source Specific Multicast) sont décrites également dans le RFC 3306. Si le préfixe ff3X::/32 a été réservé pour les adresses multicast SSM, seules les adresses dérivées du préfixe ff3X::/96 doivent être utilisées dans un premier temps. Ce sont des adresses multicast basées sur le préfixe unicast où les champs Plen et prefix sont positionnés à 0 (cf. figure Structure des adresses IPv6 Multicast SSM).
Les adresses de multicast sollicité
L'adresse de multicast sollicité (Solicited-node address) est un type d'adresse multicast prédéfinie. IPv6 interdit l'utilisation de la diffusion généralisée (Broadcast) lorsque le Multicast est disponible. Ainsi les protocoles comme Neighbor Discovery, chargé de faire la correspondance entre les adresses IPv6 et les adresses MAC (à l'instar d'ARP en IPv4) doivent utiliser une adresse de Multicast. Pour être plus efficace, au lieu d'utiliser l'adresse ff02::1 (tous les équipements sur le lien), l'utilisation des adresses de multicast sollicité permet de réduire considérablement le nombre d'équipements qui recevront la requête de découverte de voisin.
L'adresse de multicast sollicté se construit automatiquement à partir d'une adresse IPv6 unicast (ou anycast) en concaténant le préfixe ff02::1:ff00:0 /104 au 24 bits de poids faible de l'adresse unicast ou anycast.
Un équipement, à partir de chacune de ses adresses IPv6 (unicat et anycast) construit une adresse de multicast sollicité et écoute les paquets émis vers cette adresse. Les autres stations sur le même lien (ou domaine de diffusion de niveau 2 : VLAN) connaissant son adresse IPv6 mais ignorant son adresse MAC peuvent utiliser l'adresse de multicast sollicité pour le joindre. Ces adresses sont utilisées par les protocoles de détection d'adresse dupliquée et de découverte de voisins, qui seront abordés ultérieurement..
Plusieurs équipements sur le lien peuvent avoir la même adresse de multicast sollicité. Mais dans la pratique la probabilité de trouver sur le même lien physique deux équipements avec les trois derniers octets d'adresse physique identiques est faible. Cela permet donc de limiter le nombre d'équipements qui traiteront la requête de sollicitation de voisins. Ces adresses permettent de ne plus utiliser la diffusion généralisée (adresse MAC ff:ff:ff:ff:ff:ff) qu'utilise le protocole ARP en IPv4. Pour une station donnée une adresse de multicast sollicité peut regrouper plusieurs adresses IPv6 par exemple l'adresse lien local et l'adresse unicast globale si cette dernière est construite à partir de l'identifiant d'interface dérivée de l'adresse MAC de la carte Ethernet..
(prévoir un schéma???)
correspondance avec les adresses de multicast de niveau 2
Le RFC 3307 précise également la correspondance entre les adresses IPv6 multicast et les adresses de niveau 2. Sur un réseau de niveau 2 ethernet, l'adresse MAC de mutlicast est déduite d' aldresse multicast IPv6 en concatenant les 32 derniers bits (4 octets) de l'adresse multicast IPv6 au préfixe MAC 33-33.
Par exemple, à l'adresse multicast IPv6 ff0e:30:2001:660:3001:4002:ae45:2C56 correspondra à l'adresse MAC 33-33-AE-45-2C-56. La probabilité que deux adresses multicast IPv6 utilisées sur un même lien correspondent à la même adresse MAC existe mais est très faible et les conséquences minimes. Restreindre le champ group-ID à 32 bits a toutefois un intérêt car cela apporte une homogénéité entre les différents types d'adresses décrits précédemment. En effet, dans le cas des adresses dérivées d'un préfixe unicast, ce champ a une longueur de 32 bits.
Tableau Récapitulatif des types d'adresses multicast
Le tableau suivant récapitule les préfixes associés aux différents types d'adresses multicast décrit précédement.
Préfixe
|
Usage
|
ff0X::/16
|
Adresses IPv6 multicast permanentes
|
ff1X::/16
|
Adresses IPv6 multicast temporaires générales
|
ff3X::/16
|
Adresses multicast dérivées d'un préfixe unicast (temporaires)
|
ff3X::/96
|
Adresses SSM (temporaires)
|
ff7X::/16
|
Adresses IPv6 multicast "Embedded-RP" (temporaires)
|
ff02::1:ff00:0/104
|
Adresses de multicast sollicité (prédéfinie, portée limitée au lien)
|
X une des valeurs valides de la portée (scope)
|