Multicast protocoles de routage

35
Multicast protocoles de routage Bernard Bernard Rapacchi Rapacchi Bernard Tuy Bernard Tuy

description

Multicast protocoles de routage. Bernard Rapacchi Bernard Tuy. Envoi de paquets. Une adresse multicast ne peut être que destinataire les sources ont toujours une adresse unicast le niveau Liaison de données n'utilise pas ARP : mécanisme de correspondance (pour les @ IEEE-802) - PowerPoint PPT Presentation

Transcript of Multicast protocoles de routage

Page 1: Multicast  protocoles de routage

Multicast

protocoles de routage

Bernard RapacchiBernard RapacchiBernard TuyBernard Tuy

Page 2: Multicast  protocoles de routage

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

Page 3: Multicast  protocoles de routage

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

Page 4: Multicast  protocoles de routage

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

Page 5: Multicast  protocoles de routage

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)

Page 6: Multicast  protocoles de routage

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

Page 7: Multicast  protocoles de routage

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

Page 8: Multicast  protocoles de routage

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

Page 9: Multicast  protocoles de routage

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

Page 10: Multicast  protocoles de routage

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

Page 11: Multicast  protocoles de routage

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

Page 12: Multicast  protocoles de routage

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

Page 13: Multicast  protocoles de routage

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

Page 14: Multicast  protocoles de routage

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

Page 15: Multicast  protocoles de routage

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

Page 16: Multicast  protocoles de routage

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

Page 17: Multicast  protocoles de routage

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

Page 18: Multicast  protocoles de routage

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

Page 19: Multicast  protocoles de routage

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

Page 20: Multicast  protocoles de routage

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

Page 21: Multicast  protocoles de routage

2121

U R E CU R E C

Reverse Path Forwarding (RPF)

D

multicast

Source

A

B

CE

Page 22: Multicast  protocoles de routage

2222

U R E CU R E C

Reverse Path Forwarding (RPF)

Source

A

B

C

D

E unicast

multicast Paquets multicast non retransmis

Page 23: Multicast  protocoles de routage

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

Page 24: Multicast  protocoles de routage

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

Page 25: Multicast  protocoles de routage

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)

Page 26: Multicast  protocoles de routage

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)

Page 27: Multicast  protocoles de routage

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)

Page 28: Multicast  protocoles de routage

2828

U R E CU R E C

Poison Reverse

Source

A

B

C

D

E

(S,infini)

(S,2)

Page 29: Multicast  protocoles de routage

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

Page 30: Multicast  protocoles de routage

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

Page 31: Multicast  protocoles de routage

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

Page 32: Multicast  protocoles de routage

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

Page 33: Multicast  protocoles de routage

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

Page 34: Multicast  protocoles de routage

3434

U R E CU R E C

Solution 2 : développer PIM dense

Renater

DVMRPMBone

DVMRPinterne

DVMRPinterne

PIM

PIM

PIM

DVMRPinterne

PIM/GREMBone

Page 35: Multicast  protocoles de routage

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