Jean Seguin la couche réseau et les principes de routage cours réseaux chapitre 4
Jean Seguin
la couche réseau et les principes de routage
cours réseaux chapitre 4
2Jean
Seg
uin
EN
SS
AT
Couche réseau
application
présentation
session
transport
réseau
liaison
physique
7
6
5
4
3
2
1
ISO 10022 & UIT X211
X25.3 IP
• connexions de réseau entre systèmes ouverts• établissement, maintien, libération des connexions• gestion du sous-réseau• acheminement des paquets source destination
• fonctionnalités :• adressage• routage• contrôle de flux
• modes connecté / non connecté
ATM
quels servicesofferts ?
3Jean
Seg
uin
EN
SS
AT
Réseau et routage
F
réseau local (LAN)
A
D
B
E
C
routeur
ordinateur
sous-réseau?
?
?
4Jean
Seg
uin
EN
SS
AT
Réseau et routeurs
application
présentation
session
transport
réseau
liaison
physique
7
6
5
4
3
2
1
application
présentation
session
transport
réseau
liaison
physique
réseau
liaison
physique
réseau
liaison
physique
système intermédiaire
système extrémité système extrémité
système intermédiaire
routeurrouteur
5Jean
Seg
uin
EN
SS
AT
Nœud de commutation- table de routage
V 3
V 1
V 2 1,2,74,5
voie physiqueroutage d’une voie logique
message pour 1
message pour 4
message pour 7
destination
nœud n°3 etsa table de
commutation
V3V2
voie sortie
6,8 V1
6Jean
Seg
uin
EN
SS
AT
Principe d’un routeur
File de sortie
Algorithme de routage
Table de routage
File d’entrée
File de sortie File de sortie
7Jean
Seg
uin
EN
SS
AT
Divers types de commutation
• Commutation de circuits (virtuels)• établissement d’une connexion (mode circuit virtuel)
• transfert des données : le chemin est identique pour toutes les données
• libération des ressources
• circuit virtuel : couple voie physique / identificateur logique
• table de commutation / routage par la source
• Commutation de paquets/cellules• pas de chemin pré-établi
• décision en fonction d’information du PDU [@]
• tenir compte de problèmes de congestion, pannes, ...
• réseau de files d’attente / store-and-forward
• mode connecté / non-connecté (datagrammes)
8Jean
Seg
uin
EN
SS
AT
Comparaison des sous-réseaux en mode datagrammes et circuits virtuels
caractéristiques s/réseau datagramme s/réseau circuit virtuel (CV)
adressage adresses complètes source& destination paquet
chaque paquet contientle N° de CV
informationsde routage
infos de routage despaquets non mémorisées
chaque CV établi prend de laplace dans les tables de routage
routage chaque paquet aun routage indépendant
chaque paquet suit la routeétablie à l’initialisation du CV
conséquences d’unepanne de routeur
seuls paquets perdus : ceuxdans le routeur en panne
tous les CV(s) qui traversent lerouteur en panne sont détruits
contrôle decongestion difficile & complexe facile si ressource mémoire
suffisante à l’établissement du CV
établissement du circuit pas nécessaire nécessaire
qualité de service difficile à garantir facile si ressources suffisantesallouables par avance à chaque CV
9Jean
Seg
uin
EN
SS
AT
L’adressage
• SAP ISO– information désignant de manière unique et non ambiguë un
abonné du service.
• Problématique– @ impose un peu de topologie du réseau, manque de sens pour les
utilisateurs
– @ libre, plus simple pour l’utilisateur mais gestion plus complexe [ex. plaque minéralogique]
• Adressage hiérarchique– si l’@ comprend une structure hiérarchique, le routage est plus
simple, mais il faut vérifier la bonne composition des adresses
• Adressage logique– si l’@ est unique et universelle, elle peut être choisie par
l’utilisateur : l’accès est plus facile mais la complexité du routage est masquée.
10Jean
Seg
uin
EN
SS
AT
Algorithme de routage (1)
• Objectif– Définir le contenu des tables de routage des nœuds de
commutation selon divers critères
– Sélection du « meilleur » chemin de A à B
• Critères de « meilleur » chemin :– le moins cher (argent)
– le plus rapide (délai)
– le plus sûr (sécurité)
– le moins de nœuds (simplicité)
– le plus court (distance)
– le plus utilisé (débit) ?Quels compromis ?
11Jean
Seg
uin
EN
SS
AT
Algorithme de routage (2)
• Critères de « bonne gestion du réseau » :– le maximum de trafic
– le plus de clients
– le bon usage des ressources
– l’équité entre les clients
– l’évitement des congestions
– l’adaptabilité aux évolutions
?Quels compromis ?
12Jean
Seg
uin
EN
SS
AT
Efficacité d’un routage
• Congestion– un « bouchon » local peut paralyser l’écoulement global d’un
réseau.
• Pannes– il faut être capable de contourner des liens ou des commutateurs
hors fonctionnement.
• Topologie globale– une administration globale est impossible pour une interconnexion
de réseaux
• Inaccessibilité– solutions pour des @ non valides
13Jean
Seg
uin
EN
SS
AT
Exemple de congestion
V3(4Mbits à écouler)
V1
V2
3435
voie logiqueentrée (LCN)
V1V3
voiesortie
V1=V2=V3=2Mbit/s
4521
voie logiquesortie (LCN)
1213
V2V3
voiesortie
40520
voie logiquesortie (LCN)
voie logiqueentrée (LCN)
LCN 13 : rafale2Mbits 2s
LCN 35 : rafale2Mbits 2s
voie physiqueroutage d’une voie logique
14Jean
Seg
uin
EN
SS
AT
Exemple de conflit entre équité et optimisation
A Y
BX
E
F
G
H
si Σ trafics (A-B, E-F, G-H) saturent les liaisons horizontalesalors si on privilégie l’efficacité globale alors on arrête le trafic X-Y
sinon on respecte l’équité
15Jean
Seg
uin
EN
SS
AT
Représentation matricielle du maillage
1
3
52
4
6
7
8
v3 v2 v1
v3 v4 v6 v11
v4 v5 v9
v2 v5 v8
v8 v7
v6 v7 v10
v1 v11
v9 v10
1
2
3
4
5
6
7
8
1 2 3 4 5 6 7 8
v3
v2
v1v4
v6
v11
v5v9
v8
v7
v10A
B
7
4
16Jean
Seg
uin
EN
SS
AT
Routage centralisé
• Principe– Election d’un centre de gestion CG (nœud 2)
– Demande de connexion de A vers B [A-CG]
– CG détermine le chemin optimal selon son algorithme de routage
– CG informe les nœuds sur le chemin de la réservation de ressources
– CG informe A qu’il peut émettre ses informations
• Intérêt– la matrice est toujours à jour…
– utile si liens permanents ou semi-permaments
17Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (1)
• Principe – Dijkstra (1959)
– tout sous-chemin du chemin optimal est lui-même optimal
• Algorithme– soient 1 et n, les nœuds source et destination
– P : étiquette du nœud prédécesseur sur le chemin
– Ci : cumul du coût du chemin depuis l’origine
– Mij : coût d’une voie « i-j » = « distance » init – Oj : indice du nœud précédent le nœud courant
18Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (2)
faire pour i := 1 à n-1
faire pour j := 1 à n
/* calcul du coût pour aller vers les voisins en passant par i */
si (Mij fini) et ((Ci + Mij) < Cj) alors
Cj := Ci + Mij ; Oj := i
fsi ;
fin faire
fin faire ;
faire pour j := 1 à n
/* regarde si un coût moindre pour venir en i à partir des voisins */
si (Mnj fini) et ((Cj + Mnj) < Cn) alors
Cn := Cj + Mnj ; On := j
fsi ;
fin faire ;
19Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (3)
1
3
52
4
6
7
8
3
2
3
5
2
1
12
3
4
2(., )
(., 0)
(., )
(., )
(., )
(., )
(., )(., )
État initial
(n° du nœud précédent,coût ou distance depuis l’origine)
1 = nœud source
8 = nœud destination
20Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (4)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1, 3)
(., 0)
Itération 1
(1, 2)
(1, 3)
(., )
(., )
(., )
(., )
21Jean
Seg
uin
EN
SS
AT
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1, 3)
(., 0)
Itération 2
(1, 2)
(2, 5)
(2, 8)(1, 3)
Algorithme du plus court chemin (5)
(., )
(., )
22Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (6)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1, 3)
(., 0)
Itération 3
(3, 10)
(1, 2)
(., .)
(2, 5)
(2, 8)(1, 3)
23Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (7)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
Itération 4
(3,10)
(1,2)
(4,5)
(2,5)
(4,3)(1,3)
24Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (8)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
Itération 5
(3,10)
(1,2)
(4,5)
(2,5)
(4,3)(1,3)
25Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (9)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
Itération 6
(6,7)
(1,2)
(4,5)
(2,5)
(4,3)(1,3)
26Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (10)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
Itération 7
(6,7)
(1,2)
(4,5)
(2,5)
(4,3)(1,3)
27Jean
Seg
uin
EN
SS
AT
Algorithme du plus court chemin (11)
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
Itération 8
(3,5)
(1,2)
(2,5)
(4,3)(1,3)
(4,5)
28Jean
Seg
uin
EN
SS
AT
Chemin optimal par «backtracking»
1
3
52
4
6
7
8
3
2
35
2
1
12
3
4
2(1,3)
(.,0)
(3,5)
(1,2)
(4,3)(1,3)
(4,5)
(2,5)
29Jean
Seg
uin
EN
SS
AT
Table de routage - CG
2 4 4 4 2 7 4
1 3 1 6 6 7 6
4 2 4 4 8 2/4 8
1 1 3 5 3 1 3
4 6 4 4 6 4 4/6
2 2 8 8 5 2 8
1 2 2 1 2 2 2
3 6 3 3 6/3 6 6
1 2 3 4 5 6 7 8
1
2
3
4
5
6
7
8
vecteur de routage
1
3
2
6
7
1,-,3,1,6,6,7,6
- diffusion des vecteurs de routage vers les nœuds.- problème de cohérence lors de la mise à jour des informations
30Jean
Seg
uin
EN
SS
AT
Algorithmes distribués
• Routage dit « la patate chaude » – chaque nœud de commutation cherche à se débarrasser au plus vite
de son message
– choix de la file d’attente la plus rapide
• Routage par inondation– on teste tous les chemins possibles
– le message est recopié sur toutes les sorties
– l’un de ces chemins s’avérera le meilleur
• Inconvénient du « centralisé »– le centre de gestion est vulnérable
• Routage adaptatif– « la patate chaude » + vecteur de routage
31Jean
Seg
uin
EN
SS
AT
Routage par inondation (flooding)
• Idée– recherche du chemin optimal, non plus par calcul, mais de manière
expérimentale
• Principe de fonctionnement d’un nœud– à la réception d’un paquet, le nœud ajoute son nom + information
de coût dans le corps du message
– le paquet est envoyé sur toutes les voies de sortie dont les @ ne sont pas contenues dans la liste des nœuds visités (pour éviter les boucles)
– si le nœud est destinataire, le paquet contient la route cherchée -
– « source routing » : chemin mémorisé dans l’en tête de paquet.
32Jean
Seg
uin
EN
SS
AT
Routage adaptatif (1) : vecteur et matrice
1
3
52
4
6
7
8
3
2
35
2
1
12
32
V2+(2,2,2,2,2,-,2,2)1 2 3 4 5 6 7 8
258
V5+(4,4,4,4,4,-,4, 4)V8+(2,2,2,2,2,-,2,2)
V2+(5,5,5,5,5,-,5,5)1 2 3 4 5 6 7 8
248
V4+(1,1,1,1,1,-,1, 1)V8+(2,2,2,2,2,-,2,2)
vecteur des coûts du nœud 23, - , 5, 5, 6, 2, 1, 4
vecteur des coûts du nœud 42, 5, 1, -, 3, 7, 5, 3
vecteur des coûts du nœud 87, 4, 2 ,3, 6, 2, 5, -
4
33Jean
Seg
uin
EN
SS
AT
Routage adaptatif (2) : évaluation des coûts
• Mise à jour des coûts des nœuds adjacents
– Pour un nœud i, si un delta de coût sur une ligne de sortie, on modifie la ligne entière de la matrice des coûts (+c, -c, infini).
– Le nœud i vérifie si son vecteur minimal change, si oui informe ses voisins par un message
– Un nœud j, adjacent à i, réitère l’étape précédente.
• Famille d’algorithmes
– adaptée aux réseaux datagramme ; sur IP :
• Distant vector
• Link State
34Jean
Seg
uin
EN
SS
AT
Routage par vecteur de distance (1)
• Distant vector• Bellman, Ford, Fulkerson
• chaque routeur envoie un vecteur de coûts à ses voisins
• le vecteur contient les coûts vers chaque nœud du réseau
A B C D
EF
I J K L
G H
vers A I H K depuis J ligneA 0 24 20 21 8 AB 12 36 31 28 20 AC 25 18 19 36 28 ID 40 27 8 24 20 HE 14 7 30 22 17 IF 23 20 19 40 30 IG 18 31 6 31 18 HH 17 20 0 19 12 HI 21 0 14 22 10 IJ 9 11 7 10 0K 24 22 22 0 6 KL 29 33 9 9 15 K
délai JA de 8
délai JI de 10
délai JH de12
délai JK de 6
nouveaux délais
nouvelle table de routage de J
vecteurs reçus des 4 voisins de J
35Jean
Seg
uin
EN
SS
AT
Routage par vecteur de distance (2)
• Distant vector• un peu dépassé…problème de la valeur infinie
A B C D E A B C D E
1
1 2
1 2 3
1 2 43
1 2 43
3 2 43
3 4 43
5 4 45
7 6 67
7 8 87
5 6 65
.
.
.
initialement
après 1 échange
après 2 échanges
après 3 échanges
après 4 échanges
après 5 échanges
après 6 échanges
initialement
après 1 échange
après 2 échanges
après 3 échanges
après 4 échanges
passif
actif
.
.
.
.
.
.
actif
passif
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Les bonnes nouvelles se propagent vite, pas les mauvaises ...
36Jean
Seg
uin
EN
SS
AT
Routage par informations d’état de lien (1)
• Link State en 5 points :
• 1 - découvrir les routeurs voisins et leur adresse réseau• 2 - pour atteindre chaque voisin : quel coût ? ou quel délai d’acheminement ?• 3 - construire le paquet spécial contenant les informations découvertes• 4 - envoyer ce paquet à tous les autres routeurs• 5 - calculer le plus court chemin vers chaque routeur
• méthode récente• déployée sur les réseaux actuels : OSPF, IS-IS
37Jean
Seg
uin
EN
SS
AT
Routage par informations d’état de lien (2)
• 1- la découverte des voisins : modèle de graphe de réseau
D
C
A
BE
G
F
H
I D
C
A
BE
G
F
H
I
N
LAN
modèle de L
AN
nœud de routage artificiel
38Jean
Seg
uin
EN
SS
AT
Routage par informations d’état de lien (3)
• 2 - mesure du coût de la ligne : prise en compte du trafic ?
D
CA
B E G
F
H
I
• 3 - élaboration des paquets d’état de lien : gérer les incohérences et les duplications de paquets.
D
C
A
B
E
1
32
67
8
4B 4 A 4 B 2 C 3 A 2 D 6E 5 C 2 D 3 F 7 C 1 D 7
F 6 E 1 F 8 E 8
Fséquence séquence
âge âge
Dséquence
âge
EBséquence
âge
Cséquence
âge
Aséquence
âge
paquet
39Jean
Seg
uin
EN
SS
AT
Routage hiérarchique
• routeurs répartis en régions
• système hiérarchique à plusieurs niveaux
région 1 région 2
région 3région 4 région 5
5C4A
3A
2D2C
2B2A
1C
1B
1A
5B5A
4C4B
3B
5E 5D
dest. ligne sauts dest. ligne sauts
1A / / 1A / /1B 1B 1 1B 1B 11C 1C 1 1C 1C 12A 1B 2 2 1B 22B 1B 3 3 1C 22C 1B 3 4 1C 32D 1B 4 5 1C 43A 1C 33B 1C 24A 1C 34B 1C 44C 1C 45A 1C 45B 1C 55C 1B 55D 1C 65E 1C 5
pour 1A table table complète hiérarchique
40Jean
Seg
uin
EN
SS
AT
Autres formes de routage
• Broadcast :– par diffusion générale
– par inondation
– par routage multidestination
– par diffusion sur un arbre recouvrant
• Multicast– par diffusion multidestinataire sur un arbre recouvrant
• Routage pour hôtes mobiles et routeurs fixes
• Routage pour routeurs mobiles
• Routage pour réseaux peer-to-peer - (d’égal à égal)