Les étapes 7 et 8
Étape 7 : Le mappage des adresses IP Multicast et MAC
Nous savons que l'adresse MAC correspondant à une adresse IP de Broadcast est FF:FF:FF:FF:FF:FF
Mais qu'en est-il quand nous sommes en présence d'adresses IP Multicast ? Nous appuierons notre 'démonstration' sur l'adresse multicast que nous avions choisie (224.77.3.44).
L'adresse IP (224.77.3.44) désigne un groupe destinataire, il faut donc que l'adresse MAC associée désigne un groupe.
Prenons la structure d'une adresse MAC classique, exemple celle de la carte réseau de Df-MsNet :
00
|
-
|
A0
|
-
|
CC
|
-
|
E0
|
-
|
CF
|
-
|
D1
|
Zone OUI
|
Zone Vendeur
|
La Zone OUI (Organizationally Unique Identifier) est un identifiant sur 3 octets attribué par IEEE. Voir la liste des codes OUI
Ici 00:A0:CC est le numéro attribué à "Lite-On Communications, Inc". La Zone Vendeur permet au fabriquant d'identifier son produit de manière unique parmi l'ensemble de sa production.
L'octet de poids fort de la zone OUI possède une structure particulière.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
<--Rang
|
U L |
I G |
|||||||
|
||||||||
0 = attribution Universelle --------- 1 = attribution Locale |
Donc cela veut dire que pour une adresse Multicast, le bit de poids faible de l'octet de poids fort sera égal à 1.
En réalité, une adresse MAC Multicast commence toujours par 01-00-5E-xx-xx-xx. (voir RFC 1060 - Assigned Numbers). La partie xx-xx-xx appartient à l'intervalle [00-00-00 ; 7F-FF-FF] voir ci-dessous.
Pour la partie Zone Vendeur, l'adresse Multicast est construite à partir de l'adresse IP. Les 23 bits de poids faible de l'adresse IP Multicast sont transférés dans les 23 bits de poids faible de l'adresse MAC.
Ainsi, pour l'adresse IP multicast 224.77.3.44, nous déterminons l'adresse MAC suivante :
Adresse IP sur 32 bits ==>
|
224
|
77
|
3
|
44
|
|||||||||||||||||||||||||||||||||||||||||||
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
||||||||||||||||
1
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
|||||||||||||||||||||||||
0
|
1
|
0
|
0
|
5
|
E
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
||||||||||||||||||
0
|
1
|
0
|
0
|
5
|
E
|
4
|
D
|
0
|
3
|
2
|
C
|
Remarque : Dans une adresse IP multicast, les 4 bits de poids forts sont toujours 1110. Il est donc inutile de les recopier dans l'adresse MAC. Mais le choix de ne reporter que les 23 bits de poids faible IP dans les 23 bits de poids faible MAC fait que 2 IP Multicast différentes (mais ayant les mêmes 23 bits de poids faibles) généreront la même adresse MAC.
Dans notre cas, voici le mappage IP-MAC pour chaque adresse multicast utilisée :
IP
|
MAC
|
224.0.0.2
|
01:00:5E:00:00:02
|
224.77.0.0
|
01:00:5E:4D:00:00
|
224.77.1.0
|
01:00:5E:4D:01:00
|
224.77.3.44
|
01:00:5E:4D:03:2C
|
Étape 8 : Structure d'une trame IGMP (Internet Group Management Protocol)
Nous allons étudier la structure d'une trame IGMP.
IGMP est un protocole de niveau 3 (couche Réseau - OSI) qui fait partie intégrante de IP. Donc, la trame IGMP est encapsulée dans une trame IP comme les trames ICMP.
IGMP est identifié au niveau IP par la valeur 2 dans la zone Protocol.
Structure de l'Entête IPv4
Une trame IGMP est relativement simple.
Structure de l'Entête IGMP
La zone Type :
Elle détermine la nature du message IGMP. Il y a 3 types de messages.
- 0x11 : Requête pour identifier les groupes ayant des membres actifs.
- 0x12 : Rapport d'appartenance au groupe émis par un membre actif du groupe (IGMP version 1)
- 0x16 : Rapport d'appartenance au groupe émis par un membre actif du groupe (IGMP version 2)
- 0x17 : Un membre annonce son départ du groupe
La zone Max Response Time :
Cette zone n'est utile que pour les messages de type 0x11. Elle indique le temps d'attente maximum pour un client avant l'émission du rapport d'appartenance. L'unité utilisée est le 1/10 de seconde. Pour les autres types de messages (0x11, 0x17) cette zone est initialisée à 0.
La zone Checksum :
Somme de contrôle
La zone Group Address :
Dans les messages de type 0x11, cette zone est à zéro quand le message IGMP ne concerne pas un groupe déterminé. Quand le message concerne un groupe identifié, cette zone contient l'adresse du groupe pour lequel on veut connaître l'existence de membres actifs.
Dans les messages de type 0x12, 0x16 ou 0x17, cette zone contient l'adresse IP du groupe concerné.
Voilà, nous avons terminé les étapes. Ouf .. ;-)).