multicast protocoles de routage
Post on 21-Mar-2016
61 Views
Preview:
DESCRIPTION
TRANSCRIPT
Multicast
protocoles de routage
Bernard RapacchiBernard RapacchiBernard TuyBernard Tuy
22
U R E CU R E C
Envoi de paquets
Une adresse multicast ne peut être que destinataireUne adresse multicast ne peut être que destinataire
les sources ont toujours une adresse unicastles sources ont toujours une adresse unicast
le niveau Liaison de données n'utilise pas ARP :le niveau Liaison de données n'utilise pas ARP : mécanisme de correspondance (pour les @ IEEE-802)mécanisme de correspondance (pour les @ IEEE-802)
@IP multicast -> @Ethernet multicast @IP multicast -> @Ethernet multicast
Etre membre d'un groupe est indépendant d'envoyer à ce Etre membre d'un groupe est indépendant d'envoyer à ce groupegroupe une source n’est pas obligatoirement membre du groupe auquel une source n’est pas obligatoirement membre du groupe auquel
elles envoie un flux multicastelles envoie un flux multicast
33
U R E CU R E C
Envoi de paquets
Application
UDP
IP
Ethernet
inchangé
mapping 0x 01 00 5E ______________________________ 23 bits de droite de l'@ IP destination
24eme bit = 0
44
U R E CU R E C
Réception de paquets
Par défaut, le coupleur Ethernet d'une station écoute Par défaut, le coupleur Ethernet d'une station écoute son adresse Ethernet (fixée PROM)son adresse Ethernet (fixée PROM) et l'adresse de broadcast (FF...FF)et l'adresse de broadcast (FF...FF)
Les autres adresses Ethernet doivent être explicitement Les autres adresses Ethernet doivent être explicitement programmées dans le driver du coupleurprogrammées dans le driver du coupleur
Pour le multicast, il faut écouter au minimum :Pour le multicast, il faut écouter au minimum : équivalent Ethernet de 224.0.0.1 (tous les hôtes multicast du LAN)équivalent Ethernet de 224.0.0.1 (tous les hôtes multicast du LAN) équivalent Ethernet du répertoire des sessions MBoneéquivalent Ethernet du répertoire des sessions MBone
annonçant la liste des groupes multicast actifsannonçant la liste des groupes multicast actifs
55
U R E CU R E C
IGMP : généralités
Protocole d'interaction entre Protocole d'interaction entre le(s) routeur(s) multicast du LAN le(s) routeur(s) multicast du LAN et les hôtes multicast du LANet les hôtes multicast du LAN
Permet à un hôte de s'abonner (désabonner) à un groupe Permet à un hôte de s'abonner (désabonner) à un groupe et dire au routeur : et dire au routeur :
““envoyez-moi une copie des paquets de cette adresse de groupe”envoyez-moi une copie des paquets de cette adresse de groupe”
deux versions existent, IGMPv1 et v2deux versions existent, IGMPv1 et v2 IGMP version 3 en cours d’élaboration (IETF/ IDMR)IGMP version 3 en cours d’élaboration (IETF/ IDMR)
66
U R E CU R E C
IGMP: un seul routeur
le routeur envoie toutes les 60 secondes le routeur envoie toutes les 60 secondes une sollicitation aveugle à l’@ 224.0.0.1 (query )une sollicitation aveugle à l’@ 224.0.0.1 (query ) ““à quel(s) groupe(s) voulez vous vous abonner ?”à quel(s) groupe(s) voulez vous vous abonner ?” et attend les réponses et attend les réponses
le(s) hôte(s) renvoie(nt) un “IGMP report” le(s) hôte(s) renvoie(nt) un “IGMP report” qui indique l’adresse du ou des groupes qui l’intéressentqui indique l’adresse du ou des groupes qui l’intéressent
si le routeur ne reçoit aucune réponse pour un groupe si le routeur ne reçoit aucune réponse pour un groupe donnédonné il arrête la réémission des paquets multicast de ce groupeil arrête la réémission des paquets multicast de ce groupe le groupe est réputé sans abonné localle groupe est réputé sans abonné local
77
U R E CU R E C
IGMP: un seul routeur (2)
quand l’ hôte reçoit la sollicitation (query)quand l’ hôte reçoit la sollicitation (query) il fixe un délai aléatoire avant de répondreil fixe un délai aléatoire avant de répondre
pour éviter que toutes les réponses arrivent au même momentpour éviter que toutes les réponses arrivent au même moment
quand un hôte a répondu, les autres n’ont plus besoin de répondrequand un hôte a répondu, les autres n’ont plus besoin de répondre
le routeur arme une temporisation sur les abonnements aux le routeur arme une temporisation sur les abonnements aux groupes multicast avant de solliciter à nouveau tous les hôtes groupes multicast avant de solliciter à nouveau tous les hôtes
88
U R E CU R E C
IGMP : s’abonner à un groupe
Hôte 1 Hôte 2 Hôte 3
224.2.0.1224.2.0.1 224.5.5.5 224.5.5.5
Envoi périodiqueIGMP Query à 224.0.0.1
224.2.0.1
99
U R E CU R E C
IGMP : s’abonner à un groupe
Hôte 1 Hôte 2 Hôte 3
224.2.0.1224.2.0.1 224.5.5.5 224.5.5.5
Envoi Reportpour 224.2.0.1
224.2.0.1
224.2.0.1
1010
U R E CU R E C
IGMP : s’abonner à un groupe
Hôte 1 Hôte 2 Hôte 3
224.2.0.1224.2.0.1 224.5.5.5 224.5.5.5
Envoi Reportpour 224.5.5.5224.5.5.5
224.2.0.1
224.2.0.1224.5.5.5224.5.5.5
1111
U R E CU R E C
IGMP : plusieurs routeurs
Un routeur est élu entre tous les routeursUn routeur est élu entre tous les routeurs c’est le Dominant Router (DR) ou Designated Routerc’est le Dominant Router (DR) ou Designated Router il est seul à émettre les IGMP Queriesil est seul à émettre les IGMP Queries en v1, le mécanisme d’élection est fonction du routage multicast et en v1, le mécanisme d’élection est fonction du routage multicast et
n’appartient pas à IGMPn’appartient pas à IGMP en version 2, le DR est le routeur dont l’@IP est la plus petiteen version 2, le DR est le routeur dont l’@IP est la plus petite
le DR n’est pas forcément le routeur qui transmet les le DR n’est pas forcément le routeur qui transmet les paquets multicastpaquets multicast
1212
U R E CU R E C
IGMP : version 2
Election du DR Election du DR @IP la plus petite@IP la plus petite
timers programmablestimers programmables nouveaux type de paquets envoyés par l’hôte :nouveaux type de paquets envoyés par l’hôte :
de désabonnement : leavede désabonnement : leave au reçu d’un leave, le routeur envoie au reçu d’un leave, le routeur envoie
un query spécifique au groupeun query spécifique au groupe => réduction du temps de latence pour arrêter la diffusion d’un => réduction du temps de latence pour arrêter la diffusion d’un
groupe qui n’a plus d’abonnégroupe qui n’a plus d’abonné IGMP v2 doit obligatoirement supporter la version 1IGMP v2 doit obligatoirement supporter la version 1
1313
U R E CU R E C
IGMP : quitter un groupe
Host 1 Host 2 Host 3
224.2.0.1 224.2.0.1
Envoi Leavepour 224.2.0.1
à 224.0.0.2
224.2.0.1224.5.5.5224.5.5.5
1414
U R E CU R E C
IGMP : quitter un groupe
Host 1 Host 2 Host 3
224.2.0.1 224.2.0.1
Envoi IGMP Query spécifique pour 224.2.0.1
224.2.0.1224.5.5.5224.5.5.5
1515
U R E CU R E C
IGMP : quitter un groupe
Host 1 Host 2 Host 3
224.2.0.1 224.2.0.1
Envoi Reportpour 224.2.0.1
224.2.0.1224.5.5.5224.5.5.5
1616
U R E CU R E C
IGMP : quitter un groupe
Host 1 Host 2 Host 3
224.2.0.1 224.2.0.1
Envoi Leavepour 224.5.5.5
à 224.0.0.2
224.2.0.1224.5.5.5224.5.5.5
1717
U R E CU R E C
IGMP : quitter un groupe
Host 1 Host 2 Host 3
224.2.0.1 224.2.0.1
Envoi IGMP Query pour 244.5.5.5 224.2.0.1
1818
U R E CU R E C
Les Protocoles de routage multicast
On distingue deux types de protocoles en fonction du mode On distingue deux types de protocoles en fonction du mode de transmission des paquets multicast utilisé :de transmission des paquets multicast utilisé : Mode dense (inondation)Mode dense (inondation)
DVMRP, PIM DM et MOSPFDVMRP, PIM DM et MOSPF suppose que les abonnés aux groupes multicast sont nombreuxsuppose que les abonnés aux groupes multicast sont nombreux
Mode épars Mode épars PIM SM et CBTPIM SM et CBT faible population abonnéefaible population abonnée
1919
U R E CU R E C
DVMRP : généralités
““mrouted” sous Unixmrouted” sous Unix
Agit en mode dense :flooding + pruningAgit en mode dense :flooding + pruning on inonde (flooding ) tout l'arbre multicaston inonde (flooding ) tout l'arbre multicast ceux qui ne sont pas intéressés le disent ceux qui ne sont pas intéressés le disent ils sont élagués de l’arbre (pruning )ils sont élagués de l’arbre (pruning )
Pour éviter les boucles => algorithme RPFPour éviter les boucles => algorithme RPF Reverse Path ForwardingReverse Path Forwarding
2020
U R E CU R E C
Reverse Path Forwarding (RPF)
un routeur transmet un paquet multicastun routeur transmet un paquet multicast si le datagramme est reçu sur l’interface utilisée pour envoyer un si le datagramme est reçu sur l’interface utilisée pour envoyer un
paquet unicast vers la source (reverse )paquet unicast vers la source (reverse )
Test RPF : Test RPF : Oui : paquet retransmis, on inondeOui : paquet retransmis, on inonde Non : paquet est mis à la poubelleNon : paquet est mis à la poubelle
un paquet est retransmis vers toutes les interfaces du un paquet est retransmis vers toutes les interfaces du routeur SAUF l’interface RPF d’entréerouteur SAUF l’interface RPF d’entrée
2121
U R E CU R E C
Reverse Path Forwarding (RPF)
D
multicast
Source
A
B
CE
2222
U R E CU R E C
Reverse Path Forwarding (RPF)
Source
A
B
C
D
E unicast
multicast Paquets multicast non retransmis
2323
U R E CU R E C
Routage DVMRP
DVMRP utilise son propre routage unicast DVMRP utilise son propre routage unicast variante de RIPvariante de RIP pour déterminer le critère RPF et pour déterminer le critère RPF et décider de retransmettre un datagramme multicastdécider de retransmettre un datagramme multicast
Le routage Unicast est nécessaire pour localiser les Sources multicastLe routage Unicast est nécessaire pour localiser les Sources multicast
les paramètres du protocole les paramètres du protocole le nombre de sauts (hops), les métriques et les seuils (Threshold )le nombre de sauts (hops), les métriques et les seuils (Threshold ) le seuil indique si un datagramme multicast peut être réémis en le comparant à le seuil indique si un datagramme multicast peut être réémis en le comparant à
son TTL.son TTL.
obligation d’utiliser des tunnelsobligation d’utiliser des tunnels certains routeurs ne font pas du multicastcertains routeurs ne font pas du multicast
2424
U R E CU R E C
Routage DVMRP
échange de tables de routage entre routeurs DVMRP échange de tables de routage entre routeurs DVMRP Destination / Masque / MétriqueDestination / Masque / Métrique
Les destinations sont les @ sources multicastLes destinations sont les @ sources multicast
L’optique est de toujours construire un arbre minimal à L’optique est de toujours construire un arbre minimal à partir de la sourcepartir de la source
2525
U R E CU R E C
Echange des tables de routage (théorie)
Source
A
B
C
D
E
(S,1)(S,1)
2626
U R E CU R E C
Echange des tables de routage (théorie)
Source
A
B
C
D
E
(S,2)
(S,2)
2727
U R E CU R E C
Poison Reverse
Le routeur B va décider Le routeur B va décider que le routeur A voisin est en “amont” vers la source Sque 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 il envoie à A une information de routage versS dont la métrique est dite
empoisonnéeempoisonnée
Conséquence :Conséquence : B attend le flux multicast de A pour la source SB attend le flux multicast de A pour la source S A ne doit pas compter sur B pour ce même fluxA ne doit pas compter sur B pour ce même flux
Le RFC 1112 prévoit d' envoyer :Le RFC 1112 prévoit d' envoyer : @IP Source, m = infini (16), + un flag à 1@IP Source, m = infini (16), + un flag à 1
Dans mrouted :Dans mrouted : Source, m = vraie métrique vers S + infini (32)Source, m = vraie métrique vers S + infini (32)
2828
U R E CU R E C
Poison Reverse
Source
A
B
C
D
E
(S,infini)
(S,2)
2929
U R E CU R E C
PIM : généralités
Indépendant du protocole de routageIndépendant du protocole de routage DVMRPDVMRP
prend les décisions de RPFprend les décisions de RPF a son propre protocole de routagea son propre protocole de routage
PIM repose sur le protocole de routage unicast sous-jacentPIM repose sur le protocole de routage unicast sous-jacent pour les décisions RPFpour les décisions RPF et les poison reverse routeset les poison reverse routes
PIM peut fonctionner selon deux modes :PIM peut fonctionner selon deux modes : dense mode : faible overhead pour les groupes denses d’abonnés dense mode : faible overhead pour les groupes denses d’abonnés sparse mode : peu d’abonnés sparse mode : peu d’abonnés
3030
U R E CU R E C
PIM : Dense Mode
Ressemble à DVMRP Ressemble à DVMRP sauf pour le routagesauf pour le routage
mécanismes de flooding et pruning et de graft (greffe),mécanismes de flooding et pruning et de graft (greffe), Pruning sur les voisins non RPFPruning sur les voisins non RPF
Arbres construits par rapport aux sources émettrices avec Arbres construits par rapport aux sources émettrices avec utilisation de RPFutilisation de RPF
Utilisation de déclaration (assert ) pour élire un Utilisation de déclaration (assert ) pour élire un transmetteur sur un LAN à plusieurs routeurstransmetteur sur un LAN à plusieurs routeurs
3131
U R E CU R E C
PIM : Sparse mode
Mode d’abonnement explicite (Join ) :Mode d’abonnement explicite (Join ) : La source s’enregistre auprès d'un Point de Rendez-vous RPLa source s’enregistre auprès d'un Point de Rendez-vous RP Le RP est la racine de l'arbre de diffusion multicastLe RP est la racine de l'arbre de diffusion multicast c'est une adresse bien connue de tousc'est une adresse bien connue de tous Pour s'abonner le destinataire envoit un Join au RPPour s'abonner le destinataire envoit un Join au RP Il peut y avoir plusieurs RP pour différents groupesIl peut y avoir plusieurs RP pour différents groupes Pas d'inondation Pas d'inondation
Le flux multicast parcourt un arbre partagé Le flux multicast parcourt un arbre partagé les routeurs feuilles peuvent de se joindre à l’arbreles routeurs feuilles peuvent de se joindre à l’arbre les paquets ne vont que là où c'est utileles paquets ne vont que là où c'est utile
3232
U R E CU R E C
Organisation du routage multicast : principes
sur un campus :sur un campus : Participer au FMBoneParticiper au FMBone minimiser les flux multicast pour éviter les flux inutilesminimiser les flux multicast pour éviter les flux inutiles Topologie arborescente et sur chaque Routeur :Topologie arborescente et sur chaque Routeur :
n’accepter aucune route DVMRP sur l’interface RPF n’accepter aucune route DVMRP sur l’interface RPF ip dvmrp accept-filter 15ip dvmrp accept-filter 15access-list 15 deny anyaccess-list 15 deny any
ne retransmettre qu’une route par défaut DVMRP sur les autres ne retransmettre qu’une route par défaut DVMRP sur les autres interfaces interfaces
ip dvmrp default-information onlyip dvmrp default-information only configurer une route multicast statique par défaut qui pointe vers configurer une route multicast statique par défaut qui pointe vers
l’interface RPF l’interface RPF ip mroute 0.0.0.0 0.0.0.0 TunnelXip mroute 0.0.0.0 0.0.0.0 TunnelX
préférer PIM aux tunnels quand cela est possiblepréférer PIM aux tunnels quand cela est possible informer / former les utilisateurs potentielsinformer / former les utilisateurs potentiels
3333
U R E CU R E C
Organisation du routage multicast : principes
dans un laboratoire :dans un laboratoire : mettre en place un seul routeur multicast mettre en place un seul routeur multicast quand le besoin existe ! quand le besoin existe ! PIM si possible (type du routeur, niveau d'IOS, ...)PIM si possible (type du routeur, niveau d'IOS, ...) même configuration de routeurmême configuration de routeur
3434
U R E CU R E C
Solution 2 : développer PIM dense
Renater
DVMRPMBone
DVMRPinterne
DVMRPinterne
PIM
PIM
PIM
DVMRPinterne
PIM/GREMBone
3636
U R E CU R E C
Bibliographie
ftp://ftpeng.cisco.com/ipmulticast.htmlftp://ftpeng.cisco.com/ipmulticast.html
http://electre.inria.frhttp://electre.inria.fr
http://www.univ-rennes1.fr/CRU/Multimedia/http://www.univ-rennes1.fr/CRU/Multimedia/annonce_multimedia.htmlannonce_multimedia.html
top related