Le multicast SSM en IPv6 Le protocole MLDv2 Rolland VIDA, Serge FDIDA LIP6, Université Pierre et Marie Curie {Rolland.Vida, Serge.Fdida}@lip6.fr 29 janvier 2003, Colombes
Introduction De plus en plus d’applications Internet reposent sur le concept de communication de groupe : forum de discussion, jeux interactifs, vidéoconférences, etc. Différentes technologies pour implémenter ce service abstrait IP Multicast Le modèle ASM n’a pas été déployé à grande échelle Mécanisme complexe d’allocation d’adresses Pas de solution "scalable" pour le routage inter-domaine Modèle de service "trop ouvert" pour les fournisseurs de contenu Un modèle plus simple était nécessaire 29/01/03 2
Le modèle SSM SSM – Source-Specific Multicast Inspiré d’Express [Holbrook & Cheriton, Sigcomm ’99] Les groupes multicast sont remplacés par des canaux multicast Un canal est identifié par la paire d’adresses (S, G) : S – adresse unicast de la source G – adresse multicast du groupe Seulement la source S peut envoyer des données sur le canal (S, G) Les canaux (S1, G) et (S2, G) sont différents par définition 29/01/03 3
Distribution multicast le long des arbres SSM Join (S1, G) R1 Join (S2, G) Join ((S1, S2) G) S2 R2 Internet R4 S1 R3 29/01/03 4
Gestion de groupe avec filtrage des sources Les récepteurs spécifient non seulement les groupes qu’ils veulent joindre, mais aussi les sources qu’ils veulent écouter En IPv4, le filtrage de sources est assuré par le protocole IGMPv3 Pas de support équivalent en IPv6 29/01/03 5
Le protocole MLDv2 Le LIP6 a utilisé ses compétences en multicast dans le cadre de divers projets IST et RNRT Le choix de soutenir activement le modèle SSM, dès son apparition MLDv2 – Multicast Listener Discovery version 2 Composant essentiel du modèle SSM en IPv6 Utilisé par un routeur IPv6 pour découvrir la présence des récepteurs multicast sur ses liens directement attachés Protocole asymétrique, car il spécifie des comportements différents pour les routeurs et pour les récepteurs finaux 29/01/03 6
Le routeur MLDv2 Le routeur MLDv2 envoie trois types de messages : Requête générale – envoyée régulièrement, pour apprendre les adresses multicast écoutées par les récepteurs attachés sur le lien Requête spécifique à l’adresse multicast – envoyée pour vérifier si une adresse multicast donnée est encore écoutée, ou non Requête spécifique à l’adresse et à la source multicast – envoyée pour vérifier si une source multicast donnée est encore écoutée, ou non Le routeur garde des états pour chaque source et chaque adresse multicast écoutée 29/01/03 7
Le récepteur MLDv2 Le récepteur MLDv2 envoie deux types de messages : Rapport d’état actuel – envoyé en réponse aux requêtes générales régulières du routeur Rapport de changement d’état – envoyé dans le cas d’un changement : de filtre (Include ou Exclude) dans la liste des sources écoutées 29/01/03 8
Complexité du protocole Gérer des récepteurs avec des filtres différents: Include (S, G) – écouter seulement la source S Exclude (S, G) – écouter toutes les sources, sauf S Gérer les départs explicites et silencieux Garder la compatibilité de comportement avec IGMPv3 Prendre en compte les spécificités de l’adressage IPv6 Assurer l’interopérabilité avec les anciennes versions (MLDv1) 29/01/03 9
Standardisation IETF R. Vida and L. Costa, "Multicast Listener Discovery version 2", Internet Draft, draft-vida-mld-v2-06.txt, Novembre 2002. En collaboration avec Steve Deering et Isidor Kouvelas (Cisco), Bill Fenner (AT&T Labs), Brian Haberman (Nortel Networks), Serge Fdida (LIP6) Première soumission en février 2001 Présenté à la réunion de Minneapolis, mars 2001 Mises à jour lors d’autres réunions (Salt Lake City, London, Atlanta) Le document a passé le "dernier appel pour commentaires" Soumis à l’IESG – norme attendue en février 2003 29/01/03 10
Implémentation de MLDv2 Première implémentation mondiale réalisée au LIP6, en collaboration avec LSIIT (Université de Strasbourg) FreeBSD 4.3 Partie récepteur – LIP6 (Konstantin Kabassanov) Partie routeur – LSIIT (Mickael Hoerdt) Tests de conformité et d’interopérabilité effectués avec succès entre le LIP6 et le LSIIT : Sur une plate-forme expérimentale IPv6 Sur un tunnel IPv6 sur IPv4 29/01/03 11
Plate-forme d’expérimentation PIM-SSM/MLDv2 (LIP6) archimede FreeBSD4.3 MLDv2-1.0 minotaure FreeBSD4.3 MLDv2-1.0 vulcain FreeBSD4.3 panacee FreeBSD4.3 MLDv2-1.0 MLDv2-1.0 PIM/MLDv2 diogene FreeBSD4.3 MLDv2-1.0 LSIIT IPV6/IPV4 ATM PIM/MLDv2 Ethernet janus MUSICA 5.20 PIM/MLDv2 Plate-forme IPv6 dédiée typhon MUSICA 5.20 29/01/03 12 PIM/MLDv2
Plate-forme d’expérimentation PIM-SSM/MLDv2 (LSIIT) mptrc MUSICA 5.20 Plat-forme IPv6 dédiée mptrb MUSICA 5.20 PIM-RP/MLDv2 PIM/MLDv2 mptrout1 FreeBSD4.3 mptrout3 FreeBSD4.3 LIP6 IPV6/IPV4 MLDv2-1.0 MLDv2-1.0 PIM/MLDv1 PIM/MLDv2 mptcli1 FreeBSD4.3 MLDv1 camionet FreeBSD4.3 mptcli2 FreeBSD4.3 MLDv2-1.0 MLDv2-1.0 ATM Ethernet 29/01/03 13
Page web MLDv2 http://mldv2.lip6.fr 29/01/03 14
Impact de MLDv2 MLDv2 a permis le déploiement du SSM en IPv6 Intégré dans la souche IPv6 KAME Implémentation en cours chez Cisco Implémentation sous Windows XP en cours au LIP6 29/01/03 15
Déploiement de MLDv2 Un projet Multicast/IPv6 a été récemment initié dans le groupe Internet2 (première réunion a eu lieu en Août 2002) http://multicast.internet2.edu/mcast-v6.shtml Les principaux buts du projet: Supporter le multicast IPv6 dans le backbone Abilene Encourager le développement de toutes les parties nécessaires (PIM, MLDv2, applications) pour le service multicast IPv6 29/01/03 16
Conclusions De plus en plus d’applications reposent sur les communications de groupe Pas de support de filtrage de sources en IPv6 Le LIP6 a activement soutenu le modèle SSM, dès son origine : Élaboration de la spécification du protocole MLDv2 Permet le déploiement du modèle SSM en IPv6 Normalisation IETF aboutie Première implémentation mondiale (avec LSIIT) Impact important (KAME, Cisco, Internet2) 29/01/03 17
Merci ! 29/01/03 18