Vous êtes sur la page 1sur 38

PIM | PROTOCOL

INDEPENDENT MULTICAST
PIM Dense Mode (PIM-DM)

1
PIM | GÉNÉRALITÉS

 DVMRP
 construitlui même sa table de routage unicast
 prend les décisions de RPF
 PIM
 repose sur le protocole de routage unicast
 Indépendant du protocole de routage
 prend les décisions de RPF
 et les poison reverse routes
2
MESSAGE HELLO

 Le protocole PIM se base dons son fonctionnement sur l’établissement des


relations de voisinage avec ses voisin PIM directement connectés. Cela
permettra la création des arbre MC.
 Le flux du trafic MC n’est échangé que entre deux routeurs PIM directement
connectés. Les routeurs NON PIM se sont pas concerné par ce trafic.
➔ la topologie MC peut être très différente de celle Unicast.
 Pour établir cette relation de voisinage, PIM utilise les message « hello »
 Information IP:
 @IP source : @IP de la machine source
 @IP de destination : ALL_PIM_ROUTERS (224.0.0.13)
 Num de protocole : 103 (PIM)
 TTL : 1 (LAN)
3
FORMAT DU MESSAGE HELLO
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM ver| Type | Réservé | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type d’option | Longeur de l’option |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| valeur de l’option |
| . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type d’option | Longeur de l’option |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| valeur de l’option |
| . . . |
 Version PIM = 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Type = 0
 Extensibilité : Options TLV (Type | Longeur | Valeur) 4
 Exemple d’options: (1 – HoldTime, 19 – Priorité DR, 21 – Rafraichissement de l’état …)
MODES PIM

 PIMpeut fonctionner selon deux modes :


 Dense Mode : faible overhead pour les groupes
denses d’abonnés « regroupés »
 Sparse Mode : peu d’abonnés éparpillés

 PIM-DM : RFC 3973


 PIM-SM : RFC 7761

5
PIM | DENSE MODE

 Ressemble à DVMRP (sauf pour le routage)


 Mécanismes de flooding , pruning et de graft (greffe),
 Pruning sur les voisins non RPF
 Arbres construits par rapport aux sources émettrices avec
utilisation de RPF
 Utilisation
de la déclaration (assert) pour élire un transmetteur
sur un LAN à plusieurs routeurs Multicast

6
PIM DM | PROPRIÉTÉS

 Routeur Désigné PIM


 Utilisé dans les réseaux à accès multiple (ex. Ethernet)
 PIM DM n’a pas besoin de cette élection, mais pourra être utilisé par IGMPv1
qui n’a aucun mécanisme d’élection du routeur Requérant Désigné.
 Routeur Désigné « DR » PIM ➔ Requérant Désigné « DQ » IGMPv1

 Arbre de redistribution de source


 PIM-DM est responsable de la création de l’arbre de plus cours chemin
« SPT ».
 Le routeurs retransmettent les informations (S, G) (Retransmission du trafic) sur
toute les interfaces non-RPF sur lesquelles PIM est activé
➔ tous les routeurs rejoint le groupe automatiquement (rejoint implicite)
 Ce sont les routeurs recevant les information (S,G) qui doivent se retirer 7
« PRUNE » du groupe s’ils n’ont aucun récepteur enregistré (via IGMP).
CRÉATION AUTOMATIQUE DE L’ARBRE
SPT

 Le routeur reçoit un paquet MC via son interface IIF


 RPF check
 Ajout toutes les autres interfaces PIM à la liste OIL
 Le routeur retransmet le paquet via OIL
 Leprocessus est déclenché au niveau du FHR « First
Hop Router » qui représente la racine et se répète de
routeur à l’autre jusqu’au routeurs LHR « Last Hop
Router » (feuilles) connectés aux récepteurs.
8
MESSAGES « JOIN » ET « PRUNE »

 Les routeurs PIM signal leur volonté de joindre ou quitter un groupe à l’aide
du message PIM (Join/Prune).
 Dans PIM-DM, le faite de joindre un groupe est implicite (flooding)
 Cependant, Dans PIM-DM utilise ce message pour quitter un groupe
« Prune ». En effet, si le routeur n’a aucun récepteur, il envoi un message
PIM pour quitter le groupe.
 Si un routeur reçoit des messages « prune » de tous ses voisins connectés au
OIL. Lui aussi doit envoyer un message « Prune » au routeur Upstream pour
quitter le groupe.
 « Selective Prune Overrides » est utilisé dans les médiums partagés pour
distinguer deux routeurs dont l’un est intéressé par un Groupe MC et l’autre
non. 9
MESSAGES « JOIN » ET « PRUNE »
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM ver| Type | Réservé | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du voisin Upstream (unicast) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Réservé | Num groupe (N)| Hold Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du Groupe Multicast (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nbre de source à rejoindre (J)| Nbr de sources à quitter (p) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source à rejoindre (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source à rejoindre (J) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
| Adresse source à quitter(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |

10
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source à quitter (P) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
PIM DENSE MODE | EXEMPLE

Source

A B

C F
D

G
Récepteur 1

Récepteur 2
11
PIM DENSE MODE | INONDATION

Source D’abord on inonde

A B

C F
D

G
Récepteur 1

Récepteur 2
12
PIM DENSE MODE | ÉLAGAGE
« VOISIN NON-RPF »

Source Élagage de C vers un


voisin Non RPF

A B

C F
D

G
Récepteur 1

Récepteur 2
13
PIM DENSE MODE | ÉLAGAGE
« ABSENCE DE RÉCEPTEUR »

Source F n’a pas de membre, il


élague

A Prune
B

C F
D

G
Récepteur 1

Récepteur 2
14
PIM DENSE MODE | ÉLAGAGE
« ABSENCE DE RÉCEPTEUR »

Source Cependant, G a un
membre !!

A Prune
B

F Problème d’élagage
C D sur un réseau à accès
E multiple

G
Récepteur 1

Récepteur 2
15
PIM DENSE MODE | ÉLAGAGE
« SELECTIVE PRUNE OVERRIDES »
• Le routeur non intéressé envoi un msg « Prune »
• Le routeur Upstream déclenche un temporisateur avant
Source de supprimer l’interface en question du OIL
• Le routeur intéressé annule l’élagage par l’envoie d’un
msg « Join » explicite

A Prune
B

F Problème d’élagage
C D sur un réseau à accès
E multiple

G
Récepteur 1

Récepteur 2
16
PIM DENSE MODE | ÉLAGAGE
« SELECTIVE PRUNE OVERRIDES »
• Le routeur non intéressé envoi un msg « Prune »
• Le routeur Upstream déclenche un temporisateur avant
Source de supprimer l’interface en question du OIL
• Le routeur intéressé annule l’élagage par l’envoie d’un
msg « Join » explicite

A B

F Problème d’élagage
C D sur un réseau à accès
E Join multiple

G
Récepteur 1

Récepteur 2
17
PIM DENSE MODE | ÉLAGAGE
« SELECTIVE PRUNE OVERRIDES »

Source
Élagage annulé

A B

C F
D

G
Récepteur 1

Récepteur 2
18
PIM-DM | MÉCANISME ASSERT

 Le mécanisme Assert du protocole PIM-DM est utile dans les interfaces à accès
multiple. Plus particulièrement, les réseaux contenant un/des récepteurs avec deux
routeurs LHR ou plus.
 Les récepteurs reçoivent deux copie des même messages MC.
 Ces routeur vont échouer dans le contrôle RPF.
 Les routeurs se mettent d’accord sur un routeur DF « Designated Forwarder » pour
transmettre le trafic au récepteurs.
 Les routeurs échange des message PIM Assert contenant :
 (S,G)
 Préférence de métrique (Distance administrative chez Cisco …)
 Métrique de la route
 Le routeur élu DF doit avoir : la plus petite « Préférence de métrique ». Sinon, la plus
petite métrique. Sinon, la plus grande adresse IP.
 Les autres routeurs envoi des message « Prune »
 Remarque : pour les liaison de type P2P, on utilise le message « Prune », alors que 19
pour les liens à accès multiple on envoi le message assert.
FORMAT DU MESSAGE ASSERT
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM ver| Type | Réservé | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du groupe multicast |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Réservé | Num groupe (N)| Hold Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du Groupe Multicast (1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source (unicast) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| Préférence de la métrique |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Métrique |
 PIM version : 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Type : 5
 R : bit RP (ignoré ici) 20
 Préférence de métrique (Distance administrative chez Cisco …)
 Métrique : métrique de la route vers la source
PIM DENSE MODE | EXEMPLE
« ASSERT »

Source « Assert » sur le LAN de C et D :


suppression des doublons

A B F

C D
Asserts
E G

Récepteur 1

Récepteur 2
21
PIM DENSE MODE | EXEMPLE
« ASSERT »

Source Prune vers A car C n’a pas été


élu DF et n’a plus de récepteurs
dans sa liste OIL

A B F
Prune
C D

E G

Récepteur 1

Récepteur 2
22
PIM DENSE MODE | EXEMPLE
« ASSERT »

Source Arbre SPT final

A B F

C D

E G

Récepteur 1

Récepteur 2
23
PROBLÈME DE SCALABILITÉ

 Lorsqu’une interface est élagué, un temporisateur d’élagage de


3min est déclenché.
 Au bout de ce temps toutes l’état des interface passent
automatiquement au mode « retransmission ➔ interfaces inclue
dans l’OIL.
 Sila source est toujours active, l’inondation commence à
nouveau et les message prune et asserte sont envoyés à
nouveau si nécessaire.
 Problème :
 Inondation
 Gestion et sauvegarde d’un grand nombre d’états de retransmission
24
PIM-DM | GRAFT

 Pour qu’un routeur qui a déjà quitté un groupe, et souhait le rejoindre


(enregistrement d’un nouveau récepteur) il doit sauvegarder toutes les
information sur les arbres existante.
 Le routeur envoi un message Graft au routeur Upstream pour rejoindre
un groupe existant.
 Le routeur confirme la réception par le renvoi d’une copie du message
Graft reçu « Graft-Ack ».

25
FORMAT DU MESSAGE GRAFT
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM ver| Type | Réservé | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du voisin Upstream (unicast) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Réservé | Num groupe (N)| Hold Time |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du Groupe Multicast (1) |  Type :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nbre de source à rejoindre (J)| Nbr de sources à quitter (p) |  6 : Graft
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source à rejoindre (1) |  7 : Ack Graft
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
.
.
| 
|
Contient :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  L’adresse du groupe à
| Adresse source à rejoindre (J) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ rejoindre
| Adresse source à quitter(1) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  Adresse(s) de(s) source(s)
| . | spécifique(s)
| . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source à quitter (P) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
26
PIM DENSE MODE | EXEMPLE
« GRAFT »

Source Graft vers A car un nouveau


récepteur à demandé de
joindre le groupe via C

A B F
Graft
C D
Récepteur 3
(S,G)
E G

Récepteur 1

Récepteur 2
27
PIM DENSE MODE | EXEMPLE
« GRAFT »

Source Arbre SPT final

A B F

C D
Récepteur 3
E G

Récepteur 1

Récepteur 2
28
RAFRAICHISSEMENT D’ÉTAT

 L’algorithme de base effectue l’inondation pour rafraichir les états


(S,G) existante
 Une amélioration de PIM-DM utilise un nouveau message de
« rafraichissement d’état » afin de rafraichir l’état (S,G) sans
inondation.
 Le FHR est responsable de la génération de ce message.
 Chaque récepteur de ce message réinitialise le temporisateur
pour ce groupe et envoi le message sur toutes les interface (y
compris ceux élaguées « Prune ».

29
FORMAT DU MESSAGE « RAFRAICHISSEMENT D’ÉTAT »
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|PIM ver| Type | Réservé | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse du groupe multicast |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source (unicast) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Adresse source du message (unicast) |
 PIM version : 2 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| Préférence de la métrique |
 Type : 21 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 R : (ignoré ici) | Métrique |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 Préférence de métrique
| masklen | TTL |P|N|O| Réservé | Interval |
 Métrique : métrique de la +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
route vers la source
 Masklen = 0
 TTL : comme celui de IP 30
 P : identifiier l’interface élagué
« Pruned »
RÉCAPITULATIF

31
Non-récepteur MC
Récepteur MC PIM-DM | PRUNE
H1 F R1
F H2
F R3
H4
F H3
R2 F F F
H5 H6
R4
F F H7
H9
R6 H8
H10 F R5
F F F
R7
H11 H12
F R9
F H14
H16 R8 H13
F
R12 H15
H17
F F
F F
R13 R11 R10
F F
H18 H19 H20 H21 H22 H23 H24 H25 H26
32
Non-récepteur MC
Récepteur MC PIM-DM | PRUNE
H1 F R1
F H2
F R3
H4
F P H3
R2 F F F
H5 H6
R4
P P
F F H7
P
H9
R6 P H8
H10 F R5
F F F
R7 P P
H11 H12
F P
R9
F H14
H16 R8 H13
P F
R12 H15
H17
F F
P F F P
P P
R13 R11 R10
F F
H18 H19 H20 H21 H22 H23 H24 H25 H26
33
Non-récepteur MC
Récepteur MC
PIM-DM| L’ARBRE APRÈS
H1 D R1
ÉLAGAGE
H2
D R3
H4
D H3
R2 H6
H5
R4
D H7
H9
R6 H8
H10 R5
R7 D
H11 H12
H14 R9
H16 R8 H13
R12 H15
H17
D
D
R13 R11 R10
D D
H18 H19 H20 H21 H22 H23 H24 H25 H26
34
Non-récepteur MC
Récepteur MC PIM-DM | ASSERT
H1 F R1 F H2
F R3
H4 F H3
R2 F F
H5 F H6
R4
F F H7
H9
R6 H8
H10 F R5
F F F
R7
H11 H12
F R9
F H14
H16 R8 H13
F
R12 H15
H17 F F
F F F
R13 R11 R14 R10
F A F A F
H18 H19 H20 H21 H22 H23 H24 H25 H26
35
Non-récepteur MC
Récepteur MC
PIM-DM | L’ARBRE APRÈS
H1 D R1
ASSERT
H2
D R3
H4 D H3
R2 H6
H5
R4
D H7
H9
R6 H8
H10 R5

H11
R7 D
H12
H14 R9
H16 R8 H13
R12 H15
H17
D

R13 R11 R14 R10


D D
H18 H19 H20 H21 H22 H23 H24 H25 H26
36
Non-récepteur MC
Récepteur MC PIM-DM | GREFFE
H1 F R1
H2
F R3
H4
F H3
R2 H6
H5
R4
F H7
G
H9
R6 H8
H10 R5
R7 F G
H11 H12
H14 R9
H16 R8 H13
R12 H15
H17
F
F
R13 R11 R10
F F
H18 H19 H20 H21 H22 H23 H24 H25 H26
37
Non-récepteur MC
Récepteur MC
PIM-DM | L’ARBRE APRÈS
H1 D R1
LA GREFFE
H2
D R3
H4
D H3
R2 H6
H5
R4
D H7
H9
R6 H8
D
H10 R5
R7 D D
H11 D H12
H14 R9
H16 R8 H13
R12 H15
H17
D
D
R13 R11 R10
D D
H18 H19 H20 H21 H22 H23 H24 H25 H26
38