2. 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
3. caractéristiques:
Mobile
Networks
Networks with Networks without
Infrastructure Infrastructure
Cellular Networks
Ad hoc Networks
: GSM, Mobile IP
3
4. 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
5. caractéristiques:
Applications des réseaux ad-hoc
– Mise en place très rapide de réseaux de communication
– Aéroports, hôtels : espaces peu équipés en infrastructures
de communication lourdes
GSM : dispersion de l'infrastructure pour une couverture globa
– 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
6. caractéristiques:
Ad-hoc : solution de réseau cellulaire pour les zones très peu peuplée
– 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. MANET: Application
Collaborative computing
(conferences,
exhibitions…)
Sensor networks
Military (battlefield,
rescue missions)
Recovery from
disasters (earthquake,
fire…)
Law enforcement
(crowd control, border
patrol)
14
15. 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 at any time and anywhere
They are self-creating, self-organizing and self-
administering
Their topology can change: it is dynamic
15
17. 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
18. 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
19. 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
20. Le Routage dans Ad Hoc: Unicast
Ad hoc Routing Protocols
Proactive Reactive Hybrid
20
21. 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
21
22. 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
23. 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
24. 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
25. 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
26. 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).
26
34. 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
36. 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
37. 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
38. 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
39. 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 E F J
C G K D
39
40. 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
41. 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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. Le Routage dans Ad Hoc: AODV
Chemin de transfert est établi, les données
peuvent être transférées
49
50. 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
51. 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
52. 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
53. 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
• Suppression de tous les paquets de contrôle 53
54. 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é
54
55. 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
56. Le Routage dans Ad Hoc: OLSR
Diffusion broadcast de message
Diffusion broadcast de message avec MPR 56
57. 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
58. 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
59. 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
60. Routage dans Ad Hoc: Découverte
Le
de route avec ZRP (d=2)
60
61. 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
62. Le Routage dans Ad Hoc: ZRP
Les paquets sont envoyés à D via les nœuds périphériques C
et E
62
63. 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
64. 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
65. 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
66. 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 multicast receiver (red)
forward unicast
not a multicast receiver
datagrams
66
67. Généralités : un émetteur vers
plusieurs récepteurs (2)
Réseau multicast
Routeur participe activement dans
le multicast, faisant des copies
des paquets et les forward vers
les récepteurs multicast
Multicast
routers (red) duplicate and
forward multicast datagrams
67
68. 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
69. Généralités: Modèle de Service
Multicast
Plan d’adressage multicast
Mécanisme de remise
Un acheminement efficace
69
70. 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
71. 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
Hôtes et remise multicast
spéciale 01:00:5E:00:00:00
- 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
72. Généralités: Mécanisme de remise
propagation d’information d’appartenance aux groupes
128.59.16.12
128.119.40.186
multicast 128.34.108.63
group
226.17.30.197
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
73. 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
74. 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
75. 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
query report
75
76. IGMP
IGMP version 1 IGMP v2: additions
routeur: la machine include
Membre diffuse msg Demande de spécifier le
sur le LAN à toutes les groupe
machines Msg de quitter le groupe
machine: la machine Dernière machine répond à
Membre répond par la question peut envoyer un
un msg pour indiquer message de “quitte” au
groupe
un membre de groupe
Le routeur accomplit la
Delai aléatoire avant la
demande de spécification
réponse
de groupe pour voir s’il y a
Quitte implicite (sans des machines qui ont quitté
répondre à la question) le groupe
RFC 1112 RFC 2236
IGMP v3: sous développement
76
77. 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 B C D E
Réseau 1
Réseau 2
A
F G
77
78. Le routage Multicast:principes
Nécessité d’un routage dynamique
Les routes multicast changent plus rapidement
Insuffisances de routage selon la destination
Le multicast exige autre chose que l’@ dest.
Emetteurs quelconques
Un datagramme peut provenir d’un hôte ne faisant pas partie du groupe
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
79. 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
80. 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
Source-based trees
Shared tree
81. 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)
82. 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 2
1 R4 routeur attaché à un membre
de groupe
R2 5
routeur no attaché à un membre
3 4
R5 de groupe
R3 6 i lien utilisé pour forwarder,
R6 R7 i indique l’ordre de lien
ajouté par l’algorithme
83. 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
84. Forwarding chemin inverse: exemple
S: source
LEGENDE
R1
R4 routeur attaché à un membre
de groupe
R2
routeur no attaché à un
R5 membre de groupe
R3 datagram sera forwardé
R6 R7
Datagramme ne sera
forwardé
• resultat est une inverse spécifique source SPT
– Peut être un mauvais choix avec des liens
assymétriques
85. 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”
S: source LEGENDE
R1 routeur attaché à un membre
R4 de groupe
R2 routeur no attaché à un
P membre de groupe
P
R5 prune message
R3 P links with multicast
R6 R7 forwarding
86. 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
88. 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
89. 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
90. 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
91. 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
E Responsable du
groupe
L
C
H G J
A K D
Membre du groupe
Et de l’arbre multicast B N
Membre de larbre mais
Lien de l’arbre multicast
du groupe
91
92. 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
- l’envoi est une diffusion
E
si N ne connaît pas le responsable L
C
groupe, une transmission
unicast sinon. H G J
A K D
B N
Route Request RREQ
92
93. 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
- nb de sauts pour aller à L C
- nb sauts au grp = 0 H G J
Mise à jour des tables K
A D
B N
Route Reply RREP
93
94. 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 G J
A K D
B N
Multicast Avtivation MACT
94
95. MAODV: joindre l’arbre multicast
N a rejoint le groupe multicast
E
L
C
H G J
A K D
Membre du groupe
Et de l’arbre multicast
B N
Membre de larbre mais
du groupe
Lien de l’arbre multicast
95
96. 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
98. 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 G J
A K D
B N
98
99. MAODV: quitter l’arbre multicast
N veut quitter le groupe
E
L
C
H G J
A K D
MACT
(Prune)
B N
99
100. 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 G J
MACT K
A (Prune) D
B N
100
101. 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 G J
A K D
B N
101
102. 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
103. MAODV: fusion des arbres
Fusion de deux arbres.
- Le responsable sera celui avec le plus grand identifiant
103
104. MAODV
Fusion de deux arbres.
- Le responsable sera celui avec la plus grande adresse IP
104
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
105
106. 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
107. 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
108. 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
109. ODMRP (On Demand Multicast
Routing Protocol)
Le concept Forwarding Group
Multicast
Arbre replace la maille
Approche On-demand
Soft state
109
110. 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
111. 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
Hinweis der Redaktion
Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction 3-2
Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction 3-2
Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction 3-2
Notes: The Internet multicast service model and addressing/group management ideas have their foundation in the PhD thesis of S. Deering: “Multicast Routing in a Datagram Network,” Dept. of Computer Science, Stanford University, 1991. 3.1 Network Layer: Introduction 3-2
Notes: 3.1 Network Layer: Introduction 3-3
Notes: 3.2 Network Layer: Multicast Addressing and Group Management 3-5
Notes: 3.2 Network Layer: Multicast Addressing and Group Management 3-6
Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management 3-7
Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management 3-7
Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management 3-7
Notes: RFC-1112: S. Deering, “Host Extension for IP Multicasting,” August 1989 RFC 2236: R. Fenner, “Internet Group Management Protocol, Version 2”, November 1997. B. Cain, S. Deering, A. Thyagarajan, “Internet Group Management Protocol, Version 3,” work in progress, draft-ietf-idmr-igmp-v3-00.txt 3.2 Network Layer: Multicast Addressing and Group Management 3-7
Notes: 1. See L. Wei and D. Estrin, “A Comparison of multicast trees and algorithms,” TR USC-CD-93-560, Dept. Computer Science, University of California, Sept 1993 for a comparison of heuristic approaches. 3.3 Network Layer: Multicast Routing Algorithms 3-16