Internet Group Management Protocol (IGMP) Multicast Listener Discovery ( MLD ) RFC 2710 (MLD version 1) RFC 3810 (MLD version 2)
multicast applications Site NREN MLD / IGMP
IGMP v2 : generality Interaction protocol between Multicast routers on the LAN And multicast hosts on the same LAN IGMPv2 is equivalent to MLDv1 Each host can join (or leave) a group saying to the router «I want to join this multicast group and receive all the corresponding flow» IGMPv3 (MLDv2) Enable sources selection joining a specific multicast group
Schéma d un paquet MLD Paquet MLDv1 En-tête IPv6 next header = 0 (Hop-by-hop) TTL = 1 Extension hop-by-hop Option = Router alert Next header = 58 (ICMPv6) Message MLD Type de message ICMPv6
Format d un message MLD Type : Types de messages General Query et Multicast-Address-Specific Query (130) Multicast Listener Report (131) Multicast Listener Done (132) Code : initialisé à 0 par l émetteur et ignoré par la suite Checksum : porte sur l ensemble sur tout le message MLD et sur l en-tête IPv6 Maximum Response Delay : Permet de définir un temps maximum de réponse pour les messages de type query Reserved : pas utilisé : initialisé à 0 puis ignoré par la suite Multicast Address : adresse IPv6 multicast ou initialisé à 0 suivant le type de messages
MLD v1 : un seul routeur sur le LAN Le routeur envoie périodiquement Un message General Query sur le réseau auquel il est directement connecté. Adresse ff02::1 (toutes les stations multicast du lien) 224.0.0.1 en IPv4 Champ Multicast Address à0 «à quel(s) groupe(s) voulez vous vous abonner?» et attend les réponses Il peut aussi envoyer des messages Multicast-Address Specific Query «Qui est abonné au groupe multicast donné en paramètre?» Champ Multicast Address valant l adresse multicast spécifique Attente des réponses
MLD v1 : Fonctionnement détaillé Quand un hôte reçoit le query message Il fixe un délai aléatoire compris entre 0 et «Maximum Response Delay» avant de répondre. Lorsque le compte à rebours arrive à 0 et si aucun Multicast Listener Report n a été envoyé par une station Envoi d un Multicast Listener Report à l adresse du groupe multicast Champ Multicast Address contient l adresse multicast du groupe auquel la station s abonne Avantages : Évite les réponses multiples Quand un hôte a répondu, les autres n ont plus besoin de répondre une réponse par groupe multicast et par LAN
MLD v1 Lorsque le routeur reçoit un Multicast Listener Report Mise à jour de sa table MLD (ré)initialise un compte-à-rebours à la valeur «Multicast Listener Interval» Le routeur arme un compte à rebours sur les abonnements aux groupes multicast avant de solliciter à nouveau tous les hôtes sollicitation périodique Si le routeur ne reçoit aucune réponse pour un groupe donné il arrête la réémission des paquets multicast de ce groupe le groupe est réputé sans abonné local
IGMP : joining a group 224.5.5.5 Host 1 Host 2 Host 3 Periodically sends IGMP Query to 224.0.0.1
IGMP : joining a group 224.5.5.5 Host 1 Host 2 Host 3 Sends a Report for
IGMP : joining a group 224.5.5.5 Host 1 Host 2 Host 3 Sends a Report for 224.5.5.5 224.5.5.5
MLD v1 : s abonner à un groupe ff1e::2:4444 ff1e::2:4444 ff1e::2:4444 ff1e::5d:8888 Hôte 1 Hôte 2 Hôte 3 Envoi Report pour ff1e::2:4444 Envoi Report pour ff1e::5d:8888 Envoi périodique Multicast Listener Query à ff02::1
IGMP Host 1 Host 2 Host 3 Sends a Leave for to 224.0.0.2 224.5.5.5
IGMP Host 1 Host 2 Host 3 Sends a specific IGMP Query for 224.5.5.5
IGMP Host 1 Host 2 Host 3 Send a Report pour 224.5.5.5
IGMP Host 1 Host 2 Host 3 224.5.5.5 Send a Leave for 224.5.5.5 to 224.0.0.2
IGMP Host 1 Host 2 Host 3 Send a specific IGMP Query For 244.5.5.5
MLD v1 : quitter un groupe Lorsqu une station souhaite se désabonner d un groupe : Envoie d un message Multicast Listener Done vers ff02::2 (tous les routeurs du lien local) Le champ Multicast Address contient l adresse du groupe multicast dont se désabonne la station Lorsqu un routeur reçoit un message Multicast Listener Done Envoie d un Multicast-Address-Specific Query Si pas de Multicast Listener Report dans un délai défini, il estime alors qu il n y a plus de clients abonnés au groupe sur le lien local et l adresse multicast est alors supprimée de sa table MLD
MLD v1 : quitter un groupe ff1e::2:4444 ff1e::2:4444 ff1e::2:4444 ff1e::5d:8888 Host 1 Host 2 Host 3 Envoi Report pour ff1e::2:4444 Envoi Multicast Listener Done pour ff1e::2:4444 à ff02::2 Envoi Multicast Listener Done pour ff1e::5d:8888 à ff02::2 Envoi Multicast Specific Query pour ff1e::2:4444 Envoi Query pour ff1e::5d:8888
MLD v1 : quitter un groupe ff1e::2:4444 ff1e::2:4444 Host 1 Host 2 Host 3
IGMPv2 : many routers on the LAN One router is elected from all the routers It is the IGMP querier It is the only one router to send queries The IGMP querier has the lowest IP address Be careful : IGMP querier is different from the PIM designated router (DR) IGMP querier may be not the router forwarding multicast packets
MLDv2 Indispensable pour SSM Introduction du filtrage de sources Mode INCLUDE : réception des paquets issus d une liste de source définie Mode EXCLUDE : réception des paquets issus de toutes les sources sauf une liste de source définie Deux types de messages Recensement des récepteurs multicast Rapport d abonnement MLDv2 Support des messages MLDv1
IGMP v3 IGMPv3 is equivalent to MLDv2 Needed for SSM Hosts join a group + a set of sources So some reports messages could not be received by any hosts