la couche réseau ip - hyon/supportscours/old_res_ip.pdf · couche liaison couche physique couche...
TRANSCRIPT
La couche Réseau IP
Master MIAGEEC Réseaux
EmmanE
E Hyon
2007-2008 2
Fonctions de la couche réseau Transport de paquets de l’host
émetteur vers le récepteur Les protocoles de couche réseau
sont dans chaque host et routeur
Trois fonctions importantes : Détermination du chemin : route
prise par les paquets de la source au dest. Algorithmes de routage
Commutation : aiguiller les paquets de l’entrée du routeur vers la sortie appropriée
Établissement d’appel : dans certains réseaux, avant le transfert des données
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
2007-2008 3
Le service réseau : quel modèle ?
Modèle de service Les caractéristiques du
service fourni par le “canal” qui transporte les paquets de l’émetteur au récepteur
Garantie de BP ? Préservation du délai inter-paquet
? Remise de paquets sans perte ? Remise de paquets en séquence ? Informations de congestion pour
l’émetteur ?
? ??circuit virtuel
ou datagramme ?
L’abstraction la plus importante
fournie par la couche réseau :
abs
trac
tion
de
serv
ice
2007-2008 4
“chemin établi dans le réseau entre la source et la destination”
Circuits virtuels (ex: ATM, X25)
Établissement d’appel, pour chaque appel avant que le flux de données commence
Chaque paquet porte l’identifiant du CV (et non l’ID de l’host destination)
Chaque routeur sur le chemin maintient l’“état” de chaque connexion Les connexions TCP impliquent uniquement les deux
systèmes terminaux Des liens, des ressources routeur (BP, buffers) peuvent être alloués au CV
2007-2008 5
Datagramme : le modèle Internet
Pas d’établissement d’appel routeurs: pas d’état sur les connexions
Pas de concept de “connexion” au niveau réseauLes paquets sont routés d’après l’ID host destination
Les paquets d’une paire identique (source-dest) peuvent emprunter des routes différentes
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
1. Send data 2. Receive data
2007-2008 6
Le modèle de service Internet(IP)
NetworkArchitecture
Internet
ServiceModel
best effort
Bandwidth
none
Loss
no
Order
no
Timing
no
Congestionfeedback
no (inferredvia loss)
Guarantees ?
Extension possibles du modèle Internet Intserv : fournir des garanties de QoS individualisées pour des
sessions individuelles d’une applicationRéservation de ressources, établissement d’appelGarantie de QoS pour des flux individuels
Diffserv : distinguer des classes de service différentesGarantie de QoS pour des catégories de flux (“profils”)
2007-2008 7
La couche réseau dans Internet
table de routage
Ensemble de fonctions implantées dans les hosts et les routeurs
Protocoles de routage•Sélection de chemins•RIP, OSPF, BGP
Protocole IP •Conventions d’adressage•Format de datagramme•Conventions de manip de paquets
Protocole ICMP •Remontée d’erreur•“signaling” des routeurs
Couche transport : TCP, UDP
Couche liaison
Couche physique
Coucheréseau
2007-2008 8
Routage
Utilisation de l’algorithmique de graphes pour définir les algorithmes de routage
Les nœuds du graphe sont les routeurs
Les arêtes du graphe sont les liens physiques
Le coût d’un lien : délai, coût €, ou niveau de congestion
But: déterminer le “bon” chemin(suite de routeurs) à travers
le réseau de la source à la dest.
Protocole de routage
A
ED
CB
F2
21
3
1
1
2
53
5
“bon” chemin : Chemin au coût le moins
élevé Mais autres définitions
possiblesRègles de gestion
2007-2008 9
Routage (2)
Les algorithmes de routagesservent à déterminer la
table de routage.
Indique la meilleure liaison à utiliser (le prochain routeur à utiliser), afin de transférer des données vers un noeud.
Table de routage
A
ED
CB
F2
21
3
1
1
2
53
5
Dest prochain noeud
B BD DE DC D
2007-2008 10
Classification des algo de routageInformation globale ou
décentralisée ?Globale Tous les routeurs ont une info
complète de la topolgie et des coûts des liens
Diffusion des info à tous les nœuds
Algorithmes “état de lien”Décentralisée Un routeur a les info sur ses
voisins (routeurs qui lui sont physiquement rattachés)
Processus itératif de calcul, échange d’info entre voisins
Algorithmes “vecteur de distance”
Statique ou dynamique ?Statique Les routes ne changent pas
fréquemment Intervention humaine
Dynamique Les routes changent
MAJ périodique En réponse aux
changements des coûts des liens (fct du trafic ou de la topologie)
2007-2008 11
Algorithme “état de lien”(link state)
Algorithme de Dijkstra Topologie réseau et coûts des liens
connus de tous les nœuds “link state broadcast” Tous les nœuds ont la même
info Calcule les chemins les moins chers
d’un nœud (“source”) à tous les autres
Fournit la table de routage de ce nœud
Itératif : après k itérations, connaît le chemin de moindre coût vers k destinataires
Notation: c(i,j): coût du lien entre nœud i et
j. Infini si i et j ne sont pas voisins
D(v): coût actuel du chemin de la source à dest. v
p(v): nœud prédécesseur de v sur le chemin de la source à v
N: ensemble des nœuds pour lesquels le chemin de moindre coûts est connu
2007-2008 12
Exemple de l’algorithme de Dijkstra
A
ED
CB
F2
21
3
1
1
2
53
5
Step012345
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)infinity
2,D
D(F),p(F)infinityinfinity
4,E4,E4,E
Le parcours des prédécesseurs d’un nœud vers la source donne le chemin = TABLE de ROUTAGE de ce nœud
2007-2008 13
Algorithme “Vecteur de distance”
itératif continue jusqu’à ce que
plus aucun nœud n’échange de l’info.
self-terminating: pas de “signal” de fin
asynchrone Les nœuds n’ont pas
besoin d’échanger des info et d’itérer en étapes verrouillées
distribué chaque nœud ne
communique qu’avec ses voisins directs (nœuds qui lui sont attachés)
Aucun nœud n’a l’information globale
Table de Distance Chaque nœud a la sienne Une rangée par destination possible Une colonne pour chaque voisin du
nœud Exemple : nœud X, pour dest. Y via
voisin Z :
DX (Y,Z)distance de X vers Y, via Z comme prochain saut
c(X,Z) + minw {DZ (Y,w)}
=
=
Coût minimal de Z à Y
Algorithme de Bellman-Ford
DX (Y,Z)
2007-2008 14
Dans chaque noeud
Itératif, asynchrone Chaque itération locale générée
par : Le changement de coût d’un
lien local La réception d’un message
d’un voisin (son chemin de coût minimal a changé)
Distribué Chaque nœud notifie ses
voisins uniquement quand son chemin de coût minimum vers une destination a changé
Les voisins préviendront les voisins si nécessaire
Un noeud ne connaît pas les coûts des liens qui ne lui sont pas adjacents, il ne connaît que le coût du chemin
attend (changement de coût local ou msg d’un voisin)
recalcule sa table de distance
Si le chemin de coût minimum a changé pour une quelconque
destination, prévient les voisins
Chaque nœud
2007-2008 15
Table de Distance : Exemple
A
E D
CB7
81
2
1
2
DE (C,D) c(E,D) + minw{DD (C,w)}== 2+2 = 4
DE (A,D) c(E,D) + minw {DD (A,w)}== 2+3 = 5
DD (x,y) donné par les voisinsLe calcul du min est fait de proche en proche
Boucle par E !
Distance de E vers C via D
Distance de E vers A via D
Distances obtenues par voisins
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecoût de destination via
dest
inat
ion
Prochain nœud sur le chemin
2007-2008 16
De la table de distance à la 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 de destination via
dest
inat
ion
DE ()
A
B
C
D
A,1
D,5
D,4
D,2
Lien de sortie, coût
dest
inat
ion
Table de Distance de E Table de Routage de E
2007-2008 17
Comparaison entre LS et DV
Complexité en MessageOn suppose : LS: avec n noeuds, et E liens,
O(nE) msg envoyés à chaq. fois DV: échange juste entre voisins
Vitesse de convergence LS: O(n**2)
mais il y a des oscillations DV: temps de convergence
varie : en cas de boucles de
routage en cas de problèmes de
“count-to-infinity”
Robustesse : Que se passe-t-il en cas de problèmes avec des routeurs ?
LS: noeuds informent des coûts
de liens incorrects chaque noeud calcule slt sa
propre tableDV:
noeuds informent de coûts de path incorrects
La table d'un noeud est utilisée par les autres
erreur se propage à travers le réseau
2007-2008 18
Routage hiérarchique
échelle: 50 millions de destinations :
Impossible de stocker dans les tables de routage !
L’échange des tables de routage inonderait les liens !
Autonomie administrative internet = réseau de réseaux Chaque admin réseau peut
vouloir contrôler le routage dans son propre réseau
Jusqu’ici, étude “théorique” du routage Tous les routeurs sont identiques Le réseau est “plat” … pas vrai en réalité
2007-2008 19
Routage hiérarchique Classer les routeurs en
régions, “Autonomous Systems” (AS)
Les routeurs d’un même AS ont le même protocole de routage
Protocole de routage “intra-AS”
Les routeurs de différents AS peuvent utiliser des protocoles de routage intra-AS différents
Routeurs spéciaux dans un AS Exécutent le protocole de
routage intra-AS comme les autres routeurs de l’AS
aussi responsable de router vers des destinations hors AS
Exécutent le protocole de routage inter-AS avec d’autres routeurs passerelles
Routeurs passerelles
2007-2008 20
Routage Intra-AS and Inter-ASGateways (passerelles)
•Assurent le routage inter-AS entre elles•Assurent le routage intra-AS avec les autres routeurs de leur AS
routage inter-AS, intra-AS dans la
gateway A.c
Couche réseauCouche liaison
Couche physique
a
b
b
aaC
A
Bd
A.aA.c
C.bB.a
cb
c
2007-2008 21
Routage Intra-AS and Inter-AS
Host h2
a
b
b
aaC
A
Bd c
A.aA.c
C.bB.a
cb
Hosth1
Routage Intra-ASdans l’AS A
Routage Inter-AS entre A et B
Routage Intra-AS dans l’AS B
2007-2008 22
Le routage dans InternetInternet consiste en un ensemble d’Autonomous Systems (AS) interconnectés
Deux niveaux de routage Intra-AS: l’administrateur est responsable des choix Inter-AS: standard unique
2007-2008 23
Routage Intra-AS Connu également comme Interior Gateway Protocols (IGP)
Quelques IGPs bien connus
RIP: Routing Information Protocol
OSPF: Open Shortest Path First
IGRP: Interior Gateway Routing Protocol (Cisco propr.)
2007-2008 24
RIP ( Routing Information Protocol)Algorithme de vecteur de Distance Inclus dans la distribution BSD-UNIX en 1982Métrique de Distance : # de sauts (max = 15 sauts)
Vecteurs de Distance : échangés toutes les 30 sec via un “Response Message” (ou “advertisement”)
Chaque advertisement : route jusqu’à 25 réseaux de destination
Utilise UDP (Les messages sont encapsulés dans des segments UDP)
2007-2008 25
RIP (Routing Information Protocol)
Destination Network Next Router Num. of hops to dest. w A 2
y B 2 z B 7
x -- 1…. …. ....
w x y
z
A
C
D B
Table de routage de D
2007-2008 26
RIP: résolution des problèmes Si aucun advertisement reçu au bout de 180 sec --> le
voisin/lien déclaré HS Les routes via ce voisin sont invalidées De nouveaux advertisements sont envoyés aux voisins Qui a leur tour envoient de nouveaux advertisements
(si leur table est affectée) L’info de rupture du lien se propage rapidement à
tout le réseau
2007-2008 27
Traitement des tables de routage RIPLes tables de routage RIP sont gérés par un processus de niveau application appelé route-d (daemon)
Les advertisements sont envoyés dans des segments UDP, périodiquement
2007-2008 28
OSPF (Open Shortest Path First)
Protocole “open”: description est disponible publiquement Utilise un algorithme à état de lien
Transmission des paquets décrivant les états des liens. permet à chaque noeud de construire sa carte de la topologie du
réseau. Détermination des routes par l'algorithme de Dijkstra’s
Les messages (advertisement) OSPF comportent des entrées uniquement pour chaque routeur voisin (et non pour ensemble du réseau)
Advertisements sont disseminés à tout l'AS (via flooding : routeur envoie à ces voisins qui retransmettrent à leur voisins etc...)
Utilise directement IP (ses msg sont encapsulés dans des datagrammes)
2007-2008 29
OSPF caractéristiques “avancées” (pas dans RIP)
Security: all OSPF messages authenticated (to prevent malicious intrusion);
Multiple same-cost paths allowed (only one path in RIP) For each link, multiple cost metrics for different TOS
(eg, satellite link cost set “low” for best effort; high for real time)
Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base as OSPF
Hierarchical OSPF in large domains.
2007-2008 30
OSPF Hiérarchique
2007-2008 31
OSPF Hierarchique II
Two-level hierarchy: domaine local, backbone (réseau fédérateur). Pour Chaque domaine local
Avertissements Link-state seulement dans domaine Chaque noeuds a une vue detaillée de la topologie du domaine; mais connait seulement la direction (shortest path) vers des réseaux d'autres domaines.
Routeurs frontalier (Area border routers): appartient à un domaine local et au réseau fédérateur.
Routeurs fédérateur (Backbone routers) : Routage OSPF limité au « backbone ». Transmission des infos aux routeurs qui ne sont pas dans reseau fédérateur
Boundary routers: connection vers d'autres ASs.
2007-2008 32
IGRP (Interior Gateway Routing Protocol)
CISCO proprietary; successor of RIP (mid 80s) Distance Vector, like RIP several cost metrics (delay, bandwidth, reliability, load etc) uses TCP to exchange routing updates Loop-free routing via Distributed Updating Alg. (DUAL)
based on diffused computation
2007-2008 33
Routage Inter-AS
2007-2008 34
Routage Internet inter-AS : BGP BGP (Border Gateway Protocol): Le standard de facto Protocole Path Vector :
Similaire au protocole Distance Vector, mais propagation de chemin (path) plutôt que de coût
Chaque passerelle (Border Gateway) diffuse à ses voisins (ses pairs) le chemin complet (i.e, la séquence d’ASs) jusqu’à une destination
Par exemple, la passerelle X diffuse à ses pairs que le chemin de X vers une destination Z est :
Path (X,Z) = X,Y1,Y2,Y3,…,Z
2007-2008 35
Routage Internet inter-AS : BGP
Hypothèse : la passerelle X envoie son chemin à son pair, la passerelle W
W peut sélectionner ou non ce chemin Raisons : coût, politique (ne pas router via des AS
concurrents), prévention de boucle.Si W retient le chemin mentionné par X, alors :
Path (W,Z) = w, Path (X,Z)Note : X peut contrôler le trafic entrant en contrôlant les annonces de route à ses pairs Ex : X ne veut pas router le trafic via Z => il ne fera
aucune annonce de route à destination de Z
2007-2008 36
Pourquoi un routage différent Intra- et Inter-AS ?
Politique Inter-AS: admin veulent contrôler comment leur trafic
est routé et qui emprunte les routes de leur réseau Intra-AS: une seule admin, donc pas de décisions
“communautaires” à prendreÉchelle Le routage hiérarchique permet d’économiser sur la
taille des tables et de réduire le trafic de MAJPerformance Intra-AS: peut de focaliser sur les performances Inter-AS: la politique domine sur les performances
2007-2008 37
Le protocole internet (IP)Protocole de couche 3 (couche réseau)Implanté dans les hosts et les routeursService de transfert de datagramme sans connexion
Pas de route unique pour tous les datagrammes d’une même TPDU
Non fiable Pas de séquencement => pas de vérification de déséquencement =>
pas de détection de perte => pas de retransmission sur perte Pas de contrôle de flux Pas de multiplexage (pas de connexions multiples sur une liaison
puisque mode non connecté)Service d’acheminement des datagrammes « best effort »
2007-2008 38
Adressage IP : introduction adresse IP : identifiant
(sur 32-bits) de l’interface d’un host/routeur
Interface : “attache” (ou frontière) entre un host/routeur et le lien physique
Les routeurs ont plusieurs interfaces
Un host peut avoir plusieurs interfaces
Les @ IP sont associées aux interfaces, pas à l’host ni au routeur
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
2007-2008 39
Adressage IP @ IP :
Une partie id_réseau (bits de poids fort)
Une partie id_local (bits de poids faible)
Qu’est-ce qu’un réseau? (dans une optique adressage IP)
Ensemble des interfaces qui ont leur partie id_réseau de leur @ IP identique
Ensemble des interfaces qui peuvent s’atteindre sans passer par un routeur
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
Réseau formé par l’interconnexion de 3 réseaux IP
(la partie id_réseau est formé des 24 premiers bits de l’@IP)
LAN
2007-2008 40
Adressage IPComment identifier les
réseaux IP ? Détacher chaque
interface de son routeur, host
Créer des “îles de réseaux isolés”
Sans passage par un routeur
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Réseau formé par l’interconnexion de 6 réseaux
2007-2008 41
Adresses IP
0Id_réseau Id_local
1110 multicast address
A
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 bitsPar convention, un identificateur local nul n ’est jamais affecté à une machine. Il sert à référencer le réseau lui-même.120.0.0.0 désigne le réseau de classe A d’adresse 120193.50.151.0 désigne le réseau de classe C d’adresse 193.50.151
8 bits 24 bits
16 bits 16 bits
10 Id_réseau Id_localB
24 bits 8 bits
110 Id_réseau Id_localC
2007-2008 42
Plages d’adresses IP selon les classesClasse plage d’id_réseau plage d’id_localA 1 à 127 0.0.1 à 255.255.254B 128.0 à 191.255 0.1 à 255.254
C 192.0.0 à 223.255.255 1 à 254
Plages d'adresses spéciales 127.0.0.1 @ de bouclage (localhost) et 127.0.0.0 @ locales 0.0.0.0 illégale en tant qu'adresse de destination @ locale 255.255.255.255 adresse de diffusion. Réservées à un usage local
10.0.0.0 — 10.255.255.255 172.16.0.0 — 172.31.255.255 (172.16/12) 192.168.0.0 — 192.168.255.255 169.254.0.0 — 169.254.255.255
2007-2008 43
Adressage IP : CIDR4 classes d’adresses :
Utilisation inefficace de plages d’adresses Nombre de machines adressables d’une classe B ? D’une classe C ?
CIDR: Classless InterDomain Routing L’id_réseau d’une @ est d’une longueur quelconque Format d’adresse: a.b.c.d/x, avec x = nb de bits de
l’id_réseau
11001000 00010111 00010000 00000000
200.23.16.0/23
Id_localId_réseau
Très lié au subnetting
2007-2008 44
Adressage de sous-réseaux@IP = id_réseau + id_local id_local
L’identificateur d’une machine (193.50.151.30) Dans certaines organisations, utile de découper l’espace
d’adresses en plusieurs sous-espaces (hiérarchie d’adresses)
Adressage à platEx : 132.12.0.0 : classe B => 216-2 adresses possibles en localAdressage hiérarchique : groupe logique de machines (sous-réseau)
id_local = id_sous-réseau + id_machineEx : 132.12.10.0 132.12.20.0
2007-2008 45
Sous-réseauxFaire un sous-réseau (subnetter) :
Responsabilité de l’administrateur du site Partitionnement du réseau en espaces d’adressage
distincts (réseaux logiques ou sous-réseaux) Limitation des communications à un sous-réseau Routeur pour passer d’un sous-réseau (un espace
d’adressage) à un autre sous-réseau (un autre espace d’adressage)
Traduction d'adressesRoutage
Masque de subnetting Permet d’extraire les id. réseau et sous-réseau d’une
adresse IP
2007-2008 46
Extraction id_réseau et sous réseauÀ une @IP est associé un masque@IP ^ masque = permet de séparer les bits de l’@ qui forment l’id_réseau (et sous réseau) de ceux qui forment l’id_machine
Exemples : 192.45.32.10 et 192.45.32.32. Même réseau ?
Id_réseau et sous réseau ? Si je ne connais pas le masque, je ne peux pas répondre
Opération un ET logique, le 1 est filtrant Pour X € [0, 1], 1 ET x = x Pour X € [0, 1], 1 ET x = x
Masque : Sur 32 bits, le nb de bits à 1 dans le masque = le nb de bits qui forment l’id_réseau ds l’@
2007-2008 47
Valeurs de masque et opérationsValeurs
Classe A, id_réseau : 8 bits => masque = 255.0.0.0 Classe B, id_réseau : 16 bits => masque = 255.255.0.0 Classe C, id_réseau : 24 bits => masque =
255.255.255.0 CIDR /25 : 25 bits => masque = 255.255.255.128
Opérations : Effectuer le ET logique entre 192.45.32.10 et masque de
classe C (idem avec 192.45.32.32). Sont elles dans le même réseau ?
Exercices : 172.30.19.254 et 172.30.61.4 sont-ils dans même
réseaumasque = 255.255.0.0masque = 255.255.240.0
2007-2008 48
Subnetting : initialisation du masqueUn administrateur récupère un id_réseau auprès de l’ICANN (une classe C, ou B, ou A)
Il doit organiser l’espace d’adressage de ses machines
S’il ne subnette pas, il prend comme valeur de masque la valeur par défaut de sa classe
S’il décide de subnetter, il doit calculer la valeur de masque Combien de sous-réseaux ? Soit NR Pour coder NR en binaire, il faut n bits
=> n bits de poids forts à 1
2007-2008 49
ExempleSoit une classe C d’id_réseau = 192.168.1.0 (=> id_local = 1 octet, le dernier) Deux sous-réseaux
=> NR = 10 en binaire => n = 2=> 4è octet du masque = 11000000=> masque = 255.255.255.192
On a alors 4 plages d’adresses différentesDe 192.168.1.1 à 192.168.1.63 (réseau 192.168.1.0)De 192.168.1.64 à 192.168.1.127 (réseau 192.168.1.64)De 192.168.1.128 à 192.168.1.191 (réseau 192.168.1.128)De 192.168.1.192 à 192.168.1.255 (réseau 192.168.1.192)
2007-2008 50
Exercices Une classe A, id_réseau = 10.0.0.0 Quel est le masque et quelles sont les plages d’@
Pour deux sous-réseaux ? Pour 4 sous-réseaux ?
Soient 4 machines d’@ 10.99.43.27, 10.163.12.254, 10.189.12.27, 10.126.43.250 On veut que 10.99.43.27 et 10.163.12.254 soient dans le même
espace d’@, distinct de 10.189.12.27, 10.126.43.250 qui seront dans un autre
Quelle est la valeur du masque ? Même question si on veut que les machines soient chacune dans des
espaces d’@ distincts
2007-2008 51
Acheminement d’un datagramme
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.0 1223.1.2.0 223.1.1.4 2223.1.3.0 223.1.1.4 2
Table de routage de A Acheminement = prendre un
datagramme, regarder son @ de destination, consulter une table de routage et envoyer le datagramme dans la destination déterminée par cette table
Routage = procédé par lequel les tables sont construites
Acheminement vs routage
Datagramme IP… @IP
source @IP dest données
Ces champs du datagramme restent inchangés, pendant son parcours de S à D
2007-2008 52
Acheminement d’un datagramme
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
Partant de A, un datagramme est adressé à B :
id_réseau de B ? Application du masque
Même id_réseau que celui de A, A et B sont sur le même réseau
Table de routage : même réseau, 1 saut => direct
IP délivre le datagramme à l’interface et la couche liaison l’enverra directement à B
B et A sont directement connectés
Dest. Net. next router Nhops
223.1.1.0 1223.1.2.0 223.1.1.4 2223.1.3.0 223.1.1.4 2
… 223.1.1.1 223.1.1.3 données
2007-2008 53
Acheminement d’un datagramme
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.0 1223.1.2.0 223.1.1.4 2223.1.3.0 223.1.1.4 2
Partant de A, dest. E: Chercher l’id_réseau de E E sur un réseau différent
A, E pas directement attachés
Table de routage : prochain saut vers E : routeur 223.1.1.4
IP délivre le datagramme à l’interface et la couche liaison l’envoie au routeur 223.1.1.4
Le datagramme arrive à 223.1.1.4
Suite …
223.1.1.1 223.1.2.3… données
2007-2008 54
Acheminement d’un datagramme
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, à destination de 223.1.2.2
Chercher l’id_réseau de E E sur le même réseau que
l’interface du routeur 223.1.2.9 routeur, E directement attaché
IP délivre le datagramme à l’interface 223.1.2.9 et la couche liaison l’enverra directement 223.1.2.2
Le datagramme arrive à 223.1.2.2!!!
network router Nhops interface
223.1.1.0 - 1 223.1.1.4 223.1.2.0 - 1 223.1.2.9
223.1.3.0 - 1 223.1.3.27
Dest. next
223.1.1.1 223.1.2.3… données
2007-2008 55
Applications :
Table de routage : Sur miage03, commande netstat -r
Sur miage03, commande netstat -rn
Configuration manuelle d'un réseau. Champs à remplir Adresse
Masque
Passerelle
2007-2008 56
Obtention d’adresses IPPour un utilisateur
Partie id_local :Codée en dur par l’administrateur système dans un fichier
DHCP: Dynamic Host Configuration Protocol: obtention dynamique d’adresses : L’host diffuse un message “DHCP discover” Le serveur DHCP répond par un msg “DHCP offer” L’host demande une @ IP : msg “DHCP request” Le serveur DHCP envoie l’@ : msg “DHCP ack”
2007-2008 57
Obtention d’adresses IPPour un ISP
Q: où l’ISP se procure-t-il un bloc d’adresses?R: ICANN: Internet Corporation for Assigned Names and Numbers
Allocation d’adresses Gestion du DNS Assignation des noms de domaine, résolution des conflits
2007-2008 58
Obtention d’adresses IPPour un ISP
Id_réseau :Obtenir une portion de l’espace d’adresses alloué aux ISP :
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
2007-2008 59
Addressage Hierarchique : agrégation de route
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Adressage hiérarchique permet une utilisation efficace pour le routage,de l'information
2007-2008 60
Hierarchical addressing: more specific routes
Le FAI-R-Us alloue une route plus spécifique vers l' Organization 1
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us “Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
2007-2008 61Organisation des réseaux et sous réseaux
Zone démilitarisée" (DMZ) Serveurs devant être accessibles depuis l'exterieur
(internet) et l'interieur (réseau interne).Serveurs de mail, Serveurs web.....
DMZ zone grise composée d'un réseau physique avec des serveurs.
Zone tampon entre l'exterieur et l'intérieurCloisonnement à l'intérieur d'un réseau
A l'aide de pare-feux Différents niveaux de sécurité
Réseaux accessibles à un groupe de personnes particulierAccès à des applications
2007-2008 62
Translation d'adressesNAT (network adress translation)
NAT permet à un ou plusieurs hôtes de partager la même adresse IP = partage de connexionLes synonymes sont SNAT ou Masquerade (masquage/usurpation)
2007-2008 63
Sécurité et pare feu
Pare-feu (firewall) Le pare-feu est un système qui gère l'accès des
PDU (le plus souvent de couche 3) échangées avec le réseau (physionomiste).
Intermédiaire entre réseau local et réseaux externes.
Filtrage selon un certain nombre de règles : rejet, acceptation, blocage, transfert
basés sur en-têtes des datagrammes IP (adresses source et destination, TOS/DSCP/ECN, TTL, protocole, etc.).
Sous linux : IPtables
2007-2008 64
Format du datagramme IPCompléments sur IP
VersionLong.entête
Type de service(QoS)
Long. totale (entête + données)Max : 216 octets, gnlt 576 octets
Identification (du fragment) Flags Position du fragment
Durée de vie (TTL : Time To Live) Protocole Checksum de l'entête
Adresse IP de la station source
Adresse IP de la station destinataire
Options (facultatif, taille variable) Bourrage
Données (TPDU)
0 8 16 31
Entête : minimum 20 octets, maximum 64 octets
2007-2008 65
IP : Fragmentation/réassemblage Fragmentation :
adaptation de la taille d’un datagramme à la taille du champ de données d’une trame
Les liens physiques n’ont pas tous la même longueur de champ de données de trame
MTU (Maximum Transfert Unit) :taille maximale du champ de données des trames d’un lien
Ethernet : MTU = 1500 octets
reassemblage
fragmentation: in: un grand datagrammeout: 3 petits datagrammes
2007-2008 66
Rôle de IP selon l'implantation IP implanté dans les hosts et dans les routeurs Dans un host, IP gère l’envoi/la remise des TPDU Envoi : La couche 4 délivre à IP une TPDU
IP construit un datagramme encapsulant la TPDU, calcule le checksum, fragmente si nécessaire et décide de l’acheminement
IP délivre le datagramme à l'interface réseau Remise : L’interface remet à IP un datagramme
IP vérifie le checksum, s’il est mauvais, IP rejette le datagramme, effectue le réassemblage s'il y a lieu, délivre les données (TPDU) à la couche 4
2007-2008 67
Rôle de IP dans un routeurDans un routeur, IP effectue l’acheminement du datagramme entre les sous-réseaux Vérification du checksum, si mauvais, jeter le
datagramme Vérification de la durée de vie, si expirée, jeter le
datagramme Fragmenter le datagramme si nécessaire Décider de l’acheminement Reconstruire un nouvel en-tête Délivrer le datagramme à l'interface réseau (couche 2)
2007-2008 68
Vue générale de l’architecture d’un routeurRouteur : Deux fonctions clés
Exécuter les algo/protocoles de routage (RIP, OSPF, BGP) Commuter les datagrammes d’un lien entrant vers un lien
sortant
2007-2008 69
Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
ICMP: Internet Control Message Protocol Utilisé par les hosts, routeurs,
et passerelles pour communiquer de l’information de couche réseau
Report d’erreur: host inatteignable, réseau, port, protocole
request/reply echo (utilisé par ping)
Protocole “sur” IP : Les msgs ICMP sont acheminés
dans des datagrammes IP Message ICMP : type, code
plus les 8 premiers octets du datagramme IP cause d’erreur
2007-2008 70
IPv6 Motivation initiale: Espace d'adresse 32-bit completement alloué entre 2008 et 2018.
Motivations Additionelles : Format header améliorent vitesse
processing/forwarding Changements header facilitent QoS Nouvelles adresse “anycast” : route vers
“meilleures” des différents serveurs repliqués Format datagramme IPv6 :
Header de longueur fixe 40 octets Pas de fragmentation qui soit permise
2007-2008 71
Adresses IPv6Fonctionnement : Une adresse Ipv6 joue donc le même rôle qu'une adresse IPv4
Format: Une adresse IPv6 est longue de 16 octets, soit 128
bits (4 octets (32 bits) pour IPv4). Soit environ 10^40 adresses
Notation : écriture hexadécimale Séparation en 8 groupes de 16 bits. 4 bits = 1 caractère hexadecimal (2^4=16) Ce qui donne 8 groupes de 4 lettres Groupes sont séparés par un signe « : ». Ex: fe80:0000:0a88:3fff:fe1e:be71:ac1f:8001
2007-2008 72
Adresses IPv6 Simplification de la notation:
Remplacement des groupes de 0000 par 0 ou rien. Ex:fe80:0000:0000:3fff:fe1e:0e71:ac1f:8001
est identique àfe80:0:0:3fff:fe1e:e71:ac1f:8001
est identique àfe80::3fff:fe1e:e71:ac1f:8001
Attention dans les suppressions il ne faut pas qu'il y ait d'ambiguités (notamment sur les longueurs).
2007-2008 73Adresses IPv6(masque)
Id_local et Id_reseau : 64 bits local et 64 bits réseau
Masque Le nombre de bits à 1 que comporte le masque est
notée en décimal derrière un slash. Ex :
fe88:6b0:1:1a0::/48correspond à 48 premiers bits à 1.C'est à dire à la plage d'adresse
fe88:6b0:0001:0:0:0:0:0fe88:6b0:0001:ffff:ffff:ffff:ffff:ffff
2007-2008 74
En tête IPv6 (Contenu)Priority: identifiant d'une priorité parmi les datagrammes d'un flotFlow Label: identifiant des datagrammes d'un même “flot”. (concept de “flow” pas bien defini).Next header: identifie le protocole de couche supérieure des données
2007-2008 75
Autres changements avec IPv4
Checksum: Suppression complète afin de réduire les temps de traitement (processing time) à chaque « hop »
Options: permise, mais à l'extérieur de l'en-tête, indiquée par le champ “Next Header”
ICMPv6: nouvelle version de ICMP Message additionel de types, par ex. “Packet Too Big” Functions de management de groupe multicast
2007-2008 76
Transition de IPv4 à IPv6Not all routers can be upgraded simultaneous
no “flag days” How will the network operatewith mixed IPv4 and IPv6
routers? Two proposed approaches:
Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats
Tunneling: IPv6 carried as payload n IPv4 datagram among IPv4 routers
2007-2008 77
Approche : Double pile de protocoles
2007-2008 78
« Tunneling »
IPv6 inside IPv4 where needed
2007-2008 79
Auto-évaluationDans un réseau à circuit virtuel, les routeurs sont impliqués dans l’établissement du CV et chaque routeur maintient de l’information sur les Cv qui passent par lui
Dans un réseau à datagramme, chaque datagramme transporte l’adresse de l’host destinataire
Dans un algorithme distance-vector, chaque nœud a une table du réseau et détermine le plus court chemin vers tous les autres nœuds du réseau
Dans l’algorithme BGP, chaque AS prévient ses voisins de son estimation des plus courtes distances de l’AS vers tous les AS destinataires possibles
L’id_réseau d’une adresse IP est le même pour tous les hosts sur ce même réseau IP
2007-2008 80
Auto-évaluation (suite)Les AS doivent tous utiliser le même algorithme de routage intra-AS
Votre ordinateur est configuré « en dur » (pas DHCP) avec une adresse IP, et vous le déplacez à l’étage inférieur, qui est sur le même réseau IP. Si vous le connectez, vous n’avez pas besoin de reconfigurer l’adresse IP
Les ordinateurs domestiques ont généralement une interface alors que les routeurs en ont généralement plusieurs
Un routeur passerelle doit exécuter à la fois un algorithme intra-AS et un algorithme inter-AS
Le masque permet de déterminer le nombre de sauts