Upload
sadous
View
233
Download
0
Embed Size (px)
DESCRIPTION
HGJH FGHFTYTFYTFCVV V CXXX
Citation preview
1/50
Reseaux - Cours 5Datagrammes IP, ARP et ICMP
Cyril Pain-Barre
IUT Informatique Aix-en-Provence
Semestre 1 - version du 13/11/2009
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 1/49
2/50
Datagrammes IP
(RFC 791)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 2/49
3/50
Datagramme IP sur Ethernet V2
trame Ethernet v2 contenant un datagramme IP (EtherType en Hexa) :
AdresseSource
AdresseDestination 08 00 Datagramme IPPrambule CRC
donnestype
(de)multiplexage Ethernet v2 :
donnes
trame
Ethernet V2
...IP
le protocole destinataire des donnesest indiqu par le champ EtherType 0x0800
ARP RARP
0x80350x0806
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 3/49
4/50
Format du datagramme IP
en-tete : nombre variable doctets (multiple de 4)
donnees : nombre quelconque doctets (limite a` 65 315)
30
16 7 8 9
20 1 2 3
24 5 6 7 8 9
31
00 1 2 43 5 6 7 8 9
10 1 2 3 4 5
Donnes
Adresse IP Destination
Adresse IP Source
Total de Contrle
Dplacement
Longueur TotaleTOSHLENVER
Identification
Time To Live Protocole
Flags
Bourrage
taille
var
iabl
e
Options IP (ventuelles)
taille
var
iabl
epa
rtie
fixe
(20 oc
tets)
en
tte
bits :
65 535 octets max
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 4/49
5/50
Champ Version
TOSVER HLEN Longueur Totale
65 535 octets max
DplacementFlags
ProtocoleTime To Live
Identification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
code sur 4 bits
identifie la version du (format du) datagramme
actuellement, la version est 4 (codee 0100 en binaire)
dans le datagramme IPv6, ce champ est maintenu et vaut 6
permet de sassurer que le datagramme sera correctement interprete
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 5/49
6/50
Champs Adresses
TOSVER HLEN Longueur Totale
65 535 octets max
DplacementFlags
ProtocoleTime To Live
Identification
Total de Contrle
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
Adresse IP Source
Adresse IP Destination
adresse IP Source : (32 bits)identifie lhote a` lorigine du datagramme
adresse IP Destination : (32 bits)identifie le destinataire final du datagramme
IP Source IP Destination
Ces adresses ne sont pas modifiees par les routeurs. Toutefois,en cas de NAT/NAPT (translation dadresse), la NATbox peut lesmodifier (voir second semestre).
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 6/49
7/50
Champ Longueur den-tete (HLEN)
TOSVER HLEN Longueur Totale
65 535 octets max
DplacementFlags
ProtocoleTime To Live
Identification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes(internet) Header LENgth
codee sur 4 bits
indique le nombre de mots de 32 bits de len-tete (comprenant lesoptions) :
en-tete de 20 a` 60 octets5 HLEN 15
si HLEN > 5 alors il y a des options
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 7/49
8/50
Champ Longueur Totale
TOSVER Longueur Totale
DplacementFlags
ProtocoleTime To Live
Identification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)
Donnes
en
tte
HLEN
65 535 octets max
codee sur 16 bits
indique le nombre de total doctets du datagramme (en-tete + donnees)
comprise entre 20 et 65 535
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 8/49
9/50
Champ Type Of Service (TOS)
TOSVER HLEN Longueur Totale
65 535 octets max
DplacementFlags
ProtocoleTime To Live
Identification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
code sur 8 bits :0 1 2 3 4 5 6 7
RTDPriorit 0 0
inutiliss
Priorite : de 0 a` 7distinction entre normal et controlerouteurs : infos trafic 6 et 7
bits D, T et R : type dacheminement desire :D(elay) : delai dacheminement courtT(hroughput) : debit de transmission eleveR(eliability) : grande fiabilite
le TOS constitue un souhait, souvent ignore
routine
priority
immediate
flash
flash override
critic
internetwork control
network control
001
000
010
011
100
101
110
111
val2 significationPriorit
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 9/49
10/50
Champ Time To Live (TTL)
TOSHLEN Longueur Totale
65 535 octets max
DplacementFlags
Protocole
Identification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Time To Live
code sur 8 bits
indique par lemetteur pour limiter :
la duree de vie du datagramme (en secondes)le nombre de routeurs traverses par le datagramme
decremente par routeurs et stations traitant le datagramme :
de 1 a` chaque traversee dun routeurdu temps passe en file dattente
si atteint 0, le datagramme est detruit, et lemetteur est informe par unmessage ICMP
evite quun datagramme ne circule indefiniment
evite que des fragments ne soient gardes inutilement
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 10/49
11/50
Champ Protocole
TOSHLEN Longueur Totale
65 535 octets max
DplacementFlagsIdentification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Time To Live Protocole
code sur 8 bits
indique le protocole devant recevoir les donnees du datagramme
les valeurs de ce champ sont gerees par lautorite centrale et accessiblessur le site www.iana.org
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 11/49
12/50
Champ Protocole
TOSHLEN Longueur Totale
65 535 octets max
DplacementFlagsIdentification
Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Time To Live Protocolequelques valeurs officielles :
val10 protocole0 IP
1 ICMP
2 IGMP
6 TCP
17 UDP
89 OSPF
demultiplexage IP :
donnes
...ICMP UDP TCP
17 61
IP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 12/49
13/50
Champ Total de Controle den-tete (checksum)
TOSHLEN Longueur Totale
65 535 octets max
DplacementFlagsIdentification
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Time To Live Protocole Total de Contrle
code sur 16 bits
controle lintegrite de len-tete uniquement
IP ne verifie pas si les donnees ont subi des erreurs detransmission
calcule par lemetteur
verifie lors dela reception (routeurs et destinataire) :
stocker le checksumcalculer le checksumsi differents alors detruire le datagramme
recalcule et modifie par les routeurs (car modifient au moins le TTL)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 13/49
14/50
Champ Total de Controle den-tete : calcul
TOSHLEN Longueur Totale
65 535 octets max
DplacementFlagsIdentification
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Time To Live Protocole Total de Contrle
TOSHLENVER
Longueur Totale
Identification
DplacementFlags
Time To Live Protocole
Bourrage
Options IP (ventuelles)
val1ret1
2
1
1
2
3
4
5
mettre checksum 0
calculer somme des motsde 16 bits de lentte
ajouter ret1 val1
ajouter ret2 val2
checksum = complment 1 de val3
val1
val2ret2
ret1
+=
3
val2
ret2
val3
checksum
4
5
=
+
Source
DestinationAdresse IP
Adresse IP
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
16 bits
++++++++++++
=
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 14/49
15/50
MTU et fragmentation
TOSHLEN Longueur Totale
65 535 octets max
ProtocoleTime To Live Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Identification DplacementFlagsMaximum Transfer Unit (MTU) :
taille max des donnees (charge utile)transportees sur un reseau physique
Ethernet : 1 500 octetsToken Ring : 4 ou 16 KoX.25 : 128 octets recommandes (max 255)SMDS : 9 188 octetsFrame Relay : 1 600 octets
. . . et donc des datagrammes
IP fragmente tout datagramme plus grand que le MTU du reseau quidoit le transporter :
MTU = 1500 MTU = 1000MTU = 4000
chaque fragment est un datagramme achemine independamment(peut suivre une route differente des autres fragments) et peut etre a`son tour fragmente
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 15/49
16/50
Champs Fragmentation
TOSHLEN Longueur Totale
65 535 octets max
ProtocoleTime To Live Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Identification DplacementFlags
dplacementMD0identification
16 bits 3 bits 13 bits
flagstoujours 0
identification : valeur identifiant le datagramme dorigine relativement a`ladresse IP Source
bit D(ont Fragment) : le datagramme ne doit pas etre fragmente(detruit et message ICMP si impossible)
bit M(ore) : a` 0 si ce datagramme est le dernier (ou seul) fragment
deplacement (Offset) : indique la position du premier octet de donneesdans le datagramme dorigine. Cette position est deplacement 8. Vaut0 si pas de fragmentation
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 16/49
17/50
Reassemblage
TOSHLEN Longueur Totale
65 535 octets max
ProtocoleTime To Live Total de Contrle
Adresse IP Source
Adresse IP Destination
Options IP (ventuelles)Bourrage
taille
var
iabl
eta
ille v
aria
ble
parti
e fix
e (20
octet
s)en
t
te
Donnes
VER
Identification DplacementFlags
realise par le destinataire final :
met en attente les fragments des datagrammes incompletsles reordonnedetruit tous les fragments dun datagramme si le TTL de lun deuxpasse a` 0 (et envoie un message ICMP a` lemetteur)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 17/49
18/50
Resolution dadresse
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 18/49
19/50
Necessite de la resolution dadresse
situation : une station/routeur S a un datagramme a` transmettre a` unestation/routeur D du meme reseau. D est ladresse IP de la destinationfinale du datagramme (remise directe) ou celle dun routeur obtenue parconsultation de la table de routage (remise indirecte)
IP
HteRseau
IP
HteRseaupaquet,trame,cellule...commutation/routage
Datag. IP
rsolutiondadresse
(adresses IP)
(adresses physiques)
la transmission doit se faire en utilisant le service de la couchehote-reseau (reseau physique)
la couche hote-reseau nutilise pas les adresses IP mais des adressesphysiques (adresses MAC)
la resolution dadresse est le mecanisme permettant dobtenirladresse physique (de linterface/carte reseau) de la station possedantune certaine adresse IP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 19/49
20/50
Methodes possibles pour la resolution dadresse
resolution directe
ladresse physique est determinee comme une fonction deladresse IP
methode simple a` mettre en uvre si les adresses physiquessont configurables
interrogation dun serveur
un serveur est charge de collecter les adresses physiques et IPdes hotes du reseau
les stations interrogent le serveur pour resoudre les adresses
methode souvent utilisee lorsque le reseau ne permet pas ladiffusion
mais la resolution nest plus possible si le serveur devientinjoignable. . .
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 20/49
21/50
Resolution dynamique par ARP
Pour les reseaux permettant la diffusion, la methode privilegiee estARP (Address Resolution Protocol), definie dans la RFC 826.
ARP a lavantage detre a` la fois dynamique et decentralisee :
les changements dassociation adresse IP/adresse MAC sontautomatiquement et rapidement pris en compteaucun serveur nest necessaire et une panne dune station naaucun impact global
ARP a ete originellement defini pour IP et Ethernet. Mais ilest plus general et peut etre utilise sur tout type de reseaupermettant la diffusion, pour le compte de differentsprotocoles reseau (dont IP)
IP sur Ethernet utilise systematiquement ARP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 21/49
23/50
Principe de la resolution par ARP
194.199.116.39194.199.116.10
194.199.116.115
194.199.116.2
194.199.116.22194.199.116.5
rseau 194.199.116.0
(permettant la diffusion)
S
D194.199.116.39
194.199.116.10
194.199.116.115
194.199.116.2
194.199.116.22194.199.116.5
requte (broadcast) : qui est 194.199.116.2 ?
1S
D
194.199.116.39194.199.116.10
194.199.116.115
194.199.116.2
194.199.116.22194.199.116.5
requte (broadcast) : qui est 194.199.116.2 ?
2
2 2
22
S
D194.199.116.39
194.199.116.10
194.199.116.115
194.199.116.2
194.199.116.22194.199.116.5
3
rponse (unicast) : moi, voil mon adresse MAC
S
D
1 S envoie en broadcast une requete ARP signifiant quilsouhaite obtenir ladresse physique correspondant a` D
2 la requete est recue et traitee par toutes les stations du reseau
3 seule la station dadresse D repond en envoyant en unicast a`S une reponse ARP contenant ladresse physique demandee
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 22/49
24/50
Format du datagramme ARP
8 16 310bits :
L. @phy L. @pro Opration (1 ou 2)
ProtocoleType de rseau
adresse physique source
adresse physique destination
adresse protocole source
adresse protocole destination
taille
var
iabl
e
la taille du datagramme ARP depend des protocoles en jeu
la taille (en octets) des adresses physiques (comme Ethernet) estindiquee par le champ Longueur adresses physiques (L. @phy)la taille (en octets) des adresses protocole (comme IP) est indiquee par lechamp Longueur adresses protocole (L. @pro)
les requetes et les reponses ont le meme format ; le champ Operationindique sil sagit dune requete (Operation vaut 1) ou dune reponse(Operation vaut 2)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 23/49
25/50
Datagramme ARP : type de reseau et protocole
Type de rseau Protocolebits : 0 8 16 31
taille
var
iabl
eL. @phy L. @pro Opration (1 ou 2)
adresse protocole destination
adresse physique destination
adresse protocole source
adresse physique source
Type de reseau precise le reseau physique utilise et donc le typedadresse recherchee
Protocole precise la couche reseau utilisee et donc le type dadresse a`partir duquel la resolution doit etre operee
les valeurs que peuvent prendre ces champs sont definies par lIANA(www.iana.org) :
Type de reseau vaut 0x0001 pour EthernetProtocole vaut 0x0800 pour IP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 24/49
26/50
Datagramme ARP : adresses
bits : 0 8 16 31
L. @phy L. @pro Opration (1 ou 2)
ProtocoleType de rseau
adresse physique destination
adresse protocole destination
adresse protocole source
adresse physique sourceta
ille
varia
ble
quil sagisse dune requete ou dune reponse :
adresse physique source contient ladresse physique de lemetteur dudatagrammeadresse protocole source contient son adresse reseau
adresse physique destination est inconnue pour une requete(00:00:00:00:00:00 pour Ethernet), et celle du destinataire pour unereponse
adresse protocole destination contient ladresse reseau du destinataire(dans une requete, cest ladresse a` resoudre)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 25/49
27/50
Requete ARP pour IP sur Ethernet V2
adresses de lemetteur
IP : 194.199.116.5ethernet : 08:00:05:0e:ab:51
adresses de la cible
IP : 194.199.116.2ethernet (recherchee) : 08:00:07:5c:10:0a
Trame Ethernet V2 (en hexadecimal) :
08 06prambule 08:00:05:0e:ab:51ff:ff:ff:ff:ff:ff
destination typesource
CRCDatagramme ARP (requte)donnes
(broadcast)
Requete ARP (en binaire) :
0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1Ethernet (1)
Type rseau : Protocole :IP (0x0800) 6
L. @ phy : L. @ pro :4
Opration :requte (1)
1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 0 10 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 0 1 Ethernet source (08:00:05:0e:ab:51)
IP source (194.199.116.5)
IP destination (194.199.116.2)Ethernet destination (inconnue)00000000
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 26/49
28/50
Reponse ARP pour IP sur Ethernet v2
emetteur de la reponse
IP : 194.199.116.2ethernet : 08:00:07:5c:10:0a
destinataire de la reponse
IP : 194.199.116.5ethernet : 08:00:05:0e:ab:51
Trame Ethernet V2 (en hexadecimal) :
08 06prambule
destination typesource
CRC
donnes
Datagramme ARP (rponse)08:00:05:0e:ab:51 08:00:07:5c:10:0a(unicast)
Reponse ARP (en hexadecimal) :
0 8 0 0 0 7 5 c 1 0 0 ac 2 c 7 7 4 0 20 8 0 0 0 5 0 e a b 5 1c 2 c 7 7 4 0 5
0 6 0 4 0 0 0 20 0 0 1 8 0 00Ethernet source (08:00:07:5c:10:0a)
Ethernet destination (08:00:05:0e:ab:51)IP source (194.199.116.2)
IP destination (194.199.116.5)
Ethernet (1)Type rseau :
Opration : rponse (2)
IP (0x0800)Protocole : L. @ phy : 6
L. @ pro : 4
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 27/49
29/50
Optimisations dARP
cache (memoire temporaire) ARP obligatoire stocke sur les hotes :contient une liste dassociations adresse MAC, adresse IP evite demettre une nouvelle requete lorsque lassociation a deja` eteobtenueune association a une duree de vie limitee (environ 20 minutes)chaque fois quune association est confirmee, sa duree de vie est remise a`20 minles associations dont la duree de vie expire sont supprimees
traitement de la requete :les requetes etant envoyees en broadcast, toutes les stations les traitentor elles incluent ladresse MAC et ladresse IP de lemetteuren recevant une requete, les stations mettent a` jour leur cache avec lesinfos sur lemetteur
emission dune requete ARP fictive si changement de carte (et doncdadresse MAC) :
en placant sa propre adresse IP comme celle rechercheepersonne ne repondra mais tout le monde aura mis a` jour son cache avecla nouvelle adresse MAC
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 28/49
30/50
ICMP :
Internet Control and Error Message Protocol
(RFC 792, 1122, 950, 1256)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 29/49
31/50
Statut et role dICMP
ICMP est un module obligatoire dIP
qui assure deux fonctions principales :
rendre compte dun proble`me reseautester laccessibilite dune machine
les messages ICMP sont de deux natures :
les messages derreurs : suite a` une erreur constatee sur un datagramme(qui entrane le plus souvent sa destruction)les messages dinterrogation/information : messages divers contribuantau (ou informant sur le) bon fonctionnement des equipements
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 30/49
32/50
Transport des messages ICMP
Les messages ICMP sont encapsules dans des datagrammes IP (champProtocole vaut 1) :
enqueueTrame(ou PDU hterseau)
entteICMP donnes ICMPMessage ICMP
donnes trameentte
entteIPDatagramme IP donnes IP
mais IP utilisant ICMP, les deux sesituent au meme niveau
les protocoles de transport (TCP etUDP) utilisent aussi ICMP pour certaineserreurs (sur la station destinataire)
Transport (TCP et UDP)
IP & ICMP
HteRseau
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 31/49
33/50
IP : un service non fiable
les causes rendant impossible la remise dun datagramme peuvent etrenombreuses :
panne de ligne de transmission, ou dun processeurdestinataire deconnecteTTL insuffisantcongestion des routeurs intermediaireschecksum erronemauvaises tables de routage. . .
neanmoins, les erreurs ne sont pas toutes detectables
lorsquune erreur (dans la remise dun datagramme) est detecteepar un routeur ou la station destinataire, un rapport derreur(message ICMP) est envoye a` lemetteur (dorigine) dudatagramme
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 32/49
34/50
Les messages derreur ICMP
metteur destinataire
erreur !!
Internet
message ICMP
le message inclut au moins 28 octets (len-tete et les 64 premiers bits)du datagramme ayant cause lerreur, contenant les en-tetes desprotocoles de niveau superieur, ce qui permet notamment de determinerle processus emetteur pour linformer
il nest envoye qua` lemetteur du datagramme qui, parfois, ny peut rien(exemple dune mauvaise table de routage dun routeur intermediaire)
aucun message derreur nest envoye si le datagramme en causecontient un message ICMP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 33/49
35/50
Messages ICMP
destines au module ICMP du logiciel IP
pas de precaution (securite, priorite) particulie`re pour acheminement :possibilite de perte, duplication, etc.
tous les messages ICMP commencent par les 3 champs :
Type(8 bits)
Code(8 bits)
Total de Contrle(16 bits)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 34/49
36/50
Messages ICMP : Type et Code
Code Total de ContrleType
rponse une demande decho
destination inacessible
limitation de production la source
redirection (changement de route)demande decho
annonnce de routeur
sollicitation de routeur
TTL de datagramme expirproblme de paramte dun datagrammedemande dhorodatage
demande de masque de sousrseau
rponse une demande dhorodatage
rponse une demande de masque de sousrseau18
17
14
13
12
11
9
10
8
5
4
3
0
valeur (dcimal) signification
Total de ContrleType Code
le champ Type(code sur 8 bits)indique la nature dumessage :
le champ Code (8 bits) est utilise pourpreciser le message
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 35/49
37/50
Messages ICMP : Total de Controle
le champ Total de Controle (ou checksum) :
est code sur 16 bitsporte sur (controle) la totalite du message ICMPcalcule de la meme manie`re que le checksum IP
CodeType Total de Contrle
suite du message ICMP
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 36/49
38/50
Test daccessibilite
permet de sassurer quune station est joignable et en etat decommuniquer
exploite par la commande ping
echange de messages ECHO :
Type (0 ou 8) Code (0) Total de Contrle
Donnes optionnelles
...
Numro de squence (16 bits)Identificateur (16 bits)
demande decho (Type = 8)reponse a` une demande decho (Type = 0)
le Code est toujours a` 0
Identitificateur permet dassocier la reponse a` la demande
Numero de Sequence incremente a` chaque demande
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 37/49
39/50
Exemple de ping (sous Linux)
$ ping www.free.fr
PING www.free.fr(212.27.48.10) 56(84) bytes of data.
64 bytes from www.free.fr(212.27.48.10): icmp_seq=1 ttl=107 time=17.6 ms
64 bytes from www.free.fr(212.27.48.10): icmp_seq=2 ttl=107 time=16.6 ms
64 bytes from www.free.fr(212.27.48.10): icmp_seq=3 ttl=107 time=17.2 ms
64 bytes from www.free.fr(212.27.48.10): icmp_seq=4 ttl=107 time=16.7 ms
---www.free.fr ping statistics---
4 packets transmitted, 4 received, 0% packet loss, time 3012ms
rttmin/avg/max/mdev= 16.619/17.094/17.662/0.441 ms
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 38/49
40/50
Compte rendu de destination inaccessible
envoye a` lAdresse Source dun datagramme IP lorsquunestation/routeur se rend compte quil ne peut pas atteindre sadestination (ordinateur ou processus)
messages avec Type = 3
Type (3) Total de ContrleCode (0 12)
Inutilis (32 bits 0)
Entte et 64 premiers bits du datagramme IP
au m
oin
s28
oct
ets
le Code precise la nature du proble`me
commes les autres messages derreur, contient le debut du datagrammeayant provoque lerreur
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 39/49
41/50
Codes de compte rendu de destination inaccessible
Type (3) Total de ContrleCode (0 12)
Inutilis (32 bits 0)
Entte et 64 premiers bits du datagramme IP
plusieurs codes ont ete definis :
rseau de destination inconnu
ordinateur de destination inconnu
ordinateur source isol
6
7
8
5
9 communication avec le rseau de destination interdite par ladministrateur rseau
10 communication avec lordinateur destinataire interdite par ladministrateur rseau
chec de routage la source
rseau inacessible pour le service demand
ordinateur inaccessible pour le service demand12
11
0
ordinateur inaccessible
rseau inaccessible
protocole inaccessible
port inacessible
2
3
4
1
valeur(dcimal)
fragmentation ncessaire mais bit Dont Fragment positionn
signification
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 40/49
42/50
Message de controle de la congestion
appele aussi message de limitation de production de la source(Source Quench)
envoye par un routeur a` lemetteur dun datagramme detruit pour causede saturation (congestion)
un message par datagramme detruit
le message contient le debut du datagramme
le recepteur doit alors reduire ses envois pour cette destination
format (Type = 4, Code = 0) :
Type (4) Total de ContrleCode (0)
Inutilis (32 bits 0)
Entte et 64 premiers bits du datagramme IP
au m
oin
s28
oct
ets
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 41/49
43/50
Message de redirection
appele aussi message de modification de la route
envoye par un routeur a` lemetteur (source) dun datagramme, situesur le meme reseau, si le routeur nest pas le meilleur choix
format (Type = 5) :
Type (5) Total de ContrleCode (0 3)
Adresse IP dun routeur
Entte et 64 premiers bits du datagramme IP
au m
oin
s28
oct
ets
le Code precise pourquoi il faut changer de route :
0 : changer de route pour atteindre le reseau1 : changer de route pour atteindre lordinateur2 : changer de route pour le type de service et le reseau3 : changer de route pour le type de service et lordinateur
Adresse IP dun routeur est ladresse du routeur qui aurait du etre utilise
lemetteur doit en tenir compte et modifier sa table de routageCyril Pain-Barre Datagrammes IP, ARP et ICMP 42/49
44/50
Message de duree de vie expiree
envoye a` lemetteur (source) dun datagramme dans lun des deux cassuivants :
le TTL a expire sur un routeur (Code = 0)le delai de reassemblage des fragments a expire sur lordinatairedestinataire (Code = 1)
format (Type = 11) :
Type (11) Total de ContrleCode (0 ou 1)
Inutilis (32 bits 0)
Entte et 64 premiers bits du datagramme IP
au m
oin
s28
oct
ets
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 43/49
45/50
Message de proble`me de parame`tre
envoye par un routeur ou lordinataire destinataire a` lemetteur (source)dun datagramme, lorsque celui-ci comporte une erreur dans un champ
format (Type = 12) :
Type (12) Total de ContrleCode (0 ou 1)
Entte et 64 premiers bits du datagramme IP
au m
oin
s28
oct
ets
Inutilis (24 bits 0)Pointeur
le Code precise sil faut tenir compte du champ Pointeur :
0 : tenir compte du Pointeur1 : ignorer Pointeur (qui devrait etre a` 0). Dans ce cas, il sagit dunparame`tre manquant (comme une option qui aurait du etre presente)
Pointeur, si utilise, indique le numero de loctet du datagramme recuqui comporte lerreur
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 44/49
46/50
Synchronisation horloges/Estimation temps de transit
messages echanges entre 2 ordinateurs pour synchroniser leur horlogeou estimer le temps de transit
format :
Type (13 ou 14) Total de ContrleCode (0)
Identificateur Numro de squence
Horodatage de lmission
Horodatage de la rception
Horodatage de la transmission
ou` Type indique la nature du message : 13 pour une demandedhorodatage, et 14 pour une reponse a` une demande dhorodatage
le Code est toujours a` 0
Identificateur et Numero de sequence sont utilises pour associer lesreponses aux demandes
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 45/49
47/50
Synchronisation horloges/Estimation temps de transit
les 3 champs horodatage contiennent les dates, exprimees enmillisecondes ecoulees depuis le 1er janvier 1970 a` 0h00 :
demission de la demande
de reception de la demande
denvoi de la reponse
plusieurs echanges sont necessaires pour une synchronisation correcte
Le protocole NTP (Network Time Protocol) a specifiquement etedeveloppe pour synchroniser son horloge avec des serveurs dereference (et des horloges atomiques).Sa version actuelle (version 3) est definie par la RFC 1305.
Type (13 ou 14) Code (0) Total de Contrle
Numro de squenceIdentificateur
Horodatage de la rception
Horodatage de la transmission
Horodatage de lmission
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 46/49
48/50
Message dobtention du masque de sous-reseau
permet a` une station de demander son masque de sous-reseau. Lademande est adressee (par ordre de preference) en unicast a` un routeur,en multicast 224.0.0.2 (All Routers) ou en broadcast 255.255.255.255
un routeur du reseau repondra en unicast en indiquant le masque
format : Type (17 ou 18) Total de ContrleCode (0)
Identificateur Numro de squence
Masque de sousrseau
ou` :
Type indique sil sagit dune demande (17) ou dune reponse (18)Code est a` 0Identificateur et Numero de sequence sont utilises pour associer lesreponses aux demandesMasque contient le masque dans une reponse (a` 0 dans une demande)
Peu utilise car generalement des protocoles de configuration automatiquessont employes, tels que BOOTP et DHCP (etudies au second semestre).
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 47/49
49/50
Message dannonce dun routeur
envoye par les routeurs toutes les 10 minutes et destine aux stations deleurs reseaux (224.0.0.1 ou a` defaut en broadcast)
format (Type = 9, Code = 0) :
Type (9) Total de ContrleCode (0)
Adresse IP du routeur 1
Dure de vieNombre dadresses Taille adresse
Adresse IP du routeur 2
Priorit du routeur 1
Priorit du routeur 2
...selo
n le
nom
bre
dad
ress
es
Nombre dadresses indique le nombre dadresses de routeursTaille adresse 4 donne la taille en octets des adressesDuree de vie indique le temps en secondes de validite des infos(generalement 30 min)a` chaque adresse est associee une priorite ; a` utiliser par ordre de prioritecroissante
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 48/49
50/50
Message de sollicitation dun routeur
permet a` un ordinateur venant de demarrer de demander aux routeursdenvoyer immediatement un message dannonce de routeur
ce message est envoye en multicast 224.0.0.2 (All Routers) ou, a`defaut, en broadcast
les routeurs recevant ce message sont censes y repondre de`s quepossible
format (Type = 10, Code = 0) :
Type (10) Total de ContrleCode (0)
Rserv (32 bits 0)
Cyril Pain-Barre Datagrammes IP, ARP et ICMP 49/49
Datagrammes IPARP : Address Resolution ProtocolICMP : Internet Control and Error Message Protocol