UNIVERSITÉ DE MARNE LA VALLÉE - UFR INGENIEURS 2000
Travaux Pratiques Multicast
Rapport
DIOP Ngoné
ESSAIDI Abderrahim
04/01/2007
Ce document présente la mise en œuvre du multicast sur un réseau de type internet simulé par un
réseau miniature composés de routeurs interconnectés.
Sommaire
Introduction ............................................................................................................................................. 3
1. Installation ....................................................................................................................................... 4
1.1 Installation du réseau .............................................................................................................. 4
1.2 Configuration des interfaces ................................................................................................... 4
1.3 Tests minimaux ........................................................................................................................ 5
2. Configuration des routeurs en OSPF ............................................................................................... 6
2.1 Configuration des routeurs ..................................................................................................... 6
2.2 Tests du routage OSPF ............................................................................................................. 6
3. Multicasting ..................................................................................................................................... 8
3.1 Définition ................................................................................................................................. 8
3.2 Configuration IGMP ................................................................................................................. 8
3.3 Tables de routage Multicast .................................................................................................. 12
3.4 Mise en place du Dense Mode .............................................................................................. 13
3.5 Mise en place du Sparse Mode avec RP manuel ................................................................... 15
Conclusion ............................................................................................................................................. 18
Introduction
Ce TP à pour but l’apprentissage à paramétrer des routeurs Cisco pour mettre en place le routage IP
multicast.
1. Installation
1.1 Installation du réseau
Chaque personne du TP dispose d’un routeur (ou d’un switch) et d’un poste utilisateur.
On connecte les postes à la patte Ethernet des routeurs et aux switchs à l’aide de câbles Ethernet.
On relie les routeurs entre eux en employant des câbles DTE et DCE.
1.2 Configuration des interfaces
On attribue à une adresse IP à chaque poste de la manière suivante :
#Ifconfig eth0 128.25.2.1 netmask 255.255.0.0 // Abder
#Ifconfig eth0 128.1.1.1 netmask 255.255.0.0 // Ngoné
Aux interfaces des routeurs de la manière suivante. On configure également les adresses de loopback
de chaque router qui servira de router id.
- Pour le router1 (Ngoné), on aura :
r1#configure terminal r1(config)#interface e0 r1(config-if)#ip address 128.1.1.2 255.255.0.0 r1(config-if)#no shutdown r1(config)#interface s0 r1(config-if)#ip address 10.1.0.1 255.255.0.0 r1(config-if)#clock rate 6400 r1(config-if)#no shutdown r1(config)#interface s1 r1(config-if)#ip address 10.3.0.3 255.255.0.0 r1(config-if)#clock rate 6400 r1(config-if)#no shutdown r1(config-if)#ctrl-Z r1#
- Pour le router 2 (Abder), on aura :
r2#configure terminal r2(config)#interface e0 r2(config-if)#ip address 128.25.2.2 255.255.0.0 r2(config-if)#no shutdown r2(config)#interface s1 r2(config-if)#ip address 10.1.0.2 255.255.0.0 r2(config-if)#no shutdown r2(config)#interface s0 r2(config-if)#ip address 10.2.0.2 255.255.0.0 r2(config-if)#no shutdown r2(config-if)#ctrl-Z r2#
1.3 Tests minimaux A ce niveau du TP nous testons uniquement que deux postes reliés à un même switch peuvent se
pinger. De même les postes et les interfaces des routeurs auxquelles ils sont connectés peuvent se
pinger.
Dans le chapitre suivant, nous allons mettre en place le routage OSPF et on sera en mesure de
communiquer avec toutes les machines du réseau.
2. Configuration des routeurs en OSPF
2.1 Configuration des routeurs
Pour chaque routeur, on lance le process ospf et on indique les réseaux concernés.
Pour le router1 (Ngoné), on aura :
r1#configure terminal r1(config)#router ospf 10 r1(config)# network 10.3.0.0 255.255.255.0 area 0.0 .0.0 r1(config)# network 10.1.0.0 255.255.255.0 area 0.0 .0.0 r1(config)# network 128.1.0.0 255.255.255.0 area 0. 0.0.0 r1#
Pour le router 2 (Abder), on aura :
r2#configure terminal r2(config)#router ospf 20 r2(config)# network 10.2.0.0 255.255.255.0 area 0.0 .0.0 r2(config)# network 10.1.0.0 255.255.255.0 area 0.0 .0.0 r2(config)# network 128.25.0.0 255.255.255.0 area 0 .0.0.0 r2#
2.2 Tests du routage OSPF
On s’assure depuis chaque poste de pouvoir joindre toutes les machines du réseau en effectuant un
ping à destination de leur adresses IP.
Par exemple depuis le poste n°2 qui possède l’adresse IP 128.25.2.1 on ping les 5 autres machines :
128.1.1.1 128.34.3.1 128.34.4.1 128.25.5.1 128.6.6.1
3. Multicasting
3.1 Définition Le multicasting est le fait d’envoyer à partir d’une source la même information à des destinataires
multiples. Pour réaliser cette tâche, il convient d’éviter d’envoyer les paquets plusieurs fois (unicast,
broadcast,).
La solution la plus optimale est d’envoyer les paquets en multicast, c'est-à-dire un envoi limité aux
seuls stations intéressées. Ces machines s’abonnent à une adresse de groupe pour monter leur
intérêt.
La mise en œuvre nécessite alors de résoudre au préalable deux problèmes
- Il faut découvrir tous les groupes abonnés. Ce travail est effectué par IGMP
- Il faudra créer une arborescence qui va permettre de supprimer les boucles. Ce travail est
effectué par les algorithmes de routage multicast (dans ce TP, PIM est étudié en Dense Mode
et Sparse Mode).
Noter que les adresses 224.X.X.X sont des groupes administratifs. Les clients s’abonnent
- - 224.0.0.1 Tous les groupes
- - 224.1.0.40 Fonction cisco Auto-RP
3.2 Configuration IGMP
3.2.1 Configuration du router
Pour activer IGMP sur le routeur, il suffit de taper la commande ip mulicast-routing et d’activer un
algorithme sur chaque interface comme ceci :
r1(config)#ip mulicast-routing r1(config)#interface e0 r1(config-if)#ip pim sparse-mode ...
Notons que l'interface de loopback ne sert que pour ospf (router id)
Les routeurs assurent ici le routage de trames multicast venant d'une source unique (la fonction
serveur) et allant vers de multiples destinataires (ceux du groupe - les clients). Les clients
appartiennent par abonnement aux groupes : les émetteurs n'ont pas à s'enregistrer.
3.2.2 Les commandes de consultation
Commande1 :r1#show ip igmp interface e0 : Cette commande nous donne plusieurs informations
sur une interface donnée.
Item Commentaire
- IGMP query interval is 60 seconds
réitère toutes les 60 secondes (envoie un general
query)
- IGMP max query response time is 10 seconds
Chaque routeur génère un aléatoire 10s avant de
répondre
- Multicast designated router (DR) is 128.1.1.2
Lorsqu'une source émet des trames multicasts vers
les 2 routeurs adjacents, il peut y avoir doublons.
Pour les éviter, un seul routeur est désigné pour
router du multicast : le Designated router. C’est le
routeur qui a la l’adresse IP la plus haute. Notre
routeur est donc le DR.
- IGMP querying router is 128.1.1.2 (this system)
Le quierier est utile dans le cas où il y a deux
routeurs sur le même réseau : un seul des deux
effectuera le general query : le querier. C’est le
routeur qui a l’adresse IP la plus basse des deux. Le
routeur en face (Abder) est donc le querrier.
Adresse IP la plus basse.
- IGMP querier timeout is 120 seconds
L'autre se contente d'écouter. Si au bout de 120s,
l'autre n'entend plus, il prend la relève.
Commande2 : r1#show ip igmp groups : Cette commande permet de voir la liste des groupes qui ont
été découvert par le routeur. Les colonnes du résultat sont les suivantes :
Colonne Commentaire
Group Address L'adresse du groupe concerné
Interface L'interface d'écoute du routeur
Expires Une date d’expiration de cette information
Last Reporter
3.2.3 Utilisation des commandes
- Regardons les informations à l’aides des commandes décrites ci-dessus
r1#show ip igmp interface e0 Ethernet0 is up, line protocol is up Internet address is 128.1.1.2, subnet mask is 255 .255.0.0 IGMP is enabled on interface CGMP is disabled on interface Current IGMP version is 2 IGMP query interval is 60 seconds IGMP querier timeout is 120 seconds IGMP max query response time is 10 seconds Inbound IGMP access group is not set Multicast routing is enabled on interface Multicast TTL threshold is 0 Multicast designated router (DR) is 128.1.1.2 (th is system) IGMP querying router is 128.1.1.2 (this system) Multicast groups joined: 224.0.1.40 r1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Exp ires Last Reporter 224.0.1.40 Ethernet0 00:39:39 nev er 128.1.1.2 230.100.100.1 Ethernet0 00:00:13 00: 02:46 128.1.1.1 ** Disparition de group IGMP: Received Leave from 128.1.1.1 (Ethernet0) for 230.100.100.1 => quand le client quitte ** Décrémentation des Expires times r1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Exp ires Last Reporter 224.0.1.40 Ethernet0 00:40:12 nev er 128.1.1.2 230.100.100.1 Ethernet0 00:00:46 00: 00:00 128.1.1.1 r1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Exp ires Last Reporter 224.0.1.40 Ethernet0 00:40:13 nev er 128.1.1.2 230.100.100.1 Ethernet0 00:00:47 now 128.1.1.1 r1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Exp ires Last Reporter 224.0.1.40 Ethernet0 00:40:14 nev er 128.1.1.2 r1# IGMP: Deleting 230.100.100.1 on Ethernet0 r1#show ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Exp ires Last Reporter 224.0.1.40 Ethernet0 00:40:31 nev er 128.1.1.2 r1#
- Découverte des groupes
Le message ci-dessous s’est intempestivement affiché à l’écran lorsque le client sur le poste 1
(128.1.1.1) a été lancé. Le routeur ne voit que ce seul membre puisque c’est la seule la machine
présente ici. On voit d’ailleurs lorsqu’il s’enregistre au lancement de son client.
IGMP: Received v2 Report from 128.1.1.1 (Ethernet0) for 230.100.100.1
- Analyse
Le premier test avec le Sparse Mode ne permet pas de voir tous les groupes. En effet, on ne voit que
le groupe local sur l'interface Ethernet. Les autres machines connectées par l’intermédiaire d’un
switch voient un peu plus de groupes mais ne voient pas tous les groupes.
L’explication est simple, le Sparse Mode classique sans rendez-vous point ici ne permet pas de voir
les groupes hors du réseau local puisque celui-ci s’arrête à la couche 2.
Nous verrons par la suite avec la mise en place d’un RP et le Dense Mode.
3.3 Tables de routage Multicast
Pour tester notre configuration on vérifie que les routeurs ont pris en compte la découverte de
groupes multicast, on effectue les actions suivantes :
- Arrêter toutes les applications java (clients et serveurs)
- Effacer les tables de routage :
r1#clear ip mroute *
- Analyse des tables de routage
r1(config-if)#show ip mroute
Cette commande affiche la table de routage multicast.
(*,G) groupes connus du routeur
(S,G) groupes connus + S sources actives
Incominginterface : l’interface par laquelle on s’attends à recevoir les paquets depuis la source
Outgoinginterface : interfaces sur lesquelles le flux est diffusé
Flags: Les flagsdonnent des renseignements précis sur la gestion des groupes :
- D – Dense Mode
- S – Sparse Mode
- C – Connected : veut dire que directement connecté au réseau
- L – Local
- P – Pruned : branche élagué avec l’algorithme
- R - RP-bit set
- F - Register flag
- T - SPT-bit set
- J - Join SPT
3.4 Mise en place du Dense Mode Le Dense Mode est à utiliser dans le cadre de client (groupes) concentrés avec une grande bande
passante, de façon à éviter au maximum le flooding.
Contrairement au Sparse Mode qui crée son arbre au fur et à mesure, ici on commence avec arbre
complet. Au fur et à mesure, on élague des branches. Quand un nouveau routeur se présente, on
demande d'annuler le délagage avec un graft.
- Activation du Dense Mode
Il est nécessaire de faire la manœuvre suivant sur chaque interface pour activer le Dense Mode sur
notre réseau.
r1#conf t r1(config)#infterface e0 r1(config-if)#no ip pim sparse-mode pour chaque int erface r1(config-if)#ip pim dense-mode ….
- Consultons la table de routage
r1#show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Lo cal, P - Pruned R - RP-bit set, F - Register flag, T - SPT-b it set, J - Join SPT Timers: Uptime/Expires Interface state: Interface, Next-Hop, State/Mode (*, 224.0.1.40), 00:33:47/00:00:00, RP 0.0.0.0, fla gs: DJCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:33:25/00:00:00 Serial1, Forward/Dense, 00:33:47/00:00:00 (*, 230.100.100.3), 00:30:48/00:02:58, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet0, Forward/Dense, 00:02:46/00:00:00 Serial1, Forward/Dense, 00:30:48/00:00:00 Serial0, Forward/Dense, 00:30:48/00:00:00 (128.6.6.1/32, 230.100.100.3), 00:01:53/00:02:59, f lags: CT Incoming interface: Serial1, RPF nbr 10.3.0.3 Outgoing interface list: Serial0, Prune/Dense, 00:01:53/00:01:08 Ethernet0, Forward/Dense, 00:01:53/00:00:00 (128.25.2.1/32, 230.100.100.3), 00:02:43/00:02:59, flags: CT Incoming interface: Serial1, RPF nbr 10.3.0.3 Outgoing interface list: Serial0, Prune/Dense, 00:02:44/00:00:26
Ethernet0, Forward/Dense, 00:02:45/00:00:00 r1# Serial0, Prune/Dense, 00:01:53/00:01:08 => veut dir e que le lien avec abder a été élagué. Mais on voit avec la table suivante que le "pruned" a été enleve. ça s'est fait après uen remise à zéro (*, 230.100.100.3), 00:46:16/00:02:58, RP 0.0.0.0, flags: DJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet0, Forward/Dense, 00:18:14/00:00:00 Serial1, Forward/Dense, 00:46:16/00:00:00 Serial0, Forward/Dense, 00:46:16/00:00:00
- Analysons à present
On remarque que certaines branches ont été élaguées, ce qui fait que pour envoyer un paquet
venant de Abder, le paquet passe tout autour du réseau pour me revenir. (Voir schéma des mroute
de dense mode).
3.5 Mise en place du Sparse Mode avec RP manuel
3.5.1 Généralités
Shared tree :
Eclaté à partir du RP (rendez-vous point) vers un groupe particulier pour toutes les sources
A partir du RP, on peut faire du multicast natif par ce que les nœuds sont renseigné.
Scénario :
- Un émetteur isolé derrière un routeur R4 (groupe 3)
- des recepteurs (groupes) dans l'arbre partagée (après balisage et joins) derrriere les routeurs R1, R2
et R3
Pour émettre un paquet l'émetteur :
- Doit atteindre le rendez-vous point depuis l'émetteur, on n'a pas de chemin multicast, on encapsule
dans un paquet unicast et on envoie en unicast jusqu'au RP
- Le RP dés-encapsule la trame multicast et l'envoie via le Shared Tree dans lequel tous les routeurs
connaissent le routage multicast.
- La réception du register par le RP déclenche l'envoi d'un join 128.1.1.1, grp3 jusqu'au routeur isolé
- Dès que le join arrive, on construit un chemin multicast spécifique : Création des mroute pour le
Source Specific Tree
Par la suite, les trames reçus de l'émetteur par R4 sont envoyés en doublon
-> une en unicast encapsulé dans du multicast
-> une en multicast (natif) par le chemin specific tree
Ainsi, le RP jette les trames encapsulées en unicast.
-> route les trames natives vers le Shared tree
-> envoie à R4 un stop register pour que celui-ci émette en multicast uniquement dorénavant
Un meilleur chemin :
- R1, un routeur qui cache des groupes a reçu plusieurs trames de couple 128.1.1.1, grp3 via le
Shared tree. Il regarde s’l existe un meilleur chemin unicast pour la source 128.1.1.1
Si il en existe un, il envoie un join pour (128.1.1.1, grp3) jusqu'à R4 pour construire les mroutes du
Shortest PathTree.
Il enverra également une demande de d’élagage (Prume) sur le Shared Tree pour d’élagage
(128.1.1.1, grp3)
Le Sparse Mode est moins gourmand que le Dense mode puisqu'on a le chemin le plus cours après
un certain temps.
3.5.2 Configuration des interfaces
Il est nécessaire de faire la manœuvre suivant sur chaque interface pour activer le Dense Mode sur
notre réseau.
r1(config-if)#interface e0 r1(config-if)#no ip pim dense-mode r1(config-if)#ip pim sparse-mode ...
3.5.3 Configuration du rendez-vous point
Ici, le rendez-vous point est spécifié manuellement sur tous les routeurs.
r1(config)#ip pim rp-address 128.34.3.2 r1(config)# %AUTORP-5-MAPPING: RP for 224.0.1.39/32 is now 128. 34.3.2 %AUTORP-5-MAPPING: RP for 224.0.1.40/32 is now 128. 34.3.2 r1(config)#
3.5.4 Que se passe t-il avant lancement du serveur ?
r1#show ip mroute (*, 230.100.100.1), 00:08:45/00:02:25, RP 128.34.3. 2, flags: SJC Incoming interface: Serial1, RPF nbr 10.3.0.3 Outgoing interface list: Ethernet0, Forward/Sparse, 00:08:46/00:02:25
Signification des flags SJC :
-> 'C' = connected (connecté)
-> 'J' = joined (join)
-> 'P' = Pruned (élagué)
3.5.5 Que se passe t-il après lancement du serveur ?
r1#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
Timers: Uptime/Expires
Interface state: Interface, Next-Hop, State/Mode
(*, 224.0.1.40), 02:30:34/00:00:00, RP 128.34.3.2, flags: SJCL
Incoming interface: Serial1, RPF nbr 10.3.0.3
Outgoing interface list:
Ethernet0, Forward/Sparse, 00:20:33/00:02:00
(*, 230.100.100.1), 00:15:14/00:02:59, RP 128.34.3.2, flags: SJC
Incoming interface: Serial1, RPF nbr 10.3.0.3
Outgoing interface list:
Ethernet0, Forward/Sparse, 00:15:15/00:01:54
(128.6.6.1/32, 230.100.100.1), 00:02:35/00:02:59, flags: CJT
Incoming interface: Serial1, RPF nbr 10.3.0.3
Outgoing interface list:
Ethernet0, Forward/Sparse, 00:02:35/00:01:54
Voici les différentes « mroutes » affichées par chacun des routeurs :
Routeur Incoming interface Outgoing interface Flags
R6 eth0 s0, s1 F : Register
T : Shortest path Tree (phase
3, route plus direct)
R5 s0 e0 C : connected
T : shortest path tree
R4 S1 e0 T : shortest path tree
R3 e0 s0
R1 (ngoné) s1 e0 C : connected
J : join
T : SPT
R1 (abder) s0 null P : Pruned
Conclusion
Ce TP nous a permis d’apprendre à paramétrer des routeurs Cisco pour la mise en place du routage
IP multicast. Cependant, par manque de temps, nous n’avons pu mettre en place le SPARSE MODE
avec RP automatique.