Couche IP - Laboratoire d`Informatique de Paris 6

Transcription

Couche IP - Laboratoire d`Informatique de Paris 6
Master MIAGE
EC Réseaux
La couche Réseau IP
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
application
transport
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
network
data link
physical
application
transport
network
data link
physical
2007-2008
3
abstraction de service
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 ?
L’abstraction la plus
importante
fournie par la
couche réseau :
? ?
?
circuit virtuel
ou
datagramme ?
2007-2008
4
Circuits virtuels (ex: ATM, X25)
“chemin établi dans le réseau entre la source et la
destination”
 É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
Datagramme : le modèle Internet
5
 Pas
d’établissement d’appel
 routeurs: pas d’état sur les connexions

Pas de concept de “connexion” au niveau réseau
 Les

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
application
transport
network
data link
physical
1. Send data
application
transport
2. Receive data
network
data link
physical
2007-2008
Le modèle de service Internet
(IP)
Network
Architecture
Internet

Guarantees ?
Service
Model
Bandwidth
Loss Order
Timing
best effort
none
no
no
no
Extension possibles du modèle Internet

no (inferred
via loss)
Intserv : fournir des garanties de QoS individualisées pour des
sessions individuelles d’une application
 Réservation
de ressources, établissement d’appel
 Garantie de QoS pour des flux individuels

Congestion
feedback
Diffserv : distinguer des classes de service différentes
 Garantie
de QoS pour des catégories de flux (“profils”)
6
2007-2008
7
La couche réseau dans Internet

Ensemble de fonctions implantées dans les hosts et
les routeurs
Couche transport : TCP, UDP
Couche
réseau
Protocole IP
•Conventions d’adressage
•Format de datagramme
•Conventions de manip de paquets
Protocoles de routage
•Sélection de chemins
•RIP, OSPF, BGP
table de
routage
Protocole ICMP
•Remontée d’erreur
•“signaling” des routeurs
Couche liaison
Couche physique
2007-2008
8
Routage
Protocole de routage
But: déterminer le “bon” chemin
(suite de routeurs) à travers
le réseau de la source à la dest.
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
5
2
A
3
2
1

B
D
C
E
“bon” chemin :


F
1
3
1
5
2
Chemin au coût le moins
élevé
Mais autres définitions
possibles
 Règles
de gestion
2007-2008
9
Routage (2)
Table de routage
Indique la meilleure liaison à
utiliser (le prochain routeur à
utiliser), afin de transférer des
données vers un noeud.
5
2
A
2
1
Les algorithmes de routages
servent à déterminer la
table de routage.
D
Dest
B
D
E
C
B
3
C
3
1
5
F
1
E
2
prochain noeud
B
D
D
D
2007-2008
10
Classification des algo de routage
Information 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
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
11
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
5
2
A
2
1
Step
0
1
2
3
4
5
B
start N
A
AD
ADE
ADEB
ADEBC
ADEBCF
D
3
C
3
1
D(B),p(B)
2,A
2,A
2,A
5
F
1
E
2
D(C),p(C)
5,A
4,D
3,E
3,E
Le parcours des
prédécesseurs d’un
nœud vers la source
donne le chemin =
TABLE de ROUTAGE
de ce nœud
D(D),p(D)
1,A
D(E),p(E)
infinity
2,D
D(F),p(F)
infinity
infinity
4,E
4,E
4,E
2007-2008
Algorithme “Vecteur de distance”
itératif


Algorithme de Bellman-Ford
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é


13
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 :
D (Y,Z)
X
distance de X vers Y,
= via Z comme prochain saut
DX (Y,Z) = c(X,Z) + minw {DZ (Y,w)}
Coût minimal de Z à Y
2007-2008
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
14
Chaque nœud
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
2007-2008
15
Table de Distance : Exemple
A
1
C
2
8
1
E
2
D ()
A
B
D
A
1
14
5
B
7
8
5
C
6
9
4
D
4
11
2
D
Distance de E vers C via D
DE (C,D) = c(E,D) + minw{DD (C,w)}
= 2+2 = 4
Distance de E vers A via D
DE (A,D) = c(E,D) + minw {DD (A,w)}
= 2+3 = 5
coût de destination via
E
Boucle par E !
destination
7
B
Distances obtenues par voisins
DD (x,y) donné par les voisins
Le calcul du min est fait de proche en proche
Prochain nœud
sur le chemin
2007-2008
16
De la table de distance à la table de routage
coût de destination via
E
Lien de sortie, coût
A
B
D
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,2
Table de Distance de E
E
destination
destination
D ()
Table de Routage de E
2007-2008
17
Comparaison entre LS et DV
Complexité en Message
On suppose :


LS: avec n noeuds, et E liens,
O(nE) msg envoyés à chaq. fois
DV: échange juste entre voisins
Robustesse : Que se
passe-t-il en cas de
problèmes avec des
routeurs ?
LS:
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”
DV:


noeuds informent des coûts
de liens incorrects
chaque noeud calcule slt sa
propre table
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
Routage hiérarchique
Jusqu’ici, étude “théorique” du routage

Tous les routeurs sont identiques

Le réseau est “plat” … pas vrai en réalité
échelle: 50 millions de
destinations :
Autonomie administrative



Impossible de stocker dans les
tables de routage !
L’échange des tables de routage
inonderait les liens !

internet = réseau de réseaux
Chaque admin réseau peut
vouloir contrôler le routage
dans son propre réseau
18
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 passerelles



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
2007-2008
20
Routage Intra-AS and Inter-AS
C.b
a
C
Gateways (passerelles)
B.a
A.a
b
A.c
A
d
a
b
c
a
c
B
b
•Assurent le routage
inter-AS entre elles
•Assurent le routage
intra-AS avec les autres
routeurs de leur AS
Couche réseau
routage inter-AS,
intra-AS dans la
gateway A.c
Couche liaison
Couche physique
2007-2008
21
Routage Intra-AS and Inter-AS
C.b
a
Host
h1
C
A.a
b
Routage
Inter-AS
entre
A et B
A.c
d
a
c
b
A
Routage Intra-AS
dans l’AS A
B.a
a
c
B
Host
h2
b
Routage Intra-AS
dans l’AS B
2007-2008
22
Le routage dans Internet
 Internet
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 1982
 Mé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)
z
w
A
x
D
B
y
C
Destination Network
w
y
z
x
….
Next Router
Num. of hops to dest.
….
....
A
B
B
--
Table de routage de D
2
2
7
1
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 RIP
 Les
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

OSPF Hierarchique II
31
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

 Si
Raisons : coût, politique (ne pas router via des AS
concurrents), prévention de boucle.
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
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 MAJ
Performance
 Intra-AS: peut de focaliser sur les performances
 Inter-AS: la politique domine sur les performances

36
2007-2008
37
Le protocole internet (IP)
 Protocole
de couche 3 (couche réseau)
 Implanté dans les hosts et les routeurs
 Service 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.4
223.1.1.3
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
223.1.3.1
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
1
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.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
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)
2007-2008
40
Adressage IP
Comment identifier les
réseaux IP ?
 Détacher chaque
interface de son
routeur, host
 Créer des “îles de
réseaux isolés”

223.1.1.2
223.1.1.1
223.1.1.4
223.1.1.3
223.1.9.2
223.1.7.0
Sans passage par un
routeur
223.1.9.1
Réseau formé par
l’interconnexion de 6 réseaux
223.1.2.1
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
223.1.3.27
223.1.2.2
223.1.3.1
223.1.3.2
2007-2008
41
Adresses IP
classe
A
24 bits
8 bits
0Id_réseau
16 bits
16 bits
B
10
Id_réseau
Id_local
24 bits
C
110
D
1110
1.0.0.0 to
127.255.255.255
Id_local
Id_réseau
multicast address
8 bits
Id_local
128.0.0.0 to
191.255.255.255
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
32 bits
Par 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 120
193.50.151.0 désigne le réseau de classe C d’adresse 193.50.151
2007-2008
Plages d’adresses IP selon les classes
Classe plage d’id_réseau
plage d’id_local
A
1 à 127
0.0.1 à 255.255.254
B
128.0 à 191.255
0.1 à 255.254
C
192.0.0 à 223.255.255
1 à 254
42
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 : CIDR
4



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
Id_réseau
Id_local
11001000 00010111 00010000 00000000
200.23.16.0/23
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
à plat
 Ex : 132.12.0.0 : classe B => 216-2 adresses possibles en local
 Adressage hiérarchique : groupe logique de machines (sous-réseau)

id_local = id_sous-réseau + id_machine
 Ex

: 132.12.10.0
132.12.20.0
2007-2008
45
Sous-réseaux
 Faire




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
 Routage
 Masque

d'adresses
de subnetting
Permet d’extraire les id. réseau et sous-réseau d’une
adresse IP
2007-2008
Extraction id_réseau et sous réseau
À
46
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
Valeurs de masque et opérations
47
 Valeurs

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éseau
2007-2008
48
Subnetting : initialisation du masque
 Un
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
Exemple
 Soit
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érentes
 De
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
Acheminement d’un datagramme
Acheminement vs routage


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

@IP
source
@IP
dest
Table de routage de A
Dest. Net. next router Nhops
223.1.1.0
223.1.2.0
223.1.3.0
A
B
Datagramme IP
…
51
223.1.1.1
223.1.1.2
223.1.1.4
223.1.1.3
données
Ces champs du datagramme restent
inchangés, pendant son parcours de
S à D
223.1.1.4
223.1.1.4
1
2
2
223.1.3.1
223.1.2.1
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
E
2007-2008
52
Acheminement d’un datagramme
…
Dest. Net. next router Nhops
223.1.1.1 223.1.1.3 données
223.1.1.0
223.1.2.0
223.1.3.0
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
A
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
223.1.3.2
E
2007-2008
53
Acheminement d’un datagramme
…
Dest. Net. next router Nhops
223.1.1.1 223.1.2.3 données
223.1.1.0
223.1.2.0
223.1.3.0
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 …
A
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
223.1.3.2
E
2007-2008
54
Acheminement d’un datagramme
…
223.1.1.1 223.1.2.3 données
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!!!
Dest.
next
network router Nhops interface
223.1.1.0
223.1.2.0
223.1.3.0
A
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
223.1.3.2
E
2007-2008
Applications :
Table
55
de routage :

Sur miage03, commande netstat -r

Sur miage03, commande netstat -rn
Configuration

Adresse

Masque

Passerelle
manuelle d'un réseau. Champs à remplir
2007-2008
56
Obtention d’adresses IP
Pour 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
Obtention d’adresses IP
57
Pour 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
Obtention d’adresses IP
Pour 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
58
2007-2008
59
Addressage Hierarchique : agrégation de route
Adressage hiérarchique permet une utilisation efficace pour le routage,
de l'information
Organization 0
200.23.16.0/23
Organization 1
200.23.18.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
“Send me anything
with addresses
beginning
200.23.16.0/20”
Internet
200.23.30.0/23
ISPs-R-Us
“Send me anything
with addresses
beginning
199.31.0.0/16”
2007-2008
60
Hierarchical addressing: more specific routes
Le FAI-R-Us alloue une route plus spécifique vers l' Organization 1
Organization 0
200.23.16.0/23
Organization 2
200.23.20.0/23
Organization 7
.
.
.
.
.
.
Fly-By-Night-ISP
“Send me anything
with addresses
beginning
200.23.16.0/20”
Internet
200.23.30.0/23
ISPs-R-Us
Organization 1
200.23.18.0/23
“Send me anything
with addresses
beginning 199.31.0.0/16
or 200.23.18.0/23”
2007-2008
Organisation 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érieur
 Cloisonnement


à 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 particulier
 Accès à des applications
61
2007-2008
Translation d'adresses
NAT (network adress translation)
NAT permet à un ou plusieurs hôtes de
partager la même adresse IP = partage de
connexion
Les synonymes sont SNAT ou Masquerade
(masquage/usurpation)

62
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
Format du datagramme IP
Compléments sur IP
0
Entête :
minimum
20 octets,
maximum
64 octets
8
16
31
Long. Type de service Long. totale (entête + données)
Version entête
Max : 216 octets, gnlt 576 octets
(QoS)
Identification (du fragment)
Durée de vie
(TTL : Time To Live)
Protocole
Flags
Position du fragment
Checksum de l'entête
Adresse IP de la station source
Adresse IP de la station destinataire
Options (facultatif, taille variable)
Données (TPDU)
Bourrage
64
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
octets
: MTU = 1500
fragmentation:
in: un grand datagramme
out: 3 petits datagrammes
reassemblage
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 routeur
 Dans
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 routeur
 Routeur


: 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
ICMP: Internet Control Message Protocol

Utilisé par les hosts, routeurs,
et passerelles pour
communiquer de l’information
de couche réseau



Protocole “sur” IP :


Report d’erreur: host
inatteignable, réseau, port,
protocole
request/reply echo (utilisé par
ping)
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
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
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
Adresses IPv6
: Une adresse Ipv6 joue donc
le même rôle qu'une adresse IPv4
 Format:
71
 Fonctionnement


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

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).
72
Adresses IPv6
2007-2008

(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::/48
correspond à 48 premiers bits à 1.
C'est à dire à la plage d'adresse
fe88:6b0:0001:0:0:0:0:0
fe88:6b0:0001:ffff:ffff:ffff:ffff:ffff

73
2007-2008
74
En tête IPv6 (Contenu)
Priority: identifiant d'une priorité parmi les datagrammes d'un flot
Flow 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 à IPv6
 Not


no “flag days”
How will the network operatewith mixed IPv4 and IPv6
routers?
 Two


all routers can be upgraded simultaneous
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
Approche : Double pile de protocoles
77
2007-2008
78
« Tunneling »
IPv6 inside IPv4 where needed
2007-2008
 Dans
Auto-évaluation
79
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
 Les
Auto-évaluation (suite)
80
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