Algorithmes de routage - UFR de Mathématiques et Informatique

publicité
Routage
M1/M2 ISV
M2 IPS
Neilze Dorta
UFR Mathématiques et Informatiques - Crip5
Routage

Trouver un chemin entre une source
et une destination

Protocoles de routage

Tables de routages

Routeurs (et commutateurs)
Protocoles de routage

Router les paquets

À l'établissement d'un circuit virtuel

Pour chaque paquet dans un réseau
datagramme

Réseau maillé : multitudes de chemins

Meilleur chemin

Le moins coûteux (opérateur ou client)

Le plus rapide

Le plus sûr
Tables de routage

Au moins 2 colonnes

L'adresse destination

L'adresse correspondant au «saut»

Prochain noeud
Catégories de routage

Routage non adaptatif


Choix du chemin fixé à l'avance
Routage adaptatif

Le chemin varie selon l'état du réseau


Panne de liaisons ou de commutateurs
Trafic écoulé par le réseau
Algorithmes de routage

Algorithme de routage centralisé

Un organe dédié à cette fonction

Interrogé par les commutateurs à chaque routage


Algorithme de routage isolé


Si adaptatif => connaître en permanence l'état du
réseau
Chaque commutateur détermine le chemin en
fonction de son état
Algorithme de routage distribué

Chaque noeud diffuse à ses voisins des indications
sur son état
6
Routage par inondation

Un paquet reçu par un commutateur est
réémis sur toutes les liaisons hormis celle
où ce paquet a été reçu

Type isolé

Simplicité et fiabilité (réseaux militaires)

Multiplication du nombre de paquets (infinie?)

Détruire les paquets pour éviter une congestion


Compteur dans l'en-tête de chaque paquet
Décrémenté par les commutateurs à chaque
réémission
Algorithmes a vecteur de distance



Chaque noeud est supposé connaître la « distance »
(le coût) qui le sépare de chacun de ses voisins (une
liaison hors service a un coût infini).
Périodiquement, chaque noeud envoie à chacun de
ses voisins la liste des distances estimées vers
chaque noeud du réseau : vecteur de distance. Il
reçoit en retour une liste similaire de chacun de ses
voisins.
Chaque noeud peut déterminer l'estimation qui lui
semble la meilleure pour atteindre chaque
destination, et inscrire cette estimation ainsi que la
liaison correspondante dans sa table de routage.
Algorithme de Dijkstra
DIJKSTRA (G, s)
pour chaque sommet v  S[G] faire (* initialisation des attributs *)
d[v] = 
pred[v] = NIL
d[s] = 0
E= 
R= S
tant que R ?  faire
u = sommet avec l'estimation de pondération minim um de R
E = E  {u}
pour chaque sommet v  adjacent[u] faire (* relâcher les arcs *)
si d[v] > d[u] +  (u,v) alors
d[v] = d[u] + (u,v)
pred[v] = u
R = R  {u}
Exercice 3.2.1
A
5
E
2
10
B
4
C
2
2
3
1
3
D
1
F
Exercice 3.2.1
(inf, —)
(5, A)
A
5
E
2
10
B
(1 0, A)
4
C
2
2
3
1
3
D
(inf, —)
1
F
(inf, —)
Exercice 3.2.1
(5, A)
A
5
E
2
10
B
(7, E)
(9, E)
4
C
2
2
3
1
3
D
(inf, —)
1
F
(inf, —)
Exercice 3.2.1
(5, A)
A
5
E
2
10
B
(7, E)
(9, E)
4
C
2
2
3
1
3
D
(1 0, B)
1
F
(inf, —)
Exercice 3.2.1
(5, A)
A
5
E
2
10
B
(7, E)
(9, E)
4
C
2
2
3
1
3
D
(10, B)
1
F
(1 0, C)
Exercice 3.2.1
destination
B
C
D
E
F
prochain nœud
E
E
E
E
E
coût
7
9
10
5
10
chemin
AEB
AEC
AEBD
AE
AECF
Téléchargement