Présentation IP Multicast
• Pourquoi Multicast? • Les Fondamentaux du Multicast • Multicast Intra-domaine • Le Multicast à la couche 2 • Multicast IP Inter-domaine • Extensions des Protocoles
Unicast & Multicast Unicast Multicast @A @B @A @B @C @B @C @C @Z @Z @Z Serveur @C Unicast @B @C @B @C Routeur @C @Z @Z @Z @Z Serveur Multicast @Z @Z @Z Routeur
Avantages du Multicast •Efficacité améliorée - Contrôle le trafic du réseau et réduit la charge des serveurs et des CPUs •Performances optimisées - Elimine la redondance de trafic •Applications distribuées - Permet des applications Multipoint Multicast Unicast 0.8 0.6 0.4 0.2 Trafic Mb/s 1 80 100 60 40 20 #Clients Exemple: Streaming Audio Tous les clients écoutent le même flux audio à 8Kb/s
Applications Multicast Aujourd'hui • Applications Financières - Cotations Boursières - • Streaming Multimédia - E-Learning - Communication d'Entreprise • Enterprise Resource Applications - Hébergement de données et synchronisation de contenu • Applications de type "Push" un vers plusieurs Demain • Accès Large Bande • Vidéoconférence • TV numérique • Audio numérique • Spectacles • Jeux en réseau • PDAs et Applications domestiques
Désavantages du Multicast Le Multicast est basé sur UDP!!! • Remise type "Best Effort" : Des pertes peuvent se produire. Les applications Multicast ne doivent pas attendre de remise fiable et doivent être conçues en fonction. Le Multicast fiable est toujours un sujet de recherche. • Pas de Contrôle de Congestion : Le manque de fenêtrage TCP et de mécanismes "slow-start" peuvent entrainer une congestion dans le réseau. Si possible les applications Multicast doivent essayer de détecter et d'éviter les conditions de congestion. • Duplications : Certains mécanismes de protocole multicast (ex:Asserts, Registers et transitions STP) peuvent occasionnellement provoquer des duplications de paquets. Les applications Multicast doivent être conçues pour découvrir des duplications occasionnelles de paquets. • Remise dans le désordre : Quelques mécanismes de protocole peuvent occasionner des remises de paquets dans le désordre.
PIM-SIM Bidir-PIM PIM-SSM MVPN Composants du Multicast Architecture Cisco de Bout en Bout FAI B FAI A MSDP Source Multicast Y DR RP FAI B Source Multicast X FAI A MBGP IGMP Snooping CGMP, RGMP PIM-SIM Bidir-PIM PIM-SSM MVPN IGMP DR DR Campus Multicast • Stations d'extrémité - IGMP • Commutateurs(Optimisation couche 2) - CGMP, IGMP Snooping ou RGMP • Routeurs(Protocoles Multicast) - PIM Sparse Mode ou PIM Bidirectionnel Multicast Interdomaine • Routage Multicast entre domaines - MBGP • Multicast Source Discovery - MSDP avec PIM-SM • Source Specific Multicast - PIM-SSM
Concept du Groupe Multicast IP Emetteur & Receveur Group Member 3 D Emetteur 1. Vous devez être Membre d'un groupe pour recevoir des données de celui-ci 2. Si vous envoyez des données à une adresse de groupe, tous les membres les reçoivent. 3. Vous n'avez pas besoin d'être membre d'un groupe pour envoyer à un groupe A B E C Group Member 1 Group Member 2 Receveur Receveur
Adressage Multicast Une Adresse Source ne peut jamais être En-tête IPv4 Version IHL Type of Service Une Adresse Source ne peut jamais être une adresse de groupe Multicast Classe D Offset Protocol Header Checksum Source 1.0.0.0 - 223.255.255.255 (Classes A, B, C) Destination 224.0.0.0 - 239.255.255.255(Classe D) Espace d'adresse groupe Multicast Options Padding
Espace d'Adressage Multicast 224.0.0.0 - 239.255.255.255 (Classe D) • Adresses réservées pour usage local - 224.0.0.0 - 224.0.0.255 - Transmises avec un TTL = 1 - Exemples: • 224.0.0.1 Tous les systèmes de ce sous-réseau • 224.0.0.2 Tous les routeurs de ce sous-réseau • 224.0.0.4 Routeurs DVMRP • 224.0.0.5 Routeurs OSPF • 224.0.0.13 Routeurs PIMv2 • 224.0.0.22 IGMPv3 • Autres Adresses réservées - 224.0.1.0 - 224.0.1.255 - Transmises avec un TTL > 1 • 224.0.1.1 NTP Network Time Protocol • 224.0.1.6 NSS Name Service Server • 224.0.1.32 Mtrace routers • 224.0.1.78 Tibco Multicast1
Adressage Multicast • Similaire au RFC1918 des adresses Unicast • Adresses à usage administratif - 239.0.0.0 - 239.255.255.255 - Espace d'adressage privé • Similaire au RFC1918 des adresses Unicast • Non utilisées pour le trafic Internet • Utilisées pour limiter l'usage du trafic Multicast • Les mêmes adresses peuvent être utilisées à différents endroits pour différentes sessions Multicast - Exemples • Usage site-Local: 239.255.0.0/16 • Usage Organisation-locale: 239.192.0.0/14 • Espace pour SSM (Source Specifc Multicast) - 232.0.0.0 - 232.255.255.255 - Initialement ciblée pour une diffusion style Internet
Adressage Multicast Correspondance IP Multicast et Adresse MAC (Ethernet et FDDI) 32 bits Adresse IP Multicast Classe D 239 10 39 99 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Bits supprimés 5 bits 23 bits Adresse MAC Multicast 0 1 0 0 5 e 0 a 2 7 6 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 25 bits 23 bits 48 bits
Adressage Multicast Correspondance IP Multicast et Adresse MAC Ethernet 32 adresses IP Multicast 224.1.1.1 224.129.1.1 225.1.1.1 225.129.1.1 . . . 238.1.1.1 238.129.1.1 239.1.1.1 239.129.1.1 1 Adresse MAC Multicast Ethernet 0x0100.5E01.0101
Comment sont affectées les adresses Multicast? • Affectation Dynamique - Session Directory Tool (SDR) • Historiquement utilisé pour annoncer des informations de session/groupe sur une adresse Multicast prédéfinie. • Problèmes de taille de réseau - Multicast Address Dynamic Client Allocation Protocol (MADCAP) - RFC 2730 • Similaire à DHCP • API Client et Serveur dans Windows 2000 • Les applications ont besoins de support pour supporter MADCAP
Comment sont affectées les adresses Multicast? • Affectation Statique d'une adresse global de groupe - Méthode temporaire pour des besoins immédiats - Espace d'adresse: 233.0.0.0 - 233.255.255.255 • Votre numéro d'AS est inséré dans les deux octets du milieu • L'octet de poids faible contient le numéro de groupe - Défini dans - RFC 2770 • "GLOP Addressing dans 233/8) • Affectation Manuelle d'Adresse par l'Administrateur!!! - Est toujours la pratique la plus commune
Signalisation entre Hosts et Routeurs : IGMP • Les Hosts indiquent leur appartenance à un groupe aux routeurs • Les routeurs interrogent les Hosts directement connectés sur leur appartenance à un groupe • RFC 1112 spécifie IGMP version 1 - Supporté sur W9x • RFC 2236 spécifie IGMP version 2 - Supporté par Win2000 et les systèmes UNIX • IGMP version 3 est spécifié dans un draft IETF - draft-ietf-idmr-igmp-v3-07.txt
Signalisation entre Hosts et Routeurs : IGMP 224.1.1.1 H1 H2 H3 Report Rejoindre un Groupe • Les Hosts transmettent des IGMP Report pour rejoindre un Groupe
Signalisation entre Hosts et Routeurs : IGMP 224.1.1.1 Report Maintenir un Groupe • Les routeurs transmettent des Requêtes périodiques à 224.0.0.1 • Un membre par groupe et par sous-réseau répond • Les autres membres ne répondent pas Query
Signalisation entre Hosts et Routeurs : IGMP Quitter un Groupe (IGMPv1) • Les Hosts quittent le groupe silencieusement • Le Routeur transmet 3 Requêtes Générales (toutes les 60 sec) • Aucun IGMP Report n'est reçu • Le Groupe n'est plus servi (Pire des cas 3 mn) General Query
Signalisation entre Hosts et Routeurs : IGMP Quitter un Groupe (IGMPv2) • Le Host transmet un message IGMP Leave à 224.0.0.2 • Le Routeur transmet une Requête Spécifique à 224.1.1.1 • Aucun IGMP Report n'est reçu dans les 3 secondes • Le Groupe n'est plus servi Group Specific Query IGMP Leave à 224.0.0.2 224.1.1.1 1 2
Signalisation entre Hosts et Routeurs : IGMPv3 • Draft-ietf-idmr-igmp-v3-07.txt - Spécification Draft IETF • Ajout de Source Lists Include/Exclude - Permet aux Hosts d'écouter un sous-ensemble de Hosts transmettant pour un groupe - Requiert une nouvelle API "IP MulticastListen" - Nouvelle pile IGMPv3 dans l'OS - Les applications doivent être reécrites pour exploiter toutes les fonctionnalités d'IGMPv3
Signalisation entre Hosts et Routeurs : IGMPv3 • Nouvelle adresse pour les messages Report - 224.0.0.22 (Routeurs IGMPv3) • Tous les Hosts IGMPv3 transmettent les Report à cette adresse au lieu de l'adresse de groupe dans IGMPv1 • Tous les routeurs IGMPv3 écoutent à cette adresse • Les Hosts n'écoutent pas et ne répondent pas à cette adresse - Pas de suppression de Report • Tous les Hosts connectés répondent aux Requêtes - L'état IGMP complet du Host est transmis en une seule réponse • L'intervalle de réponse peut être réglé sur une grande étendue - Très utile lorsque le sous-réseau contient beaucoup de Hosts
Exclude:<empty> IGMPv3 - Rejoindre un Groupe H1 H2 H3 Rejoindre un Groupe - IGMPv3 • Les membres voulant joindre un groupe transmettent des IGMPv3 Report à l'adresse 224.0.0.22 IGMP V3 Report 224.0.0.22 1.1.1.12 1.1.1.11 1.1.1.10 1.1.1.1 Routeur-A Group: 224.1.1.1 Exclude:<empty>
IGMPv3 - Rejoindre une ou des Sources Spécifiques H1 H2 H3 Rejoindre une Source spécifique - IGMPv3 • Les IGMPv3 Report contiennent une liste de sources • Seules les sources incluses sont rejointes IGMP V3 Report 224.0.0.22 1.1.1.12 1.1.1.11 1.1.1.10 1.1.1.1 Routeur-A Group: 224.1.1.1 Include:10.0.01
IGMPv3 - Maintenir les états 1.1.1.10 1.1.1.11 1.1.1.12 H1 H2 H3 IGMP V3 Report 224.0.0.22 IGMP V3 Report 224.0.0.22 IGMP V3 Report 224.0.0.22 1.1.1.1 Routeur-A • Le routeur transmet des Requêtes périodiques • Tous les membres IGMPv3 répondent - Les messages Report contiennent les états de plusieurs groupes
Arbres de Distribution Multicast Shortest Path ou Source Distribution Tree Notation: (S,G) S = Source G = Groupe A F E D C B Source 1 Source 2 Receveur 1 Receveur 2
Arbres de Distribution Multicast Shortest Path ou Source Distribution Tree Notation: (S,G) S = Source G = Groupe A F E D C B Source 1 Source 2 Receveur 1 Receveur 2
Arbres de Distribution Multicast Shared Distribution Tree Source 1 Notation: (*,G) * = All Sources G = Groupe Source 2 A B D (RP) F (RP) PIM Rendez-vous Point Shared Tree C E Receveur 1 Receveur 2
Arbres de Distribution Multicast Shared Distribution Tree Source 1 Notation: (*,G) * = All Sources G = Groupe Source 2 A B D (RP) F (RP) PIM Rendez-vous Point Shared Tree C E Source Tree Receveur 1 Receveur 2
Arbres de Distribution Multicast Caractéristiques des arbres de Distribution • Arbres de Chemin Source ou de Chemin le plus court - Utilisent plus de mémoire O(SxG) - Chemins optimaux de la source vers tous les receveurs - Minimisent le délai • Arbres partagés(Shared Trees) - Utilisent moins de mémoire O(G) - Chemins moins optimaux de la source vers tous les receveurs - Peuvent introduire un délai supplémentaire
Acheminement Multicast • Le Routage Multicast est vers la source - Le routage Unicast est concerné par la destination du paquet - Le routage Multicast est concerné par la source du paquet • Le routage Multicast utilise le "Reverse Path Forwarding"
Acheminement Multicast Reverse Path Forwarding (RPF) • C'est quoi RPF? - Un routeur achemine un paquet Multicast uniquement s'il est reçu sur l'interface menant à la source. (suit l'arbre de distribution Multicast) • Le test RPF - La table de routage pour le Multicast est consultée avec l'adresse IP source dans le paquet. - Si le paquet arrive sur l'interface spécifiée dans la table de routage pour cette source, le test RPF est positif sinon le test est négatif.
Acheminement Multicast Test RPF Source 151.10.3.21 Test RPF en Echec Le paquet arrive sur la mauvaise interface
Table de routage Unicast Acheminement Multicast Echec du Test RPF en détail S1 E0 S0 S2 Paquet Multicast de la source 151.10.3.21 151.10.0.0/16 198.14.32.0/24 204.1.16.0/24 12.1.3.50/16 SO Réseau Interface Table de routage Unicast Le Paquet est arrivée sur la mauvaise interface. Paquet éliminé! Echec du test RPF
Table de routage Unicast Acheminement Multicast Succès du Test RPF en détail Paquet Multicast de la source 151.10.3.21 S0 S1 S2 E0 Echec du test RPF 151.10.0.0/16 198.14.32.0/24 204.1.16.0/24 12.1.3.50/16 S1 SO E0 S2 Réseau Interface Table de routage Unicast Le Paquet est arrivée sur la bonne interface. Paquet acheminé sur toutes les interfaces ( vers le bas de l'arbre de distribution)
Le Routage Multicast n'est pas le routage unicast. Vous devez le considérer différemment. Ce n'est ni comme OSPF , ni comme RIP . C'est une chose avec laquelle vous n'êtes pas habitué à travailler.
Types de protocoles Multicast • Dense-mode - Utilise le modèle "Push" - Le trafic inonde le réseau - Elagage de l'arbre en arrière si nécessaire - Comportement "Flood & Prune" (Typiquement chaque 3 mn) - "PIM-DM State refresh" a éliminé ce type de fonctionnement • Sparse-mode - Utilise le modèle "Pull" - Le trafic est aiguillé uniquement à l'endroit où il est requis - Comportement "Explicit Join"
PIM-DM (Protocol Indepedent Multicast - Dense Mode) • Indépendant du protocole de routage - Supporte tous les protocoles de routage sous-jacents tels que: RIP, IGRP, EIFRP, IS-IS, BGP et OSPF • Utilise le Reverse Path Forwarding - Inonde le réseau et élague en arrière d'après les "multicast group membership" - Mécanisme de confirmation pour élaguer les flux redondants • Approprié pour - Travaux de laboratoire et test de performance de routeurs
PIM-DM "Flood et Prune" Initial Flooding Inondation Initiale Source Etat (S,G) crée dans chaque routeur du réseau Receveur
PIM-DM "Flood et Prune" Elimination (pruning) du trafic non-désiré Source Etat (S,G) crée dans chaque routeur du réseau Receveur Messages de "Pruning"
PIM-DM "Flood et Prune" Résultat après élimination(pruning) du trafic non-désiré Source Etat (S,G) existe toujours dans chaque routeur du réseau Receveur Le processus "Flood et Prune" se répète toutes les 3 minutes!!!"
PIM-DM - Evaluation • Utilisation initiale - Laboratoires de test et test de performance de routeurs • Avantages - Facile à configurer (deux commandes) - Mécanisme simple d'inondation et d'élagage • Problèmes potentiels - Comportement d'inondation et d'élagage inefficace - Mécanisme de confirmation complexe - Mélange du plan Contrôle et du plan Data • Etat (S,G) dans chaque routeur du réseau • Peut résulter dans une topologie non-déterministe - Ne supporte pas les arbres partagés
PIM-SM (RFC 2362) • Supporte les arbres Source et Partagés - Suppose que les hosts ne veulent pas de trafic multicast sauf s'ils ont en fait expressément la demande • Utilise un Rendez-vous Point (RP) - Les Emetteurs et les receveurs ont accès à ce point pour apprendre l'existence des uns et des autres • Les Emetteurs sont "Enregistrés" avec leur RP par leur routeur de premier saut. • Les Receveurs sont joints à l'arbre partagé (routés au RP) par leur "Designated Router" local (DR) • Approprié pour - Déploiement à grand échelle pour des groupes denses ou pas dans l'entreprise. - Choix optimal pour les réseaux de production en entreprise indépendamment de la taille et du nombre de groupes
PIM-SM "Shared Tree Join" Etat (S,G) crée seulement le long de l'arbre partagé Receveur (*,G) Join Shared Tree RP
PIM-SM - Enregistrement de l'Emetteur Etat (S,G) crée seulement le long de l'arbre Source Receveur Flux de Trafic Shared Tree (S,G) Join Source Tree (S,G) Register RP Source (unicast)
PIM-SM - Enregistrement de l'Emetteur Le Trafic (S,G) arrive au RP via l'arbre Source Le RP transmet un Register-Stop en arrière vers le premier routeur pour stopper le processus d'enregistrement Receveur RP Source Flux de Trafic Shared Tree Source Tree (S,G) Register (S,G) Register-Stop (unicast)
PIM-SM - Enregistrement de l'Emetteur Le Trafic (S,G) s'écoule naturellement vers le RP via l'arbre Source Depuis le RP, le trafic s'écoule vers le bas de l'arbre partagé vers les receveurs Receveur RP Source Flux de Trafic Shared Tree Source Tree
PIM-SM - Basculement sur le chemin le plus court Le dernier routeur rejoint l'arbre Source Un nouvel état (S,G) est crée sur une nouvelle branche de l'arbre source Receveur RP Source Flux de Trafic Shared Tree Source Tree (S,G) Join
PIM-SM - Basculement sur le chemin le plus court Le trafic commence à s'écouler vers la nouvelle branche de l'arbre source Un nouvel état (S,G) est crée sur l'arbre source pour éliminer le trafic inutile Receveur RP Source Flux de Trafic Shared Tree Source Tree (S,G)RP-bit Prune
PIM-SM - Basculement sur le chemin le plus court Le (S,G) trafic est supprimé de l'arbre partagé et s'écoule vers le Receveur via l'arbre source Receveur RP Source Flux de Trafic Shared Tree Source Tree
PIM-SM - Basculement sur le chemin le plus court Le (S,G) trafic n'est plus utile pour le RP aussi il supprime de flux de trafic (S,G) Receveur RP Source Flux de Trafic Shared Tree Source Tree (S,G) Prune
PIM-SM - Basculement sur le chemin le plus court RP Source Le (S,G) trafic s'écoule vers le Receveur via la seule branche de l'arbre Source Flux de Trafic Shared Tree Source Tree Receveur
Fait souvent oublié au sujet de PIM-SM Le comportement par défaut de PIM-SM est que les routeurs avec des membres directement connectés rejoindront le "Shortest Path Tree" dès qu'ils détecteront une nouvelle source multicast.
PIM-SM - Evaluation • Efficace pour une distribution éparse ou dense de receveurs Multicast • Avantages - Le trafic est transmis uniquement sur les branches "jointes" - Peut commuter dynamiquement vers des arbres sources optimaux pour des sources à fort trafic - Indépendant du protocole de routage Unicast - Base du routage Multicast inter-domaine • Quand il est utilisé avec MP-BGP, MSDP et/ou SSM
Comment le réseau connaît le RP? • Configuration statique • Auto-RP • BSR (BootStrap Router)
RP- Configuration Statique • Adresse configurée manuellement - Doit être configurée sur chaque routeur - Tous les routeurs doivent avoir la même adresse de RP - L'utilisateur de RP de secours n'est pas possible • Exception : Sauf si des RPs Anycast sont utilisés • Commande ip pim sparse-mode <address> [group-list <acl>] [override] - La liste de groupe optionnelle spécifie un intervalle • Par défaut: Intervalle = 224.0.0.0/4 (Groupes Auto-RP inclus) - Le mot-clé override donne priorité à l'information Auto-RP • Par défaut: L'information apprise par Auto-RP est prioritaire
Auto-RP - Vue générale • Tous les routeurs apprennent Automatiquement l'adresse du RP - Pas de configuration nécessaire sauf pour: • Les Candidats RP (C-RP) • Les Agents de Mapping (MA) • Utilise le Multicast pour distribuer de l'information - Deux adresses de groupe IANA spécifiques • Cisco-Announce - 224.0.1.39 • Cisco-Discovery - 224.0.1.40 - Ces groupes opèrent normalement en dense-mode • Permet de configurer des RPs de secours - Attention: Peut revenir en dense-mode si mal configuré • Peut être utilisé dans le cadre Administration
Auto-RP - Vue globale de réseau MA A C B D C-RP 2.2.2.2 1.1.1.1 Multicast RP-Announcement vers le groupe Cisco Announce (224.0.1.39) Announce
Auto-RP - Vue globale de réseau MA C D C-RP 2.2.2.2 1.1.1.1 Multicast RP-Discovery vers le groupe Cisco Discovery (224.0.1.40) Discovery A B
BSR (BootStrap Router) - Présentation • Un seul Routeur Bootstrap (BST) est élu - Plusieurs candidats BSR (C-BSR) peuvent être configurés • Fournissent un secours en cas de défaillance du BSR - Les candidats RP(C-RP) envoient des annonces C-RP au BSR • Les annonces C-RP sont transmises en Unicast • Le BSR Stocke toutes les annonces C-RP dans un RP-set - Le BSR transmet périodiquement des messages BSR à tous les routeurs • Les messages BSR contiennent le RP-set et l'adresse IP du BSR • Les messages sont diffusés à travers le réseau saut par saut depuis le BSR - Tous les routeurs sélectionnent le RP dans le RP-set • Tous les routeurs utilisent le même algorithme - Sélection du même RP • BSR ne peut pas être utilisé dans le cadre Administration
BSR - Vue globale de réseau C D A E B F G PIMv2 Sparse Mode C-RP BSR C-RP Advertisement (Unicast)
BSR - Vue globale de réseau C D A E B F G PIMv2 Sparse Mode C-RP BSR BSR Msgs Messages BSR diffusés saut par saut
Multicast Couche 2- Commutation de trames Problème: Diffusion de trames Multicast à la couche 2 PIM Multicast • Les commutateurs couche 2 traitent le trafic Multicast comme "Inconnu" ou "Broadcast" et doivent retransmettre la trame sur tous les ports • Des entrées statiques peuvent configurées pour spécifier quels ports doivent recevoir le trafic de groupes multicast • La configuration dynamique de ces entrées n'est plus administrée.
Multicast Couche 2- Commutation de trames Solution 1: Snooping IGMPv1-v2 PIM IGMP • Les commutateurs "comprennent" IGMP • Les paquets IGMP sont interceptés par le commutateur - Nécessite un Hardware spécial pour maintenir le débit • Le commutateur doit examiner le contenu des paquets IGMP pour déterminer quels ports veulent du trafic Multicast - IGMP Membership Report - IGMP Leave messages • Impact sur les commutateurs couche 2 bas niveau - Doivent traiter tous les paquets Multicast couche 2 - La charge d'administration s'accroît avec la charge de trafic Multicast - Résulte généralement dans un arrêt du commutateur
Multicast Couche 2- Commutation de trames Solution 2: CGMP - Cisco Group Management Protocol PIM IGMP Commandes CGMP • Opère sur les commutateurs et le routeurs • Le routeur transmet des trames CGMP multicast aux commutateurs à l'adresse MAC spécifique: - 0100.0cdd.dddd • Les paquets CGMP contiennent: - Champ Type - Join ou Leave - L'adresse MAC du client IGMP - L'adresse du group Multicast • Le commutateurs utilisent le paquet CGMP pour ajouter ou retirer une entrée de couche 2 pour une adresse MAC Multicast particulière
Bases de CGMP IGMP Report CGMP Join (a) (b) Dst MAC = 0100.5e01.0203 1/1 5/1 IGMP Report Dst MAC = 0100.5e01.0203 Src MAC = 0080.c7a2.1093 Dst IP = 224.1.2.3 Src IP = 192.1.1.1 IGMP Group = 224.1.2.3 CGMP Join USA = 0080.c7a2.1093 GDA = 0100.5e01.0203 1/1 5/1 (a) (b)
Multicast Couche 2- Commutation de trames • Impact de IGMPv3 sur IGMP Snooping - Les Report IGMPv3 sont transmis à un groupe particulier (224.0.0.22) • Les commutateurs de ce groupe uniquement • Trafic IGMP seul - Pas de trafic Data • Réduit substanciellement la charge CPU du commutateur • Permet aux commutateurs de bas niveau d'implémenter IGMP Snooping - Pas de suppression de Report dans IGMPv3 • Permet le traçage individuel de membres de groupe - IGMPv3 supporte Include/Exclude Source Specific • Permet au commutateur de maintenir un état (S,G) - Non implémenté par les commutateurs • Peut être nécessaire pour une fonctionnalité IGMP totale
Résumé - Commutateurs Couche 2 • IGMP Snooping - Commutateurs avec Hardware Spécifique(ASICs pour couche 3) • Maintient des performances de commutation • Accroît le coût des commutateurs - Commutateurs sans Hardware Spécifique(ASICs pour couche 3) • Dégradation sérieuse des performances - Ne devrait plus être le cas avec l'implémentation de IGMPv3 • CGMP - Requiert des routeurs et des commutateurs Cisco - Peut être implémenté dans des commutateurs à faible coût
Router-port Group Management Protocol (RGMP) • Opère sur les "Core" Routeurs et Commutateurs - Routeurs • S'identifient par des messages RGMP Hello/Bye • Transmettent des messages spéciaux (*,G) Join/Rune de couche 2 - Commutateurs • N'acheminent pas le trafic Multicast vers les ports de routeurs sauf si une requête a été faite. • Limitations - Fonctionne uniquement avec PIM-SM/PIM-SSM - Pas de Hosts dans les VLANs • Les routeurs ne peuvent pas détecter les sources tant que l'acheminement multicast vers les routeurs n'est pas actif.
Router-port Group Management Protocol (RGMP) • Permet un acheminement par port du multicast dans une topologie routeur et couche 2 commutée • Même avec CGMP ou IGMP Snooping, tout routeur dans un environnement Couche 2 recevra tout le trafic Multicast Source Receveur • PIM Join Transmis • Données Acheminées vers tous les routeurs
Router-port Group Management Protocol (RGMP) • Elément routeur et élément commutateur • Nouvelle adresse de type Link-local affectée par l'IANA pour le protocole routeur-à-commutateur = 224.0.0.25 • Les routeurs RGMP transmettent des RGMP Hellos à intervalles réguliers • Les commutateurs RGMP arrêtent l'acheminement arbitraire vers ces routeurs Source Receveur RGMP
Router-port Group Management Protocol (RGMP) • Quand les messages PIM Join sont transmis.... • Le routeur transmet aussi un message RGMP au commutateur Source Receveur RGMP PIM Join RGMP Join
Router-port Group Management Protocol (RGMP) • Quand les messages PIM Join sont transmis.... • Le routeur transmet aussi un message RGMP au commutateur • Le commutateur ajoute une entrée d'acheminement pour le groupe reçu sur le port • Les données sont acheminées uniquement sur les routeurs RGMP intéressés (et sur sur le routeurs non-RGMP) Receveur RGMP Source RGMP PIM Join RGMP Join RGMP RGMP
MBGP - Vue générale - Défini dans le RFC 2283 (extensions to BGP) • MP-BGP: Multiprotcol BGP - Défini dans le RFC 2283 (extensions to BGP) - Peut transporter différents types de routes • Unicast • Multicast - Les deux types de routes transportés dans la même session BGP - Ne propage pas les informations d'état multicast - Même sélection de chemin et règles de validation • AS-Path, LocalPref, MED,....
MBGP - Vue générale - MP_REACH_NLRI - MP_UNREACH-NLRI • Nouveaux Attributs Multiprotocole - MP_REACH_NLRI - MP_UNREACH-NLRI • MP_REACH_NLRI et MP_UNREACH-NLRI - Address Family Information (AFI) = 1 (IPv4) • Sub_AFI = 1 (NLRI est utilisé pour l'Unicast) • Sub_AFI = 2 (NLRI est utilisé pour le test RPF Multicast) • Sub_AFI = 3 (NLRI est utilisé pour l'Unicast et le test RPF Multicast)
MBGP - Vue générale - Unicast Routing Information Base (URIB) • Maintien de deux tables BGP séparées - Unicast Routing Information Base (URIB) - Multicast Routing Information Base (MRIB) • URIB - Contient les préfixes Unicast pour l'acheminement Unicast - Remplie avec les NLRI unicast BGP • AFI = 1, Sub_AFI = 1 ou 3 • MRIB - Contient les préfixes Unicast pour le test RPF - Remplie avec les NLRI multicast BGP • AFI = 1, Sub_AFI = 2 ou 3
MBGP - Vue générale - La même adresse IP a une double signification • MBGP autorise des stratégies et des chemins divergents - La même adresse IP a une double signification • Information de routage Unicast • Information RPF Multicast - Pour la même adresse IPv4 deux NLRI différents avec des "next-hops" différents - Peut supporter à la fois des topologies congruentes et incongruentes
Le Concept MSDP ( Multicast Source Distribution Protocol) • Simple mais élégant - Utilise des arbres source inter-domaine - Réduit le problème de localisation des sources actives - Le dernier saut du RP ou du receveur peut rejoindre l'arbre source inter-domaine
Les caractéristiques de MSDP • Fonctionne avec PIM_SM uniquement - Les RPs connaissent toutes les sources dans un domaine • Les sources provoquent un "PIM-register" vers le RP • Ils peuvent communiquer avec des RPs d'autres domaines différents de ceux de leurs propres sources. - Via les messages MSDP SA(Source Active) - Les RPs connaissent les Receveurs dans un domaine • Les Receveurs provoquent un "(*,G) join" vers le RP • Ils peuvent rejoindre l'arbre source dans un domaine proche - Via les messages classiques PIM (S,G) Join
MSDP - Vue générale Exemple MSDP RP Domaine E Join (*,224.2.2.2) MSDP Peers Domaine E Domaine C Domaine B Domaine D Domaine A
MSDP - Vue générale Exemple MSDP RP Domaine E R MSDP Peers Domaine C MSDP Active Messages Domaine A Domaine B SA Domaine C Domaine D Domaine E Register 192.1.1.1, 224.2.2.2 S Message SA 192.1.1.1, 224.2.2.2
MSDP - Vue générale Exemple MSDP RP Domaine E R MSDP Peers Domaine C Domaine A Domaine B Domaine C Domaine D Domaine E S (S,224.2.2.2) Join
MSDP - Vue générale Exemple MSDP RP RP RP RP RP Domaine E R MSDP Peers Trafic Multicast R Domaine C RP (S,224.2.2.2) Join Domaine B RP RP Domaine D RP S Domaine A
MSDP - Vue générale Exemple MSDP RP Domaine E R MSDP Peers Domaine C Trafic Multicast Domaine A Domaine B Domaine C Domaine D Domaine E S (S,224.2.2.2) Join (S,224.2.2.2
MSDP - Vue générale Exemple MSDP RP RP RP RP RP Domaine E R MSDP Peers Trafic Multicast R Domaine C RP (S,224.2.2.2) Join Domaine B RP RP Domaine D RP S Domaine A
Anycast RP - Vue générale • Utilise une seule adresse de RP définie de manière statique - Deux ou plusieurs routeurs ont la même adresse de RP • Adresse RP est définie sur une interface Loopback • L'adresse Loopback est annoncée comme une adresse de Host - Les Emetteurs et les Receveurs échangent des messages avec le RP le plus proche • Le RP le plus proche est déterminé par la table de routage Unicast - Ne peut jamais revenir au mode Dense • L'adresse du RP est définie de manière statique • Des sessions MSDP opèrent entre tous les RPs - Informent les RPs de la présence de sources dans le réseau - Les RPs rejoignent l'arbre de chemin le plus court vers les sources actives si nécessaire
Anycast RP - Vue générale Src A B SA Rec MSDP RP1 RP2 10.1.1.1
Anycast RP - Vue générale Src Src RP1 RP2 A B 10.1.1.1 10.1.1.1 Rec Rec Rec Rec
Anycast RP - Configuration B X Y ip pim rp-address 10.0.0.1 MSDP RP1 RP2 Interface loopback 0 ip address 10.0.0.3 255.255.255.255 Interface loopback 1 ! ip msdp peer 10.0.0.2 connect-source loopback 0 ip msdp originator-id loopback 0 ip address 10.0.0.2 255.255.255.255 ip address 10.0.0.1 255.255.255.255 ip msdp peer 10.0.0.3 connect-source loopback 0
Source Specific Multicast - SSM • Suppose un modèle Multicast "One-to-Many" - Exemple: Diffusions Vidéo/Audio, Données Boursières • Pourquoi PIM-SM a besoin d'un arbre partagé? - Parce que les Hosts et les routeurs de 1er Saut peuvent apprendre qui est la source active pour le groupe • Que se passe-t-il si cette source est déjà connue? - Les Hosts pourront utiliser IGMPv3 pour signaler exactement quel (S,G) Shortest Path Tree rejoindre - L'arbre partagé et le RP ne seraient plus nécessaires - Différentes sources pourraient partager l'adresse de de Groupe et ne pas interférer entre elles. • Résultat: Source Specific Multicast
Avantages du Source Specific Multicast • Simplifie le déploiement du Multicast en éliminant le concept de RP et la dépendance à MSDP pour trouver les sources. • Optimise et réduit la latence pour l'acheminement Multicast dans le cas d'applications de un à plusieurs • Simplifie le problème d'allocation d'adresse une seule source globale pour tous les groupes • Autorise l'utilisation immédiate du chemin d'acheminement le plus court pour une source spécifique sans avoir besoin de créer un arbre partagé
PIM mode Source Specific A F D B C E Source IGMPv3 (S,G) Join PIM (S,G) Join Receveur 1 Annuaire de Sources hors-bande Exemple: Web Serveur Le receveur apprend l'adresse de la source, Groupe/port Le receveur transmets un IGMPv3 Join Le premier routeur transmet un PIM (s,G) join directement vers la Source
PIM mode Source Specific Résultat : Le chemin le plus court est routé à la source sans arbre partagé Source A B C E Annuaire de Sources hors-bande Exemple: Web Serveur D F Receveur 1
PIM-SSM - Evaluation • Ideal pour les applications avec une source transmettant vers plusieurs receveurs • Résoud les problèmes d'allocation d'adresses Multicast - Les flux sont différenciés par la source et le groupe • Pas seulement par le groupe - Les fournisseurs de contenus peuvent utiliser les mêmes intervalles d'adresses • Chaque flux est identifié de manière unique (S,G) • Aide à la prévention d'attaques de type DoS - Source de trafic incontrôlée: • Ne peut pas consommer de bande passante • Non reçu par l'application Host
Problème de l'état Many-to-Any • Crée un très grand nombre d'états (S,G) - La charge de maintenance des états est importante - Les performances des routeurs sont moindres • Utilisation d'arbres partagés uniquement - Fournit une réduction des états (S,G) • Résulte dans des états (S,G) le long du chemin le plus court vers le RP • Toujours trop d'états (S,G) • Besoin d'une solution qui utilise uniquement des (*,G)
PIM Bidirectionnel - Vue générale Receveur RP Shared Tree Emetteur/
PIM Bidirectionnel - Vue générale Emetteur/ Receveur RP Receveur Trafic source acheminé bidirectionnellement en utilisant l'état (*,G) Shared Tree Trafic Source Receveur
PIM Bidirectionnel - Evaluation • Idéal pour les applications "Many-to-Many" • Réduit de manière drastique l'état mroute du réseau - Elimine tous les états (S,G) dans le réseau • Les arbres de chemin source les plus courts entre les sources et le RP sont éliminés • Le trafic s'écoule vers le haut et vers le bas de l'arbre partagé - Permet de dimensionner des applications de type "Many-to-Many" • Permet virtuellement un nombre sources illimité
VPN Multicast - La demande du client • Les clients MPLS VPN veulent utiliser le Multicast à l'intérieur de leurs VPNs • Le déploiement du Multicast est en expansion • Les VPNs MPLS ne supportent pas le Multicast aujourd'hui • Les options Multicast dans les VPNs MPLS aujourd'hui - Tunnels GRE de CE à CE CE CE N'est pas réalisable!!! CE MPLS Core CE CE CE CE CE
Multicast VPN (MVPN) • Permet à un ISP de fournir à ses clients MPLS VPN de transporter leur trafic Multicast à travers un cœur de réseau basé sur MPLS • Fournit une approche "Ships in the night" avec MPLS • Une solution d'architecture évolutive pour les réseau MPLS basée sur un déploiement natif du multicast dans le cœur du réseau • Utilise l'encapsulation et la signalisation décrites dans draft-rosen-vpn-mcast pour bâtir Multicast VPN (MVPN)
Multicast VPN - Terminologie utilisée • VPN : Virtual Private Network - Bien que différents modèles de VPN existent, le modèle traité ici est basé sur MPLS • MVPN: - Un VPN qui supporte le Multicast nativement • VRF: VPN Routing and Forwarding - Tables d'acheminement par site • MVRF: Multicast VRF - Un VRF qui supporte des tables Unicast et Multicast
Multicast VPN - Terminologie utilisée • MDT : Multicast Distribution Tree - Un arbre Multicast, bâti dans le cœur du réseau entre PE et P Routeurs qui distribuent le trafic Multicast entre sites • Default-MDT: - Un groupe MDT par défaut utilisé pour contrôler le trafic et et comme canal de diffusion pour le mode dense et des groupes à faible bande passante • Data-MDT: - Un groupe MDT crée à la demande pour des paires MVPN (S,G), usuellement pour trafic à bande passante élevée
Multicast VPN - Fondamentaux Receveur 4 Joindre source Bande Passante élevée B2 CE CE B1 CE Receveur 1 A1 E1 CE PE B • Les équipements clients CE joignent le MPLS Core par les équipements PE du fournisseur d'accès • Le Core MPLS forme un Default MDT pour un client donné • Un source à bande passante élevée commence à transmettre du trafic • Les receveurs intéressés 1 & 2 rejoignent cette source • Un DATA-MDT est formé pour cette source à bande passante élevée A PE E MPLS VPN Core PE CE F Default MDT Faible BW Contrôle de trafic Data MDT BW élevée trafic seulement PE D C CE PE D1 CE Receveur 3 C1 Source Multicast Bande Passante élevée Joindre source Bande Passante élevée Receveur 2