Difference between revisions of "Exemples de configuration dans un routeur Cisco"
From Livre IPv6
(New page: =Déploiement multicast IPv6 sur un routeur Cisco (A COMPLETER)= == Contexte == Avec un IOS avancé (de type ipadvance ou ipadventreprise), il est possible d’implémenter une plate-for...) |
(→Contexte) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
Avec un IOS avancé (de type ipadvance ou ipadventreprise), il est possible d’implémenter une plate-forme de multicast IPv6 avec des routeurs Cisco. Concrètement ceci se résume à dire au routeur de gérer le multicast et à configurer des points de rendez-vous. | Avec un IOS avancé (de type ipadvance ou ipadventreprise), il est possible d’implémenter une plate-forme de multicast IPv6 avec des routeurs Cisco. Concrètement ceci se résume à dire au routeur de gérer le multicast et à configurer des points de rendez-vous. | ||
− | Cette page présente également une solution | + | Cette page présente également une solution pour permettre la diffusion de flux multicast à travers un cœur MPLS en étant compatible avec la technologie 6PE. La principale difficulté de réalisation vient du fait que les PE encapsulent les données dans un label suivant l’adresse de destination du paquet. Il s'agit donc de construire une table de routage multicast annexe. |
L’inconvénient de la solution est qu’il est nécessaire d’assigner des adresses IPv6 au routeur P pour monter un réseau parallèle au MPLS. | L’inconvénient de la solution est qu’il est nécessaire d’assigner des adresses IPv6 au routeur P pour monter un réseau parallèle au MPLS. | ||
− | Cette solution utilise des routeurs Cisco avec un IOS 15.0. Il faut au préalable installer un cœur MPLS avec la fonction 6PE avant de lancer la configuration (voir page [[ La_technique_6PE | 6PE ]]). | + | Cette solution utilise des routeurs Cisco avec un IOS 15.0. Il faut au préalable installer un cœur MPLS avec la fonction 6PE avant de se lancer dans la configuration (voir page [[ La_technique_6PE | 6PE ]]). |
== Exemple de configuration multicast IPv6 dans un routeur Cisco == | == Exemple de configuration multicast IPv6 dans un routeur Cisco == | ||
Line 19: | Line 19: | ||
ipv6 pim spt-threshold infinity | ipv6 pim spt-threshold infinity | ||
− | Lorsque la commande ipv6 multicast-routing est rentrée, le routeur va automatiquement configurer le protocole PIM sur chacune de ses interfaces. Il est possible de changer les valeurs par défaut avec les options "ipv6 pim". | + | Lorsque la commande ipv6 multicast-routing est rentrée, le routeur va automatiquement configurer le protocole PIM sur chacune de ses interfaces. Il est possible de changer les valeurs par défaut avec les options "ipv6 pim". Par exemple l'option "ipv6 pim register-source" permet de choisir l'adresse source utilisée par le routeur pour envoyer les messages PIM. Pour que les messages puissent transiter entre les routeurs, il faut donc que les adresses loopback des routeurs transitant le multicast soient dans les tables de routage. L'avantage des interfaces Loopback est qu'elles sont toujours dans l'état "UP", même en cas de débranchement de câbles imprévu. |
− | La configuration de RP est nécessaire même si on utilise la technologie Embedded-RP car le routeur va monter les interfaces tunnels virtuels nécessaire pour le transit des paquets multicast. Il est conseillé | + | La configuration de RP est nécessaire même si on utilise la technologie Embedded-RP car le routeur va monter les interfaces tunnels virtuels nécessaire pour le transit des paquets multicast. Il est conseillé d'utiliser les interfaces Loopback pour jouer le rôle de RP pour les mêmes raisons évoquées dans le paragraphe précédent. Les commandes ci-dessus suffisent pour le cas où le routeur doit jouer le rôle de RP. |
Si on utilise les adresses multicast temporaires, on peut utiliser des access-list qui vont choisir le point de rendez-vous suivant l'adresse du flux. | Si on utilise les adresses multicast temporaires, on peut utiliser des access-list qui vont choisir le point de rendez-vous suivant l'adresse du flux. | ||
Line 36: | Line 36: | ||
Pour voir la table de routage multicast, il faut entrer la commande "show ipv6 mroute". Par exemple : | Pour voir la table de routage multicast, il faut entrer la commande "show ipv6 mroute". Par exemple : | ||
− | R38-PE-2# | + | R38-PE-2#sh ipv6 mroute |
Multicast Routing Table | Multicast Routing Table | ||
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, | Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, | ||
Line 44: | Line 44: | ||
Timers: Uptime/Expires | Timers: Uptime/Expires | ||
Interface state: Interface, State | Interface state: Interface, State | ||
− | (*, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00: | + | (*, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:04:14/00:03:13, RP 2001:4C18:20::2, flags: SC |
Incoming interface: Tunnel1 | Incoming interface: Tunnel1 | ||
RPF nbr: 2001:4C18:20::2 | RPF nbr: 2001:4C18:20::2 | ||
Immediate Outgoing interface list: | Immediate Outgoing interface list: | ||
− | GigabitEthernet0/0, Forward, 00: | + | GigabitEthernet0/0, Forward, 00:04:14/never |
− | GigabitEthernet0/1, Forward, 00: | + | GigabitEthernet0/1, Forward, 00:04:12/00:03:13 |
− | (2001:4C18:20:1:221:86FF:FE52:D383, FF7E:240:2001:4C18:20:0:FFFF:FFFF), | + | (2001:4C18:20:1:221:86FF:FE52:D383, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 01:06:40/00:03:29, flags: SJ |
Incoming interface: Loopback6 | Incoming interface: Loopback6 | ||
RPF nbr: FE80::213:C3FF:FE7D:2110 | RPF nbr: FE80::213:C3FF:FE7D:2110 | ||
Inherited Outgoing interface list: | Inherited Outgoing interface list: | ||
− | GigabitEthernet0/0, Forward, 00: | + | GigabitEthernet0/0, Forward, 00:04:14/never |
− | GigabitEthernet0/1, Forward, 00: | + | GigabitEthernet0/1, Forward, 00:04:12/00:03:13 |
− | (2001:4C18:20:2:21A:4BFF:FE63:3894, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00: | + | (2001:4C18:20:2:21A:4BFF:FE63:3894, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:04:11/00:02:48, flags: SFJT |
Incoming interface: GigabitEthernet0/0 | Incoming interface: GigabitEthernet0/0 | ||
RPF nbr: 2001:4C18:20:2:21A:4BFF:FE63:3894 | RPF nbr: 2001:4C18:20:2:21A:4BFF:FE63:3894 | ||
Inherited Outgoing interface list: | Inherited Outgoing interface list: | ||
− | GigabitEthernet0/1, Forward, 00:00: | + | GigabitEthernet0/1, Forward, 00:04:12/00:03:13 |
+ | (2001:4C18:20:3:250:56FF:FEA5:4262, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:03:39/00:03:29, flags: SJ | ||
+ | Incoming interface: Loopback6 | ||
+ | RPF nbr: FE80::213:C3FF:FE7D:2110 | ||
+ | Inherited Outgoing interface list: | ||
+ | GigabitEthernet0/0, Forward, 00:04:14/never | ||
+ | GigabitEthernet0/1, Forward, 00:04:12/00:03:13 | ||
== Exemple de configuration multicast IPv6 dans un cœur MPLS == | == Exemple de configuration multicast IPv6 dans un cœur MPLS == | ||
− | + | Dans un cœur MPLS, il n'est pas nécessaire d'assigner des adresses IPv6 sur les interfaces entre les routeurs PE et P. Or, si l'interface n'a pas d'adresse IPv6, le routeur ne va pas implémenter le protocole PIM sur elle, ce qui rend l'échange de messages PIM impossible même si on utilise les adresses Loopbacks. | |
− | Ici, le protocole OSPF a été choisi pour sa simplicité d'implémentation. Voici | + | C'est pourquoi dans notre cas, il faut monter un réseau parallèle dédié au multicast IPv6. Tous les échanges entre les adresses Unicast seront encapsulés dans des labels et transiteront par le cœur MPLS alors que les flux multicast transiteront directement. Pour cela Il faut assigner des adresses IPv6 à chaque interconnexion entre les PEs et les routeurs P et à chaque Loopback des routeurs. Ensuite il est nécessaire d’implémenter un protocole de routage dynamique pour construire la table de routage que les messages PIM utiliseront lors de la construction de l’arbre multicast. |
+ | |||
+ | Ici, le protocole OSPF a été choisi pour sa simplicité d'implémentation. Voici la configuration retenue dans notre exemple : | ||
ipv6 router ospf 1 | ipv6 router ospf 1 | ||
Line 73: | Line 81: | ||
! | ! | ||
− | Pour le "router-id", il suffit de mettre l'adresse IPv4 de la Loopback. Ensuite il faut | + | Pour le "router-id", il suffit de mettre l'adresse IPv4 de la Loopback. Ensuite il faut appliquer le protocole sur chaque interface où on veut que l'adresse soit partagée : |
interface GigabitEthernet0/1 | interface GigabitEthernet0/1 | ||
− | + | description Vers_le_routeur_P | |
ip address 192.168.11.2 255.255.255.0 | ip address 192.168.11.2 255.255.255.0 | ||
ip router isis | ip router isis | ||
Line 90: | Line 98: | ||
! | ! | ||
− | + | On voit bien dans cette configuration le parallélisme entre le cœur MPLS et le réseau multicast. Suivant la destination et le type du paquet, l'interface va encapsuler ou non le paquet. | |
+ | Le réseau Multicast doit donc ressembler à ça : | ||
[[Image:ArchiOSPFoverMPLS.jpg|thumb|center|600px|Figure 11-1 ''Configuration OSPF'']] | [[Image:ArchiOSPFoverMPLS.jpg|thumb|center|600px|Figure 11-1 ''Configuration OSPF'']] | ||
− | Et le | + | Et pour le coeur MPLS on a : |
[[Image:ArchiMPLS.jpg|thumb|center|600px|Figure 11-1 ''Architecture cœur MPLS'']] | [[Image:ArchiMPLS.jpg|thumb|center|600px|Figure 11-1 ''Architecture cœur MPLS'']] | ||
− | == Autres solutions == | + | == Défauts et difficultés éventuelles de mise en œuvre == |
+ | |||
+ | L'architecture retenue ressemble plus à une solution temporaire que définitive avec ces 2 réseaux en parallèle. Elle présente en effet plusieurs inconvénients. D'une part, l'intérêt d'un cœur MPLS diminue puisque l'IPv6 doit être implémenté dans le routeur P. Le rôle principal du MPLS est de pouvoir transiter des paquets avec n'importe quel protocole. D'autre part, 2 réseaux doivent être gérés en même temps, ce qui pose des problèmes de mise en œuvre puisqu'un problème sur un réseau peut se répercuter sur l'autre. | ||
+ | |||
+ | |||
+ | == Autres solutions à venir == | ||
L’utilisation de 6vPE peut être une solution définitive. Le principe de 6vPE repose sur l’établissement de vrf (voir [[Réseaux_privés_virtuels_IPv6_sur_MPLS | 6vPE]]). Il n’est pas possible aujourd’hui de configurer des RP dans une vrf. Du coup comme les clients viennent des interfaces incluses dans une vrf, le RP ne voit pas la demande d’inscription du client. Par contre, pour l’IPv4, les routeurs cisco offrent déjà des fonctionnalités bien plus compatibles avec le multicast puisqu’on peut configurer un RP dans une vrf. Il faut donc attendre une mise-à-jour de Cisco pour peut-être offrir une solution d’architecture où le routeur P n’a pas besoin d’implémenter d’interface IPv6. | L’utilisation de 6vPE peut être une solution définitive. Le principe de 6vPE repose sur l’établissement de vrf (voir [[Réseaux_privés_virtuels_IPv6_sur_MPLS | 6vPE]]). Il n’est pas possible aujourd’hui de configurer des RP dans une vrf. Du coup comme les clients viennent des interfaces incluses dans une vrf, le RP ne voit pas la demande d’inscription du client. Par contre, pour l’IPv4, les routeurs cisco offrent déjà des fonctionnalités bien plus compatibles avec le multicast puisqu’on peut configurer un RP dans une vrf. Il faut donc attendre une mise-à-jour de Cisco pour peut-être offrir une solution d’architecture où le routeur P n’a pas besoin d’implémenter d’interface IPv6. |
Latest revision as of 11:28, 4 January 2010
Contents
Déploiement multicast IPv6 sur un routeur Cisco (A COMPLETER)
Contexte
Avec un IOS avancé (de type ipadvance ou ipadventreprise), il est possible d’implémenter une plate-forme de multicast IPv6 avec des routeurs Cisco. Concrètement ceci se résume à dire au routeur de gérer le multicast et à configurer des points de rendez-vous.
Cette page présente également une solution pour permettre la diffusion de flux multicast à travers un cœur MPLS en étant compatible avec la technologie 6PE. La principale difficulté de réalisation vient du fait que les PE encapsulent les données dans un label suivant l’adresse de destination du paquet. Il s'agit donc de construire une table de routage multicast annexe. L’inconvénient de la solution est qu’il est nécessaire d’assigner des adresses IPv6 au routeur P pour monter un réseau parallèle au MPLS.
Cette solution utilise des routeurs Cisco avec un IOS 15.0. Il faut au préalable installer un cœur MPLS avec la fonction 6PE avant de se lancer dans la configuration (voir page 6PE ).
Exemple de configuration multicast IPv6 dans un routeur Cisco
Voici les commandes à entrer en mode "configuration globale" :
ipv6 multicast-routing ipv6 pim rp-address 2001:4C18:20::1 ipv6 pim register-source Loopback6 ipv6 pim spt-threshold infinity
Lorsque la commande ipv6 multicast-routing est rentrée, le routeur va automatiquement configurer le protocole PIM sur chacune de ses interfaces. Il est possible de changer les valeurs par défaut avec les options "ipv6 pim". Par exemple l'option "ipv6 pim register-source" permet de choisir l'adresse source utilisée par le routeur pour envoyer les messages PIM. Pour que les messages puissent transiter entre les routeurs, il faut donc que les adresses loopback des routeurs transitant le multicast soient dans les tables de routage. L'avantage des interfaces Loopback est qu'elles sont toujours dans l'état "UP", même en cas de débranchement de câbles imprévu.
La configuration de RP est nécessaire même si on utilise la technologie Embedded-RP car le routeur va monter les interfaces tunnels virtuels nécessaire pour le transit des paquets multicast. Il est conseillé d'utiliser les interfaces Loopback pour jouer le rôle de RP pour les mêmes raisons évoquées dans le paragraphe précédent. Les commandes ci-dessus suffisent pour le cas où le routeur doit jouer le rôle de RP.
Si on utilise les adresses multicast temporaires, on peut utiliser des access-list qui vont choisir le point de rendez-vous suivant l'adresse du flux.
Voici un exemple d'utilisation d'access-list :
ipv6 pim rp-address 2001:4C18:20::1 list1 ipv6 pim rp-address 2001:4C18:20::2 list2 ipv6 access-list list1 sequence 20 permit ipv6 any FF1E:40:2001:4C18:20:1::/96 ipv6 access-list list2 sequence 20 permit ipv6 any FF1E:40:2001:4C18:20:2::/96
Pour tester les configurations, on peut voir les messages PIM échangés entre les routeurs grâce à la commande "debug ipv6 pim". Pour quitter ce mode, il suffit de rentrer "no debug ipv6 pim". Pour voir la table de routage multicast, il faut entrer la commande "show ipv6 mroute". Par exemple :
R38-PE-2#sh ipv6 mroute Multicast Routing Table Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected, L - Local, I - Received Source Specific Host Report, P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, State (*, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:04:14/00:03:13, RP 2001:4C18:20::2, flags: SC Incoming interface: Tunnel1 RPF nbr: 2001:4C18:20::2 Immediate Outgoing interface list: GigabitEthernet0/0, Forward, 00:04:14/never GigabitEthernet0/1, Forward, 00:04:12/00:03:13 (2001:4C18:20:1:221:86FF:FE52:D383, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 01:06:40/00:03:29, flags: SJ Incoming interface: Loopback6 RPF nbr: FE80::213:C3FF:FE7D:2110 Inherited Outgoing interface list: GigabitEthernet0/0, Forward, 00:04:14/never GigabitEthernet0/1, Forward, 00:04:12/00:03:13 (2001:4C18:20:2:21A:4BFF:FE63:3894, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:04:11/00:02:48, flags: SFJT Incoming interface: GigabitEthernet0/0 RPF nbr: 2001:4C18:20:2:21A:4BFF:FE63:3894 Inherited Outgoing interface list: GigabitEthernet0/1, Forward, 00:04:12/00:03:13 (2001:4C18:20:3:250:56FF:FEA5:4262, FF7E:240:2001:4C18:20:0:FFFF:FFFF), 00:03:39/00:03:29, flags: SJ Incoming interface: Loopback6 RPF nbr: FE80::213:C3FF:FE7D:2110 Inherited Outgoing interface list: GigabitEthernet0/0, Forward, 00:04:14/never GigabitEthernet0/1, Forward, 00:04:12/00:03:13
Exemple de configuration multicast IPv6 dans un cœur MPLS
Dans un cœur MPLS, il n'est pas nécessaire d'assigner des adresses IPv6 sur les interfaces entre les routeurs PE et P. Or, si l'interface n'a pas d'adresse IPv6, le routeur ne va pas implémenter le protocole PIM sur elle, ce qui rend l'échange de messages PIM impossible même si on utilise les adresses Loopbacks.
C'est pourquoi dans notre cas, il faut monter un réseau parallèle dédié au multicast IPv6. Tous les échanges entre les adresses Unicast seront encapsulés dans des labels et transiteront par le cœur MPLS alors que les flux multicast transiteront directement. Pour cela Il faut assigner des adresses IPv6 à chaque interconnexion entre les PEs et les routeurs P et à chaque Loopback des routeurs. Ensuite il est nécessaire d’implémenter un protocole de routage dynamique pour construire la table de routage que les messages PIM utiliseront lors de la construction de l’arbre multicast.
Ici, le protocole OSPF a été choisi pour sa simplicité d'implémentation. Voici la configuration retenue dans notre exemple :
ipv6 router ospf 1 router-id 192.168.127.1 log-adjacency-changes detail !
Pour le "router-id", il suffit de mettre l'adresse IPv4 de la Loopback. Ensuite il faut appliquer le protocole sur chaque interface où on veut que l'adresse soit partagée :
interface GigabitEthernet0/1 description Vers_le_routeur_P ip address 192.168.11.2 255.255.255.0 ip router isis duplex auto speed auto media-type rj45 ipv6 address 2001:4C18:2C:1::2/64 ipv6 enable ipv6 ospf 1 area 0 mpls label protocol ldp mpls ip ! !
On voit bien dans cette configuration le parallélisme entre le cœur MPLS et le réseau multicast. Suivant la destination et le type du paquet, l'interface va encapsuler ou non le paquet. Le réseau Multicast doit donc ressembler à ça :
Et pour le coeur MPLS on a :
Défauts et difficultés éventuelles de mise en œuvre
L'architecture retenue ressemble plus à une solution temporaire que définitive avec ces 2 réseaux en parallèle. Elle présente en effet plusieurs inconvénients. D'une part, l'intérêt d'un cœur MPLS diminue puisque l'IPv6 doit être implémenté dans le routeur P. Le rôle principal du MPLS est de pouvoir transiter des paquets avec n'importe quel protocole. D'autre part, 2 réseaux doivent être gérés en même temps, ce qui pose des problèmes de mise en œuvre puisqu'un problème sur un réseau peut se répercuter sur l'autre.
Autres solutions à venir
L’utilisation de 6vPE peut être une solution définitive. Le principe de 6vPE repose sur l’établissement de vrf (voir 6vPE). Il n’est pas possible aujourd’hui de configurer des RP dans une vrf. Du coup comme les clients viennent des interfaces incluses dans une vrf, le RP ne voit pas la demande d’inscription du client. Par contre, pour l’IPv4, les routeurs cisco offrent déjà des fonctionnalités bien plus compatibles avec le multicast puisqu’on peut configurer un RP dans une vrf. Il faut donc attendre une mise-à-jour de Cisco pour peut-être offrir une solution d’architecture où le routeur P n’a pas besoin d’implémenter d’interface IPv6.