Déploiement IP Multicast
• Configuration Multicast de base • Configurations Avancées • Extensions du protocole PIM
Configuration Multicast de base • Etapes de Configuration PIM • Quel mode : Sparse ou Dense? • Configuration des interfaces • Configuration des RPs
Etapes de Configuration PIM • Valider le routage Multicast sur chaque routeur • Configurer chaque interface pour PIM • Configurer le RP (Si utilisation de PIM-SM) - Utilisation de Auto-RP ou BSR • Configurer certains routeurs comme candidats RPs • Tous les autres routeurs apprennent automatiquement le RP élu - Adressage Anycast/Statique du RP • L'adresse du RP doit être configurée sur chaque routeur • Note : Anycast RP nécessite MSDP
liaison à 64K pour le trafic IP Multicast Configurer PIM sur chaque interface Nuage Multicast Partiel Classique - Erreur N°1 Source no ip pim dense-mode E1 64K ip pim dense-mode Nous utilisons la liaison à 64K pour le trafic IP Multicast Receveur Administrateur réseau
de trafic Multicast sur certains routeurs Configurer PIM sur chaque Routeur Nuage Multicast Partiel Classique - Erreur N°2 Source Multicast dévalidé Multicast validé .1 192.168.1.0/24 .2 Nous ne voulons pas de trafic Multicast sur certains routeurs Echec RPF Receveur Administrateur réseau
Validation du Multicast sur un Routeur • Valider le routage Multicast sur chaque routeur • Mode de Configuration global ip multicast-routing - Valide l'acheminement multicast sur un routeur - Configuration sur chaque routeur du réseau
Ceci ne signifie pas nécessairement Réseau Multicast Pilote Configurer PIM sur chaque Routeur Ceci ne signifie pas nécessairement tout le réseau Commencer par un Réseau Multicast Pilote
Configuration Multicast de base • Etapes de Configuration PIM • Quel mode : Sparse ou Dense? • Configuration des interfaces • Configuration des RPs
Quel mode : Sparse ou Dense? • Mode Dense - Inondation et Elagage très inefficaces • Peuvent provoquer des problèmes dans certaines topologies de réseaux - Crée un Etat( Source,Groupe) dans chaque routeur • Même quand il n'y a pas de receveur pour le trafic - Mécanisme "Assert" complexe - Mélange du plan contrôle et du plan données • Résulte dans un Etat (S,G) dans chaque routeur du réseau • Peut entrainer un comportement topologique non déterministe - Utilisé à l'origine seulement pour tester les performances de routeurs
Quel mode : Sparse ou Dense? - Un RP (Rendez-vous Point) doit être configuré • Statiquement( sur chaque routeur) • En utilisant Auto-RP( le routeur apprend automatiquement quel routeur est le RP) • En utilisant BSR (le routeur apprend automatiquement - Très efficace • Utilise un modèle "Explicit Join" • Le trafic est acheminé uniquement là ou il est demandé - Sépare le plan contrôle et le plan données • L'état dans le routeur est crée uniquement sur le chemin du flux de trafic • Comportement topologique déterministe - Permet un meilleur dimensionnement de réseau • Fonctionne dans des réseaux à forte ou faible densité
Quel mode : Sparse ou Dense? CONCLUSION "Sparse mode Good! Dense mode Bad" Source: "The Caveman's Guide to IP Multicast", 2000, R.Davis
Configuration Multicast de base • Etapes de Configuration PIM • Quel mode : Sparse ou Dense? • Configuration des interfaces • Configuration des RPs
Configuration des interfaces • Commandes de configuration du Mode d'Interface - Valident l'acheminement multicast sur l'interface - Contrôlent le mode opératoire de l'interface ip pim dense-mode • Le mode opératoire est positionné à "Dense" ip pim sparse-mode • Le mode opératoire est positionné à "Sparse" ip pim sparse-dense-mode • Le mode opératoire est déterminé par le mode de Groupe - Si le Groupe est Dense, l'interface opère en mode Dense - Si le Groupe est Sparse, l'interface opère en mode Sparse
"Group Mode" / "Interface Mode" • "Group Mode" et "Interface Mode" sont indépendants - Interface Mode • Détermine comment l'interface opère quand elle reçoit ou doit écouler du trafic multicast. - Group Mode • Détermine si le Groupe est Dense ou Sparse.
"Group Mode" / "Interface Mode" Commune Idée Fausse • "Interface Mode" contrôle "Group Mode" - Si je positionne toutes les interfaces avec "ip pim sparse-mode", le routeur opèrera toujours en mode Sparse et ne reviendra pas en mode Dense Hélas!! C'est une réponse incorrecte • "Group Mode" est indépendant d'Interface Mode" - Le Mode Interface contrôle uniquement comment l'interface opère.
"Group Mode" • Le Mode Groupe est contrôlé par le RP Local - Information du RP Local • Stockée dans le Group-to-RP Mapping Cache • Peut être configuré statiquement ou appris via auto-RP ou BSR - Si l'information RP existe alors Group = Sparse - Si l'information RP n'existe pas alors Group = Dense - Les changements de mode sont automatiques - Si l'information RP est perdue, le Groupe repasse à Dense
"Group Mode" Router-A# show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT M - MSDP created entry, X - Proxy Join Timer Running A - Advertised via MSDP Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:13:28/00:02:59, RP 10.1.5.1, flags: SCJ Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:32 Serial0, Forward Sparse, 00:04:52/00:02:08 (171.68.37.121/32, 224.1.1.1), 00:01:43/00:02:59, flags: CJT Incoming interface: Serial0, RPF nbr 192.10.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11 Ethernet0, Forward Sparse, 00:01:43/00:02:11 Router-A# Le mode de Groupe est indiqué par les flags dans l'entrée (*,G)
"Group Mode" / "Interface Mode" • Eviter la non-correspondance des modes Group/Interface - Le mode de Groupe et le mode d'Interface doivent être les mêmes • Autrement vous pouvez obtenir des résultats imprévisibles • Les interfaces Sparse-Dense ont toujours le mode de Groupe - Doit être utilisé si Auto-RP est opérationnel • Permet aux groupes Auto-RP d'opérer automatiquement en mode Dense - Tous les autres groupes opèrent en mode Sparse. (En supposant que les RP sont appris via Auto-RP pour tous les autres groupes) - Peut être utilisé pour les réseaux "Sparse-only" ou "Dense-only"
"Group Mode" / "Interface Mode" Résumé • Contrôle du mode de Groupe avec l'information RP - Si l'information RP existe alors Group = Sparse - Si l'information RP n'existe pas alors Group = Dense • Le mode de Groupe Contrôle le mode d'Interface - Utilisez normalement "ip pim sparse-dense-mode" • Permet un maximum de flexibilité • Pas besoin de changer la configuration d'interface - Utilisez "ip pim sparse-mode" seulement si Auto-RP n'est jamais utilisé.
Configuration Multicast de base • Etapes de Configuration PIM • Quel mode : Sparse ou Dense? • Configuration des interfaces • Configuration des RPs
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
Configuration Auto-RP • Candidats RP - Configurés via la commande de configuration globale ip pim send-rp-announce <intfc> scope <ttl> [group-list acl] [interval <sec>] <intfc> - Définit l'adresse du candidat RP (C-RP) (utilisez une interface loopback) scope <ttl> - Fixe le TTL des messages d'annonce Auto-RP - Prendre un TTL assez grand pour couvrir tout le réseau [group-list <acl>] - Chaque argument "permit" dans acl définit un intervalle de groupe - Chaque argument "deny" dans acl signifie "dense-mode override" - Force l'intervalle de groupe en mode Dense!!! - Est prépondérant sur tous les autres "C-RP announcements"!!! - Intervalle de Groupe par défaut = 224.0.0.0/4
Configuration Auto-RP • Candidats RP(suite) - Configurés via la commande de configuration globale ip pim send-rp-announce <intfc> scope <ttl> [group-list acl] [interval <sec>] - Définit le <rp-announce-interval> en secondes - 60 secondes par défaut - Contrôle la valeur <rp-holdtime> dans l'annonce - 3 fois <rp-announce-interval> - Détermine le temps de remplacement du RP défaillant
Configuration Auto-RP • Mapping Agents - Configurés via la commande de configuration globale ip pim send-rp-discovery [<intfc>] scope <ttl> [intfc] - Définit l'adresse source des messages Auto-RP Discovery - Champ optionnel mais doit être spécifié - Utilisez une interface Loopback scope <ttl> - Définit le TTL des messages Auto-RP Discovery - Prendre un TTL assez grand pour couvrir tout le réseau
BSR - Vue globale de réseau Processus d'élection BSR E B G C A BSR Msgs C-BSR D F Messages BSR diffusés saut par saut
BSR - Vue globale de réseau Le C-BSR avec la plus haute priorité est élu BSR G BSR D A F A C C B E
BSR - Vue globale de réseau F BSR A D C C-RP Advertisement C-RP Advertisement (Unicast) (Unicast) C-RP C-RP C B E
BSR - Vue globale de réseau F BSR Msgs BSR BSR Msgs A D BSR Msgs BSR Msgs C-RP C-RP C B E Messages BSR diffusés saut par saut contenant l'ensemble des RP
• Candidat BootStrap Router (C-BSR) Configuration BSR • Candidat BootStrap Router (C-BSR) - Configurés via la commande de configuration globale ip pim bsr-candidate <intfc> <hash-length> [priority <pri>] [intfc] - Définit l'adresse l'adresse IP - Utilisez une interface Loopback <hash-length> - Définit une longueur du masque hash de sélection - Permet de faire de la répartition de charge dans un intervalle de groupes - Chaque C-RP prend en charge une portion de l'intervalle [priority <pri>] - Définit la priorité du C-BSR (0 par défaut)
Configuration BSR • Candidats RP - Configurés via la commande de configuration globale ip pim rp-candidate <intfc> [group-list acl] <intfc> - Définit l'adresse IP du candidat RP (C-RP) - Utilisez une interface loopback [group-list <acl>] - Chaque argument "permit" dans acl définit un intervalle de groupe - Chaque argument "deny" dans acl signifie "dense-mode override" - Force l'intervalle de groupe en mode Dense!!! - Est prépondérant sur tous les autres "C-RP announcements"!!! - Intervalle de Groupe par défaut = 224.0.0.0/4
Configuration Statique de RP • Adresse fixée manuellement - Dans ce cas, doit être configurée sur chaque routeur - Tous les routeurs doivent avoir la même adresse de RP - Le remplacement automatique de RP défaillant n'est plus possible • Exception: Sauf si des RPs Anycast sont utilisés - Les groupes ne peuvent pas repasser en mode Dense
Configuration Statique de RP • RP statique - Configurés via la commande de configuration globale ip pim rp-address <intfc> [group-list acl] [override] <intfc> - Définit l'adresse IP du candidat RP (C-RP) [group-list <acl>] - Chaque argument "permit" dans acl définit un intervalle de groupe - Chaque argument "deny" dans acl signifie "dense-mode override" - Force l'intervalle de groupe en mode Dense!!! - Est prépondérant sur tous les autres "C-RP announcements"!!! - Intervalle de Groupe par défaut = 224.0.0.0/4 [override] - Prépondérance sur l'information Auto-RP/BSR - Par défaut l'information apprise par Auto-RP/BSR est prépondérante
Configuration des ACls de RP Faire attention au "Deny" non-standard dans les ACLs de RP (S'applique à Auto-RP, BSR et RP Statique) INCORRECT ip send-rp-announce Loopback0 scope 16 groupe-list 10 access-list deny 239.0.0.0 0.255.255.255 access-list deny 224.0.0.0 15.255.255.255 Force l'intervalle de groupe en mode Dense à travers tout le réseau CORRECT ip send-rp-announce Loopback0 scope 16 groupe-list 10 access-list permit 224.0.0.0 0.255.255.255 access-list permit 225.0.0.0 0.255.255.255 . . . access-list permit 237.0.0.0 0.255.255.255 access-list permit 238.0.0.0 0.255.255.255 C'est le seul moyen de définir l'intervalle
Configuration IP Multicast simple B C D RP/Mapping Agent PIM Sparse Mode Sur chaque Routeur: ip multicast-routing Sur chaque Interface: ip pim sparse-dense-mode Sur les Routeurs B et C: ip pim send-rp-announce loopback0 scope <ttl> ip pim send-rp-announce loopback0 scope <ttl>
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Le Retour en mode Dense • Causé par la perte de l'information RP local - L'entrée dans le cache de correspondance Group-to-RP n'est plus valide. • Peut se produire quand: - Tous les C-RPs sont défaillants - Le mécanisme Auto-RP est défaillant • C'est généralement le résultat d'une congestion réseau • Le groupe est passé en mode Dense - L'état Dense Mode est crée dans le réseau - Le "Flooding" du mode Dense débute si les interfaces sont configurées telles que "ip pim sparse-dense-mode"
Eviter le retour en Mode Dense Mode de Groupe Eviter le retour en Mode Dense Pour garantir que le mode Sparse soit toujours opérationnel ( et éviter le retour en mode Dense), assurez-vous que chaque routeur a toujours la connaissance d'un RP pour chaque groupe
Eviter le retour en Mode Dense • Définir un RP de dernier recours (RP of last Resort) - Configuré comme un RP statique sur chaque routeur • Sera utilisé uniquement si tous les candidats RP sont défaillants • Peut être une adresse non-significative - Recommandation : Utilisez l'adresse du C-RP de plus basse priorité - Vous devez utilisez les ACL pour éviter de bloquer Auto-RP ip pim rp-address <rp-of-last-resort> 10 access-list 10 deny 224.0.1.39 access-list 10 deny 224.0.1.40 access-list permit any
Configuration IP Multicast modifiée B C D RP/Mapping Agent PIM Sparse Mode Sur chaque Routeur: ip multicast-routing ip pim rp-address <routeur-C> group-list 10 access-list 10 deny 224.0.1.39 access-list 10 deny 224.0.1.40 access-list permit any Sur chaque Interface: ip pim sparse-dense-mode Sur les Routeurs B et C: ip pim send-rp-announce loopback0 scope <ttl> ip pim send-rp-announce loopback0 scope <ttl>
Configuration IP Multicast modifiée B C D RP/Mapping Agent PIM Sparse Mode • Fonctionnement normal Routeur-D# show ip pim rp mapping PIM Group-to-RP Mappings Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-B), v2v1 Info source: 172.16.25.1 (Routeur-B)via Auto-RP Uptime: 00:00:30, expires: 00:02:26 ACL: 10, Static RP: 172.16.22.1 (Routeur-C)
Configuration IP Multicast modifiée B C D RP/Mapping Agent PIM Sparse Mode • Les deux RPs sont défaillants Routeur-D# show ip pim rp mapping PIM Group-to-RP Mappings ACL: 10, Static RP: 172.16.22.1 (Routeur-C) Le RP de dernier recours est toujours présent
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Utiliser plusieurs Intervalles de Groupes • Définition - Différents RPs pour différents intervalles de groupes. • Souvent utilisé pour: - Pour connecter directement un RP à un groupe de sources • Avec l'hypothèse d'un modèle d'application "Few to many" - Répartir la charge de travail sur plusieurs RPs - Fournir différentes topologies "Shared-Tree" • Utilisé avec "spt-threshold=infinity" • Conseil: - Essayer d'éviter le chevauchement des intervalles de groupes • Peut causer une élection de RP non-attendue
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 ip pim send-rp-announce Loopback0 scope 16 group-list 20 ip pim send-rp-discovery Loopback0 scope 16 ! access-list 20 permit 224.0.0.0 15.255.255.255 access-list 20 permit 239.255.0.0 0.0.255.255 ip pim send-rp-announce Loopback0 scope 16 group-list 20 ip pim send-rp-discovery Loopback0 scope 16 ! access-list 20 permit 224.0.0.0 15.255.255.255 access-list 20 permit 239.255.0.0 0.0.255.255 Configurations des C-RP/Mapping Agent
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Routeur-B# show ip pim rp-mapping PIM Group-to-RP Mapping This system is an RP (Auto-RP) This system is an RP-Mapping Agent (Loopback0) Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:05:03, expires: 00:02:27 RP 172.16.22.1 (Routeur-C), v2v1 Info source: 172.16.22.1 (R5), via Auto-RP Uptime: 01:05:11, expires: 00:02:43 Group(s) 225.0.0.0/8 Uptime: 00:17:29, expires: 00:02:29 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:56:18, expires: 00:02:41 Le cache de correspondance Group-to-RP des Mapping Agents contient tous les C-RPs appris ordonnés par Groupe, Longueur de Masque et Adresse de C-RP
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Le Mapping Agent publie les RPs élus dan les "Discovery messages" Note: Le RP élu est toujours listé comme le premier C-RP pour l'Intervalle de groupe Routeur-B# show ip pim rp-mapping PIM Group-to-RP Mapping This system is an RP (Auto-RP) This system is an RP-Mapping Agent (Loopback0) Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:05:03, expires: 00:02:27 RP 172.16.22.1 (R2), v2v1 Info source: 172.16.22.1 (R5), via Auto-RP Uptime: 01:05:11, expires: 00:02:43 Group(s) 225.0.0.0/8 Uptime: 00:17:29, expires: 00:02:29 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:56:18, expires: 00:02:41
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Routeur-B# show ip pim rp-mapping elected PIM Group-to-RP Mapping This system is an RP (Auto-RP) This system is an RP-Mapping Agent (Loopback0) Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:05:03, expires: 00:02:27 Group(s) 225.0.0.0/8 Uptime: 00:17:29, expires: 00:02:29 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:56:18, expires: 00:02:41 Le nouveau qualifieur "elected" permet de lister uniquement les RPs élus sur le Mapping Agent
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Routeur-B# show ip pim rp-mapping PIM Group-to-RP Mapping Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:00:14, expires: 00:02:25 Group(s) 225.0.0.0/8 Uptime: 00:12:40, expires: 00:02:24 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:51:28, expires: 00:02:24 Cache de correspondance Group-to-RP dans les routeurs non "Mapping Agent" Seuls les RP élus sont contenus dans le cache de correspondance Group-to-RP
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Routeur-B# show ip pim rp-mapping PIM Group-to-RP Mapping Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:00:14, expires: 00:02:25 Group(s) 225.0.0.0/8 Uptime: 00:12:40, expires: 00:02:24 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:51:28, expires: 00:02:24 Quelle entrée le routeur va-t-il utiliser pour déterminer l'adresse du RP? Celle-ci? (Elle a l'adresse de RP la plus élevée) Ou celle-ci?( Elle a le masque le plus long) Join 239.255.1.1
Utiliser plusieurs Intervalles de Groupes B C D RP/Mapping Agent PIM Sparse Mode Loopback0: 172.16.25.1 Loopback0: 172.16.22.1 Join 239.255.1.1 Routeur-B# show ip pim rp-mapping PIM Group-to-RP Mapping Group(s) 224.0.0.0/4 RP 172.16.25.1 (Routeur-C), v2v1 Info source: 172.16.25.1 (R5), via Auto-RP Uptime: 01:00:14, expires: 00:02:25 Group(s) 225.0.0.0/8 Uptime: 00:12:40, expires: 00:02:24 Group(s) 239.255.0.0/16 RP 172.16.22.1 (Routeur-B), v2v1 Info source: 172.16.22.1 (R2), via Auto-RP Uptime: 00:51:28, expires: 00:02:24 Réponse: Le routeur utilise la correspondance la plus longue pour trouver la bonne entrée dans le cache de correspondance Group-to-RP Moralité: Evitez le chevauchement d'intervalles de groupes pour réduire les possibilités de choix d'un RP incorrect
Peut entrainer des confusions et des configurations erronées Chevauchement d'Intervalles de Groupes 239.255.255.255 239.255.0.0 239.252.255.255 239.192.0.0 238.255.255.255 224.0.0.0 Portée Globale 238.0.0.0/8 237.0.0.0/8 236.0.0.0/8 . . . 226.0.0.0/8 225.0.0.0/8 224.0.0.0/8 Portée Locale 239.255.0.0/16 Portée Organisation Locale 239.192.0.0/14 239.255.0.0/14 Utiliser le non-chevauchement d'intervalles de groupes, surtout pour l'utilisation de groupe de portée administrative. A éviter!!!! Peut entrainer des confusions et des configurations erronées
Chevauchement d'Intervalles de Groupes 239.255.255.255 239.255.0.0 Portée Locale 239.255.0.0/16 access-list 10 permit 239.255.0.0 0.0.255.255 239.252.255.255 239.192.0.0 Portée Organisation Locale 239.192.0.0/14 access-list 20 permit 239.192.0.0 0.0.64.255 Utiliser le non-chevauchement d'intervalles de groupes, surtout pour l'utilisation de groupe de portée administrative. 238.255.255.255 224.0.0.0 Portée Globale 238.0.0.0/8 237.0.0.0/8 236.0.0.0/8 . . . 226.0.0.0/8 225.0.0.0/8 224.0.0.0/8 access-list 30 permit 224.0.0.0 0.0.255.255 access-list 30 permit 225.0.0.0 0.0.255.255 access-list 30 permit 226.0.0.0 0.0.255.255 . access-list 30 permit 236.0.0.0 0.0.255.255 access-list 30 permit 237.0.0.0 0.0.255.255 access-list 30 permit 238.0.0.0 0.0.255.255
Chevauchement d'Intervalles de Groupes • Pour éviter le chevauchement d'intervalles de groupes - Vous ne pouvez pas utiliser la clause "deny" dans les ACls des C-RP • Implique la prépondérance de "Dense-mode override ip pim send-rp-announce loopback0 scope 16 group-list 10 acces-list 10 deny 239.0.0.0 0.255.255.255 acces-list 10 permit 224.0.0.0 15.255.255.255 - Vous devez utiliser uniquement des clauses "permit" acces-list 10 permit 224.0.0.0 0.255.255.255 acces-list 10 permit 225.0.0.0 0.255.255.255 . . . acces-list 10 permit 238.0.0.0 0.255.255.255
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Contrôle de l'Enregistrement de la Source • Commande globale ip pim accept-register [list <acl>] | [route-map <map>] - Utilisé sur le RP pour filtrer les messages d'enregistrement entrants - Filtrer sur l'adresse Source seule (ACL Simple) - Filtrer sur la paire (S,G) (ACL étendue) - Peut utiliser route-map pour spécifier quoi filtrer • Filtrer par AS-PATH si mBGP est utilisé • Les aides évitent aux sources non-désirées de transmettre - Le routeur de premier saut empêche le trafic d'entrer dans le réseau - Note: Le trafic peut toujours passer sous certaines situations
Contrôle de l'Enregistrement de la Source RP • RP configuré pour accepter des Enregistrements uniquement d'une source spécifique ip pim accept-register list 10 acces-list 10 permit 192.16.1.1
Contrôle de l'Enregistrement de la Source RP • Le trafic de la Source non-désirée atteint le routeur de premier saut • Le routeur de premier saut crée un état (S,G) et transmet un message Register • Le RP rejette le Register et transmet en retour un message Stop-Register Trafic Source Register-Stop Source non-désirée
Contrôle de l'Enregistrement de la Source Faiblesses dans l'utilisation de "accept-register" RP • Le trafic sera écoulé sur le sous-réseau local sur lequel résident les sources • Le trafic s'écoulera depuis le routeur de premier saut par les branches de l'arbre partagé vers les receveurs - Se produit quand (*,G) est copié vers (S,G) au routeur de premier saut - Entraine un écoulement du trafic (S,G) sur toutes les interfaces du routeur de premier saut dans (*,G) vers le bas de l'arbre Source non-désirée Premier Saut Receveur Arbre Partagé Receveur Receveur
Dévalider des Intervalles de Groupe • RP "Poubelle" - Concept: • Un RP séparé pour les groupes non-valides - Peut être un routeur inexistant • Récupère et élimine tous les messages Registers et Join - Implémentation: • Définition d'un RP spécifique pour les groupes non-valides - Utilisez Auto-RP, BSR ou une définition Statique • Dévalidez les fonctionnalités de RP sur ce RP "poubelle" - Utilisez la commande "accept-rp" sur ce RP "poubelle" pour l'empêcher de servir de RP pour l'intervalle de groupe dévalidé
Dévalider des Intervalles de Groupe • RP "Poubelle"(suite) - Inconvénients: • Des messages Registers périodiques sont toujours transmis au RP "poubelle" • Des messages Join périodiques sont toujours transmis au RP "poubelle" • Augmente la complexité du réseau de manière significative • N'empêche pas les sources "indésirables" de transmettre vers les groupes valides. - Note: Nous pourrions utiliser "accept-register" pour essayer de stopper ces sources mais ce n'est pas totalement efficace et cela augmente un peu plus la complexité du réseau.
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Auto-RP -Récupération de RP • Temps de récupération de RP - Fonction du "Holdtime" dans "C-RP Announcement" • Holdtime = 3 x <rp-announce-interval> • Par défaut <rp-announce-interval> = 60 secondes • Temps de récupération par défaut 3mn • Minimiser l'impact de la récupération de RP - Utilisez des "Source Path Trees" pour réduire cet impact • Le trafic sur les "Source Path Trees" n'est pas affecté par la défaillance d'un RP • Le basculement immédiat vers les "Source Path Trees" est validé par défaut • Les nouvelles sources ou les sources à fort trafic sont toujours un problème
Auto-RP -Réglage du temps de récupération de RP • Réglage sur les candidats RP • Utilisez la clause "interval" pour contrôler le temps de récupération de RP ip pim send-rp-announce <intfc> scope <ttl> [group-list <acl>] [interval <seconds>] • Permet d'ajuster le rp-announce-interval • Intervalles réduits = Récupération de RP plus rapide • Des intervalles réduits augmentent le trafic Auto-RP - Augmentation normalement insignifiante • Le temps total de récupération de RP est très réduit - Temps minimum de récupération 3 sec • Envisagez l'utilisation de Anycast RP pour une récupération de RP très rapide
Récupération du DR (Designated Router) B .2(DR) .1 192.168.1.0/4 Routeur-B# show ip pim neighbor PIM Neighbor Table Neighbor Address Interface Uptime Expires Mode 192.168.1.2 Ethernet0 4d22h 00:01:10 Sparse-Dense (DR) • Dépend du temps d'expiration du voisin • Le temps d'expiration est transmis dans les messages PIM Query - Temps d'expiration = 3 x <query-interval> - Par défaut <query-interval> = 30 secondes - Récupération u DR 90 secondes (Worst case) par défaut
Récupération du DR (Designated Router) • Réglage de l'intervalle des PIM query - Utilisez la commande d configuration d'interface ip pim query-interval <seconds> - Permet d'ajuster le temps de récupération du DR • Temps minimum de récupération 3 secondes (Worst case) • Un intervalle plus petit augmente le trafic des PIM query - Augmentation normalement insignifiante
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Passer en Anycast RP • Avantages - Récupération rapide • Désavantages • Converge dans les secondes de l'Unicast - Pas de retour en mode Dense • L'adresse du RP est définie de manière statique • Désavantages - Requiert MSDP • Nécessaire uniquement sur les routeurs RP
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.1 255.255.255.255 Interface loopback 1 ip address 10.0.0.3 255.255.255.255 ! 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 msdp peer 10.0.0.3 connect-source loopback 0
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Utiliser des Zones Privées • Utilisé pour limiter: - Les sources avec bande passante élevée au site local - Contrôler le trafic multicast sensible • Exemple simple de portées de Zones 239.255.0.0/16 = (Site) Portée locale 239.192.0.0/14 = Portée Organisation locale 224.1.0.0 - 238.255.255.255 = Zone à portée globale (Internet) • Les sources à bande passante élevée utilisent une adresse à portée Locale • Les sources à bande passante moyenne ou faible utilisent une adresse à portée Organisation Locale • Les sources pour Internet utilisent une adresse à portée Globale
Utiliser des Zones Privées 239.255.0.0/16 239.255.255.255 239.255.0.0 239.254.0.0/16 239.253.0.0/16 239.254.255.255 239.253.0.0 Extension de l'espace à portée Locale Portée Locale 239.192.0.0/14 239.252.255.255 239.192.0.0 Portée Organisation Locale 239.128.0.0/10 239.64.0.0/10 239.0.0.0/10 Extension de l'espace à portée Organisation Locale 238.255.0.0/8 238.254.0.0/8 Portée Globale 239.191.255.255 239.0.0.0 238.255.255.255 224.0.0.0 • Basé sur RFC 2365
Utiliser des Zones Privées 239.255.0.0/16 Site A Site B Site C S0 S1 Limites Site-Local Frontière B Frontière C • Les limites Site-Local empêchent le trafic 239.255.0.0/16 haut débit d'aller sur les liaisons WAN
Utiliser des Zones Privées 239.255.0.0/16 Site A Site B Site C S0 S1 Limites Site-Local Frontière B Frontière C • Les limites Site-Local empêchent le trafic 239.255.0.0/16 haut débit d'aller sur les liaisons WAN Interface Serial0 ip multicast boundary 10 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any Interface Serial0 ip multicast boundary 10 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any
Utiliser des Zones Privées 239.255.0.0/16 Site A Site B Site C S0 S1 Limites Site-Local Frontière B Frontière C • Les limites Site-Local empêchent le trafic 239.255.0.0/16 haut débit d'aller sur les liaisons WAN Interface Serial0 ip multicast boundary 10 Interface Serial1 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any
Utiliser des Zones Privées Exemple Auto-RP Site A Site Local RP/MA Site B Site C S0 S1 Frontière B Frontière C • Chaque site a besoin de son propre ensemble de RPs Site Local et Mapping Agent(s) Frontière A
Utiliser des Zones Privées Exemple Auto-RP Site A Site Local RP/MA Site B Site C S0 S1 Frontière B Frontière C • Problème: L'info RP Site-Local peut être propagée dans les autres sites et provoquer une mauvaise élection de C-RP Frontière A
Utiliser des Zones Privées Exemple Auto-RP Site A Site Local RP/MA Site B Site C S0 S1 Frontière B Frontière C • Utilisation de TTL-Threshold pour bloquer l'info RP Site-Local Frontière A Interface Serial0 ip multicast ttl-threshold 16 ip multicast boundary 10 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any Interface Serial0 ip multicast ttl-threshold 16 ip multicast boundary 10 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any
Utiliser des Zones Privées Exemple Auto-RP Site A Site Local RP/MA Site B Site C S0 S1 Frontière B Frontière C • Utilisation de TTL-Threshold pour bloquer l'info RP Site-Local Frontière A Interface Serial0 ip multicast ttl-threshold 16 ip multicast boundary 10 Interface Serial1 access-list 10 deny 239.255.0.0 0.0.255.255 access-list 10 permit any
Utiliser des Zones Privées Exemple Auto-RP Site A Site Local RP/MA Site B Site C S0 S1 Frontière B Frontière C • Utilisation de TTL-Threshold pour bloquer l'info RP Site-Local Frontière A Interface Loopback0 ip address 192.168.10.2 255.255.255.255 ip pim send-rp-discovery scope 15 ip pim send-rp-announce Loopback0 scope 15 group-list 20 access-list 20 permit 239.255.0.0 0.0.255.255 Interface Loopback0 ip address 192.168.10.1 255.255.255.255 ip pim send-rp-discovery scope 15 ip pim send-rp-announce Loopback0 scope 15 group-list 20 access-list 20 permit 239.255.0.0 0.0.255.255
Utiliser des Zones Privées Site B Site C S0 S1 Frontière B Frontière C • Il y a toujours besoin de RP Org-Locale pour tous les groupes non-Site Local Frontière A Site A Site Local RP/MA Org Locale C-RP C-RPs Org-Locale (Groupes Non-Site Local) Interface Loopback0 ip address 192.168.10.3 255.255.255.255 ip pim send-rp-announce Loopback0 scope 64 group-list 20 access-list 20 permit 224.0.0.0 0.0.255.255 access-list 20 permit 225.0.0.0 0.0.255.255 .... access-list 20 permit 238.0.0.0 0.0.255.255 Exemple Auto-RP
Utiliser des Zones Privées Solution Auto-RP Improved • Commande Multicast Boundary ip multicast boundary <acl> [filter-autorp] - Nouvelle option "filter-autorp" • Filtre le contenu des paquets Auto-RP - Filtre les messages "Announcement" et "Discovery" - Les entrées C-RP qui ne correspondent ps avec <acl> sont retirées du paquet • Evite la propagation sortante ou entrante des infos C-RP avec une portée de zone • Elimine le besoin de paramètre le TTL-Threshold • Simplifie grandement le support des Zones privées dans Auto-RP
Utiliser des Zones Privées Anycast-RP • Zones privées utilisant Anycast-RP - Concept: • Un ensemble de RPs Anycast physiques par zone • Un point MSDP uniquement entre zones RP - Avantages: • Pas besoin de filtres C-RP spéciaux aux limites - Désavantages: • Sélection d'adresse Anycast-RP - Chaque zone physique doit utiliser sa propre adresse Anycast-RP unique • Adresses Statiques de RP différentes à l'intérieur de chaque zone
Utiliser des Zones Privées Exemple Anycast-RP Site A Site Local Anycast RP Site B Site C S0 S1 Frontière B Frontière C • Anycast RPs Site-Local Frontière A Interface Loopback0 ip address 10.0.10.1 255.255.255.255 Interface Loopback1 ip address 10.0.10.3 255.255.255.255 ! ip msdp peer 10.0.10.2 connect-source Loopback 1 ip msdp originator-id loopback 1 ip address 10.0.10.2 255.255.255.255 ip msdp peer 10.0.10.3 connect-source Loopback 1 MSDP
Utiliser des Zones Privées Exemple Anycast-RP Site A Site Local Anycast RP Site B Site C S0 S1 Frontière B Frontière C • Anycast RPs Site-Local Frontière A Interface Loopback0 ip address 10.0.20.1 255.255.255.255 Interface Loopback1 ip address 10.0.20.2 255.255.255.255 ! ip msdp peer 10.0.20.3 connect-source Loopback 1 ip msdp originator-id loopback 1 MSDP ip address 10.0.20.3 255.255.255.255 ip msdp peer 10.0.20.2 connect-source Loopback 1
Utiliser des Zones Privées Exemple Anycast-RP Site A Site Local Anycast RP Site B Site C S0 S1 Frontière B Frontière C • Anycast RPs Site-Local Frontière A Interface Loopback0 ip address 10.0.30.1 255.255.255.255 Interface Loopback1 ip address 10.0.30.2 255.255.255.255 ! ip msdp peer 10.0.30.3 connect-source Loopback 1 ip msdp originator-id loopback 1 MSDP Interface Loopback0 ip address 10.0.30.1 255.255.255.255 Interface Loopback1 ip address 10.0.30.3 255.255.255.255 ! ip msdp peer 10.0.30.2 connect-source Loopback 1 ip msdp originator-id loopback 1 MSDP MSDP
Utiliser des Zones Privées Exemple Anycast-RP Site B Site C S0 S1 Frontière B Frontière C • Il y a toujours besoin de RP Org-Locale pour tous les groupes non-Site Local Frontière A Site A Site Local Anycast RP Org Locale C-RPs Org-Locale (Groupes Non-Site Local) Interface Loopback0 ip address 10.0.0.1 255.255.255.255 Interface Loopback1 ip address 1.1.1.2 255.255.255.255 ! ip msdp peer 1.1.1.1 connect-source Loopback 1 ip msdp peer 4.4.4.4 connect-source Loopback 1 ip msdp originator-id loopback 1 MSDP Peer 4.4.4.4 MSDP Peer 3.3.3.3 ip address 1.1.1.1 255.255.255.255 ip msdp peer 1.1.1.2 connect-source Loopback 1 ip msdp peer 3.3.3.3 connect-source Loopback 1 MSDP MSDP MSDP
Utiliser des Zones Privées Exemple Anycast-RP Site A Site Local Anycast RP Org Locale • Il y a toujours besoin de RP Org-Locale pour tous les groupes non-Site Local MSDP MSDP Peer 3.3.3.3 MSDP Peer 4.4.4.4 MSDP MSDP ip pim rp-address 10.0.20.1 10 ip pim rp-address 10.0.0.1 20 access-list 10 permit 239.255.0.0 0.0.255.255 access-list 20 permit 224.0.0.0 0.255.255.255 access-list 20 permit 225.0.0.0 0.255.255.255 . . access-list 20 permit 238.0.0.0 0.255.255.255 ip pim rp-address 10.0.30.1 10 ip pim rp-address 10.0.0.1 20 access-list 10 permit 239.255.0.0 0.0.255.255 access-list 20 permit 224.0.0.0 0.255.255.255 access-list 20 permit 225.0.0.0 0.255.255.255 . . access-list 20 permit 238.0.0.0 0.255.255.255 C-RPs Org-Locale (Groupes Non-Site Local) Frontière A S1 S0 S0 S0 Site C Site B Frontière B Frontière C Site C ip pim rp-address 10.0.10.1 10 ip pim rp-address 10.0.0.1 20 access-list 10 permit 239.255.0.0 0.0.255.255 access-list 20 permit 224.0.0.0 0.255.255.255 access-list 20 permit 225.0.0.0 0.255.255.255 . . access-list 20 permit 238.0.0.0 0.255.255.255 Site Local Anycast RP Site Local Anycast RP Site Local Anycast RP Site Local Anycast RP Org Locale Anycast RP MSDP
Configurations Multicast avancées • Eviter le retour en mode Dense • Utiliser plusieurs Intervalles de Groupes • Bloquer les sources non-désirées • Gérer les défaillances • Passer en Anycast RP • Utiliser des Zones Privées • Optimiser les performances Multicast
Configuration Campus commune Réseau Terminal Utilisateurs Serveurs Cœur du réseau
Problème de performance non-RPF • Les routeurs normalement transmettent des messages Prune en réponse à l'arrivée de trafic non-RPF - Sur les liaisons Point à Point, le routeur transmettant en amont élimine le trafic - Les message "Prune" peuvent être outrepassés sur les liaisons Multi-accès • Par les routeurs aval sur la liaison qui a besoin de trafic • Par les hosts membres sur la liaison • Résultat: - Certaines topologies de réseau Multi-accès font que le trafic non-RPF ne peut être éliminé - Peut entrainer une forte charge CPU sur quelques routeurs
Problème de performance non-RPF Core Network s¥¿“ Trafic non-RPF Haut débit A B E0 E0 Video MPEG Haut débit 10.1.1.0/24 • Le trafic non-RPF peut être éliminé au niveau processus de commutation - Cela dépend de la plateforme. C'est le cas pour les 6500 et 8540 • La charge CPU peut être excessive
Solution Réseau Terminal pour Catalyst 6500/8540 Core Network A B E0 E0 10.1.1.0/24 Interface E0 ip access-group 100 in access-list 100 permit ip 10.1.1.0 0.0.0.255 any access-list 100 permit ip 224.0.0.0 0.0.0.255 any access-list 100 permit ip 224.0.1.0 0.0.0.255 any access-list 100 deny ip 224.0.0.0 15.255.255.255 any access-list 100 permit ip any any ACL utilisée pour bloquer le trafic non-RPF
Solution Réseau Terminal pour Catalyst 6500/8540 Interface E0 ip access-group 100 in access-list 100 permit ip 10.1.1.0 0.0.0.255 any access-list 100 permit ip 224.0.0.0 0.0.0.255 any access-list 100 permit ip 224.0.1.0 0.0.0.255 any access-list 100 deny ip 224.0.0.0 15.255.255.255 any access-list 100 permit ip any any • Autorise le trafic multicast avec ce réseau source • Permet au routeur de recevoir des adresses multicast de protocoles essentiels(OSPF,etc...) • Elimine tout le reste du trafic multicast non-RPF • Permet tout autre trafic • Géré par une ACL câblée dans 6500/8540 • A utiliser uniquement sur réseau terminal!!! • ACL implémentée automatiquement par la commande "mls ip multicast stub" dans 12.1(?)E
Solution Coeur de Réseau • Utiliser des VLANs Point à Point pour éviter le problème Non-RPF Core Network VLANs séparés Réseau Terminal Réseau Terminal Réseau Terminal Utilisateurs Utilisateurs Serveurs
• Configuration Multicast de base • Configurations Avancées • Extensions du protocole PIM
Extensions du protocole PIM • Source Specific Multicast (SSM) • Bidirectional (Bidir) PIM
Source Specific Multicast (SSM) Limites au déploiement Multicast • Allocation globale d'adresse Multicast - Allocation dynamique d'adresse • Pas de méthode d'allocation dynamique adéquate • SDR ne peut pas être appliqué partout • MASC- Long ways off - Allocation Statique d'adresse (GLOP) • Basé sur le numéro d'AS • Espace d'adresse insuffisant pour les Fournisseurs de contenu • Les "Brouilleurs" de contenu Multicast • Sources indésirables transmettant du trafic • Peut provoquer des attaques de type DoS
Source Specific Multicast (SSM) • Utilise uniquement des arbres source (Source Trees) • Suppose un modèle One-to-Many - La majorité des applis Internet Multicast entrent dans ce modèle - IP/TV entre dans ce modèle • Les Hosts sont responsables de la découverte des sources - Typiquement par des mécanismes hors-bande • Page Web, Serveur de Contenu,etc. - Elimine le besoin de RP et d'arbres partagés - Elimine le besoin de MSDP
Source Specific Multicast - Vue générale • Les Hosts joignent une source spécifique dans un groupe - Le contenu est identifié par un (S,G) spécifique au lieu de (*,G) - Les Hosts sont chargés d'apprendre l'information (S,G) • Le routeur de dernier saut transmet un Join (S,G) vers la source - L'arbre partagé n'est jamais joint ou utilisé - Elimine la possibilité d'avoir des brouilleurs de contenu - Seul le flux spécifié par (S,G) est délivré au host • Simplifie l'allocation d'adresse - Des sources avec des contenus peuvent utiliser le même groupe sans crainte d'interférer entre elles
Source Specific Multicast (SSM) D C B E F Receveur 1 Source PIM(S,G) Join IGMPv3 (S,G) Join Le Host apprend la source, Group/port Le premier Hop apprend la source, Group/port Le premier Hop transmet un PIM Join (S,G) Annuaire des Sources hors-bande Exemple : Serveur Web
Source Specific Multicast (SSM) Résultat: L'arbre de chemin le plus court est routé à la source, sans arbre partagé. Source C D A B Annuaire des Sources hors-bande Exemple : Serveur Web E F Receveur 1
Source Specific Multicast (SSM) • Commande globale ip pim ssm {default | <acl>} - Définit un intervalle SSM d'adresse • Intervalle par défaut = 232.0.0.0/8 • Utiliser les ACL pour les autres intervalles - Evite la création d'arbre partagé • Les (*,G) Join ne sont jamais envoyés ou traités • Les PIM Register ne sont jamais transmis ou traités - Disponibles dans les versions IOS • 12.1(5)T, 12.2, 12.0(15)S, 12.1(8)E
Source Specific Multicast (SSM) • Seuls les routeurs de dernier saut doivent être mis à jour - Le coeur du réseau peut être mis à jour par la suite • Vous devez être sur qu'il n'y a pas de "Shared Tree" dans l'intervalle SSM - Utilisez "ip pim accept-register' sur le RP • Evite que les sources s'enregistrent dans 232/8 - Utilisez "ip pim accept-rp' sur tous les routeurs • Evite que les (*,G) Join soient traités pour 232/8 - Utilisez "ip msdp sa-redistribute" sur le RP • Stoppe la génération des messages SA dans 232/8 - Utilisez "ip msdp sa-filter" sur les peers MSDP • Evite que les messages SA soient enregistrés dans 232/8
Source Specific Multicast (SSM) - Résumé • Utilise uniquement des "Source Trees" - Les hosts sont responsables de la découverte de la source et du groupe - Les hosts se signalent au routeur par Join (S,G) • Résout les problèmes d'allocation d'adresses multicast - Les flux sont différenciés par le couple Source/Groupe - Les fournisseurs de contenus peuvent utiliser les mêmes intervalles de groupe • Tant que chaque flux (S,G) est unique • Aide à la prévention de certaines attaques DoS - Source de trafic "indésirable": • Ne peut pas consommer de bande passante • Ne sera pas reçue par l'application du host
Extensions du protocole PIM • Source Specific Multicast (SSM) • Bidirectional (Bidir) PIM
Catégories d'applications Multicast • Applications "One-to-Many" - Vidéo, TV, Radio, Concerts,etc.. • Applications "Few-to-Few" - Petites conférences Audio/Vidéo (<10 membres) • Applications "Few-to-Many" - Serveurs TIBCO RV (Edition) • Applications "Many-to-Many" - Jeux, Echanges Boursiers • Applications "Many-to-Few" - Clients TIBCO RV (Abonnements)
Catégories d'applications Multicast Etat PIM-SM (S,G) • Applications "One-to-Many" - Entrée unique (S,G) • Applications "Few-to-Few" - Peu d'entrées (S,G) (<10 typiquement) • Applications "Few-to-Many" • Applications "Many-to-Many" - Nombre d'entrées (S,G) illimité • Applications "Many-to-Few"
Maintenance de l'état du Multicast • Facteurs de charge de CPU - Doit émettre et recevoir les messages "Register" - Doit transmettre les "Join/Prune" périodiques - Doit exécuter le calcul du RPF toutes les 5 secondes • Vérifier le nombre total d'entrées dans la table mroute • La taille de la table de rouage à un impact sur le calcul de RPF • Facteurs de charge Mémoire - Entrée (*,G)~ 380 Octets + Taille de la liste des Interfaces de Sortie - Entrée (S,G)~ 220 Octets + Taille de la liste des Interfaces de Sortie - Taille de la liste des Interfaces de Sortie • Une entrée ~ 150 octets
Problème de l'état "Many-to-Any" • Crée un nombre considérable d'états (S,G) - La maintenance de ces états crée une charge très importante • Le nombre de listes d'Interfaces de Sortie accentue le problème - Les performances du routeur baissent • Utilisation d'arbres partagés uniquement - Permet une certaine réduction des états (S,G) • Aboutit dans des états (S,G) uniquement sur le SPT vers l RP • Toujours trop d'états (S,G) • Besoin d'une solution qui utilise uniquement des états (*,G)
PIM Bidirectionnel (Bidir) • Idée: - Utilise le même arbre pour le trafic des sources vers le RP et des RP vers les Receveurs. • Bénéfices: - Moins d'états dans les routeurs • Seul l'état (*,G) est utilisé • Le trafic des sources suit l'arbre partagé - Remonte dans l'arbre partagé pour atteindre le RP - Descend dans l'arbre partagé pour atteindre tous les autres receveurs
PIM Bidirectionnel (Bidir) • Arbres partagés bidirectionnels - Ne respecte pas la règle (*,G) du RPF • Trafic souvent accepté sur les interfaces de sorties • Il faut prendre soin d'éviter les boucles multicast - Nécessite un "Designated Forwarder" • Responsable de l'acheminement du trafic remontant dans l'arbre partagé - Les DFs accepteront le trafic des interfaces présentes leur Listes d'Interfaces de Sortie - Ils transmettront ensuite ce trafic sur toutes les autres interfaces
PIM Bidirectionnel (Bidir) • Designated Forwarder (DF) - Sur chaque liaison, le routeur avec le meilleur chemin vers le RP est élu pour être DF • Note: Les "Designated Router" (DR) ne sont pas utilisés pour les groupes multicast bidirectionnels. - Le DF est responsable de l'acheminement du trafic amont vers le RP - Pas de traitement spécial requis pour les sources locales
PIM Bidirectionnel (Bidir) Receveur Emetteur/ RP Arbre Partagé
PIM Bidirectionnel (Bidir) Emetteur/ Receveur RP Receveur Le trafic de la source est acheminé bidirectionnellement en utilisant l'état (*,G) Arbre Partagé Trafic de la source Receveur
PIM Bidirectionnel (Bidir) (Exemple Auto-RP) • Définissez les candidats R et les groupes/modes qu'ils doivent servir ip pim send-rp-announce Loopback0 scope 10 group-list 45 bidir ip pim send-rp-announce Loopback1 scope 10 group-list 46 ! Deux interfaces Loopback nécessaires à cause de la nature des ACLs (permit, deny) ip pim send-rp-discovery scope 10 access-list 45 permit 224.0.0.0 0.255.255.255 access-list 45 permit 227.0.0.0 0.255.255.255 ! 224/8 et 227/8 seront des groupes PIM bidir access-list 45 deny 225.0.0.0 0.255.255.255 ! 225/8 sera un groupe PIM Dense Mode access-list 46 permit 226.0.0.0 0.255.255.255 ! 226/8 sera un groupe PIM Sparse Mode
PIM Bidirectionnel (Bidir) - Résumé • Réduit de manière drastique l'état mroute du réseau - Elimine tous les états (S,G) dans le réseau • Les "Sources Path Trees" vers le RP sont éliminés • Le trafic source s'écoule bidirectionnellement dans l'arbre partagé - Permet le dimensionnement d'applications "Many-to-Any" - Permet virtuellement un nombre illimité de sources