IP, ARP, ICMP

Transcription

IP, ARP, ICMP
Réseaux
29/09/11
M2 CSSI
Réseau
TCP/IP : « modèle Internet »
•  But : Permettre à tout type d’ordinateur, quel que soit le système
d’exploitation utilisé de pouvoir communiquer entre eux, à travers
tout type de réseau
•  Début des recherches sur les ancêtres du protocole IP dans les années
1960
•  Initialement, projet financé par le gouvernement américain
DARPA
•  1990 : pris la forme d’une interconnexion de réseau : l’Internet
1
M2 CSSI
Réseau
TCP/IP : le modèle en couches
•  Organisation en couches : modèle simplifié du modèle OSI
Application
Transport
Ftp, http, telnet, ...
TCP, UDP
Réseau
IP (ICMP, IGMP, ARP)
Liaison
Ethernet, Wifi, satellite, ...
•  Couche liaison : constituée d’un driver du système d’exploitation
et de la carte réseau
2
M2 CSSI
Réseau
TCP/IP : le modèle en couches
• 
Couche Réseau : gère la circulation des paquets à travers le
réseau (IP) (Internet)
• 
Couche Transport : gère les flux de données entre 2 machines
•  envoi vers la couche réseau des données émises par une application
en segment de tailles appropriés
•  gère les acquittements des paquets reçus (TCP)
•  met en place des temporisation pour les retransmissions (TCP)
=> fiabilité des transferts
3
M2 CSSI UdS
1
Réseaux
29/09/11
M2 CSSI
Réseau
TCP/IP : le modèle en couches
•  Couche application : implémente les différentes applications
application
transport
Processus utilisateur
Protocole FTP
Client FTP
Serveur FTP
Protocole TCP
TCP
Protocole IP
réseau
IP
liaison
Driver
Ethernet
noyau
TCP
IP
Protocole Ethernet
Driver
Ethernet
Ethernet
4
M2 CSSI
Réseau
TCP/IP : le modèle en couches
application
Client FTP
transport
TCP
Protocole FTP
Serveur FTP
Protocole TCP
TCP
Routeur
réseau
IP
liaison
Driver
Ethernet
Protocole IP
Protocole IP
IP
Protocole
Ethernet
Driver
Ethernet
Protocole
token-ring
Driver
token-ring
IP
Driver
token-ring
Token ring
Ethernet
5
M2 CSSI
Réseau
Les différents protocoles du monde IP
Processus
utilisateur
Processus
utilisateur
Processus
utilisateur
Processus
utilisateur
UDP
TCP
ICMP
IP
IGMP
ARP
Interface
matérielle
RARP
6
M2 CSSI UdS
2
Réseaux
29/09/11
M2 CSSI
Réseau
Les différents protocoles du monde IP
LAR dans IPv6
ftp
Couche application
Processus d'applications
Librairie des sockets
Espace utilisateur
Espace Noyau
Couche Transport TCP & UDP
Couche Réseau
IP, ICMP, IGMP
Couche dépendant de la liaison
ARP, RARP.....
Couche liaison de données
Ethernet, FDDI, ATM, WiFi,.....
7
M2 CSSI
Réseau
Les différents protocoles du monde IP
•  TCP
: Transmission Control Protocol
•  UDP
: User Datagram Protocol
•  IP
: Internet Protocol
•  ICMP
: Internet Control Message Protocol
•  IGMP
: Internet Group Management Protocol
•  ARP
: Address Resolution Protocol
•  RARP
: Reverse Address Resolution Protocol
8
M2 CSSI
Réseau
Les adresses IP
• 
Chaque interface doit avoir une adresse Internet (IP) unique
• 
Ces adresses sont des nombres de 32 bits (4 octets)
• 
Une adresse Internet possède une structure hiérarchique
• 
Il existe (existait) 5 classes d’adresses IP différentes
• 
Chaque adresse IP est représentée par convention par quatre nombres
décimaux (un nombre pour chaque octet : 1 octet = 8 bits)
–  Ce type de notation est appelé : notation décimale pointée
Exemple : 130.79.12.10
9
M2 CSSI UdS
3
Réseaux
29/09/11
M2 CSSI
Réseau
Les classes d’adresses IP
24 bits
7 bits
Classe A
0 Ident. de réseau
Classe B
1 0
Identifiant de machine
14 bits
16 bits
Ident. de réseau
Identifiant de machine
8 bits
21 bits
Classe C
1 1 0
Classe D
1 1 1 0
Classe E
1 1 1 1 0
Ident. de réseau
Ident. de machine
28 bits
Identifiant de groupe multicast
27 bits
(réservé à un usage futur)
10
M2 CSSI
Réseau
Les adresses IP
Classe
intervalle
Description
A
0.0.0.0 à 127.255.255.255
B
128.0.0.0 à 191.255.255.255
C
192.0.0.0 à 223.255.255.255
D
224.0.0.0 à 239.255.255.255
128 réseaux possibles et 16777216
machines possibles
16384 réseaux possibles et 65536
machines possibles
2097152 réseaux possibles et 256
machines possibles
Adresses de groupes (multicast)
E
240.0.0.0 à 247.255.255.255
Réservé à l'expérimentation
De plus en plus les réseaux IP sont désignés par un préfixe qui peut avoir
une longueur quelconque, disparition de la notion de classe
(classless addressing)
Noté sous la forme adresse_IP/longueur_préfixe
Exemples
200.128.0.0/12 : réseau dont le numéro correspond aux 12 premiers bits
(donc 2 20 machines possibles)
Les anciennes classes A, B et C correspondent à des préfixes /8, /16 et /24
M2 CSSI
11
Réseau
Les types d ’adresses IP
• 
Il existe 3 types d’adresses IP
–  unicast : destinée à une seule machine
–  broadcast : destinée à toutes les machines d ’un réseau donné
–  multicast : destinée à un groupe de machines
• 
Cas particuliers
–  adresse IP dont la partie « identifiant de machines » ne comprend
que des zéros
=> la valeur zéro (sauf exception) ne peut être attribuée à une
machine réelle : 130.79.0.0 désigne le réseau de classe B 130.79.
12
M2 CSSI UdS
4
Réseaux
29/09/11
M2 CSSI
Réseau
Les types d’adresses IP
• 
Adresse IP où tout est à zéro, qui est utilisée au démarrage du système
afin de connaître l'adresse IP
=> 0.0.0.0 (ne peut être utilisée comme adresse destination)
• 
Adresse IP de re-bouclage (loopback)
• 
Certaines adresses sont « privées »
=> 127.0.0.1
–  = non accessible depuis internet
–  192.168.x.y = 192.168.0.0/16
–  10.x.y.z = 10.0.0.0/8
–  172.16.0.0/12
13
M2 CSSI
Réseau
Adressage de sous-réseaux
•  Une adresse IP est composée de deux parties
–  un identifiant de réseau
–  un identifiant de machine dans ce réseau
•  L’identifiant de machine peut en fait être lui-même décomposé
en deux parties
–  un identifiant de sous-réseau
–  un identifiant de machine
14
M2 CSSI
Réseau
Adressage de sous-réseaux
•  Le choix de découper en sous-réseau ou non est de la
responsabilité de l’équipe en charge du réseau
•  Cette information ne sort généralement pas du réseau géré
14 bits
Classe B
1 0
16 bits
Ident. de réseau
14 bits
Classe B
1 0
Identifiant de machine
8 bits
Ident. de réseau
Ident. de ss-réseau
Ident. de machine
•  Sur cet exemple, le découpage autorise 254 sous-réseaux avec
254 machines par sous-réseau
15
M2 CSSI UdS
5
Réseaux
29/09/11
M2 CSSI
Réseau
Masque de sous-réseau
•  En plus d’une adresse IP, une machine stocke un masque de
sous-réseau qui identifie le sous-réseau sur lequel se trouve la
machine (l’interface)
•  Le masque de sous-réseau est un mot de 32 bits contenant des
bits à 1 pour l ’identification de réseau et de sous-réseau et des
bits à 0 pour l ’identification de machine
16 bits
Classe B
1111111111111111
8 bits
8 bits
11111111
00000000
16
M2 CSSI
Réseau
Masque de sous-réseau
• 
Un sous-réseau est donc représenté sous la forme
–  Adresse masque ex 130.79.90.0 255.255.254.0
ou
–  Adresse/préfixe ex 130.79.90.0/23
L’adresse est l’adresse de base (plus petite du sous-réseau)
Classe B
1111111111111111
16 bits
11111110
8 bits
00000000
8 bits
La plus grande adresse (tous les bits qui représentent la partie « machine »
sont à 1 est l’adresse de diffusion (broadcast)
ex : 130.79.91.255 = toutes les machines du sous-réseau
17
M2 CSSI
Réseau
Masque de sous-réseau
•  A partir de son adresse IP et de son masque de sous-réseau,
une machine peut déterminer :
–  si un datagramme IP est destiné à une machine sur son
propre sous-réseau
–  ou à une machine située sur un autre sous-réseau de son
propre réseau
–  ou à une machine sur un réseau différent
18
M2 CSSI UdS
6
Réseaux
29/09/11
M2 CSSI
Réseau
Interface
ifconfig en0
Interface physique
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
Adressage IP
inet6 fe80::21e:c2ff:fe00:df7d%en0 prefixlen 64 scopeid 0x4
inet 130.79.91.217 netmask 0xfffffe00 broadcast 130.79.91.255
inet6 2001:660:4701:1001:21e:c2ff:fe00:df7d prefixlen 64 autoconf
Adressage ethernet
ether 00:1e:c2:00:df:7d
media: autoselect (100baseTX <full-duplex>) status: active
supported media: autoselect 10baseT/UTP <half-duplex> 10baseT/UTP <full-duplex>
10baseT/UTP <full-duplex,hw-loopback> 10baseT/UTP <full-duplex,flow-control>
100baseTX <half-duplex> 100baseTX <full-duplex> 100baseTX <full-duplex,hw-loopback>
100baseTX <full-duplex,flow-control> 1000baseT <full-duplex> 1000baseT <full-duplex,hwloopback> 1000baseT <full-duplex,flow-control> none
19
M2 CSSI
Réseau
Le système de nommage : DNS
•  Avoir une ou plusieurs adresses réseau permet de joindre une
machine mais ce n’est pas très convivial
•  Associer aux adresses IP des noms de machines permet aux
humains de ne pas avoir à retenir des numéros mais des noms
•  Dans le monde TCP/IP le « Système de Noms de
Domaines » (DNS) permet de remplir ce rôle
•  Le DNS est une base de données distribuée qui fournit la
correspondance entre les adresses IP et les noms des machines
Exemple : www.fnac.fr -> 217.174.207.108
20
M2 CSSI
Réseau
Encapsulation des protocoles
données
utilisateur
en-tête
TCP
en-tête
applicatif
données
utilisateur
application
en-tête
applicatif
données
utilisateur
TCP
données
utilisateur
IP
segment TCP
en-tête
IP
en-tête
TCP
en-tête
applicatif
Paquet IP
en-tête
ethernet
en-tête
IP
en-tête
TCP
en-tête
applicatif
données
utilisateur
Driver
Ethernet
Trame Ethernet
46 <= taille <= 1500 octets
21
M2 CSSI UdS
7
Réseaux
29/09/11
M2 CSSI
Réseau
Démultiplexage
firefox
ftp
TCP
dhcp
UDP
démultiplexage basé
sur la valeur du champ protocole
de l ’en-tête IP
IGMP
ICMP
démultiplexage basé
sur le numéro de port
destination
IP
ARP
RARP
driver
Ethernet
démultiplexage basé
sur le champ type de trame
de l ’en-tête Ethernet
Trame entrante
22
M2 CSSI
Réseau
ARP : Address Resolution Protocol
•  Protocole de résolution d ’adresse
•  La résolution fournit une correspondance entre deux formes (et
niveaux) différentes d’adresses :
–  des adresses de la couche réseau 32 bits (IP)
–  et n’importe quel type d’adresse utilisé par la couche lien de
données.
Adresse Internet sur 32 bits
ARP
RARP
Adresse ethernet sur 48 bits
Protocoles de résolution d'adresse :
ARP et RARP
23
M2 CSSI
Réseau
ARP : pourquoi ?
•  La communication entre machines ne peut s'effectuer qu'à
travers l'interface physique
•  Les applicatifs ne connaissant que des adresses IP
–  comment établir le lien adresse IP / adresse physique ?
•  ARP fournit une correspondance dynamique entre l’adresse IP et
l’adresse matérielle correspondante
24
M2 CSSI UdS
8
Réseaux
29/09/11
M2 CSSI
Réseau
ARP : Technique utilisée
•  Diffusion d’une requête à destination de toutes les machines du
réseau (broadcast ethernet)
•  La requête ARP contient l’adresse IP du destinataire
–  (mais pas physique, inconnue)
•  Le requête consiste à demander à toutes les machines du
réseau :
« si vous êtes le propriétaire de cette adresse IP,
veuillez me répondre »
•  Le propriétaire de l’adresse IP répond en fournissant son
adresse matérielle simultanément
25
M2 CSSI
Réseau
Le cache ARP
•  Le cache ARP maintient la correspondance entres les adresse
Internet et les adresses matérielles récemment utilisées
•  Le délai normal d’expiration d’une entrée dans le cache est de
20 minutes après la création de cette entrée
•  Permet de gérer les machines changeant d’adresse IP
–  (carte réseau)
26
M2 CSSI
Réseau
Le cache ARP (exemple)
arp -a
lpricoh.u-strasbg.fr (130.79.90.13) at 0:0:74:e9:19:32 on en0 [ethernet]
iggservis.u-strasbg.fr (130.79.90.85) at 0:11:d8:f4:2a:7e on en0 [ethernet]
pamelia.u-strasbg.fr (130.79.90.108) at d4:9a:20:ee:f7:f8 on en0 [ethernet]
papinet.u-strasbg.fr (130.79.90.170) at 0:23:7d:88:15:2a on en0 [ethernet]
grominet.u-strasbg.fr (130.79.90.182) at 0:80:c8:47:7b:b0 on en0 [ethernet]
bioinfo2.u-strasbg.fr (130.79.91.26) at 0:1b:fc:ce:c2:28 on en0 [ethernet]
stagerp02net.u-strasbg.fr (130.79.91.29) at 0:c:29:dc:8:38 on en0 [ethernet]
clarinet.u-strasbg.fr (130.79.91.200) at 0:19:e3:e8:37:76 on en0 [ethernet]
api-rc1-ge-0-2-0-2.u-strasbg.fr (130.79.91.253) at 0:26:88:db:ff:c1 on en0 [ethernet]
r-infoapi-2.u-strasbg.fr (130.79.91.254) at 0:0:5e:0:1:33 on en0 [ethernet]
…
27
M2 CSSI UdS
9
Réseaux
29/09/11
M2 CSSI
Réseau
ARP: Schéma
A
B
C
Requête ARP de A sur l’adresse IP de E
L ’adresse IPE m’appartient voici mon adresse Ethernet
D
E
28
M2 CSSI
Réseau
Format du message ARP
0
16
Type de matériel
Taille matériel
Taille protocole
32
Type de protocole
Opération
Adresse Ethernet de l’émetteur (6 octets) puis
28 octets
Adresse IP de l’émetteur (4 octets) puis
Adresse Ethernet cible ( 6 octets) puis
Adresse IP cible (4 octets)
Requête/Réponse ARP - RARP
type de matériel
= 1 si ethernet
type de protocole
= 0x800 pour adresse IP
taille matérielle
= 6 (octets) pour ethernet
taille protocole
= 4 (octets) pour adresse IP
Opération = 1 (requête ARP), 2 (réponse ARP), 3 (requête RARP), 4 (réponse RARP)
29
M2 CSSI
Réseau
Le protocole IP (RFC791, 1981)
•  IP fournit un service non fiable
•  Délivrance de datagrammes sans connexion
•  Aucune garantie que le datagramme IP arrive à sa destination
avec succès
•  Toute la fiabilité requise doit être assurée par les couches
supérieures (en général TCP)
•  IP ne maintient aucune information d’état concernant les
datagrammes successifs
•  Les datagrammes IP peuvent être délivrés en désordre
30
M2 CSSI UdS
10
Réseaux
29/09/11
M2 CSSI
Réseau
L’en-tête IP
32 bits
Version longueur Type de service
Ident
Longueur totale (en octets)
Flags
Durée de vie
(TTL)
Protocole
Fragment Offset
Somme de contrôle
20 octets
Adresse IP source
Adresse IP destination
options
Données
En-tête IPv4
31
M2 CSSI
Réseau
L’en-tête IP : les différents champs
•  Version (4 bits)
: indique la version du protocole (IPv4)
•  Longueur (4bits)
: nombre de mots de 32 bits (4 octets)
figurant dans l’en-tête (options comprises)
• 
Type de service (8bits) : décomposé en plusieurs champs
• 
Longueur totale (16bits): taille en octets du datagramme IP
• 
Flags et Fragmentation : découpage des datagrammes IP
• 
TTL (Time To Live)
: donne la limite supérieure au nombre de
• 
Protocole
: Permet de connaître le prochain protocole
routeurs qu’un datagramme peut traverser
(couche supérieure: 6 TCP - 17 UDP - 1 ICMP)
32
M2 CSSI
Réseau
L’en-tête IP : les différents champs (suite)
•  Somme de Contrôle :
–  Checksum, calculé sur le contenu de l’en-tête IP : détecte les
erreurs d’entête
–  Ne vérifie pas les données du paquet
•  Adresse IP Source
•  Adresse IP Destination
•  Options
: longueur variable, contient des informations
facultatives (enregistrement de la route,
routage strict, etc….)
33
M2 CSSI UdS
11
Réseaux
29/09/11
M2 CSSI
Réseau
Le routage IP
• 
• 
Le routage IP est saut par saut (« hop by hop »)
Le routage est le processus permettant à un datagramme d’être
acheminé vers le destinataire lorsque celui-ci n’est pas sur le même
réseau physique que l’émetteur
• 
Si une machine destination est directement connectée à la machine ou
sur un réseau partagé (ex : Ethernet), alors le datagramme IP est
envoyé directement à cette destination
• 
Sinon la machine envoie le datagramme à un routeur, et laisse le
routeur délivrer le datagramme à sa destination.
–  Le paquet voyage de proche en proche vers la destination
34
M2 CSSI
Réseau
Le routage IP
•  Les routeurs forment une structure coopérative de telle manière
qu’un datagramme transite de routeur en routeur jusqu’à ce que
l’un d’entre eux le délivre à son destinataire
•  Un routeur possède deux ou plusieurs interfaces réseaux tandis
qu’une machine possède généralement une seule interface
•  La couche IP gère une table de routage en mémoire qu’elle
consulte à chaque fois qu’elle reçoit un datagramme à envoyer
35
M2 CSSI
Réseau
Le routage IP
•  Lorsqu’un datagramme est reçu via une interface réseau, IP
vérifie d’abord si l’adresse IP de destination est l’une des
adresses IP de la machine ou une adresse IP de broadcast
•  Si c’est la cas le datagramme est délivré au module de protocole
spécifié par le champ protocole de l’en-tête IP
•  Si le datagramme n’est pas destiné à la couche IP locale, alors :
–  si la couche IP est configurée pour agir comme un routeur, la
paquet est réémis vers le prochain saut
–  Sinon le datagramme est rejeté silencieusement
36
M2 CSSI UdS
12
Réseaux
29/09/11
M2 CSSI
Réseau
Le routage IP
• 
Chaque entrée dans la table de routage contient les informations
suivantes :
–  Adresse IP de destination : qui peut être une adresse de machine
complète ou plus souvent une adresse réseau, comme le spécifie le
champ flag pour cette entrée (classe A, B, C ou préfixe)
–  L’adresse IP du routeur du saut suivant (next hop router), ou
l’adresse IP d’un réseau connecté directement
–  Des flags. Un flag indique si l’adresse IP de destination est l’adresse
d’un réseau ou celle d’une machine
–  La spécification de l’interface réseau à laquelle le datagramme doit
être passé pour être transmis
37
M2 CSSI
Réseau
Le routage IP
•  Le routage IP est effectué sur la base du saut par saut (hop by
hop)
•  Un routeur IP ne connaît la route complète d’aucune destination
(exceptées les destinations qui sont directement connectées à la
machine émettrice)
38
M2 CSSI
Réseau
Le routage IP : Algorithme
Route_Datagramme_IP(datagramme, table_de_routage)
• 
Extraire l’adresse IP destination (ID) du datagramme,
• 
Calculer l’adresse du réseau destination (IN)
• 
Chercher dans la table l’adresse de réseau la plus spécifique qui correspond à ID
• 
Si ce réseau est adjacent envoyer directement le paquet au destinataire
• 
Sinon envoyer le datagramme au prochain saut (routeur) indiqué
• 
Si aucun réseau mais il existe une route par défaut
• 
sinon déclarer une erreur de routage (ICMP dest. unreach.)
–  Longest match
–  (requête ARP si nécessaire)
envoyer le datagramme vers la passerelle (routeur) par défaut.
39
M2 CSSI UdS
13
Réseaux
29/09/11
M2 CSSI
Réseau
Exemple de routage IP
Reseau
A
130.79.0.0
122.12.0.2
129.210.0.2
130.79.0.1
Reseau
Router vers
(prochain saut)
122.12.0.0
C
122.12.0.1
129.210.0.1
Pour atteindre les
machines du réseau
Reseau
B
129.210.0.0
130.79.0.0
129.210.0.0
129.210.0.1
direct
Reseau
145.5.0.0
145.5.0.1
122.12.0.0
direct
Table de routage de B
M2 CSSI
145.5.0.0
122.12.0.2
40
Réseau
Exemple
Destination
prochain saut
130.79.91.0/23
130.79.91.254
130.79.200.0/24
130.79.200.254
130.79.0.0/16
130.79.200.254
130.79.54.64/27
130.79.64.1
0.0.0.0/0
130.79.200.254
Schéma du réseau ? (routeurs voisins, …)
Prochain saut pour 200.201.202.203, 130.79.90.1, 130.79.65.1 ?
41
M2 CSSI
Réseau
ICMP
•  Internet Control Message Protocol (RFC792)
•  ICMP communique les message d’erreurs et les autres
circonstances qui réclament l’attention
•  Les messages ICMP sont transmis à l’intérieur de paquets IP
Datagramme IP
En-tête IP
Message ICMP
20 octets
42
M2 CSSI UdS
14
Réseaux
29/09/11
M2 CSSI
Réseau
ICMP
•  Un message ICMP d’erreur contient toujours l’en-tête IP et les 8
premiers octets du datagramme IP qui a provoqué l’erreur ICMP
•  Cela permet au module ICMP récepteur d’associer le message
qu’il reçoit à un protocole particulier (TCP ou UDP en fonction du
champ protocole de l’en-tête IP) et à un processus utilisateur
particulier ( à partir des numéros de port TCP ou UDP qui
figurent dans l’en-tête TCP ou UDP, contenus dans les 8
premiers octets du datagramme IP).
43
M2 CSSI
Réseau
ICMP : Format du message
0
8
Type
16
31
Somme de contrôle
Code
Identifieur
Numéro de séquence
Données
• 
Type
: 8 bits type de message
• 
Code
: 8 bits informations complémentaires
• 
Somme de contrôle
: 16 bits champs de contrôle
• 
Données
: En-tête datagramme + 64 premiers bits des
données.
44
M2 CSSI
Réseau
ICMP : Format du message
TYPE
0
3
4
5
8
11
12
13
14
15
16
17
18
Message ICMP
Echo Reply
Destination Unreachable
Source Quench (débit trop élevé)
Redirect (change a route)
Echo Request
Time Exceeded (TTL)
Parameter Problem with a Datagram (mauvais en-tête IP)
Timestamp Request
Timestamp Reply
Information Request
(obsolete)
Information Reply
(obsolète)
Address Mask Request
Address Mask Reply
45
M2 CSSI UdS
15
Réseaux
29/09/11
M2 CSSI
Réseau
ICMP : ce qui ne génère pas d’envoi de msg ICMP
• 
Un message ICMP (Un message ICMP n’est pas généré en réponse à un
message ICMP d’erreur (bouclage))
• 
Un message ICMP peut malgré tout être généré en réponse à un message de
requête ICMP(ping).
• 
Un datagramme destiné à une adresse IP de broadcast ou une adresse IP
multicast
• 
Un datagramme envoyé en tant que broadcast ethernet
• 
Un fragment autre que le premier (voir fragmentation)
• 
Un datagramme dont l’adresse de source ne désigne pas une machine unique.
Cela signifie que l’adresse source ne peut pas être une adresse zéro, une
adresse de bouclage, une adresse de broadcast ou une adresse multicast.
46
M2 CSSI
Réseau
Le programme PING
•  Historiquement PING = Packet INternet Groper
•  Il permet de vérifier l’accessibilité d’une machine
•  Envoi d’un message ICMP echo vers la machine cible
•  Et attente d’une réponse ICMP reply
•  Exemple :
clarinet> ping mobinet.u-strasbg.fr
PING mobinet.u-strasbg.fr (130.79.75.88): 56 data bytes
64 bytes from 130.79.75.88: icmp_seq=0 ttl=128 time=4.1 ms
64 bytes from 130.79.75.88: icmp_seq=1 ttl=128 time=0.6 ms
64 bytes from 130.79.75.88: icmp_seq=2 ttl=128 time=0.6 ms
64 bytes from 130.79.75.88: icmp_seq=3 ttl=128 time=1.0 ms
64 bytes from 130.79.75.88: icmp_seq=4 ttl=128 time=0.7 ms
47
M2 CSSI
Réseau
PING : Format des requêtes/réponses ICMP
0
8
(0 ou 8)
16
31
Somme de contrôle
0
Identifieur
Numéro de séquence
Données
•  les implémentations sous Unix de ping placent l’ID du processus
dans le champ identification
•  Le numéro de séquence commence à 0
•  Le programme enregistre à quelle heure il a envoyé un message
•  Lorsqu’il récupère une réponse à sa requête il peut en déduire le
temps d’aller - retour
48
M2 CSSI UdS
16
Réseaux
29/09/11
M2 CSSI
Réseau
ICMP : Requête/Réponse de masque de réseau
•  Cette requête est faite dans l’intention d’obtenir le masque de
sous réseau pour une machine sans disque au moment de
démarrage de cette dernière
•  Le système demandeur émet sa requête ICMP sous forme de
broadcast
49
M2 CSSI
Réseau
ICMP : Requête/Réponse TIMESTAMP (ESTAMPILLE HORAIRE)
• 
Le requête ICMP estampille horaire autorise un système à en interroger
un autre pour obtenir l’heure courante
• 
La valeur devant être retournée est le nombre de millisecondes
écoulées depuis minuit
• 
Utilisable avec ping
ping -M time crc
ICMP_TSTAMP
PING crc.u-strasbg.fr (130.79.202.1): 56 data bytes
76 bytes from 130.79.202.1: icmp_seq=0 ttl=63 time=0.918 ms tso=08:07:08 tsr=08:07:08 tst=08:07:08
76 bytes from 130.79.202.1: icmp_seq=1 ttl=63 time=0.907 ms tso=08:07:09 tsr=08:07:09 tst=08:07:09
76 bytes from 130.79.202.1: icmp_seq=2 ttl=63 time=1.074 ms tso=08:07:10 tsr=08:07:10 tst=08:07:10
50
M2 CSSI
Réseau
Option IP : enregistrement de la route
•  Ping permet d’enregistrer par quelle route les paquets sont
acheminés pour atteindre leur destination
•  Cette possibilité est rendue possible grâce à l ’utilisation des
options IP et notamment de l’option enregistrement de route
(RR : Route Recording)
•  Les routeurs sur le chemin de retour ajoutent également leurs
adresses dans cette option
•  Toutefois, la taille des options IP est limitée à 40 octets
51
M2 CSSI UdS
17
Réseaux
29/09/11
M2 CSSI
Réseau
Option IP : format de l’option RR
code len
ptr
Adresse IP 1
ptr = 4
Adresse IP 2
…….
ptr = 8
Adresse IP 9
ptr = 36
ptr = 40
• 
Code (1 octet)
: spécifie le type de l’option (RR = 7)
• 
Len (1 octet)
: indique le nombre total d’octets de l’option RR (= 39)
• 
Ptr (1 octet)
: index dans lequel se trouve l’adresse IP suivante
(au départ ptr = 4)
52
M2 CSSI
Réseau
La fragmentation IP (1)
•  La couche physique impose une limite supérieure à la taille
d’une trame transmise (ex: 1518 octets pour Ethernet)
•  Lorsqu’un routeur IP réceptionne un datagramme IP il détermine
sur quelle interface il va ré-émettre le datagramme IP
•  Une fois l’interface identifiée, le routeur détermine le MTU
(Maximum Transmit Unit) de l’interface
•  Le routeur IP compare le MTU de l’interface avec la taille du
datagramme IP
•  Suivant le cas, il va être obligé de fragmenter le datagramme IP
53
M2 CSSI
Réseau
La fragmentation IP (2)
•  Un datagramme fragmenté, le reste jusqu’à atteindre sa
destination finale
–  Il n’est pas ré-assemblé par un autre routeur sur le chemin
en direction de la destination
•  La couche IP effectue le ré-assemblage au niveau de la
destination
•  Un fragment IP peut être lui-même re-fragmenté
•  Les informations contenues dans l’en-tête IP permettent à la
couche IP de ré-assembler des datagrammes fragmentés
54
M2 CSSI UdS
18
Réseaux
29/09/11
M2 CSSI
Réseau
La fragmentation IP (3)
•  Le champ identification contient une valeur identique pour
chaque datagramme que l’émetteur transmet
•  La valeur de ce champ est recopiée dans chacun des fragments
du datagramme
•  Le champ flags contient 3 bits
•  Bit 0: reserved, must be zero
•  Bit 1: (DF) 0 = May Fragment, 1 = Don't Fragment
•  Bit 2: (MF) 0 = Last Fragment, 1 = More Fragments
•  Le champ fragment offset contient l’offset (= position) de ce
fragment depuis depuis le début du datagramme original
55
M2 CSSI
Réseau
La fragmentation IP (4)
•  Si un datagramme IP est fragmenté, chaque fragment a son
propre en-tête IP et il est routé indépendamment des autres
fragments
•  Si un fragment se perd, tout le datagramme IP doit être ré-émis
•  IP ne gère ni retransmission ni timeout
56
M2 CSSI
Réseau
Le programme Traceroute
•  Outil de déboggage
•  Traceroute permet de visualiser la route empruntée par le
datagramme IP
•  Traceroute utilise ICMP et le champ TTL de l’en-tête IP
•  Le champ TTL permet d’éviter qu’un datagramme ne boucle sur
l’Internet
•  Traceroute tire partie de ce champ afin de visualiser la route que
prend un datagramme
57
M2 CSSI UdS
19
Réseaux
29/09/11
M2 CSSI
Réseau
Traceroute (1)
•  Traceroute envoie un datagramme IP avec un TTL à 1 vers la
destination finale
•  Le premier routeur va décrémenter le TTL de 1
•  Or si le TTL passe à zéro, un routeur envoie un message ICMP
« Time exceeded » à l’émetteur
•  Ce traitement permet à traceroute d’identifier le premier routeur
•  Traceroute ré-émet le même datagramme mais cette fois-ci avec
un TTL de 2……
•  Ainsi de suite jusqu’à atteindre la destination finale
58
M2 CSSI
Réseau
Traceroute (2)
•  Une fois la destination atteinte il n’y a pas d’émission de
message ICMP « Time Exceeded »
•  Comment ça marche ?
•  Traceroute émet le datagramme à destination d’un port
normalement inutilisé (supérieur à 30000)
•  La pile TCP/IP de la machine cible envoie alors à l’émetteur un
message ICMP « port unreachable »
59
M2 CSSI
Réseau
traceroute -q 2 cn.japan-guide.com
traceroute to cn.japan-guide.com (203.183.69.62), 64 hops max, 40 byte packets
1 api-rc1-ge-0-2-0-2 (130.79.91.253) 0.943 ms 0.370 ms
2 **
3 te0-2-0-0-besancon-rtr-011.noc.renater.fr (193.51.189.122) 11.995 ms 14.149 ms
4 te0-1-0-0-dijon-rtr-011.noc.renater.fr (193.51.189.114) 12.166 ms 11.556 ms
5 te0-3-2-0-lyon1-rtr-001.noc.renater.fr (193.51.189.141) 9.576 ms 9.566 ms
6 xe-8-0-0.edge5.Paris1.Level3.net (212.73.207.173) 15.735 ms 15.734 ms
7 ae-33-51.ebr1.Paris1.Level3.net (4.69.139.193) 24.567 ms 19.072 ms
8 ae-47-47.ebr1.London1.Level3.net (4.69.143.109) 22.709 ms ae-48-48.ebr1.London1.Level3.net (4.69.143.113) 22.611 ms
9 ae-100-100.ebr2.London1.Level3.net (4.69.141.166) 22.664 ms 22.944 ms
10 ae-42-42.ebr1.NewYork1.Level3.net (4.69.137.70) 91.748 ms 91.580 ms
11 ae-61-61.csw1.NewYork1.Level3.net (4.69.134.66) 91.620 ms 91.653 ms
12 ae-72-72.ebr2.NewYork1.Level3.net (4.69.148.37) 91.617 ms 92.195 ms
13 ae-2-2.ebr4.SanJose1.Level3.net (4.69.135.185) 172.020 ms 162.511 ms
14 ae-74-74.csw2.SanJose1.Level3.net (4.69.134.246) 160.770 ms 170.483 ms
15 ae-12-79.car2.SanJose2.Level3.net (4.68.18.76) 339.706 ms 325.174 ms
16 JAPAN-TELEC.car2.SanJose2.Level3.net (4.59.4.6) 160.850 ms 160.832 ms
17 TYOrw-12-tengiga1-3.gw.odn.ad.jp (210.142.163.249) 262.611 ms 262.473 ms
18 TYOrk-05G5-0-0.nw.odn.ad.jp (143.90.163.49) 275.370 ms 276.728 ms
19 TYOrw-11T1-4.nw.odn.ad.jp (143.90.192.2) 277.049 ms 278.036 ms
20 106.211131232.odn.ne.jp (211.131.232.106) 279.347 ms 281.301 ms
21 124.83.128.33 (124.83.128.33) 272.938 ms 293.108 ms
22 te3/1.ostag01.idc.jp (154.34.238.2) 298.906 ms 298.725 ms
23 po1.l302.ost.eg.idc.jp (154.34.239.230) 274.445 ms 274.542 ms
24 158.205.199.22 (158.205.199.22) 277.310 ms 277.485 ms
25 * *
60
M2 CSSI UdS
20