Couche réseau Circuits virtuels

publicité
Couche réseau
Fonctionnalités de la couche réseau
Objectifs :
Sommaire :
❒ 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
❍
❍
❒
❒ Transporter des paquets de
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-1
Modèle de service de la couche réseau
service abstraction
Q : Quel est le modèle de
service pour les canaux
transportant des
paquets de la source à
la destination ?
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
application
transport
network
data link
physical
4 : Network Layer
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
4 : Network Layer
4a-3
Circuits virtuels : protocoles de
signalisation
(mémoire) peuvent être allouées au VC
❍
4 : Network Layer
Pour garantir des performances
4a-4
Réseaux Datagramme : le modèle Internet
❒ Pas de mise en place de circuit
❒ Utilisés pour mettre en place et gérer un VC
❒ routeurs : aucun état mémorisé au sujet des connexions
❒ Ne sont pas utilisés (du moins de façon visible)
❒ Les paquets sont typiquement routés en fonction de l’adresse
❒ Utilisés dans ATM, frame-relay et X.25
❍
Pas de notion de connexion au niveau réseau
de destination
dans l’Internet actuel
❍
application
transport 5. Data flow begins
network 4. Call connected
data link 1. Initiate call
physical
4a-2
❒ Avant d’émettre des données, le circuit doit être mis en
Circuit virtuel
ou
datagramme ?
paquet (pas de gigue) ?
❒ Transmission sans pertes ?
❒ Réception dans l’ordre ?
❒ Annoncer une indication de
congestion à l’émetteur ?
network
data link
physical
Le « chemin » de la source à la destination se
comporte comme un circuit téléphonique
la couche réseau :
❒ Préservation du délai inter-
network
data link
physical
Circuits virtuels
L’abstraction que donne
❒ Bande passante garantie ?
application
transport
network
data link
physical
6. Receive data application
3. Accept call transport
2. incoming call network
data link
physical
4 : Network Layer
4a-5
Des paquets avec la même source et destination peuvent suivre
des trajets différents
application
transport
network
data link 1. Send data
physical
application
transport
2. Receive data network
data link
physical
4 : Network Layer
4a-6
1
Modèle de service de la couche réseau
Architecture
Réseau
Internet
Modèle de
Bande
Service
Passante
Au mieux aucun
Garanties ?
Feedback de
Congestion
pertes Ordre Délai
non
non
non
oui
oui
oui
oui
oui
non
oui
non
non (inférence
par les pertes)
Pas de
congestion
Pas de
congestion
oui
non
oui
non
non
ATM
CBR
Constante oui
ATM
VBR
ATM
ABR
ATM
UBR
Débit
garantie
Minimum
garantie
Aucun
❒ Extension au modèle Internet : Intserv, Diffserv
4 : Network Layer
2
A
❒
B
2
1
D
3
C
3
1
5
F
1
E
2
«Bon chemin» :
❍
Coût du lien : délai, prix
du lien ou niveau de
congestion
❍
Typiquement un chemin
de coût minimal
Autres définitions
possibles
4 : Network Layer
4a-9
Un Algorithme de routage Link-State
k itérations, on connaît le
chemin le plus cours vers K
destinations
ATM
❒ Évolution de la téléphonie
ordinateurs
❒ Parole humaine :
❍ Service “élastique”, pas
❍ Contrainte de délai
de contrainte de délai
stricte
stricte
❒ Systèmes terminaux
❍ Besoin de qualité de
intelligents
services garanties
❍ Pouvant s’adapter,
❒ Systèmes terminaux
contrôler leur émission et
“simplistes”
faire de la compensation
❍ téléphones
de pertes
❍ La complexité est
❍ Réseau simple, complexité
aux extrémités
interne au réseau
4 : Network Layer
Information globale ou
locale ?
5
Abstraction du réseau
en graphe
❒ Les nœuds sont des
routeurs
❒ Les liens sont les
liaisons physiques
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
❒ Échange de données entre
4a-8
Classification des algorithmes de
routage
Protocole de routage
Objectif : choisir un « bon
chemin » (suite de routeurs)
dans le réseau de la source à
la destination.
Algorithme de Dijkstra
Internet
4a-7
Routage
❍
Datagramme ou VC ?
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-11
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-10
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
7 boucle
8
Trouver 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
4 : Network Layer 4a-12
2
Algorithme de Dijkstra : exemple
start N
A
AD
ADE
ADEB
ADEBC
ADEBCF
Complexité de l’algorithme : n noeuds
❒ n*(n+1)/2 comparaisons : O(n**2)
❒ implémentation plus efficace possible : O(nlogn)
D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
2,A
1,A
inf
5,A
inf
2,A
4,D
2,D
inf
2,A
3,E
4,E
3,E
4,E
4,E
Oscillations possibles :
❒ Ex : coût du lien = niveau de trafic
5
2
A
3
B
2
1
C
F
1
3
D
1
2
E
1
D
5
1
0
A
1+e
0 0
C
e
❒ Continue jusqu’à ce que
les nœuds ne
s’échangent plus d’info
❒ Auto-terminaison : pas
de «signal» d’arrêt
asynchrone :
Structure de la Table de distance
❒ Propre à chaque nœud
❒ exemple : dans le noeud X, pour la dest.
B
1
X
1+e
… recalcul
E
E
distance de X à
= Y, via Z
2
= c(X,Z) + minw{D (Y,w)}
E
D ()
A
B
D
A
1
14
5
B
7
8
5
C
6
9
4
D
4
11
2
D
D
= 2+2 = 4
D
D (A,D) = c(E,D) + minw {D (A,w)}
Z
coût destination via
E
E
Table de routage
= 2+3 = 5 boucle!
B
D (A,B) = c(E,B) + minw{D (A,w)}
boucle!
4 : Network Layer 4a-16
Algorithme de routage DV
coût destination via
Lien sortant , coût
A
B
D
A
1
14
5
A
A,1
B
7
8
5
B
D,5
C
6
9
4
C
D,4
D
4
11
2
D
D,4
destination
D ()
destination
0
2
= 8+6 = 14
Table de distance
A
D 1+e 1 B
e
0
C
4 : Network Layer 4a-14
4 : Network Layer 4a-15
E
B
… recalcul
D (C,D) = c(E,D) + minw {D (C,w)}
❒ L’échange des infos ne
D (Y,Z)
C
C
8
1
❒ Une colonne par voisin
Y via le voisin Z :
7
A
❒ Une ligne par destination possible
nécessite pas d’horloge
distribué :
❒ Chaque nœud ne
communique qu’avec ses
voisins
1
2+e
2+e
0 0
Table de distance : exemple
Algorithme de routage DV
itératif :
D
… recalculer le
routage
initialement
4 : Network Layer 4a-13
A
0
0
D 1+e 1 B
0
0
C
1
e
A
2+e
B
destination
étapes
0
1
2
3
4
5
Discussion
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
Chaque noeud :
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
Table de routage
4 : Network Layer 4a-17
4 : Network Layer 4a-18
3
Algorithme de routage DV
Algorithme de routage DV : exemple
Dans chaque nœud, X :
1 Initialisation :
2 Pour tout nœud adjacent v :
3
DX(*,v) = inf
X
4
D (v,v) = c(X,v)
5 pour toute destination y
X
6
envoyer min D (y,w) à tous les voisins w
X
Y
2
7
1
Z
w
4 : Network Layer 4a-19
Algorithme de routage DV : exemple
4 : Network Layer 4a-20
Comparaison des algorithmes LS et DV
complexité
❒ LS : avec n noeuds, E liens,
O(nE) msgs sont envoyés
X
2
Y
7
❒ DV : échange entre les
1
Z
D (Y,Z) = c(X,Z) + minw{D (Y,w)}
= 7+1 = 8
Y
X
D (Z,Y) = c(X,Y) + minw {D (Z,w)}
= 2+1 = 3
❍
voisins seulement
❍ Le temps de convergence
varie
Z
X
Robustesse : Qu’arrive t’il si le
routeur tombe en panne ?
LS :
Vitesse de Convergence
❍
Le nœud peut annoncer un
coût erroné
Chaque nœud ne calcule que
sa propre table de routage
DV :
❒ LS : O(n**2)
❍
Peut osciller
❒ DV : Le temps de
convergence varie
❍ Boucle possible
❍ Comptage à l’infini
possible
❍
❍
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-21
Routage Hiérarchique
Routage Hiérarchique
Jusqu’ici nous avons étudié un réseau idéal
❒ Tous les routeurs sont identiques
❒ Un seul réseau
… pas vrai en pratique
Facteur d’échelle : avec 50 autonomie administrative
millions de destinations : ❒ internet = réseau des
❒ On ne peut enregistrer
toutes les destinations dans
la table de routage!
4 : Network Layer 4a-22
réseaux
❒ Chaque administrateur de
réseau veut contrôler le
routage dans son réseau
4 : Network Layer 4a-23
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 de passerelle
❒ 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
4 : Network Layer 4a-24
4
Routage Intra-AS et Inter-AS
C.b
a
C
Passerelles :
B.a
A.a
b
A.c
A
d
a
a
b
Routage Intra-AS et Inter-AS
c
B
b
c
•Exécutent le
routage inter-AS
entre elles
•Exécutent le
routage intra-AS
avec les autres
routeurs de l’AS
a
C
A.a
b
Host
h1
A.c
d
a
c
b
A
Routage Intra-AS
dans l’AS A
Couche réseau
Routage inter-AS,
intra-AS dans la
passerelle A.c
Routage Inter-AS
entre A et B
B.a
C.b
Couche liaison
Host
h2
c
B
b
Routage Intra-AS
Dans l’AS B
Couche physique
4 : Network Layer 4a-25
Couche réseau dans Internet
4 : Network Layer 4a-26
Routage Intra-AS
❒ Plus connus sous le nom de Interior
Gateway Protocols (IGP)
Couche Transport : TCP, UDP
Couche
Réseau
a
Protocoles de
Routage
•Choix du chemin
•RIP, OSPF, BGP
❒ IGPs les plus utilisés :
Protocole IP
•Adressage
•Format des datagrammes
•Traitement des paquets
Table
de
routage
❍ RIP
: Routing Information Protocol
❍ OSPF
Protocole ICMP
•Rapport d’erreur
•signalisation
: Open Shortest Path First
❍ IGRP : Interior Gateway Routing
Protocol (Cisco propr.)
Couche de liaison
Couche Physique
4 : Network Layer 4a-27
RIP
4 : Network Layer 4a-28
OSPF
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-29
“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)
4 : Network Layer 4a-30
5
Fonctionnalités avancées
d’OSPF
OSPF hiérarchique
Sécurité : tous les messages OSPF sont
authentifiés ; des connexions TCP sont utilisées
❒ Multipath est autorisé (pas dans RIP)
❒ Pour chaque lien, plusieurs métriques de coût en
fonction des TOS peuvent être définies
❒ Support intégré de l’unicast et du multicast :
❒
❍
❒
Multicast OSPF (MOSPF) utilise la même topologie
qu’OSPF
OSPF Hiérarchique dans les grands domaines.
4 : Network Layer 4a-31
Routage inter-AS : BGP
❒
❒
4 : Network Layer 4a-32
Routage inter-AS : BGP
Hypothèse : la passerelle X envoie son chemin à la
passerelle W
❒ W peut choisir ou ne pas choisir le chemin offert
par X
❍ coût, politique (ne pas router via les autres
ISPs)
❒ Si W choisit le chemin annoncé par X, alors :
Path (W,Z) = w, Path (X,Z)
❒ Note : X peut contrôler le trafic entrant en
contrôlant ces advertisements
❍ Ex : nous ne voulons pas router le trafic de Z ->
ne rien annoncer à Z
BGP (Border Gateway Protocol) : standard de facto
Protocole Path Vector :
❍ similaire au protocole Distance Vector
❍ Chaque Border Gateway diffuse à ces voisins la
totalité du chemin entire path (I.e, la suite des
ASs) jusqu’à la destination
❍ Ex : la passerelle X envoie son chemin à la dest.
Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
4 : Network Layer 4a-33
Adresse IP : introduction
❒ Addresse IP :
Adresse IP
❒ Adresse IP
223.1.1.1
identificateur sur 32 bits
❍
❒
identifie pour chaque
interface hôte et routeur
interface : connexion
entre un hôte ou routeur
et la couche physique
❍
❍
❍
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
❍
223.1.2.9
223.1.3.27
❍
223.1.2.2
❒
Les routeurs ont
typiquement plusieurs
223.1.3.2
223.1.3.1
interfaces
Les hôtes peuvent avoir
plusieurs interfaces
Les adresses IP sont
associées à une interface 223.1.1.1 = 11011111 00000001 00000001 00000001
223
4 : Network Layer 4a-34
1
1
1
4 : Network Layer 4a-35
Partie réseau (bits de
poids forts)
Partie hôte (bits de
poids faible)
Réseau ?
(du point de vue IP)
❍ Les interfaces avec la
même partie réseau de
l’adresse IP
❍ Et qui peuvent
communiquer sans avoir
besoin d’un routeur de
passerelle
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
LAN
223.1.3.1
223.1.3.2
Le réseau est constitué de 3 réseaux
IP (Les 24 premiers bits sont l’adresse
réseau)
4 : Network Layer 4a-36
6
Adresse IP : CIDR
Adresse IP
❒ Adressage par classe :
“classe” d’adressage :
❍
utilisation inefficace de l’espace d’adressage
Ex : une adresse de classe B a assez de place pour pour 65K
hôtes, même si il n’y a que 2K hôtes dans ce réseau
❍
CIDR : Classless InterDomain Routing
❍
classe
A
0 réseau
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
hôte
réseau
128.0.0.0 to
191.255.255.255
hôte
réseau
❍
hôte
❍
192.0.0.0 to
223.255.255.255
host
part
network
part
224.0.0.0 to
239.255.255.255
Adresse multicast
La taille de la partie réseau est arbitraire
Format de l’adresse : a.b.c.d/x, où x est le # de bits dans la
partie réseau de l’adresse
11001000 00010111 00010000 00000000
32 bits
200.23.16.0/23
4 : Network Layer 4a-37
Adresse IP : the last word...
4 : Network Layer 4a-38
Adressage hiérarchique : agrégation de route
Q : Comment un ISP récupère-t-il un bloc
d’adresses IP ?
R : ICANN : Internet Corporation for Assigned
Organisation 0
200.23.16.0/23
Names and Numbers
❍ alloue les adresses
❍ Gère le DNS
❍ Assigne les noms de domaines
Organisation 1
“Envoie-moi tout ce dont
l’adresse commence par
200.23.16.0/20”
200.23.18.0/23
Organisation 2
200.23.20.0/23
Organisation 7
.
.
.
.
.
.
Fly-By-Night-ISP
Internet
200.23.30.0/23
“Envoie-moi tout ce dont
l’adresse commence par
199.31.0.0/16”
ISPs-R-Us
4 : Network Layer 4a-39
Envoyer un datagramme de la source à la dest.
table de routage de A
Dest. Ner. next router Nhops
223.1.1
223.1.2
223.1.3
Datagramme IP :
Champs addr IP addr IP
divers source dest
data
A
❒ Le datagramme reste
inchangé durant sa
traversé du réseau
B
223.1.1.4
223.1.1.4
1
2
2
Champs
data
divers 223.1.1.1 223.1.1.3
réseau que A
223.1.2.9
223.1.2.2
223.1.1
223.1.2
223.1.3
A
❒ La couche liaison envoie
223.1.2.1
223.1.3.27
Dest. Net. next router Nhops
l’adresse de B
❒ Vérifier si B est sur le même
223.1.1.2
223.1.1.4
223.1.3.1
Envoyer un datagramme de la source à la dest.
❒ Regarder la partie réseau de
223.1.1.1
223.1.1.3
4 : Network Layer 4a-40
E
223.1.3.2
4 : Network Layer 4a-41
directement le datagramme à B
❍ B et A sont directement
connectés
B
223.1.1.4
223.1.1.4
1
2
2
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4 : Network Layer 4a-42
7
Envoyer un datagramme de la source à la dest.
Champs
data
divers 223.1.1.1 223.1.2.3
Dest. Net. next router Nhops
223.1.1
223.1.2
223.1.3
❒ Regarder la partie réseau de
l’adresse de E
différent
A et E ne sont pas
directement attachés
Regarder dans la table de
routage : le routeur suivant
❒ E est sur un réseau
❍
❍
A
B
pour le réseau de E est
223.1.1.4
Champs
data
divers 223.1.1.1 223.1.2.3
Arrivée à 223.1..1.4 d’un
paquet destiné à 223.1.2.2
❒ Regarde la partie réseau de
223.1.1.2
223.1.1.4
l’adresse de E
223.1.2.1
223.1.2.2
Dest.
next
network router Nhops interface
223.1.1
223.1.2
223.1.3
A
❒ E est sur le même réseau que
223.1.2.9
223.1.3.27
223.1.3.1
datagramme au routeur
223.1.1.4
1
2
2
223.1.1.1
223.1.1.3
❒ La couche liaison envoie le
223.1.1.4
223.1.1.4
Envoyer un datagramme de la source à la dest.
E
223.1.3.2
4 : Network Layer 4a-43
l’interface routeur 223.1.2.9
❍ Envoyer le paquet à ce
routeur
❒ La couche liaison envoie le
datagramme à 223.1.2.2 via
l’interface 223.1.2.9
❒ Le datagramme arrive à
223.1.2.2!!!
B
-
1
1
1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
E
223.1.3.2
4 : Network Layer 4a-44
Format de datagramme IP
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
32 bits
type of
ver head.
len service
length
fragment
16-bit identifier flgs
offset
time to upper
Internet
layer
live
checksum
total datagram
length (bytes)
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
E.g. timestamp,
record route
taken, pecify
list of routers
to visit.
4 : Network Layer 4a-45
8
Téléchargement