Cours réseau: Réseaux AD HOC Plan

Transcription

Cours réseau: Réseaux AD HOC Plan
Cours réseau:
Réseaux AD HOC
1
Plan
1 Context et Motivations
1.1 Caractéristiques
1.2 Manet
2 Le routage dans Ad hoc
2.1 unicast
2.2 multicast
3 TCP sur Ad hoc
2
1
caractéristiques:
Mobile
Networks
Networks with
Infrastructure
Networks without
Infrastructure
Cellular
Networks : GSM,
Mobile IP
Ad hoc Networks
3
caractéristiques:
 "Réseaux de mobiles"
– GSM, UMTS, …
– GSM : seuls les terminaux sont mobiles,
les stations de base, commutateurs, BD : fixes
 Réseaux ad-hoc = réseaux "mobiles"
– Nœuds capables d'échanger de l'information, à peine
initialisés
– Pas besoin d'infrastructure
– Avantages non négligeables (en coût par ex)
4
2
caractéristiques:
 Applications des réseaux ad-hoc
– Mise en place très rapide de réseaux de communication
– Aeroports, hôtels : espaces peu équipés en infrastructures
de communication lourdes
 GSM : dispersion de l'infrastructure pour une couverture
globale
– Non sans difficulté
– Espaces contraignants pour les réseaux : restaurants, lignes
de métro, etc.
 Ad-hoc adapté dans ce cas
– besoin d'une bande de fréquences
– de programmes logiciels
5
caractéristiques:
 Ad-hoc : solution de réseau cellulaire pour les zones très
peu peuplées
– Couverture partielle des opérateurs
– Les terminaux peuvent servir de relais
 Système de communication : d'une source vers une
destination
 Support de transmission : sans-fil
– Hertzien :principal support des réseaux ad-hoc existants
– Infra-rouge
 Transmission hertzienne : 2 types d'acheminement
– Envoi direct
– routage
6
3
caractéristiques:
 Envoi direct
– Mobiles suffisamment proches
– Signal peu atténué
 Envoi par routage
– Nœuds relativement éloignés
– Affaiblissement des signaux émis
– Les nœuds jouent à la fois le rôle de client et de
serveur : relais
.
7
caractéristiques:
 Liens asymétriques
– Communications à sens unique entre un émetteur et un
récepteur
 Interférences
– Accroissement du nombre d'erreurs sur la transmission
– Amoindrissement des performances du lien radio
 Mobilité des nœuds
– Modification de la topologie du réseau
– Transformation du tracé des routes lors des échanges de
paquets
8
4
caractéristiques:
 En théorie, les liens sont symétriques
– Affaiblissement inversement proportionnel à la distance
entre l'émetteur et le récepteur
 En pratique, liens asymétriques
– Déphasage dû aux multiples réflexions du signal sur
différents obstacles
– Évanouissement (fading)
– Bonne réception dans un sens, mauvaise dans l'autre
 Route inverse pas forcément la même que la route directe
– Mise en place d'une signalisation beaucoup plus importante
que celle des réseaux fixes
9
caractéristiques:
 Interface radio partagée
– Chaque donnée est réceptionnée par tous les nœuds, à des
puissances variables
+ Les interférences s'ajoutent au bruit et détériorent les
communications
+ Augmentation du taux d'erreur
+ La transmission des paquets non récupérables diminue le
débit de la liaison
 Redondance
- Diffusion à tous les voisins
+ Paramètre inséré volontairement dans les réseaux filaires
– Contournement des nœuds en panne ou défaillants
+ Réseaux ad-hoc : facteur parasitaire
10
5
caractéristiques:
 Topologie du réseau : dynamique
– Route modifiée assez fréquemment
 Routage dynamique
– Demande d'énormes ressources pour véhiculer la
signalisation indispensable aux mouvements des nœuds
 Jusqu'à présent, la plupart des routages ad-hoc se sont
montrés plutôt inaptes à faire face à une forte mobilité
– Problématique au cœur des travaux de recherche
11
.
Mobile Ad-Hoc Network (MANET)
 heterogeneous mobile nodes
 autonomous, instantly deployable if no
preexisting infrastructure exists
 stand-alone or incorporated in a larger network
 re-configurable infrastructure (due to node
mobility)
 heterogeneous communication (audio, video, data
traffic…)
 limited power constraint (batteries, solar
power…)
12
6
Mobile Ad-Hoc Network (MANET)
 routes multi-hop (transmission radius < network
span)
 No base station (decentralized)
 function of coordination relies on the routing
protocol
13
MANET: Application
 Collaborative computing




(conferences,
exhibitions…)
Sensor networks
Military (battlefield,
rescue missions)
Recovery from
disasters (earthquake,
fire…)
Law enforcement
(crowd control, border
patrol)
14
7
Résumé:
 Ad hoc networks are distinguished from the other
forms of wireless networks by the absence of
fixed infrastructure
 They are created and used
anywhere
at any time and
selfself-creating, selfself-organizing and selfselfadministering
 They are
 Their topology can change: it is dynamic
15
Résumé:
16
8
Plan
1 Context et Motivations
1.1 Caractéristiques
1.2 Manet
2 Le routage dans Ad hoc
2.1 unicast
2.2 multicast
3 TCP sur Ad hoc
17
Le Routage dans Ad Hoc:
 De nouveaux protocoles:
- Information sur topologie complète n’est
pas forcément indispensable
- Forte mobilité forte convergence
- Limiter le nombre de messages de
signalisation
- Utiliser des algos. Scalables (introduction
de clusters)
18
9
Le Routage dans Ad Hoc:
 Le choix de l’algorithme en fonction de
plusieurs paramètres :
- Taille du réseau
- connectivité
- topologie
- trafic utilisateur
- énergie
- régulations de la couche physique
- métrique de performances
- coût
19
Le Routage dans Ad Hoc: Unicast
Ad hoc Routing Protocols
Proactive
Reactive
Hybrid
20
10
Le Routage dans Ad Hoc:
 Protocoles réactifs
– Aucun échange de paquets de contrôle pour construire
des tables de routage
– Inondation
– Consommation d'une grande quantité de ressources pour
découvrir une simple route entre 2 points du réseau
 Protocoles proactifs
– Établissent des tables de routage par l'échange régulier
de messages de contrôle
– Des tables de routage dynamiques permettent de
tracer la route optimale
 Performances
– Réseau dense : protocole réactif très coûteux
– Réseau fluide : échange abusif d'informations pour le
protocole proactif, pour des tables de routage de faible
taille
21
Le Routage dans Ad Hoc
 Techniques de routage utilisées
- Vecteur de Distance (DV)
- Etat du lien (LS)
- Routage à la source
 Exemples des protocoles de routage
- Reactive : TORA, AODV, DSR
- Proactive : OLSR, GSR, DSDV
- HYBRID : ZRP,CBRP
22
11
Le Routage dans Ad Hoc: DSR
 DSR (Dynamic Source Routing) [Johnson96] :
- Protocole simple et efficace qui permet au réseau
d’être auto-structurable et auto-configurable.
- Développé à Canergie-Mellon dans le cadre du
projet Monarch (Mobile Network Architecture)
- 2 mécanismes sont proposés :
 découverte de routes : mise en place quand le
besoin apparaît.
 maintenance des routes : utilisation de “caches”
pour le maintien d’une route de S vers D. Ce
mécanisme permet de détecter lorsqu’une route n’est
plus valide et d’en informer la source.
23
Le Routage dans Ad Hoc: DSR
 Hypothèses retenues par DSR :
- tous les nœuds participent à la conception du réseau
- le diamètre est petit (5 à 10 nœuds)
- tous les nœuds sont susceptibles de se mouvoir, n’importe
quand mais à une vitesse modérée
- utilisation de réception en mode promiscuous
- liens généralement bidirectionnels.
- Quelque soit son nombre d’interfaces physiques, chaque
nœud ne dispose que d’une adresse IP
24
12
Le Routage dans Ad Hoc: DSR
 Les mécanismes sont mis en place uniquement en cas de besoin
 Les mécanismes d’établissement et de maintenance des routes
ne repose pas sur l’envoi périodique de paquets
 Les routes peuvent être asymétriques (liensunidirectionnels)
 Les réseaux adhocs utilisant DSR peuvent être couplés à
l’Internet classique via une gateway
 Le couplage avec Mobile IP est défini.
25
Le Routage dans Ad Hoc: DSR
 la source S regarde dans son cache de route, s’il existe un
chemin vers la destination D
- OUI : Les données sont envoyées en untilisant un
algorithme de source routing
- NON : Mise en place d’un mécanisme de découverte
de route.
+ S diffuse un paquet ROUTE REQUEST, RREQ(S,D,L)
où L est la liste des nœuds traversés pour atteindre D
On a L=?
+ Sur réception d’un de RREQ(S,D,L), un nœud N va
vérifier si N=D
* NON : il vérifie qu’il ne l’a pas déjà reçu.
si Oui,
rien,
sinon N diffuse RREQ(S,D,L=L+N).
* OUI : Envoi d’une réponse (ROUTE REPLY) 26
13
Le Routage dans Ad Hoc: DSR
27
Le Routage dans Ad Hoc: DSR
28
14
Le Routage dans Ad Hoc: DSR
29
Le Routage dans Ad Hoc: DSR
30
15
Le Routage dans Ad Hoc: DSR
31
Le Routage dans Ad Hoc: DSR
32
16
Le Routage dans Ad Hoc: DSR
33
Le Routage dans Ad Hoc: DSR
 D, pour envoyer le ROUTE REPLY, regarde s’il
existe un chemin vers S dans son cache :
- OUI :
+ Il fait un source routing pour le paquets de retour,
en se basant sur les valeurs de sa table
- NON mais la L2 utilise des liens unidirectionnels :
+ inversion de la route contenue dans L
- Sinon :
+ lance une découverte de route vers S en
«piggybackant» l’acquittement du RREQ(S,D,L)
reçu.
34
17
Le Routage dans Ad Hoc: DSR
35
Le Routage dans Ad Hoc: DSR
 Sur réception d’un RREP, S «cache» la liste des nœuds
traversés puis peut envoyer ses données en mettant dans
l’entête la liste des nœuds à traverser.
36
18
Le Routage dans Ad Hoc: DSR
 Mémorisation d’autres routes
- Chaque nœud stocke les nouvelles routes qu’il voit
- Les informations sur les routes sont apprises par les
nœuds entendant les paquets RREP, RREQ et ceux de
données, même s’il ne sont pas sur le chemin. Mais il faut
faire attention aux liens unidirectionnels.
37
Le Routage dans Ad Hoc: DSR
 Accelération de la découverte de routes
- Ex : C veut envoyer une nouveau msg à A.
Accélération si chaque nœud ayant une
route envoie un RREP
- Problème ?
 Autre problème
Une diffusion peut potentiellement
atteindre tous les nœuds (utilisation
de compteurs de noeuds)
38
19
Le Routage dans Ad Hoc: DSR
 Si un lien se «casse», le mécanisme de maintenance de
route est utilisé :
- Si pas de réponses sur un paquet de données, le long
du chemin on tente n fois de retransmettre. Au bout
de n une erreur est détectée et répercutée : Envoi de
ROUTE ERROR (RERR [lien]).
RERR [J-D]
S
F
E
C
G
J
K
D
39
Le Routage dans Ad Hoc: DSR
 Optimisations possibles
- J peut trouver une autre route pour les données
- S informe ses voisins de la route «cassée» dans son
nouveau paquet RREQ. Attention au stockage
d’informations négatives
40
20
Le Routage dans Ad Hoc: AODV
 AODV (AdhOc Distance Vector) [Perkins99]:
- Hypothèse :
+ liens bidirectionnels (symétriques)
+ fonctionne en unicast et multicast
- Principe de l’établissement de la route :
+ des paquets Route Requests (RREQ) sont transmis
de la même manière que pour DSR
+ Quand un nœud rediffuse une requête de route, il
établit un chemin inverse qui pointe vers la source
+ Quand la destination reçoit le paquet “Route
Request”, il y répond avec un paquet Route Reply
+ Le paquet Route Reply prend le chemin inverse et
atteind la source.
41
Le Routage dans Ad Hoc: AODV
 Découverte de route :
- Création du RREQ contenant :
+ @source, n°seq(source), ID de diffusion
+ @destination, n°seq(dest)
+ nb de sauts
42
21
Le Routage dans Ad Hoc: AODV
 Découverte de route :
- Diffusion du RREQ
- Log des RREQ reçu pendant un certain temps
avec l’@source et l’ID de diffusion
43
Le Routage dans Ad Hoc: AODV
 Mise à jour des tables de routage pour
aller à S
- L’adresse S
- le nombre de sauts pour atteindre S
- une durée d’expiration de cette entrée
- l’identifiant de diffusion
- n° de séquence de la source
44
22
Le Routage dans Ad Hoc: AODV
 Sur réception d’un RREQ :
- un nœud regarde s’il a déjà reçu le RREQ enregardant
dans sa table de log.
- Le retransmet sinon avec le nombre de sauts (vers la
source) incrémenté
45
Le Routage dans Ad Hoc: AODV
 Propogation des RREQ tant que
- D n’est pas atteint
- un nœud intermédiaire
+ n’a pas D dans sa table de routage
+ a D mais avec un n°seq(dest) ? au n°seq(dest) du message
RREQ
46
23
Le Routage dans Ad Hoc: AODV
 Propogation des RREQ tant que
- D n’est pas atteint
- un nœud intermédiaire
+ n’a pas D dans sa table de routage
+ a D mais avec un n°seq(dest) ? au n°seq(dest) du
message RREQ
47
Le Routage dans Ad Hoc: AODV
 Destination trouvée
- Etablissement du chemin inverse pour le transfert des
données.
- X envoi un msg RREP(@S,@D, n°seq(dest), cpt
sauts X? D, TpsAvtExp)
48
24
Le Routage dans Ad Hoc: AODV
 Chemin de transfert est établi, les données
peuvent être transférées
49
Le Routage dans Ad Hoc: AODV
 Expiration des routes si elles ne sont pas utilisées.
 Les données ne contiennent pas dans l’entête
l’ensemble de nœuds à traverser (tables de routage)
50
25
Le Routage dans Ad Hoc: AODV
 Les mouvements des nœuds ne sont pris en compte que s’ils
affectent une route active
- S bouge : nouvelle procédure de découverte de route
- Autre nœud : envoi de RERR
 Principe des RERR.
- Quand un nœud détecte que le lien downstream n’est
plus valide :
+ il incrémente la valeur du n° de séquence pour D contenu
dans sa table de routage
+ il envoie un RERR à ses prédécesseurs dont le chemin
passe par le lien défectueux avec distance à D=? et le n°
de séquence incrémenté.
- Sur réception du RERR, S initialise une découverte de
route avec le n° de séquence reçu
51
Le Routage dans Ad Hoc: DSDV (Destination
Sequence Distance Vector)
 L’un des premiers protocoles mis au point par le groupe
MANET
 Protocole proactif
 Inspiré du protocole RIP (Routing Information Protocol)
d’IP filaire
– Appelé à disparaître au profit d’OSPF (Open Shortest
Path First)
 On y a aujourd’hui complètement renoncé
 Repose sur un vecteur de distance
– Chaque nœud possède une table de routage où chacune des lignes
doit identifier
• L’une des destinations possibles
• Le nombre de sauts pour y parvenir
• Le nœud voisin à traverser
52
26
Le Routage dans Ad Hoc: DSDV
 Principal
défaut de DSDV : convergence des tables de routage
– Hérité de RIP
• Envoi des tables aux voisins
• Comparaisons pour choisir la route la plus courte
• La route ne converge pas toujours
– Problème crucial dans les réseaux ad-hoc
• Ralentissement de la convergence à cause de la mobilité
des nœuds
• Insertion de numéros de séquence dans DSDV pour
rafraîchir les tables de routage
– Interdit toute mise à jour antérieure
 Surplus de signalisation : autre imperfection de DSDV
– Messages de rafraîchissement moins nécessaires pour des
nœuds peu mobiles
– Création d’un nouveau protocole (par les mêmes auteurs)
• AODV : Ad-hoc On Demand Vector
53
• Suppression de tous les paquets de contrôle
Le Routage dans Ad Hoc:
(Optimized Link State Routing
Protocole: OLSR)
 Protocole proactif
 Applique dans un contexte ad-hoc les règles de routage
centrées sur l’état du lien
– Ce type de routage devient une référence en matière de
routage en IP filaire (avec OSPF)
– Chaque nœud connaît parfaitement la position des autres
dans le réseau
– Choix du chemin le plus court ou le plus rapide = formalité
• Algorithme de Dijkstra
54
27
Le Routage dans Ad Hoc: OLSR
 Pas d’inondation car elle générerait de la redondance
– Les paquets parviennent aux nœuds 1 seule fois
– Le nœud élit parmi ses proches un représentant
• Rôle de relais multipoint : Multi-Protocol Router (MPR)
• Condition pour devenir MPR : pouvoir atteindre tous les
nœuds à une distance de 2 sauts, avec un lien symétrique
• MPR communiqués à tout le réseau par des messages TC
(Topology Control) périodiques
• À la réception des TC, mise à jour des tables de routage
55
Le Routage dans Ad Hoc: OLSR
Diffusion broadcast de message
Diffusion broadcast de message avec MPR
56
28
Le Routage dans Ad Hoc: (Zone
Routing Protocol ZRP)
 Le protocole Zone Routing Protocol [Haas98]
combine à la fois :
- une approche proactive à l’intérieur d’une zone restreinte,
ce qui permet de mettre à jour l’état du réseau et de
maintenir des routes qu’il y ait ou non des paquets de
données qui circulent.
- une approche réactive entre les zones restreintes, qui ne
détermine une route que si le besoin de transmettre des
paquets de données apparaît
57
Le Routage dans Ad Hoc: ZRP
 Routage intra-zone
- l’étendue d’une zone est définie par rapport à un
nœud central
- tous les nœuds ayant une distance d’au plus d par
rapport à un nœud X est considéré dans la zone de
routage de X
- le routage à l’intérieur d’une zone se fait proactivement à
l’aide d’algorithme “link state” ou “vecteurs de distance”
- les nœuds ayant une distance de d sont des nœuds
périphériques de la zone.
58
29
Le Routage dans Ad Hoc: ZRP
 Le routage inter-zone
- ZRP utilise dans ce cas une approche réactive.
- Une route est établie si une station a des paquets de
données à envoyer à l’extérieur de sa zone de
routage
- Utilisation de mécanismes de découverte de route
pour trouver la localisation du destinataire.
- Les paquets de découverte de route sont propagés
sur le même principe que pour DSR, mais les échanges
entre zones se fait uniquement au travers
des nœuds périphériques
59
Routage dans Ad Hoc: Découverte
de route avec ZRP (d=2)
Le
60
30
Le Routage dans Ad Hoc: ZRP
 E connaît D, car il est dans sa zone de routage.
 C’est donc E qui va renvoyer le chemin à S
61
Le Routage dans Ad Hoc: ZRP
 Les paquets sont envoyés à D via les nœuds périphériques C
et E
62
31
Plan
1 Context et Motivations
1.1 Caractéristiques
1.2 Manet
2 Le routage dans Ad hoc
2.1 unicast
2.2 multicast
3 TCP sur Ad hoc
63
Généralités: multicast
Unicast ou multicast ?
Unicast:
 Un (des) chemin(s) entre une source et une
destination
Multicast
 Un (des) chemin(s) entre une source et
plusieurs destinations
64
32
Généralités: Principes
Diffusion (multipoints) ?
Niveau Physique:
 Technologie sur bus
 Le logiciel
 Exemple Ethernet (01:00:OO:OO:OO:OO)
Niveau réseau
 Abstraction de la diffusion au niveau physique
 Caractéristiques: Adresse de groupe, nombre de
groupes(2**28), adhésion au groupe,
acheminement interréseaux,…
65
Généralités : un émetteur vers
plusieurs récepteurs
 Multicast: un acte d’envoyer un datagramme au multiples
rcepteurs avec une seule opération “transmit”
 analogiquement: un enseignant pour plusieurs étudiants
 Question: comment on accomplit le multicast
Multicast via unicast
 source envoie N
unicast datagrammes,
un adressé à chacun
de N recepteurs
routers
forward unicast
datagrams
multicast receiver (red)
not a multicast receiver
66
33
Généralités : un émetteur vers
plusieurs récepteurs (2)
Réseau multicast
 Routeur participe
Multicast
routers (red) duplicate and
forward multicast datagrams
activement dans le
multicast, faisant des
copies des paquets et les
forward vers les
récepteurs multicast
67
Généralités: un émetteur vers plusieurs
récepteurs (3)
Couche Application
multicast
 systemes terminaux
inclus dans le multicast
copient et forwardent
des datagrammes unicast
parmis eux-mêmes
68
34
Généralités: Modèle de Service
Multicast
 Plan d’adressage multicast
 Mécanisme de remise
 Un acheminement efficace
69
Généralités: Plan d’adressage
 2 types d’adresses
- permanentes (well-known): services, routage
- temporaires: des groupes multicast
 Exemples
- 224.0.0.0: adresse de base (réservée)
- 224.0.0.4: routeurs DVMRP
- 224.0.0.5: routeurs OSPFIGP
- 224.0.0.9: routeurs RIP2
- 224.0.0.251: DNS multicast
70
35
Généralités: Plan d’adressage
 Sémantique des adresses multicast
- @multicast # @unicast (individuelles)
pas @source, aucun message d’erreur généré par ICMP
 Correspondance des adresses multicast IP et d’Ethernet
- 23 bits de poids faible de l’@multicast IP dans les 23
bits de poids faible de l’adresse Ethernet de multicast
spéciale 01:00:5E:00:00:00
 Hôtes et remise multicast
- multicast sur un réseau physique unique
- multicast sur internet routeurs muticast
 Portée de multicast relative à la dispersion des
membres de groupe
 Adaptation logicielle pour supporter le multicast
71
Généralités: Mécanisme de remise
 propagation d’information d’appartenance aux groupes
128.59.16.12
128.119.40.186
multicast
group
226.17.30.197
128.34.108.63
128.34.108.60
Le concept du groupe multicast:
 des adresses IP des machines du groupe multicast
 les routeurs forwardent des datagrammes multicast
aux machines unies dans le groupe multicast
72
36
Généralités: Groupe Multicast
sémantiques du groupe de machines:
o N’importe qui peut “join” (reçoit) le groupe
multicast
o N’importe qui peut envoyer au groupe
multicast
 nécessité: une infrastructure pour délivrer des
datagrammes mcastà toutes les machines
appartenants au groupe multicast
73
Généralités: adhésion au groupe mcast:
deux-étapes

locale: la machine informe le routeur mcast local de
désir de joindre le groupe: IGMP (Internet Group
Management Protocol)
 Globale (wide area): routeur local interagit avec les
autres routeurs pour recevoir un flot mcast
 plusieurs protocoles (e.g., DVMRP, MOSPF, PIM)
IGMP
IGMP
wide-area
multicast
routing
IGMP
74
37
IGMP: Internet Group Management
Protocol

machine: envoie “une nouvelle:report” IGMP
lorsque l’application rejoinds le groupe mcast
 IP_ADD_MEMBERSHIP socket option
 host need not explicitly “unjoin” group when
leaving
 routeur: envoie “une question:query” IGMP à des
intervalles du temps réguliers(125 s)
 La machine appartenant au groupe mcast
devrait répondre à la question
report
query
75
IGMP
IGMP version 1
 routeur: la machine
Membre diffuse msg
sur le LAN à toutes les
machines
 machine: la machine
Membre répond par
un msg pour indiquer
un membre de groupe


Delai aléatoire avant la
réponse
Quitte implicite (sans
répondre à la question)
 RFC 1112
IGMP v2: additions
include
 Demande de spécifier le
groupe
 Msg de quitter le groupe



Dernière machine répond à
la question peut envoyer un
message de “quitte” au
groupe
Le routeur accomplit la
demande de spécification
de groupe pour voir s’il y a
des machines qui ont quitté
le groupe
RFC 2236
IGMP v3: sous développement
76
38
Le routage Multicast:principes
 Pourquoi
le routage multicast est-il aussi
difficile?
 Pourquoi ne pas étendre le routage classique
pour prendre en compte le multicast ?
Réseau 1
Réseau 1
R
B
C
D
E
Réseau 2
A
F
G
77
Le routage Multicast:principes




Nécessité d’un routage dynamique

Les routes multicast changent plus rapidement

Le multicast exige autre chose que l’@ dest.

Un datagramme peut provenir d’un hôte ne faisant pas partie du groupe
Insuffisances de routage selon la destination
Emetteurs quelconques
Modèles de routage multicast de base


Les chemins inverses (RPF: Rverse Path Forwarding)
L’acheminement tronqué selon RPF (TRPF: Truncated RPF)

Conséquences de TRPF

Arbres de multicast


Un ensemble de chemins reliant une source à chacun des membres d’un
groupe de multicast
Un arbre par groupe de multicast
78
39
Le routage Multicast:principes
 Nature du routage multicast
 Un copromis entre le trafic des commandes de routage et
l’inefficacité de la transmission des données
 L’acheminement selon les chemins inverses
RPF est une stratégie de diffusion et de suppression
 Utilisation de RPM (Reverse Path Multicast)
- gestion d’adhésion de façon ascendante

 Le programme mrouted
Dans le noyau multicast
 La propagation des routes en utilisant le Distance Vector
 Fichier de configuration pour
 Encapsulation des datagrammes multicast dans des
datagrammes classiques

79
Routage Multicast : Problème de
déclaration
 But: trouver un arbre (or des arbres) connecter
des routeurs membres dans un groupe macast
local



arbre: tous les chemins entre les routeurs ne sont pas utilisées
source-based: differents arbres de chaque émetteur aux rcvrs
shared-tree: même arbre utilisé par tous les members du groupe
Shared tree
Source-based trees
40
Approaches pour construire un arbre
mcast
Approaches:
 source-based tree: un arbre par source
des arbres de plus court chemin
 Forward Chemin inverse (RPF)

 group-shared tree: le groupe utilise un arbre
 Couvrement minimal (colorés)
Arbre de plus court chemin
 Un arbre de diffusion mcast : arbre de plus courts
chemins de la source aux récepteurs

Algorithme Dijkstra
S: source
LEGENDE
R1
1
2
R4
R2
3
R3
routeur attaché à un membre
de groupe
5
4
R6
routeur no attaché à un membre
de groupe
R5
6
R7
i
lien utilisé pour forwarder,
i indique l’ordre de lien
ajouté par l’algorithme
41
Forwarding Chemin inverse
 Relie le routeur aux émetteurs par le plus
court chemin
 chaque routeur a un simple comportement
de diffusion:
if (le datagramme mcast reçu sur le lien d’entrée sur
le plus court chemin de retour)
then innonder le datagramme sur tous les liens de
sortie
else ignore le datagramme
Forwarding chemin inverse: exemple
S: source
LEGENDE
R1
R4
routeur attaché à un membre
de groupe
R2
R5
R3
R6
R7
routeur no attaché à un
membre de groupe
datagram sera forwardé
Datagramme ne sera
forwardé
• resultat est une inverse spécifique source SPT
– Peut être un mauvais choix avec des liens
assymétriques
42
Forwarding chemin inverse: pruning
 Arbre de diffusion contient des sous arbres avec un
des non membres de groupe mcast
 Pas besoin de diffuser les datagrammes dans les
sous arbres
 “prune” msgs envoyé en amont par le routeur avec
“un non aval members groupe”
LEGENDE
S: source
R1
routeur attaché à un membre
de groupe
R4
R2
P
R5
R3
R6
P
R7
P
routeur no attaché à un
membre de groupe
prune message
links with multicast
forwarding
Arbre-partagé : arbre coloré”steiner”
 Steiner Tree: arbre à coût minimum
connecte tous les routeurs qui sont attachés
aux membres de groupe
 Existe des excellentes heuristiques
 N’est pas utilisé en pratique:
Évaluation de la complexité
 Nécessité de l’info sur le réseau entier

43
Le routage multicast dans Ad hoc
87
Le routage multicast: MOADV
 Le multicast
- Un groupe multicast est défini par un unique
identifiant du groupe
- Les nœuds peuvent joindre et quitter le groupe
n’importe quand
- Il faut prendre en compte les changements de
topologie. Plusieurs protocoles ont été développés
dans le cadre des travaux du groupe MANET
88
44
MAODV
 AODV Multicasting [Royer00]
- Principe
+ Responsable de groupe :
* Chaque groupe multicast possède un responsable de
groupe
* Ce responsable gère le numéro de séquence du groupe.
* Le premier nœud désirant joindre le groupe est élu
responsable
* Le responsable gère la diffusion de messages Group
Hello
89
MAODV
 Un arbre existe, il dispose d’un responsable de groupe qui
gère le numéro de séquence du groupe.
- Envoi périodique de messages Group Hello
90
45
MAODV
 Un arbre existe, il dispose d’un responsable de groupe qui
gère les numéros de séquence du groupe
- Ces messages contiennentle n° de séquence du groupe
qui est incrémenté à chaque diffusion
Responsable du
groupe
L
E
C
H
J
G
K
A
Membre du groupe
Et de l’arbre multicast B
Membre de larbre mais
du groupe
D
N
Lien de l’arbre multicast
91
MAODV:joindre l’arbre multicast
 Si N veut joindre le groupe Multicast
- envoi d’un RREQ(join) contenant :
+ Join-flag et Repair-flag
+ @ de N, le broadcast ID de N, le n°seq(N)
+ @grp-mc, n°seq(grp)
+ nb-sauts
E
- l’envoi est une diffusion
C
si N ne connaît pas le responsable
H
G
groupe, une transmission
unicast sinon.
A
B
L
J
K
D
N
Route Request RREQ
92
46
MAODV: joindre l’arbre multicast
 Peuvent répondre à ces messages :
- le responsable du groupe
- les routeurs de l’arbre dont le n°seq ? n°seq(N)
 Envoi de RREP en unicast vers N
- dernier n°seq(grp)
E
- @ de L
L
C
- nb de sauts pour aller à L
- nb sauts au grp = 0
H
G
 Mise à jour des tables
K
J
D
A
B
N
Route Reply RREP
93
MAODV: joindre l’arbre multicast
 Création du forward path
- Validation de la route choisie avec envoi de messages
MACT (Multicast Activation).
- Sur réception de ces messages les nœuds activent
les entrées de leurs tables de routage
E
L
C
H
J
G
K
A
B
D
N
Multicast Avtivation MACT
94
47
MAODV: joindre l’arbre multicast
 N a rejoint le groupe multicast
E
L
C
H
A
Membre du groupe
Et de l’arbre multicast
J
G
K
D
B
N
Membre de larbre mais
du groupe
Lien de l’arbre multicast
95
MAODV: joindre l’arbre multicast
 Les données suivent les branches de l’arbre maintenues à
l’aide de l’algorithme AODV Multicast
 Si un nœud qui n’appartient pas au groupe multicast
désire difuser au groupe un paquet
- Il envoie un non-join RREQ qui sera traité de la même
manière qu’un join RREQ
- L’émetteur trouvera ainsi une route vers l’arbre
- Les données seront envoyées au membre du groupe.
96
48
MAODV: quitter l’arbre multicast
 J veut quitter le groupe
E
L
C
H
J
G
K
A
B
D
N
97
MAODV: quitter l’arbre multicast
 J veut quitter le groupe
- Il doit rester un membre du groupe car J n’est
pas une feuille de l’arbre
E
L
C
H
J
G
K
A
B
D
N
98
49
MAODV: quitter l’arbre multicast
 N veut quitter le groupe
E
L
C
H
J
G
K
A
B
N
D
MACT
(Prune)
99
MAODV: quitter l’arbre multicast
 N veut quitter le groupe
 K devient une feuille, et K n’appartient pas au
groupe
E
L
C
H
J
G
A
MACT K
(Prune)
B
D
N
100
50
MAODV:quitter l’arbre multicast
 N veut quitter le groupe
 K devient une feuille, et K n’appartient pas au
groupe
 K est lui aussi retiré du groupe
E
L
C
H
J
G
K
A
B
D
N
101
MAODV: ruptures de liens
 Quand un lien(X,Y) de l’arbre se “rompt”, le nœud X
ou Y, le plus éloigné (dowstream) du responsable
doit reconstruire l’arbre.
 Si X est ce nœud, il envoie un Route Request(RREQ)
 Seuls nœuds, plus proches du responsable que X,
ont le droit de répondre à l’aide d’un RREP.
 Si X n’obtient pas de réponse, il suppose que le
groupe s’est scindé. Un responsable pour le nouvel
arbre doit être choisi.
102
51
MAODV: fusion des arbres
 Fusion de deux arbres.
- Le responsable sera celui avec le plus grand identifiant
103
MAODV
 Fusion de deux arbres.
- Le responsable sera celui avec la plus grande adresse IP
104
52
MAODV:fusion des arbres
 Fusion de deux arbres.
- Le responsable sera celui avec la plus grande adresse IP
- A retransmet l’acceptation de P au futur responsable
de groupe
105
MAODV:fusion des arbres
 Fusion de deux arbres.
- Le responsable sera celui avec la plus grande adresse IP
- A retransmet l’acceptation de P au futur responsable
de groupe
- Q diffuse l’information à tout l’arbre
106
53
Source-Based tree: DVMRP
 DVMRP est le premier protocol déployé sur Internet; utilisé
dans Mbone (Multicast Backbone)
 Initiallement, la source diffuse le paquet vers tous les
routers (utilisant Rev Path Fwd)
 Les Routeurs sans machines actives dans (m-cast group), ils
se déconnectent de l’arbre
 Les routeurs interieurs qui n’ont plus de descandants se
détachent de l’arbre récursivement
 Problemes: peu de routeurs utilisent le mcast; solution:
tunnels
107
PIM (Protocol Independent Multicast)
 PIM devient le protocole standard dans intra AS m-
cast
 Independent parceque il peut opérer des
infrastructures différentes de routage (difference
avec DVMRP)
 PIM peut utiliser les deux modes: PIM Sparse Mode
et PIM Dense Mode
 Initiallement, les members “join” l’arbre partagé
centré par un Rendez Vous Point
108
54
ODMRP (On Demand Multicast
Routing Protocol)
 Le concept Forwarding Group
Multicast
 Arbre replace la maille
 Approche
On-demand
 Soft state
109
AMRoute
 Adhoc Multicast Routing (AMRoute)
 shared
tree bidirectionnel
 Relie sur unicast protocol pour fournir des
routes entre les members et gérer la mobilité
 Souffre de formation de boucles et des
arbres non optimaux
110
55
AMRIS et CAMP
 Ad hoc Multicast Routing protocol utilizing
Increasing id-numberS (AMRIS)
Un ID number attribué à chaque noeud pour construire
l’arbre
 L’id esst utilisé dans l’arbre pour la maintenance et la
localisation
 Beacons “balises” sont envoyées par chaque noeud aux
voisins

 Core-Assisted Mesh Protocol (CAMP)
 Utilisation dans un réseau maillé each
 Cores sont utilisés pour limiter le flow des demandes
de join
111
56