Communication unicast, broadcast et multicast
Définition
Un flux Ethernet et IP existe sous trois formes: unicast (un émetteur, un destinataire identifié), broadcast (un émetteur, tous les hôtes du domaine de diffusion, destination FF:FF:FF:FF:FF:FF et 255.255.255.255) et multicast (un émetteur, un groupe d'abonnés identifié par une adresse de classe de groupe). Le multicast évite la duplication: le même flux traverse chaque lien une seule fois et le switch ne le réplique que vers les ports concernés.
Contexte
Les thèmes 1.5 à 1.7 du blueprint 200-301 exigent de comparer ces trois communications, de connaître les plages et adresses réservées (broadcast, multicast IPv4 et IPv6, lien-local) et de les reconnaître dans des traces ou des configurations. Les questions classiques: identifier le mode d'une trame décrite, donner la plage multicast IPv4, retrouver l'adresse MAC d'un groupe IPv6.
Détails techniques
Les trois modes comparés
| Mode | Destination IP | Destination MAC | Traitement switch | Cas type |
|---|---|---|---|---|
| Unicast | Adresse d'hôte (10.10.10.5) | MAC réelle du destinataire | Un seul port si connue, flood sinon | Navigateur, ping, SSH |
| Broadcast | 255.255.255.255 ou adresse de sous-réseau (10.10.10.255) | FF:FF:FF:FF:FF:FF | Tous les ports du VLAN | ARP, DHCP discover |
| Multicast | Groupe 224.0.0.0/4 | 01:00:5E:00:00:00 + 23 bits | Tous les ports avec abonnés (IGMP snooping), sinon flood | Visio, routage OSPF, TV IP |
Broadcast: utile et coûteux
Le broadcast n'a pas de souscription: tout le monde le reçoit et tout le monde le traite. ARP l'utilise parce qu'avant de connaître la MAC d'une IP, la seule question possible est adressée à tout le monde: "qui a 10.10.10.5?". DHCP discover, NetBIOS, certaines découvertes de services fonctionnent pareil. Un flux broadcast est borné par le routeur: il ne traverse jamais une interface de couche 3.
Multicast IPv4
- Plage de groupes: 224.0.0.0/4, soit 224.0.0.0 à 239.255.255.255, première adresse de classe D.
- 224.0.0.0 à 224.0.0.255: réserve locale (TTL 1), jamais routée: 224.0.0.1 tous-hôtes, 224.0.0.5 et 224.0.0.6 pour OSPF, 224.0.0.9 pour RIPv2, 224.0.0.251 pour mDNS.
- 239.0.0.0/8: groupes à portée administrative, pour l'intérieur d'une organisation.
- IGMP (RFC 2236 pour v2, RFC 3376 pour v3) permet à un hôte d'annoncer au routeur local son abonnement à un groupe; le routeur résume les groupes actifs vers le réseau cœur (PIM, hors périmètre CCNA).
- IGMP snooping côté switch (mention d'examen): le switch écoute les messages IGMP pour ne répliquer le multicast que sur les ports qui ont un abonné, au lieu d'inonder tout le VLAN.
Le mappage IP multicast vers MAC
La plage MAC multicast Ethernet est réservée: préfixe 01:00:5E, bit I/G à 1. L'adresse IP de groupe fournit 28 bits utiles (plage /4), l'espace mappé n'en conserve que 23: on retire le bit de poids fort de la classe D et les 4 bits 1110 de l'en-tête de classe, les 23 bits restants sont collés derrière 01:00:5E. Exemple: 224.0.0.5 = 1110 0000.0000 0000.0000 0000.0000 0101 -> les 23 bits de poids faible sont 0000 0000.0000 0000.0000 0101 -> MAC 01:00:5E:00:00:05. Conséquence connue: deux groupes IP différents dont les 23 derniers bits coïncident partagent la même MAC (32 adresses IP théoriques pour une MAC), d'où une vérification de l'adresse IP de destination par la pile réseau avant de livrer le datagramme.
Multicast IPv6
Pas de broadcast en IPv6: la diffusion est interdite, remplacée par le multicast. Plage FF00::/8. Les groupes liés-étendus utiles à l'examen:
| Groupe IPv6 | Rôle |
|---|---|
| FF02::1 | Tous les nœuds du lien (remplace le broadcast) |
| FF02::2 | Tous les routeurs du lien |
| FF02::5, FF02::6 | OSPFv3 routeurs et DR |
| FF02::1:FFXX:XXXX | Solicited-node: unicast quasi-broadcast, construit à partir des 24 derniers bits de l'adresse; il porte le Neighbor Solicitation de l'équivalent ARP (NDP) et le DAD |
L'adresse MAC correspondante est 33:33: suivi des 32 bits de groupe: pour FF02::1, MAC 33:33:00:00:00:01.
Multicast en production
La visioconférence, la diffusion de classes ou de TV sur réseau IP, la mise à jour de firmware vers 200 postes: le flux part une fois du serveur, le réseau le duplique en arbre de distribution. Un flux vidéo à 1,5 Mbit/s vers 80 salles en multicast consomme 1,5 Mbit/s côté serveur et 1,5 Mbit/s par abonné; en unicast pur, le serveur émet 80 flux et sature son propre lien. Les protocoles de routage eux-mêmes sont multicast: OSPF parle à 224.0.0.5, RIPv2 à 224.0.0.9, ce qui évite de déranger les hôtes qui n'écoutent pas.
Exemple concret
Sur un switch d'accès du VLAN 30, show interfaces GigabitEthernet1/0/5 sert de scène d'observation:
SW1# show mac-address-table | include 0100.5e
30 0100.5e00.0005 STATIC Gi1/0/2
30 0100.5e00.0009 STATIC Gi1/0/2
30 0100.5e00.00fb STATIC Gi1/0/2 Gi1/0/7 Gi1/0/12
0100.5e00.0005 est le groupe OSPF 224.0.0.5 (le routeur de distribution Gi1/0/2 envoie ses hellos); 0100.5e00.0009 correspond à RIPv2 224.0.0.9; 0100.5e00.00fb = 224.0.0.251, mDNS: l'Apple TV du port 7, l'imprimante du port 12 et le routeur sont abonnés, et le switch ne copie le trafic que vers ces trois ports grâce à IGMP snooping (show vlan id 30 | include IGMP). Une trame ARP à destination FF:FF:FF:FF:FF:FF, elle, part sur les 24 ports actifs du VLAN.