Multicast - Protocoles de Routage
Multicast - Protocoles de Routage
Multicast - Protocoles de Routage
protocoles de routage
Multicast
❍ Création
• 1996 Bernard RAPACCHI, Bernard TUY
Page 1
Plan
❍ Définitions
❍ Exemples d'applications
❍ Notions générales
❍ Le MBONE
❍ Les Protocoles
• IGMP
• DVMRP
• PIM
❍ Organisation du routage sur un site
• principes et recommandations
• exemple
Définitions
❍ Multicast = Multipoint
Page 2
Exemple : téléséminaire
Téléséminaire (2)
224.2.0.1
Page 3
Types d’applications Multicast
Multicast : généralités
Page 4
Multicast : généralités
❍ les hôtes disent aux routeurs de quels groupes ils sont membres
• et ne recoivent que les datagrammes de ces groupes
• ils ne disent rien sur les groupes multicast auxquels ils envoient
des informations
❍ les routeurs doivent écouter toutes les adresses multicast
• pour etre capables de transmettre les datagrammes multicast
❍ les routeurs utilisent des protocoles de routage multicast pour
administrer les groupes multicast
le MBone
Page 5
le MBone (2)
❍ Topologie :
• interconnexion des ilots multicast
– par des « mrouteurs »
– à travers des tunnels
• en étoile au niveau du réseau de site
La topologie du MBone
routeur
multicast
Pont
Routeur IP
Page 6
La topologie du MBone (2)
routeur
multicast
routeur
multicast
routeur
multicast
Tu
nn
e lm
ul
ti c
as
t
routeur
multicast
Page 7
Tunnels IP
❍ On détruit le paquet si :
• Si TTL < 2
• pas de route
• Paquet reçu sur une interface non-RPF
• Destination = 224.0.0.{1,2}
Page 8
Notions d’adressage multicast
❍ Adresses de classe A, B, C ...
❍ et D : 224.0.0.0 à 239.255.255.255
Page 9
Envoi de paquets
Octet 0 Octet 5
- - - - - - X Y
Page 10
Les adresses IEEE 802.3 et le multicast (2)
224.2.0.1
Application
UDP
inchangé
IP
Ethernet 02 00 01
mapping 0x 01 00 5E ______________________________
23 bits de droite de l’@ IP destination
(le 24 eme bit est a 0)
Réception de paquets
Page 11
Internet Group Management Protocol
( IGMP )
IGMP : généralités
Page 12
IGMP: un seul routeur sur le LAN
Page 13
IGMP : s’abonner à un groupe
224.2.0.1
224.2.0.1 224.2.0.1 224.5.5.5
Envoi périodique
IGMP Query à 224.0.0.1
Page 14
IGMP : version 2
❍ Election du DR
• @IP la plus petite
❍ timers programmables
❍ nouveaux type de paquets envoyés par l’ hôte :
• de désabonnement : leave
• au reçu d’un leave, le routeur envoie
un query directionnel aux hôtes qui ont été abonnés à
ce groupe
=> réduction du temps de latence pour arrêter la diffusion d’un
groupe qui n’a plus d’abonné
❍ IGMP v2 doit obligatoirement supporter la version 1
224.2.0.1 224.2.0.1
Envoi Report
pour 224.2.0.1
Envoi Leave Envoi Leave
pour 224.2.0.1 pour 224.5.5.5
à 224.0.0.2 à 224.0.0.2
Page 15
Les Protocoles de routage Multicast
Page 16
Distance Vector Multicast Routing Protocol
( DVMRP )
RFC 1075
DVMRP : généralités
❍ Version 3 du protocole
• draft-ietf-idmr-dvmrp-v3-04.txt
❍ “mrouted” sous Unix
• pas natif dans tous les OS
• s ’assurer que la version du mrouted est au moins de 3.8
Page 17
Reverse Path Forwarding (RPF)
❍ Test RPF :
• Oui : paquet retransmis, on inonde
• Non : paquet est mis à la poubelle
A
D
B
E C
multicast
Page 18
Reverse Path Forwarding (3)
Source
A
D
B
E C
Source
A
D
E C
unicast
Page 19
Routage DVMRP
Routage DVMRP
Page 20
Echange des tables de routage (théorie)
Source
(S,1) (S,1)
A
D
B
E C
Source
(S,2)
A
D
B
(S,2)
E C
Page 21
Poison Reverse
❍ Le routeur B va décider
• que le routeur A voisin est en “amont” vers la source S
• il envoie à A une information de routage versS dont la
métrique est dite empoisonnée
❍ Conséquence :
• B attend le flux multicast de A pour la source S
• A ne doit pas compter sur B pour ce même flux
Métrique empoisonnée
❍ Dans mrouted :
• Source, m = vraie métrique vers S + infini (32)
Page 22
Poison Reverse
Source
(S,infini)
A
D
B
(S,2)
E C
❍ Utilisation de sous-types :
• Response : envoie les routes vers les destinations (Sources)
• Request : demande les routes vers les destinations
• Prune : rapport d’aucun membre
• Graft : greffe d’une nouvelle branche sur l’arbre multicast
Page 23
Elagage et greffe sur l’arbre de diffusion
❍ Elagage :
• le routeur multicast n’a plus de recepteurs locaux ni de routeurs
multicast en aval
• il envoie un prune packet à la (les) sources émettrices pour ce
groupe multicast via les interfaces RPF
• il arme un timeout = 2h
❍ Greffe :
• A la réception d ’une nouvelle demande d ’un récepteur local ou
d ’un routeur en aval pour un nouveau groupe (ou un groupe
précédemment élagué)
• il envoie un graft packet vers le routeur RPF pour éviter
d ’attendre l ’expiration du timeout d ’élagage
"Internet Draft"
http://netweb.usc.edu/pim/
Page 24
PIM : généralités
❍ Ressemble à DVMRP
• sauf pour le routage
❍ mécanismes de flooding et pruning et de greffe,
• Pruning vers les voisins non RPF
❍ Arbres construits par rapport aux sources émettrices en
utilisant l ’algorithme RPF
❍ Utilisation de déclaration (assert ) pour élire un transmetteur
sur un LAN à plusieurs routeurs
❍ Faible overhead pour les groupes denses
Page 25
PIM, Dense-Mode : exemple
Source
A B F
C D
E G
Destinataire 1
Destinataire 2
Source
D’abord on inonde
A B F
C D
E G
Destinataire 1
Destinataire 2
Page 26
PIM, Dense-Mode : exemple
A Be F
C
un
Pr
E G
Destinataire 1
Destinataire 2
A B F
C D
Asserts
E G
Destinataire 1
Destinataire 2
Page 27
PIM, Dense-Mode : exemple
Source
F n’a pas de membre, il élague
Prune
A B
C F
D
G
Destinataire 1
Destinataire 2
Page 28
PIM, Sparse-Mode
Sparse-Mode : exemple
Source
A B RP D
C E
Destinataire 1 Destinataire 2
PIM, Sparse-Mode
Sparse-Mode : exemple
A B RP D
in
Jo
C E
Destinataire 1 Destinataire 2
Page 29
PIM, Sparse-Mode
Sparse-Mode : exemple
A B RP D
C E
Destinataire 1 Destinataire 2
PIM, Sparse-Mode
Sparse-Mode : exemple
Source envoie des données,
A encapsule les données et
Source envoie un register vers RP
Register
A B RP D
C E
Destinataire 1 Destinataire 2
Page 30
PIM, Sparse-Mode
Sparse-Mode : exemple
RP crée l’état (S, G),
envoie les données sur l’arbre partagé,
Source envoie join vers la source,
A et B créent l’état (S, G)
Join Join
A B RP D
C E
Destinataire 1 Destinataire 2
PIM, Sparse-Mode
Sparse-Mode : exemple
Quand les données arrivent
normalement à RP,
Source il envoie register-stop
Register-Stop
Register-Stop
A B RP D
(S, G)
( *,G)
C E
Destinataire 1 Destinataire 2
Page 31
PIM, Sparse-Mode
Sparse-Mode : exemple
C cherche un chemin plus court
vers la Source,
Source C envoie join (S, G) vers Source
A
B RP D
Join
C E
Destinataire 1 Destinataire 2
PIM, Sparse-Mode
Sparse-Mode : exemple
Quand C reçoit les données de (S, G), il
envoie prune pour la source sur l’arbre
Source partagé, RP détruit le lien vers C sauf
pour la Source
Prune (S, G)
A B RP D
Prune (S, G)
(S,G)
C E (* - {S},G)
Destinataire 1 Destinataire 2
Page 32
PIM, Sparse-Mode
Sparse-Mode : exemple
A B RP D
(S,G)
Join E
C (* - {S},G)
Destinataire 1 Destinataire 2
PIM, Sparse-Mode
Sparse-Mode : exemple
A B RP D
(S,G)
(* - {S},G)
C E
Destinataire 1 Destinataire 2
Page 33
PIM, Sparse-Mode
Sparse-Mode : exemple
Source 2 envoie des données,
D envoie Register,
Source RP envoie les données sur
l’arbre partagé
Source 2
A B RP D
(S,G)
(* - {S},G)
C E ( S2 ,G)
Destinataire 1 Destinataire 2
Page 34
Principes
routeur PIM envoie IGMP reports pour tous les groupes qui
ont des membres dans le nuage PIM
PIM G1
G2
G3
DVMRP
PIM IGMP
G1
G2
G3
mrouted
Page 35
Groupes : bordure par un tunnel
PIM
S1
DVMRP
PIM Poison Reverse S2
S1
S2
S3
mrouted S3
❍ Sur un tunnel
• “cacher” les routes apprises
• Poison Reverse vers l’émetteur
❍ Interface native
• si pas besoin de transmettre à d’autres DVMRP les routes
apprises peuvent être abandonnées mais les routes unicast
vers les sources doivent être même interface
• sinon on cache les routes apprises
Page 36
Ce qu’on envoie à DVMRP
Page 37
Modification des Métriques (option)
❍ [no] ip multicast-routing
• pour activer le routage Xcast
Page 38
Configuration d’un routeur :
commandes d’interface (IGMP)
❍ ip dvmrp unicast-routing
(!) utiliser le routage unicast DVMRP sur une interface PIM
Page 39
Configuration d’un routeur :
commandes d’interface (DVMRP)
❍ [no] ip dvmrp metric-offset in | out <offset>
• modifier la metrique de 1 par defaut
❍ [no] ip dvmrp metric <nombre> [list <access-list>]
• cette commande pose problème dans certaines versions d ’IOS
❍ Principes :
sur un campus, l ’équipe réseau doit
• Participer au Fmbone
– se connecter à la distribution régionale du Fmbone
Page 40
Organisation du routage multicast (2)
❍ Principes :
dans un laboratoire :
PIM PIM
PIM
RENATER
PIM
PIM/GRE ou DVMRP
Site Aval
DVMRP DVMRP
interne interne
Page 41
Solution
Solution 33 :: développer
développer PIM
PIM dispersé
dispersé
DVMRP
interne
PIM/GRE
MBone
DVMRP
PIM MBone
DVMRP
DVMRP
interne
interne
Bibliographie
❍ C. Huitema
• Le Routage dans l’Internet, Eyrolles, 1995
❍ draft-ietf-mboned-intro-multicast-03.txt
❍ draft-ietf-mboned-mdh-00.txt
❍ http://www.urec.cnrs.fr/Xcast/
❍ http://www.services.cnrs.fr/multicast
Page 42