Title: 4a-1
1Couche réseau
- 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 ?
- 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
2Fonctionnalités de la couche réseau
- Transporter des paquets de lémetteur vers le
récepteur - Les protocoles de couche réseau sexé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 lappel Dans les réseaux à
commutation de circuits, la mise en place du
circuit est effectuée par la couche réseau.
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 lordre ?
- Annoncer une indication de congestion à
lémetteur ?
Labstraction que donne la couche réseau
?
?
Circuit virtuel ou datagramme ?
?
service abstraction
4Circuits virtuels
- Le chemin de la source à la destination se
comporte comme un circuit téléphonique
- Avant démettre des données, le circuit doit être
mis en place - Chaque paquet contient un identificateur de VC
(et non pas ladresse 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
5Circuits 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 lInternet actuel
6. Receive data
5. Data flow begins
4. Call connected
3. Accept call
1. Initiate call
2. incoming call
6Ré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 ladresse de destination - Des paquets avec la même source et destination
peuvent suivre des trajets différents
1. Send data
2. Receive data
7Modèle de service de la couche réseau
Garanties ?
Architecture Réseau Internet ATM ATM ATM ATM
Modèle de Service Au mieux CBR VBR ABR UBR
Feedback de Congestion non (inférence par les
pertes) Pas de congestion Pas de congestion oui n
on
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
- Extension au modèle Internet Intserv, Diffserv
8Datagramme ou VC ?
- Internet
- Échange de données entre ordinateurs
- Service élastique, pas de contrainte de délai
stricte - Systèmes terminaux intelligents
- Pouvant sadapter, 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
9Routage
Objectif choisir un bon chemin (suite de
routeurs) dans le réseau de la source à la
destination.
- 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
- Bon chemin
- Typiquement un chemin de coût minimal
- Autres définitions possibles
10Classification 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 dinfos 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
11Un 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) dun 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
12Algorithme 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
- 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
13Algorithme de Dijkstra exemple
D(B),p(B) 2,A 2,A 2,A
D(D),p(D) 1,A
étapes 0 1 2 3 4 5
D(C),p(C) 5,A 4,D 3,E 3,E
D(E),p(E) inf 2,D
start N A AD ADE ADEB ADEBC ADEBCF
D(F),p(F) inf inf 4,E 4,E 4,E
14Discussion
- Complexité de lalgorithme n noeuds
- n(n1)/2 comparaisons O(n2)
- implémentation plus efficace possible O(nlogn)
- Oscillations possibles
- Ex coût du lien niveau de trafic
1
1e
0
2e
0
0
0
0
e
0
1
1e
1
1
e
recalcul
recalculer le routage
recalcul
initialement
15Algorithme de routage DV
- itératif
- Continue jusquà ce que les nœuds ne séchangent
plus dinfo - Auto-terminaison pas de signal darrêt
- asynchrone
- Léchange des infos ne nécessite pas dhorloge
- distribué
- Chaque nœud ne communique quavec 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
16Table de distance exemple
boucle!
boucle!
17Table de routage
Lien sortant , coût
A B C D
A,1 D,5 D,4 D,4
destination
Table de distance
Table de routage
18Algorithme de routage DV
- Itératif, asynchrone chaque itération locale
est causée par - Changement de coût dun lien adjacent
- Message dun 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
19Algorithme de routage DV
Dans chaque nœud, X
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
20Algorithme de routage DV exemple
21Algorithme de routage DV exemple
22Comparaison 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(n2)
- Peut osciller
- DV Le temps de convergence varie
- Boucle possible
- Comptage à linfini possible
- Robustesse Quarrive til 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 - Lerreur se propage dans le réseau
23Routage Hiérarchique
- Jusquici 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 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
24Routage Hiérarchique
- Agréger les routeurs en régions autonomes,
autonomous systems (AS) - Les routeurs dun 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 à lAS - exécutent des protocoles de routage inter-AS avec
dautres routeurs de passerelle
25Routage 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 lAS
b
a
a
C
B
d
A
Couche réseau
Routage inter-AS, intra-AS dans la passerelle A.c
Couche liaison
Couche physique
26Routage Intra-AS et Inter-AS
Routage Inter-AS entre A et B
Host h2
Routage Intra-AS Dans lAS B
Routage Intra-AS dans lAS A
27Couche réseau dans Internet
Couche Transport TCP, UDP
- Protocoles de
- Routage
- Choix du chemin
- RIP, OSPF, BGP
Couche Réseau
Table de routage
Couche de liaison
Couche Physique
28Routage 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.)
29RIP
- 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
30OSPF
- open dans le domaine public
- Algorithme Link State
- Utilise l algorithme de Dijkstras
- Les advertisement OSPF sont envoyés à tout lAS
par inondation (flooding)
31Fonctionnalités avancées dOSPF
- 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 lunicast et du multicast
- Multicast OSPF (MOSPF) utilise la même topologie
quOSPF - OSPF Hiérarchique dans les grands domaines.
32OSPF hiérarchique
33Routage 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
34Routage 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 -gt
ne rien annoncer à Z
35Adresse IP introduction
223.1.1.1
- 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.2.9
223.1.1.4
223.1.1.3
223.1.1.1 11011111 00000001 00000001 00000001
223
1
1
1
36Adresse IP
223.1.1.1
- 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
ladresse IP - Et qui peuvent communiquer sans avoir besoin dun
routeur de passerelle
223.1.2.1
223.1.1.2
223.1.2.9
223.1.1.4
223.1.2.2
223.1.1.3
223.1.3.27
LAN
223.1.3.2
223.1.3.1
Le réseau est constitué de 3 réseaux IP (Les 24
premiers bits sont ladresse réseau)
37Adresse IP
classe dadressage
classe
1.0.0.0 to 127.255.255.255
A
réseau
0
hôte
128.0.0.0 to 191.255.255.255
B
192.0.0.0 to 223.255.255.255
C
224.0.0.0 to 239.255.255.255
D
32 bits
38Adresse IP CIDR
- Adressage par classe
- utilisation inefficace de lespace dadressage
- Ex une adresse de classe B a assez de place
pour pour 65K hôtes, même si il ny a que 2K
hôtes dans ce réseau - CIDR Classless InterDomain Routing
- La taille de la partie réseau est arbitraire
- Format de ladresse a.b.c.d/x, où x est le de
bits dans la partie réseau de ladresse
39Adresse IP the last word...
- Q Comment un ISP récupère-t-il un bloc
dadresses IP ? - R ICANN Internet Corporation for Assigned
- Names and Numbers
- alloue les adresses
- Gère le DNS
- Assigne les noms de domaines
40Adressage hiérarchique agrégation de route
Organisation 0
Organisation 1
Envoie-moi tout ce dont ladresse commence par
200.23.16.0/20
Organisation 2
Fly-By-Night-ISP
Internet
Organisation 7
Envoie-moi tout ce dont ladresse commence par
199.31.0.0/16
ISPs-R-Us
41Envoyer un datagramme de la source à la dest.
table de routage de A
- Le datagramme reste inchangé durant sa traversé
du réseau
42Envoyer un datagramme de la source à la dest.
Champs divers
data
223.1.1.1
223.1.1.3
- Regarder la partie réseau de ladresse 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
-
43Envoyer un datagramme de la source à la dest.
Champs divers
data
223.1.1.1
223.1.2.3
- Regarder la partie réseau de ladresse 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
44Envoyer un datagramme de la source à la dest.
Champs divers
data
223.1.1.1
223.1.2.3
- Arrivée à 223.1..1.4 dun paquet destiné à
223.1.2.2 - Regarde la partie réseau de ladresse de E
- E est sur le même réseau que linterface routeur
223.1.2.9 - Envoyer le paquet à ce routeur
- La couche liaison envoie le datagramme à
223.1.2.2 via linterface 223.1.2.9 - Le datagramme arrive à 223.1.2.2!!!
45Format de datagramme IP
IP protocol version number
32 bits
total datagram length (bytes)
header length (bytes)
type of service
head. len
ver
length
for fragmentation/ reassembly
fragment offset
type of data
flgs
16-bit identifier
max number remaining hops (decremented at each
router)
upper layer
time to live
Internet checksum
32 bit source IP address
32 bit destination IP address
upper layer protocol to deliver payload to
E.g. timestamp, record route taken, pecify list
of routers to visit.
Options (if any)
data (variable length, typically a TCP or UDP
segment)