Séances de TD 4, 5 et 6 COUCHE RESEAU INTERNET

Transcription

Séances de TD 4, 5 et 6 COUCHE RESEAU INTERNET
INSTITUT GALILEE
Réseaux et Transmission de Données
Séances de TD 4, 5 et 6
COUCHE RESEAU
INTERNET PROTOCOL,
ROUTAGE
1.
FORMATS
1.1. La trame Ethernet
64 bits
48
préambule
adresse
destination
48
adresse
source
16
type
32
données
CRC

« préambule » détermine le début d’une trame ;

« adresse destination » détermine la destination de la trame ;

« adresse source » détermine l’expéditeur de la trame ;

« type » définit le type de contenu de la trame ; ainsi il est possible de déterminer quel
protocole va utiliser le paquet reçu :
type
0200
0201
0600
0800
0801
0802
0803
0804
0805
0806
0807
6001 à 6006
8035
8098
utilisation
XEROX PUP
PUP Address Trans.
XEROX NS IDP
DoD Internet
X.75 Internet
NBS Internet
ECMA Internet
ChaosNet
X.25 niveau 3
ARP
XNS
DEC
RARP
Appletalk

« données » sont les données brutes de la trame à passer au protocole déterminé par le champ
« type » ;

« CRC » est le checksum (contrôle de parité) de la trame permettant d’assurer son intégrité.
10/07/2003
Page 1
INSTITUT GALILEE
Réseaux et Transmission de Données
1.2. Le datagramme IP
32 bits
version
IHL
Type Of Service
total length
identification
Time To Live
flags
Protocol
fragment offset
header checksum
source address
destination address
options
padding
data
L’en-tête IP est alignée sur des mots de 32 bits. Sa longueur est donc multiple de 4 octets. Par
défaut, sans option, l'en-tête IP fait 20 octets de long.

« Version » indique le format de l'en-tête. Ce champ sert à l'identification de la version
courante du protocole. La version décrite ici (et aujourd’hui utilisée) porte le n°4 ;

« IHL (IP Header Length) » est la longueur de l'en-tête IP exprimée en mots de 32 bits (5 au
minimum) ;

« TOS (Type Of Service) » définit le type de service à appliquer au paquet en fonction de
certains paramètres comme le délai de transit, la sécurité. Codé sur 8 bits, il comprend les
champs suivants :
P
Champ
« Precedence » (3 bits) décrit
la priorité
« Delay » décrit le souhait en
matière de temps de traversée
« Throughput » décrit le
souhait en matière de débit
« Reliability » décrit le
souhait en termes de fiabilité

D T
R 0 0
Valeur
111 contrôle du réseau
110 contrôle inter-réseaux
101 CRITIC/ECP
100 flash prioritaire
011 flash
010 immédiat
001 prioritaire
000 routine
0
normal
1
privilégier les chemins à temps de traversée faible
0
normal
1
privilégier les chemins à débit élevé
0
normal
1
privilégier les chemins à fiabilité élevée
« Total Length » est la longueur totale du datagramme, en-tête et données inclus, exprimée en
octets ;
10/07/2003
Page 2
INSTITUT GALILEE
Réseaux et Transmission de Données

« Identification » est une valeur fournie par l'émetteur aidant au réassemblage des différents
fragments du datagramme. Le seul usage de ce champ est donc de permettre à une entité
réceptrice de reconnaître les datagrammes qui appartiennent à un même datagramme initial et
qui doivent donc faire l'objet d'un réassemblage ;

« Flags » est utilisé par la fragmentation. Il est composé de deux indicateurs : DF (Don’t
Fragment) pour interdire la fragmentation et de MF (More Fragment) pour signifier des
fragments à suivre :
0 DF MF
DF 0 = May Fragment
1 = Don’t Fragment
MF 0 = Last Fragment
1 = More Fragments

« Fragment Offset » indique la position relative du fragment dans le datagramme initial, le
déplacement étant donné en unités de 64 bits ;

« Time To Live » représente une indication de la limite supérieure du temps de vie d'un
datagramme. Cette valeur est comprise entre 0 et 255 ;

« Protocol » indique le protocole (de niveau supérieur) utilisé pour le champ de données du
datagramme :
Code (déc)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[18..35]
36
37
[38..44]
45
46
47
48
[49..53]
54
55-60
[61..100]
101-254
255
Abréviation
ICMP
IGMP
GGP
IP
ST
TCP
UCL
EGP
IGP
BBN-RCC-MON
NVP-II
PUP
ARGUS
EMCON
XNET
CHAOS
UDP
...
XTP
DDP
...
IDRP
RSVP
GRE
MHRP
...
NHRP
Nom du protocole
Reserved
Internet Control Message
Internet Group Management
Gateway-to-Gateway
IP in IP (encapsulation)
Stream
Transmission Control
UCL
Exterior Gateway Protocol
any private interior gateway
BBN RCC Monitoring
Network Voice Protocol
PUP
ARGUS
EMCON
Cross Net Debugger
Chaos
User Datagram
Reference
[RFC792]
[RFC1112]
[RFC823]
[RFC1190]
[RFC793]
[RFC888]
[RFC741]
[RFC768]
XTP
Datagram Delivery Protocol
Inter-Domain Routing Protocol
Reservation Protocol
General Routing Encapsulation
Mobile Host Routing Protocol
NBMA Next Hop Resolution Protocol
Unassigned
...
Unassigned
Reserved

« Header Checksum » est une zone de contrôle d'erreur portant uniquement sur l’en-tête du
datagramme ;

« Source Address » est l’adresse IP de la source du datagramme ;

« Destination Address » est l’adresse IP de destination du datagramme ;
10/07/2003
Page 3
INSTITUT GALILEE

Réseaux et Transmission de Données
« Options » sert à des fonctions de contrôle utiles dans certaines situations (estampillage
temporel, sécurité, routage particulier, etc.). Le champ est donc de longueur variable. Il est
constitué d'une succession d'options élémentaires, également de longueurs variables. Les
options sont codées sur le principe TLV (type, longueur, valeur). La longueur indique la taille
complète de l'option en octets. Les options possibles sont :
Type
(déc.)
0
1
130
131
68
133
7
136
137
Option
Objet
End of Options List
(EOOL)
No Operation
(NOP)
Security (SEC)
Utilisée si la fin des options ne coïncide pas avec la fin de
l'en-tête.
Pour aligner le début de l'option suivante sur 32 bits.
Permet aux hôtes d'indiquer des restrictions liées à la
sécurité (ex : non classifié, confidentiel, restreint, top secret,
…).
Loose Source Route Permet à la source du datagramme de fournir des
(LSR)
informations à utiliser par les passerelles pour le routage du
datagramme vers sa destination et d'enregistrer l'information
concernant la route (série d'adresses Internet) ; un routeur ou
une route peut utiliser n'importe quelle route avec un nombre
quelconque de passerelles intermédiaires pour atteindre la
prochaine adresse indiquée dans la route.
Time Stamp (TS)
Enregistrement de l'heure de chaque passage de passerelle.
Extended Security
(E-SEC)
Record Route (RR) Permet d'enregistrer la route d'un datagramme (en fait,
l'adresse de chaque passerelle traversée).
Stream ID (SID)
Permet de véhiculer un identifieur de flux ; utilisée à des fins
de débogage et de mesure.
Strict Source Route Idem LSR, si ce n'est qu'un routeur ou un hôte doit envoyer
(SSR)
directement le datagramme à la prochaine adresse indiquée
dans la route.
A titre d’exemple, la structure de l'option RR est :
type
lg
ptr
(type=7)

adresse
« Padding » permet d’aligner l'en-tête sur 32 bits.
10/07/2003
Page 4
INSTITUT GALILEE
Réseaux et Transmission de Données
1.3. Le paquet ARP (Address Resolution Protocol) / RARP (Reverse ARP)
Le protocole ARP permet à une machine d’obtenir l’adresse Ethernet (physique) d’une autre
machine, connaissant son adresse IP. Le protocole RARP fait l’inverse. Un paquet ARP (ou RARP)
est structuré de la façon suivante :
0
15 16
31
Hardware
Protocol
Operation
Hlen
Plen
Sender HA (octets 0-3)
Sender HA (octets 4-5)
Sender IA (octets 0-1)
Sender IA (octets 2-3)
Target HA (octets 0-1)
Target HA (octets 2-5)
Target IA (octets 0-3)

« Hardware » définit le type d'
interface pour laquelle l'
émetteur cherche une réponse ;

« Protocol » définit le type de protocole pour lequel une requête a été émise ;

« Hlen » définit la taille de l’adresse physique en octets ;

« Plen » définit la taille de l’adresse au niveau protocolaire ;

« Operation » décrit le type d’opération à effectuer par le récepteur ;

« Sender HA » définit l’adresse Ethernet (physique) de l’émetteur ;

« Sender IA » définit l’adresse de niveau protocolaire (IP) demandé de l’émetteur ;

« Target HA » définit l’adresse Ethernet du récepteur ;

« Target IA » définit l’adresse de niveau protocolaire demandé du récepteur.
1.4. Le message ICMP (Internet Control Message Protocol)
Le protocole ICMP est utilisé lorsqu’un imprévu se produit ou pour tester Internet. Les messages
ICMP ont tous en commun la même format pour le premier mot de 32 bits.
1
Type
Type
0
3
4
5
8
11
12
13
14
15
16
17
18
10/07/2003
Message
Echo Reply
Destination Unreachable
Source Quench
Redirect
Echo
Time Exceeded
Parameter Problem
Timestamp
Timestamp Reply
Information Request
Information Reply
Address Mask Request
Address Mask Reply
1
Code
2
Checksum
Objet
Réponse en écho.
Destination inaccessible.
Interruption de la source.
Redirection, changement de route.
Demande d'
écho.
Temps de vie d'
un datagramme dépassé.
Datagramme mal formé.
Demande de date d'
estampillage.
Réponse à une demande d'
estampillage.
Demande d'
information.
Réponse à une demande d'
information.
Demande de masque d'
adresse.
Réponse à une demande de masque d'
adresse.
Page 5
INSTITUT GALILEE
Réseaux et Transmission de Données
A titre d’exemple, l’échange de messages Echo et Echo reply fonctionne de la manière suivante.
L'
adresse source dans un message Echo (type = 8) sera l'
adresse destinataire du message Echo
Reply (type = 0). Pour constituer un message Echo Reply, les adresses source et destination sont
simplement inversées. Les données reçues dans un message Echo doivent être retournées dans le
message Echo Reply. Deux champs du message, identifier et sequence number, sont
utilisés par l'
émetteur de « l'
écho » pour mettre en correspondance les réponses avec les requêtes.
Par exemple, l'
identificateur peut correspondre à un port TCP ou UDP pour identifier une session et
le numéro de séquence être incrémenté pour chaque requête d'
écho émise. Le répondeur retourne les
mêmes valeurs dans sa réponse.
32 bits
8 ou 0
0
identificateur
checksum
compteur
données optionnelles
2.
LE PROTOCOLE IP
2.1. Exercice
2.1.1. Décoder les trames Ethernet suivantes et en déduire le but de l’échange (les trames sont
données sans préambule).
FF
01
08
02
FF
08
00
08
FF
00
20
00
FF
20
02
20
FF
02
45
07
FF
45
9E
0B
08
9E
08
94
00
81
00
81
20
68
20
68
02
FE
07
FE
45
06
0B
05
9E
00
94
08
08
00
08
00
06
00
06
20
00
00
00
02
01
00
01
45
08
00
08
9E
00
81
00
81
06
68
06
68
04
FE
04
FE
00
05
00
06
2.2. Problème
Un analyseur de réseau est disposé sur un réseau local Ethernet afin de permettre l'observation des
trames circulant effectivement sur le support physique de communication. La structure du dispositif
de mesure est la suivante :
machine X
analyseur
passerelle A
passerelle B
On y voit deux réseaux Ethernet appartenant à la même organisation, interconnectés via un routeur
A, ainsi qu'une connexion vers l'extérieur réalisée via le routeur B. Une trace a été obtenue par
l'analyseur :
10/07/2003
Page 6
INSTITUT GALILEE
Réseaux et Transmission de Données
08
00
9f
00
00
00
0e
1e
2e
00
7c
06
00
00
00
0f
1f
2f
20
cb
07
00
00
29
10
20
30
0a
c9
27
00
00
36
11
21
31
ac
00
04
00
00
8c
12
22
32
96
00
00
00
00
41
13
23
33
08
ff
00
00
00
00
14
24
34
00
01
00
00
00
03
15
25
35
20
b9
00
00
00
86
16
26
36
0a
7f
00
00
00
2b
17
27
37
70
84
00
00
08
08
18
28
66
e3
00
00
00
09
19
29
08
3d
00
00
a2
0a
1a
2a
00
05
00
00
56
0b
1b
2b
4f
c0
00
00
2f
0c
1c
2c
00
21
00
00
00
0d
1d
2d
08
00
3d
05
1a
00
0e
1e
2e
00
7c
05
c0
84
00
0f
1f
2f
20
3f
07
21
e3
29
10
20
30
0a
86
27
9f
3c
36
11
21
31
70
00
28
02
1e
8c
12
22
32
66
00
84
c0
84
41
13
23
33
08
fb
e3
21
e3
00
14
24
34
00
01
3c
9f
3d
03
15
25
35
20
49
20
06
87
86
16
26
36
0a
af
c0
c0
00
2b
17
27
37
ac
c0
2c
46
00
08
18
28
96
21
41
47
00
09
19
29
08
9f
12
06
aa
0a
1a
2a
00
06
c0
c0
56
0b
1b
2b
4f
84
46
2c
2f
0c
1c
2c
00
e3
47
41
00
0d
1d
2d
2.2.1. Décoder les deux trames précédentes.
2.2.2. Quel est le but de cet échange ?
2.2.3. A quoi sert le champ TTL d'IP ?
En cours de réassemblage, une machine réceptrice est censée décrémenter ce champ toutes les
secondes environ pour les datagrammes composant le datagramme initial, tant que tous les
datagrammes "fragments" ne sont pas arrivés. Dans ce cas, ce champ est considéré comme un
délai d'expiration de réassemblage2.2.4. Dans l'architecture TCP/IP, est-ce IP qui repose sur
ICMP ou l'inverse ?
2.2.5. Quelles sont les classes d'adressage IP utilisées sur les réseaux émetteur et destinataire ?
2.2.6. A quoi correspondent les différents champs d'adresses véhiculés dans les trames ?
2.2.7. Combien y-a-t-il d'octets de bourrage (cadrage) dans l'en-tête du premier datagramme et à
quoi servent-ils ?
2.2.8. Peut-il y avoir eu, pour le deuxième datagramme, un enregistrement de route incomplet ?
2.2.9. Quel est le nombre de routeurs traversés ?
2.2.10. Déduire un schéma symbolique des différents réseaux et passerelles empruntés par les
datagrammes. Représenter sur ce shéma les différentes adresses Ethernet et IP utilisées.
3.
ADRESSAGE ET SUBDIVISION DE RESEAU
3.1. Rappels
La subdivision de réseau est un procédé qui permet de découper logiquement des réseaux de grande
taille en sous-réseaux de plus petites tailles. Pour ce faire, on applique, grâce à une formule
mathématique, à partir d’une adresse de base, un masque de sous-réseau. Le résultat est une plage
d’adresses de machines continues mais de taille réduite par rapport à la plage d’adresses initiales.
10/07/2003
Page 7
INSTITUT GALILEE
Réseaux et Transmission de Données
3.2. Exercices
3.2.1. L’adresse de la machine PC22 sur le site ie2 est 193.55.28.152. De quelle classe est cette
adresse ? Quel est le masque du sous-réseau correspondant à cette classe d’adresses ? Définir
l'
adresse de diffusion restreinte sur tout le sous-réseau.
3.2.2. On désire subdiviser un réseau possédant le préfixe 129.178 en 60 sous-réseaux. Combien de
machines au maximum pourra-t-on connecter sur chaque sous-réseau ? Quel sera le masque
du sous-réseau ?
3.2.3. Un réseau utilisant une suite d’adresses de classe B a un masque réseau égal à :
255.255.248.0. Ces trois stations d'
adresses respectives : 129.148.208.26, 129.148.216.145 et
129.148.210.32 appartiennent-elles à un même sous-réseau ? Quelle est la plage d’adresses
utilisée ? Définir l'
adresse de diffusion restreinte.
4.
FRAGMENTATION
4.1. Exercices
4.1.1. On considère la figure ci-dessous. Donnez la table de routage de la passerelle C.
A
10.0.0.20
10.0.0.10
B
20.0.0.10
20.0.0.20
C
30.0.0.20
30.0.0.10
D
40.0.0.10
4.1.2. Le sous-réseau 20 n’accepte que des paquets IP dont la taille ne dépasse pas 492 octets. Cette
valeur est fixée par le format de trame utilisé pour transporter ces paquets. Les autres sousréseaux sont des Ethernet dont la taille maximum de la trame est de 1518 octets.
a. Rappeler en quoi consiste le mécanisme de fragmentation de IP.
b. Décrire ce qui se passe aux niveaux Ethernet et IP, au passage de la passerelle B
lorsqu’une trame de 1500 octets vient du réseau 10 pour aller vers le réseau 30.
5.
PROTOCOLES DE ROUTAGE IP
5.1. Exercice vecteur de distance
Soit le réseau composé des 4 nœuds A, B, C et D, et des 4 liaisons Vab, Vad, Vbc et Vdc. Chaque
liaison est supposée symétrique et a coût exprimé en distance égale à 1.
10/07/2003
Page 8
INSTITUT GALILEE
Réseaux et Transmission de Données
A
Vab
Vbc
Vad
D
B
Vdc
C
L’algorithme utilisé par le protocole de routage est de type Ford-Fulkerson (type "vecteur de
distance").
On suppose que le réseau vient d'être initialisé en démarrant en même temps tous les nœuds
(démarrage à froid) et que chaque nœud a une connaissance minimale (locale) de la configuration
(son adresse, les liaisons auxquelles il est branché. Dans ces conditions initiales, les tables de
routage sont réduites au minimum, avec une seule entrée pour le nœud lui-même. Par exemple, la
table de A est :
Noeud A
liaison
coût
A
locale
0
A résume cette table dans un vecteur de distance, qui a exactement un élément :
VA
A
0
La séquence des échanges des vecteurs de distance est la suivante :
T1
B, D reçoivent VA
T2
A, C reçoivent VB
T3
B, D reçoivent VC
T4
A, C reçoivent VD
T5
B, D reçoivent VA
Donner l'évolution de la table de routage (incluant les distances) de chaque nœud lorsque cette
séquence de vecteurs est déroulée.
T1
B, D reçoivent VA
Noeud B
liaison
coût
A
…
…
B
locale
0
Noeud D
liaison
Coût
A
…
…
D
locale
0
10/07/2003
Page 9
INSTITUT GALILEE
Réseaux et Transmission de Données
T2
A, C reçoivent VB
T3
B, D reçoivent VC
T4
A, C reçoivent VD
T5
B, D reçoivent VA
5.2. Exercice convergence RIP
Soit le réseau suivant comportant quatre routeurs avec RIP comme protocole de routage. Le coût de
chaque lien est de 1.
A
C
D
Réseau
cible
B
Pour chaque routeur nous avons initialement les routes suivantes vers le réseau cible de la figure :
A:
B:
C:
D:
vers
vers
vers
vers
destination,
destination,
destination,
destination,
par C, coût 3
par C, coût 3
par D, coût 2
direct, coût 1
Suite à une panne, le lien entre C et D est indisponible. On observe alors l'évolution suivante de la
route vers le réseau cible dans chacun des routeurs (échelle de temps verticale):
Routeur A
par C, 3
idem
idem
-, infini
par B, 5
idem
par B, 7
idem
…
Etc.
…
10/07/2003
Routeur B
par C, 3
idem
-, infini
par A, 4
idem
par A, 6
idem
par A, 8
…
Etc.
…
Routeur C
par D, 2
PANNE
-, infini
par A, 4
idem
par A, 6
idem
par A, 8
…
Etc.
…
Page 10
INSTITUT GALILEE
Réseaux et Transmission de Données
idem
par A, 14
idem
-, infini
idem
par B, 13
idem
par B, 15
idem
-, infini
idem
par A, 14
idem
-, infini
idem
Expliquer l'évolution observée. On NE DEMANDE PAS d'apporter des solutions au problème !
6.
PLAN DE ROUTAGE
6.1. Exercices de bases
6.1.1 Quel est le principe fondamental du routage des datagrammes IP ?
6.1.2 Quelles sont les informations essentielles contenues dans une table de routage?
6.1.3 Donner dans les grandes lignes l'algorithme de routage utilisé par un routeur ou un hôte.
6.2. Exercice table de routage
Soit la table de routage suivante.
bash> netstat -rn
Destination
-------------------127.0.0.1
default
132.227.60.0
132.227.61.0
132.227.200.0
132.227.202.0
132.227.72.0
132.227.72.120
Gateway
-------------------127.0.0.1
132.227.60.3
132.227.60.32
132.227.61.135
132.227.60.3
132.227.60.3
132.227.61.22
132.227.61.22
Flags
----UH
UG
U
U
UG
UG
UG
UHG
Ref
----11
8
38
31
0
0
1
1
Use
Interface
------ --------7224440
lo0
742298
le0
6849769
le0
261408829 le1
259
le0
2459
le0
25980175
le1
251234
le1
Flags:
•U
•G
route active (Up)
route indirecte vers un routeur (Gateway). Si G est absent, alors la destination est
directement accessible
• H route vers une machine (Host).Si H est absent, alors la destination est une adresse de
réseau (netID, subnetID)
• D route créée par un message ICMP redirect
• M route modifiée par un message ICMP redirect
6.2.1 Que déduisez vous de la topologie du réseau après examen de cette table ? Faites un schéma.
6.2.2 Y a-t-il des entrées superflues ? Si oui, indiquer lesquelles.
10/07/2003
Page 11