1
4 : Network Layer 4a-1
Couche réseau
Objectifs :
❒Comprendre les principes
sous-jacents de la couche
réseau :
❍routage (choix du chemin)
❍Passage à l’échelle
❍Comment fonctionne un
routeur
❒Description du routage dans
Internet
Sommaire :
❒Services de couche
réseau
❒Principes du routage
❒Routage hiérarchique
❒IP
❒Protocole de routage dans
Internet
❍intra-domaine
❍inter-domaine
❒Architecture de routeur ?
4 : Network Layer 4a-2
Fonctionnalités de la couche réseau
❒Transporter des paquets de
l’émetteur vers le récepteur
❒Les protocoles de couche
réseau s’exécutent dans dans
chaque
hôte et routeur.
Trois fonctions principales :
❒
Choix du chemin :
route suivie
par les paquets de la source à
la dest.
Algorithmes de
routage
❒
Commutation :
transporter les
paquets du port d’ entrée
vers le bon port de sortie.
❒
Mise en place de l’appel :
Dans
les réseaux à commutation de
circuits, la mise en place du
circuit est effectuée par la
couche réseau.
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
4 : Network Layer 4a-3
Modèle de service de la couche réseau
Q : Quel est le
modèle de
service
pour les canaux
transportant des
paquets de la source à
la destination ?
❒Bande passante garantie ?
❒Préservation du délai inter-
paquet (pas de gigue) ?
❒Transmission sans pertes ?
❒Réception dans l’ordre ?
❒Annoncer une indication de
congestion à l’émetteur ?
??
?
Circuit virtuel
ou
datagramme ?
L’abstraction que donne
la couche réseau :
service abstraction
4 : Network Layer 4a-4
Circuits virtuels
❒Avant d’émettre des données, le circuit doit être mis en
place
❒Chaque paquet contient un identificateur de VC (et non pas
l’adresse de la destination)
❒
Chaque
routeur maintient un « état » pour chaque connexion
qui traverse le routeur
❍Les connexions dans la couche transport ne mettent en jeu que
les systèmes terminaux
❒Des ressources du lien (bande passante) ou du routeur
(mémoire) peuvent être allouées au VC
❍Pour garantir des performances
Le « chemin » de la source à la destination se
comporte comme un circuit téléphonique
4 : Network Layer 4a-5
Circuits virtuels : protocoles de
signalisation
❒Utilisés pour mettre en place et gérer un VC
❒Utilisés dans ATM, frame-relay et X.25
❒Ne sont pas utilisés (du moins de façon visible)
dans l’Internet actuel
application
transport
network
data link
physical
application
transport
network
data link
physical
1. Initiate call 2. incoming call
3. Accept call
4. Call connected
5. Data flow begins 6. Receive data
4 : Network Layer 4a-6
Réseaux Datagramme : le modèle Internet
❒Pas de mise en place de circuit
❒routeurs : aucun état mémorisé au sujet des connexions
❍Pas de notion de connexion au niveau réseau
❒Les paquets sont typiquement routés en fonction de l’adresse
de destination
❍Des paquets avec la même source et destination peuvent suivre
des trajets différents
application
transport
network
data link
physical
application
transport
network
data link
physical
1. Send data 2. Receive data
2
4 : Network Layer 4a-7
Modèle de service de la couche réseau
Architecture
Réseau
Internet
ATM
ATM
ATM
ATM
Modèle de
Service
Au mieux
CBR
VBR
ABR
UBR
Bande
Passante
aucun
Constante
Débit
garantie
Minimum
garantie
Aucun
pertes
non
oui
oui
non
non
Ordre
non
oui
oui
oui
oui
Délai
non
oui
oui
non
non
Feedback de
Congestion
non (inférence
par les pertes)
Pas de
congestion
Pas de
congestion
oui
non
Garanties ?
❒Extension au modèle Internet : Intserv, Diffserv
4 : Network Layer 4a-8
Datagramme ou VC ?
Internet
❒Échange de données entre
ordinateurs
❍Service “élastique”, pas
de contrainte de délai
stricte
❒Systèmes terminaux
intelligents
❍Pouvant s’adapter,
contrôler leur émission et
faire de la compensation
de pertes
❍Réseau simple, complexité
aux extrémités
ATM
❒Évolution de la téléphonie
❒Parole humaine :
❍Contrainte de délai
stricte
❍Besoin de qualité de
services garanties
❒Systèmes terminaux
“simplistes”
❍téléphones
❍La complexité est
interne au réseau
4 : Network Layer 4a-9
Routage
Abstraction du réseau
en graphe
❒Les nœuds sont des
routeurs
❒Les liens sont les
liaisons physiques
❍Coût du lien : délai, prix
du lien ou niveau de
congestion
Objectif :choisir un « bon
chemin » (suite de routeurs)
dans le réseau de la source à
la destination.
Protocole de routage
A
E
D
CB
F
2
2
13
1
1
2
5
3
5
❒«Bon chemin» :
❍Typiquement un chemin
de coût minimal
❍Autres définitions
possibles
4 : Network Layer 4a-10
Classification des algorithmes de
routage
Information globale ou
locale ?
Globale :
❒Chaque routeur connaît
toutes les informations de
topologie, de coût des liens,
etc.
❒Algorithme “link state (LS)”
Locale :
❒Le routeur ne connaît que le
côut des liens vers les
voisins.
❒Calcul itératif et échange
régulier d’infos avec les
voisins
❒Algorithmes “distance
vector (DS)”
Statique ou dynamique ?
Statique :
❒Les routes ne changent pas
dans le temps
Dynamique :
❒Les routes changent
régulièrement
❍Mise à jour régulière
❍En réponse aux
changement de coût des
liens
4 : Network Layer 4a-11
Un Algorithme de routage Link-State
Algorithme de Dijkstra
La topologie et le coût des
liens sont connus de tous
les nœuds
❍accompli avec une
diffusion de l’état des
liens
❍Tout les nœuds ont la
même info
❒Calculer le plus court
chemin (le chemin le moins
coûteux) d’un nœud à tout
les autres
❍Génère la table de
routage du noeud
❍De façon itérative : après
k
itérations, on connaît le
chemin le plus cours vers K
destinations
Notation :
❒c(i,j) : coût du lien de i à j.
Est infini si
i
et
j
ne sont
pas voisins
❒D(v) : Valeur courante du
coût du chemin de la source
à la destination V
❒p(v) : noeud précédant v
dans le chemin de la source
à v
❒N : Ensemble des nœuds
dont on connaît le coût
minimal
4 : Network Layer 4a-12
Algorithme de Dijksra
1 Initialisation :
2 N = {A}
3 Pour tout noeud v
4 si v est adjacent à A
5 alors D(v) = c(A,v)
6 Sinon D(v) = infinity
7boucle
8Trouver w ÏN tel que D(w) est minimal
10 ajouter w à N
11 Mettre à jour D(v) pour tout les nœuds v ÏN adjacents à w
12 D(v) = min( D(v), D(w) + c(w,v) )
13 jusqu’à la fin des nœuds de N
3
4 : Network Layer 4a-13
Algorithme de Dijkstra : exemple
étapes
0
1
2
3
4
5
start N
A
AD
ADE
ADEB
ADEBC
ADEBCF
D(B),p(B)
2,A
2,A
2,A
D(C),p(C)
5,A
4,D
3,E
3,E
D(D),p(D)
1,A
D(E),p(E)
inf
2,D
D(F),p(F)
inf
inf
4,E
4,E
4,E
A
E
D
CB
F
2
2
13
1
1
2
5
3
5
4 : Network Layer 4a-14
Discussion
Complexité de l’algorithme : n noeuds
❒n*(n+1)/2 comparaisons : O(n**2)
❒implémentation plus efficace possible : O(nlogn)
Oscillations possibles :
❒Ex : coût du lien = niveau de trafic
A
D
C
B
11+e
e
0
e
11
00
A
D
C
B
2+e 0
0
01+e 1
A
D
C
B
02+e
1+e
100
A
D
C
B
2+e 0
e
01+e 1
initialement … recalculer le
routage … recalcul … recalcul
4 : Network Layer 4a-15
Algorithme de routage DV
itératif :
❒Continue jusqu’à ce que
les nœuds ne
s’échangent plus d’info
❒
Auto-terminaison
: pas
de «signal» d’arrêt
asynchrone :
❒L’échange des infos ne
nécessite pas d’horloge
distribué :
❒Chaque nœud ne
communique qu’avec ses
voisins
Structure de la Table de distance
❒Propre à chaque nœud
❒Une ligne par destination possible
❒Une colonne par voisin
❒exemple : dans le noeud X, pour la dest.
Y via le voisin Z :
D (Y,Z)
X
distance de X à
Y, via Z
c(X,Z) + min {D (Y,w)}
Z
w
=
=
4 : Network Layer 4a-16
Table de distance : exemple
A
ED
CB
7
8
1
2
1
2
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecoût destination via
destination
D (C,D)
Ec(E,D) + min {D (C,w)}
D
w
=
=2+2 = 4
D (A,D)
Ec(E,D) + min {D (A,w)}
D
w
=
=2+3 = 5
D (A,B)
Ec(E,B) + min {D (A,w)}
B
w
=
=8+6 = 14
boucle!
boucle!
4 : Network Layer 4a-17
Table de routage
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecoût destination via
destination
A
B
C
D
A,1
D,5
D,4
D,4
Lien sortant , coût
destination
Table de distance Table de routage
4 : Network Layer 4a-18
Algorithme de routage DV
Itératif, asynchrone :
chaque itération locale est
causée par :
❒Changement de coût d’un
lien adjacent
❒Message d’un voisin du au
changement de sa table de
distance
Distribué :
❒Chaque nœud annonce à ces
voisins
seulement
quand sa
table de distance change
attend (un changement dans le
coût local ou un msg du voisin)
Recalcule la table de distance
Si la table de distance change,
annonce aux voisins
Chaque noeud :
4
4 : Network Layer 4a-19
Algorithme de routage DV
1 Initialisation :
2 Pour tout nœud adjacent v :
3 D (*,v) = inf
4 D (v,v) = c(X,v)
5 pour toute destination y
6 envoyer min D (y,w) à tous les voisins w
X
X
X
w
Dans chaque nœud, X :
4 : Network Layer 4a-20
Algorithme de routage DV : exemple
XZ
1
2
7
Y
4 : Network Layer 4a-21
Algorithme de routage DV : exemple
XZ
1
2
7
Y
D (Y,Z)
Xc(X,Z) + min {D (Y,w)}
w
=
=7+1 = 8
Z
D (Z,Y)
Xc(X,Y) + min {D (Z,w)}
w
=
=2+1 = 3
Y
4 : Network Layer 4a-22
Comparaison des algorithmes LS et DV
complexité
❒LS : avec n noeuds, E liens,
O(nE) msgs sont envoyés
❒DV : échange entre les
voisins seulement
❍Le temps de convergence
varie
Vitesse de Convergence
❒LS : O(n**2)
❍Peut osciller
❒DV : Le temps de
convergence varie
❍Boucle possible
❍Comptage à l’infini
possible
Robustesse : Qu’arrive t’il si le
routeur tombe en panne ?
LS :
❍Le nœud peut annoncer un
coût erroné
❍Chaque nœud ne calcule que
sa propre table de routage
DV :
❍Le nœud peut annoncer un
coût erroné
❍Tout les nœuds utilisent la
table des autres nœuds
• L’erreur se propage dans le
réseau
4 : Network Layer 4a-23
Routage Hiérarchique
Facteur d’échelle : avec 50
millions de destinations :
❒On ne peut enregistrer
toutes les destinations dans
la table de routage!
autonomie administrative
❒internet = réseau des
réseaux
❒Chaque administrateur de
réseau veut contrôler le
routage dans son réseau
Jusqu’ici nous avons étudié un réseau idéal
❒Tous les routeurs sont identiques
❒Un seul réseau
… pas vrai en pratique
4 : Network Layer 4a-24
Routage Hiérarchique
❒Agréger les routeurs
en régions autonomes,
“autonomous systems”
(AS)
❒Les routeurs d’un
même AS exécutent le
même protocole de
routage
❍protocole de routage
“intra-AS”
❒Routeurs spéciaux dans
un AS
❒Exécutent les protocoles
de routage intra-AS
❒
Responsables
du routage
à des destinations
extérieurs à l’AS
❍exécutent des
protocoles de
routage
inter-AS
avec d’autres
routeurs de
passerelle
routeurs de passerelle
5
4 : Network Layer 4a-25
Routage Intra-AS et Inter-AS
Passerelles :
•Exécutent le
routage inter-AS
entre elles
•Exécutent le
routage intra-AS
avec les autres
routeurs de l’AS
Routage inter-AS,
intra-AS dans la
passerelle A.c
Couche réseau
Couche liaison
Couche physique
a
b
b
aa
C
A
B
d
A.a
A.c
C.b B.a
c
b
c
4 : Network Layer 4a-26
Routage Intra-AS et Inter-AS
Host
h2
a
b
b
aa
C
A
B
dc
A.a
A.c
C.b B.a
c
b
Host
h1
Routage Intra-AS
dans l’AS A
Routage Inter-AS
entre A et B
Routage Intra-AS
Dans l’AS B
4 : Network Layer 4a-27
Couche réseau dans Internet
Table
de
routage
Protocoles de
Routage
•Choix du chemin
•RIP, OSPF, BGP
Protocole IP
•Adressage
•Format des datagrammes
•Traitement des paquets
Protocole ICMP
•Rapport d’erreur
•signalisation
Couche Transport : TCP, UDP
Couche de liaison
Couche Physique
Couche
Réseau
4 : Network Layer 4a-28
Routage Intra-AS
❒Plus connus sous le nom de Interior
Gateway Protocols (IGP)
❒IGPs les plus utilisés :
❍RIP : Routing Information Protocol
❍OSPF : Open Shortest Path First
❍IGRP : Interior Gateway Routing
Protocol (Cisco propr.)
4 : Network Layer 4a-29
RIP
❒Algorithme Distance vector
❒Inclu dans BSD-UNIX depuis 1982
❒métrique de coût : # de hops (max = 15 hops)
❒Vecteurs de Distance : échangés toutes les 30 sec
via des advertisements
❒Chaque advertisement est envoyé à au plus 25
réseaux
4 : Network Layer 4a-30
OSPF
❒“open” : dans le domaine public
❒Algorithme Link State
❍Utilise l’ algorithme de Dijkstra’s
❒Les advertisement OSPF sont envoyés à tout l’AS
par inondation (flooding)
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!