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 ?
45
Embed
4 : Network Layer4a-1 Couche réseau Objectifs : r Comprendre les principes sous-jacents de la couche réseau : m routage (choix du chemin) m Passage à léchelle.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
4 : Network Layer 4a-1
Couche réseauObjectifs : 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.
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
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 :
serv
ice a
bst
ract
ion
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
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Initiate call 2. incoming call
3. Accept call4. Call connected5. 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
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
4 : Network Layer 4a-7
Modèle de service de la couche réseau
ArchitectureRéseau
Internet
ATM
ATM
ATM
ATM
Modèle deService
Au mieux
CBR
VBR
ABR
UBR
BandePassanteaucun
Constante
Débit garantie MinimumgarantieAucun
pertes
non
oui
oui
non
non
Ordre
non
oui
oui
oui
oui
Délai
non
oui
oui
non
non
Feedback deCongestion
non (inférencepar les pertes)Pas decongestionPas decongestionoui
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
ED
CB
F
2
2
13
1
1
2
53
5
«Bon chemin» : Typiquement un chemin
de coût minimal Autres définitions
possibles
4 : Network Layer 4a-10
Classification des algorithmes de routageInformation 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 tempsDynamique : 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-StateAlgorithme 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 7 boucle8 Trouver w N tel que D(w) est minimal10 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-13
Algorithme de Dijkstra : exemple
étapes012345
start NA
ADADE
ADEBADEBC
ADEBCF
D(B),p(B)2,A2,A2,A
D(C),p(C)5,A4,D3,E3,E
D(D),p(D)1,A
D(E),p(E)inf
2,D
D(F),p(F)infinf
4,E4,E4,E
A
ED
CB
F
2
2
13
1
1
2
53
5
4 : Network Layer 4a-14
DiscussionComplexité 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
B1 1+e
e0
e
1 1
0 0
A
D
C
B2+e 0
001+e1
A
D
C
B0 2+e
1+e10 0
A
D
C
B2+e 0
e01+e1
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’horlogedistribué : 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
E D
CB7
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
dest
inat
ion
D (C,D)E
c(E,D) + min {D (C,w)}D
w== 2+2 = 4
D (A,D)E
c(E,D) + min {D (A,w)}D
w== 2+3 = 5
D (A,B)E
c(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
dest
inat
ion
A
B
C
D
A,1
D,5
D,4
D,4
Lien sortant , coût
dest
inat
ion
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 : Network Layer 4a-19
Algorithme de routage DV
1 Initialisation : 2 Pour tout nœud adjacent v : 3 D (*,v) = inf4 D (v,v) = c(X,v) 5 pour toute destination y 6 envoyer min D (y,w) à tous les voisins w
XX
Xw
Dans chaque nœud, X :
4 : Network Layer 4a-20
Algorithme de routage DV : exemple
X Z12
7
Y
4 : Network Layer 4a-21
Algorithme de routage DV : exemple
X Z12
7
Y
D (Y,Z)X
c(X,Z) + min {D (Y,w)}w=
= 7+1 = 8
Z
D (Z,Y)X
c(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
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éseauCouche liaisonCouche
physique
a
b
b
aaC
A
Bd
A.a
A.c
C.bB.a
cb
c
4 : Network Layer 4a-26
Routage Intra-AS et Inter-AS
Host h2
a
b
b
aaC
A
Bd c
A.a
A.c
C.bB.a
cb
Hosth1
Routage Intra-AS dans l’AS A
Routage Inter-ASentre A et B
Routage Intra-AS Dans l’AS B
4 : Network Layer 4a-27
Couche réseau dans Internet
Tablede
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
CoucheRéseau
4 : Network Layer 4a-28
Routage Intra-AS
Plus connus sous le nom de Interior Gateway Protocols (IGP)
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)
4 : Network Layer 4a-31
Fonctionnalités avancées d’OSPF 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-32
OSPF hiérarchique
4 : Network Layer 4a-33
Routage inter-AS : BGP
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-34
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
4 : Network Layer 4a-35
Adresse IP : introduction Addresse IP :
identificateur sur 32 bits identifie pour chaque
interface hôte et routeur interface : connexion
entre un hôte ou routeur et la couche physique Les routeurs ont
typiquement plusieurs interfaces
Les hôtes peuvent avoir plusieurs interfaces
Les adresses IP sont associées à une interface
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
4 : Network Layer 4a-36
Adresse IP Adresse IP
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.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Le réseau est constitué de 3 réseaux IP (Les 24 premiers bits sont l’adresse réseau)
LAN
4 : Network Layer 4a-37
Adresse IP
0réseau hôte
10 réseau hôte
110 réseau hôte
1110 Adresse multicast
A
B
C
D
classe1.0.0.0 to127.255.255.255
128.0.0.0 to191.255.255.255
192.0.0.0 to223.255.255.255
224.0.0.0 to239.255.255.255
32 bits
“classe” d’adressage :
4 : Network Layer 4a-38
Adresse IP : CIDR Adressage par classe :
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 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
networkpart
hostpart
200.23.16.0/23
4 : Network Layer 4a-39
Adresse IP : the last word...
Q : Comment un ISP récupère-t-il un bloc d’adresses IP ?
R : ICANN : Internet Corporation for Assigned
Names and Numbers alloue les adresses Gère le DNS Assigne les noms de domaines
4 : Network Layer 4a-40
Adressage hiérarchique : agrégation de route
“Envoie-moi tout ce dont l’adresse commence par 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organisation 0
Organisation 7Internet
Organisation 1
ISPs-R-Us“Envoie-moi tout ce dont l’adresse commence par 199.31.0.0/16”
200.23.20.0/23Organisation 2
...
...
4 : Network Layer 4a-41
Envoyer un datagramme de la source à la dest.
Datagramme IP :
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Champsdivers
addr IPsource
addr IPdest data
Le datagramme reste inchangé durant sa traversé du réseau
Dest. Ner. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
table de routage de A
4 : Network Layer 4a-42
Envoyer un datagramme de la source à la dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Regarder la partie réseau de l’adresse de B
Vérifier si B est sur le même réseau que A
La couche liaison envoie directement le datagramme à B B et A sont directement
connectés
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Champsdivers223.1.1.1223.1.1.3data
4 : Network Layer 4a-43
Envoyer un datagramme de la source à la dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Regarder la partie réseau de l’adresse de E
E est sur un réseau différent A et E ne sont pas
directement attachés Regarder dans la table
de routage : le routeur suivant pour le réseau de E est 223.1.1.4
La couche liaison envoie le datagramme au routeur 223.1.1.4
Champsdivers223.1.1.1223.1.2.3 data
4 : Network Layer 4a-44
Envoyer un datagramme de la source à la dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Arrivée à 223.1..1.4 d’un paquet destiné à 223.1.2.2
Regarde la partie réseau de l’adresse de E
E est sur le même réseau que 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!!!
Champsdivers223.1.1.1223.1.2.3 data network router Nhops interface
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
Dest. next
4 : Network Layer 4a-45
Format de datagramme IP
ver length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
Internet checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgsfragment
offsetupper layer
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, pecifylist of routers to visit.