Vous êtes sur la page 1sur 26

UPMC - Licence Informatique 3I014 - Réseaux

TD 7

IP UN PROTOCOLE D’INTERCONNEXION DE RESEAUX

Toute la cohésion de l’Internet repose sur le protocole IP (Internet Protocol) : IP est un composant
si fondamental à l’architecture de l’Internet qu’on parle souvent de IP-based technology et aussi,
par abus de langage, de couche IP au lieu de couche Réseau. Toutefois, IP n’est lui-même qu’un des
composants de la couche Réseau de l’architecture TCP/IP.

1. LE PROTOCOLE IP
IP a été conçu dès le départ pour être un protocole d’interconnexion de réseaux : la couche Réseau
doit faire de son mieux pour acheminer des paquets de données (également appelés datagrammes)
de la source vers la destination, toutes deux identifiées par leurs adresses, et que ces hôtes soient sur
le même réseau physique ou séparés par plusieurs réseaux physiques.
Le service de remise des datagrammes est qualifié de best effort : il n’y a aucune garantie de remise
et IP fonctionne en mode non connecté.
IP est ainsi un protocole relativement simple, et ses spécifications portent principalement sur :
§ le format des paquets (donné en annexe) ;
§ des conventions d’adressage ;
§ les règles de traitement des paquets (stipulant ce que doit faire un routeur à la réception d’un
paquet sur l’une de ses interfaces).

1.1. Adressage IP
L’Internet divise les machines en deux catégories : les routeurs et les systèmes d’extrémité (appelés
également machines hôtes ou hosts). Chaque machine a (au moins) une adresse IP. Plus
précisément, une adresse IP désigne, non pas une machine, mais une interface réseau (une carte
réseau). Ainsi, une machine qui est simultanément connectée à N réseaux aura N adresses IP (ce qui
est typiquement le cas d’un routeur).

1
UPMC - Licence Informatique 3I014 - Réseaux

Structure d’une adresse IP


Une adresse IP a une taille fixe de 32 bits (4 octets) et on utilise généralement une notation
décimale pointée pour la représenter.
1.1.1. Quelle est la notation décimale pointée de l’adresse IP :
11000001 00110111 00011100 10011000 ?
193.55.28.152
Une adresse IP est constituée de deux parties :
Adresse IP = < NetId > < HostId >
§ un préfixe réseau (NetId) qui identifie le réseau physique auquel la machine est raccordée ;
§ un suffixe hôte (HostId) qui identifie cette machine particulière sur ce réseau.
Par conséquent, toutes les machines raccordées à un même réseau partagent le même préfixe.
1.1.2. Quel est l’intérêt d’avoir une adresse structurée ?
Le schéma d’adressage a été choisi de façon à faciliter l’acheminement des paquets. Cela
permet de diminuer la taille des tables de routage, en ayant une entrée dans la table par
réseau de destination, au lieu d’une entrée par machine de destination.

Classes initiales d’adresses


Initialement, cinq classes d’adresses ont été définies (RFC 790 datant de 1981) :
§ Classe A : le préfixe réseau est codé sur 1 octet (dont le bit de poids fort est égal à « 0 ») et le
suffixe hôte est codé sur 3 octets ;
§ Classe B : le préfixe réseau est codé sur 2 octets (les deux bits de poids fort du premier octet
de l’adresse sont « 10 ») et le suffixe hôte est codé sur 2 octets ;
§ Classe C : le préfixe réseau est codé sur 3 octets (les trois bits de poids fort du premier octet
de l’adresse sont « 110 ») et le suffixe hôte est codé sur 1 octet ;
§ Classe D : classe réservée à la diffusion multidestinataire (multicast) ;
§ Classe E : classe réservée à un usage futur.
1.1.3. Quelles sont les plages d’adresses pour chacune des classes ?
Classe Bits de poids fort Début Fin Masque par défaut
A 0 0.0.0.0 127.255.255.255 255.0.0.0
B 10 128.0.0.0 191.255.255.255 255.255.0.0
C 110 192.0.0.0 223.2555.255.255 255.255.255.0
D 1110 224.0.0.0 239.255.255.255 non défini
E 1111 240.0.0.0 255.255.255.255 non défini
1.1.4. De combien de réseaux de chacune des trois premières classes dispose-t-on ?
En théorie, on dispose donc de :
27 = 128 réseaux de classe A (quelques très grands réseaux) ;
214 = 16384 réseaux de classe B (des réseaux intermédiaires) ;
221 = 2 097 152 réseaux de classe C (des petits réseaux).
En pratique, certaines plages d’adresses sont réservées. Par exemple, il n’y a que 126
réseaux de classe A possibles, car un identifiant réseau « tout à 0 » signifie « ce réseau » et
une adresse IP commençant par 127 est une adresse de rebouclage (non routable).

2
UPMC - Licence Informatique 3I014 - Réseaux

1.1.5. Combien de machines un réseau de chacune des trois classes peut-il adresser ?
Au maximum, un réseau de classe A peut adresser 224 = 16 777 216 machines, un réseau de
classe B peut adresser 216 = 65 536 machines et un réseau de classe C peut en adresser
28 = 256. En pratique, les adresses pour lesquelles la partie « hôte » est « tout à 0 » ou « tout
à 1 » sont réservées (au réseau pour la première et au broadcast pour la seconde).
1.1.6. A quelle classe correspond l’adresse IP 193.55.28.152 ? Quelle est l’adresse du réseau
auquel la machine 193.55.28.152 appartient ? Quelle est l'adresse de diffusion restreinte sur
ce réseau ?
Cette adresse est une adresse de classe C (car 193 = 11000001).
L’adresse du réseau est donc 193.55.28.0.
L'adresse de diffusion restreinte est 193.55.28.255.

Subnetting
Dès les années 1980, la croissance de l’Internet avec l’explosion des réseaux locaux a mené la
classe B au bord de l’épuisement et a fait croître la taille des tables de routage. Par ailleurs, il était
irréaliste de considérer un unique réseau local d’entreprise avec 65534 machines, et il est devenu
évident de permettre à une entreprise de découper son réseau en sous-réseaux. Conceptuellement, le
subnetting ne va changer que très légèrement l’interprétation des adresses IP. Au lieu d’avoir un
NetId et un HostId, cela revient à avoir :
§ une Portion Internet qui identifie un site possédant éventuellement plusieurs réseaux
physiques (les sous-réseaux) ;
§ une Portion Locale qui identifie un réseau physique (un sous-réseau) et une machine de ce
site.
L’idée (RFC 917 de 1984) est alors de permettre à un site S de gérer ses adresses en interne comme
il l’entend, à partir du moment où :
§ tous les hôtes et tous les routeurs du site respectent le schéma d’adresses du site S ;
§ les autres sites de l’Internet peuvent traiter les adresses du site S comme des adresses IP
standard avec le NetId qui a été attribué au site S.
L’adresse IP possède alors la forme suivante :
Adresse IP = <NetId> <SubnetId> <HostId>
Contrairement aux préfixes de réseau dont la longueur est prédéterminée par la classe de l’adresse,
les préfixes de sous-réseaux peuvent être de longueur variable ; cette longueur est choisie selon le
nombre de sous-réseaux constituant le site et le nombre d’hôtes par sous-réseaux. Il est donc
nécessaire de spécifier pour toute adresse IP affectée, la longueur de son préfixe. C’est la vocation
du masque de sous-réseau (subnet mask). Le masque associé à une adresse IP est un mot de 32 bits
où les seuls bits positionnés à 1 sont ceux associés aux préfixes NetId et SubnetId de cette adresse.
Une autre façon de représenter le masque consiste à donner le numéro du réseau suivi par une barre
oblique (ou slash, « / ») et le nombre de bits à 1 dans la notation binaire du masque de sous-réseau.
1.1.7. Un site justifie le besoin d’une plage d’environ 64 000 adresses.
a. De quelle classe d’adresses IP ce site a-t-il besoin ?
La puissance de 2 la plus proche de 64 000 est 16. Il faut lui adresser un préfixe de longueur
(32-16), soit une adresse de classe B. Une adresse de classe B permet d’ailleurs une
efficacité d’utilisation proche de 1.

3
UPMC - Licence Informatique 3I014 - Réseaux

b. Le site se voit attribuer l’adresse 132.227.0.0/16. Il désire alors subdiviser son réseau en
30 sous-réseaux. Combien de machines au maximum pourra-t-il connecter sur chaque
sous-réseau ?
Pour adresser 30 sous-réseaux il faut 5 bits, il reste donc 11 bits pour adresser les hôtes soit
au maximum 2046 hôtes possibles par réseau (211-2).
c. Quel est le masque de sous-réseau associé à cette décomposition ?
Le masque correspondant est 255.255.11111000.0 = 255.255.248.0/21.
d. A quel sous-réseau la machine 132.227.75.13 appartient-elle ?
Pour obtenir cette adresse, il suffit d’appliquer le masque à l’adresse de la machine :
132.227.75.13 ET 255.255.248.0 = 132.227.01001011.13 ET 255.255.11111000.0
= 132.227.01001000.0 = 132.227.72.0
e. On suppose maintenant qu’il n’a pas été possible d’attribuer une adresse de classe B
(espace épuisé). Y-a-t-il une alternative ?
Une possibilité est d’allouer un bloc de préfixes de classe C contigus au lieu d’un préfixe de
classe B.

Supernetting et agrégation d’adresses


Le but du subnetting était de préserver l’espace d’adressage. Malheureusement, dès 1992, il est vite
apparu que le subnetting seul ne pouvait éviter le risque d’épuisement des préfixes de classe B,
alors que, dans le même temps, les demandes pour des préfixes de classe C étaient peu fréquentes.
Le supernetting (RFC 1338 de 1992) est une technique qui consiste à agréger plusieurs réseaux en
un seul, et à regrouper un ensemble de préfixes de classe C contigües à la place d’un préfixe de
classe B.
1.1.8. Un ISP possède 6 clients, notés C1, C2, …, C6 : C1 et C2 utilisent au plus 512 adresses, C3
et C4 au plus 1024 adresses, C5 au plus 2048 et C6 au plus 4096 adresses.
a. De combien de préfixes de réseau de classe B l’ISP a-t-il besoin ?
Un seul (ce qui conduit à une efficacité d’utilisation de 9216/65536 = 14% !!!)
b. De combien de préfixes de réseau de classe C l’ISP a-t-il besoin ? Sachant que le bloc
des adresses de classe C attribué à l’ISP est compris entre 192.24.0.0 et 192.24.35.0,
proposer un plan d’adressage adoptable par l’ISP.
L’ISP aurait besoin de 36 préfixes de classe C : 2 pour C1, 2 pour C2, 4 pour C3, 4 pour C3,
8 pour C5 et 16 pour C6.
Plan d’adressage possible :
Client Nb Préfixes Adresses IP Adresse réseau Subnet mask
Préf.
de 192.24.0.0 de 192.24.00000000.00000000 192.24.0.0 255.255.240.0
C6 16
à 192.24.15.0 à 192.24.00001111.11111111 /20
ET 255.255.11110000.0
de 192.24.16.0 de 192.24.00010000.00000000 192.24.16.0 255.255.248.0
C5 8
à 192.24.23.0 à 192.24.00010111.11111111 /21
ET 255.255.11111000.0

4
UPMC - Licence Informatique 3I014 - Réseaux

de 192.24.24.0 de 192.24.00011000.00000000 192.24.24.0 255.255.252.0


C4 4
à 192.24.27.0 à 192.24.00011011.11111111 /22
ET 255.255.11111100.0
de 192.24.28.0 de 192.24.00011100.00000000 192.24.28.0 255.255.252.0
C3 4
à 192.24.31.0 à 192.24.00011111.11111111 /22
ET 255.2255.11111100.0
de 192.24.32.0 de 192.24.00100000.00000000 192.24.32.0 255.255.254.0
C2 2
à 192.24.33.0 à 192.24.00100001.11111111 /23
ET 255.255.11111110.0
de 192.24.34.0 de 192.24.00100010.00000000 192.24.34.0 255.255.254.0
C1 2
à 192.24.35.0 à 192.24.00100011.11111111 /23
ET 255.255.11111110.0

CIDR (Classless InterDomain Routing)


Tout en commençant à définir une nouvelle version du protocole IP (IPv6) avec un espace
d’adressage plus étendu (sur 128 bits), l’IETF a standardisé une solution temporaire (RFC 1519 de
1993) qui abolit les classes A, B et C. CIDR va plus loin dans l’optimisation de l’utilisation des
préfixes de réseau et de la taille des tables de routage : CIDR élargit le principe qui fonde le sous-
adressage et autorise les préfixes de réseau de longueur arbitraire. Comme précédemment, CIDR
utilise un masque de 32 bits, dont les bits contigus à 1 indiquent la taille du préfixe de réseau et les
bits à 0 celle du suffixe.
1.1.9. Une entreprise obtient de son ISP 2048 adresses contigües et commençant à 128.211.168.0.
a. Quel est son masque d’adresse CIDR ?
L’adresse la plus basse est : 128.211.168.0, soit :
10000000 11010011 10101000 00000000
L’adresse la plus haute est : 128.211.175.255, soit :
10000000 11010011 10101111 11111111
Pour l’intervalle des 2048 adresses, le masque est :
11111111 11111111 11111000 00000000, soit 255.255.248.0
b. Quelle est la notation CIDR (notation slash) de l’adresse de son réseau ?
128.211.168.0/21
c. Quelle est l’adresse de diffusion sur le réseau ?
128.211.175.255 (10000000 11010011 10101111 11111111).
d. Quelle est la plage des adresses utilisables pour les machines du réseau ?
Il y a 2046 adresses utilisables pour les machines, de 128.211.168.1 (10000000 11010011
10101000 00000000) à 128.211.175.254 (10000000 11010011 10101111 11111110).

1.2. Routage IP
Dans un réseau à commutation par paquets, le routage est le traitement qui consiste à choisir le
chemin sur lequel transmettre un paquet en fonction de son adresse destination et des informations
contenues dans les tables de routage. Le protocole de routage permet, quant à lui, de construire

5
UPMC - Licence Informatique 3I014 - Réseaux

dynamiquement les tables de routage. Une table de routage (ou FIB pour Forwarding Information
Base) est une structure complexe qui contient les informations nécessaires pour atteindre toute
adresse IP valide.
Un internet est composé de plusieurs réseaux interconnectés par des équipements appelés routeurs
(passerelles ou gateways). Chaque routeur est directement connecté à au moins deux réseaux
physiques et assure le transfert des paquets (il relaye les paquets) d’un réseau à un autre. Un hôte
est directement connecté à au moins un réseau physique mais ne relaye jamais de paquets. En
théorie, un hôte n’exécute donc pas de protocole de routage et ses tables de routage sont
généralement construites manuellement par l’administrateur réseau.
Il existe deux façons de faire du routage dans IP :
§ Le routage direct concerne la transmission d’un paquet IP entre deux machines connectées
au même réseau physique (pas de gateway impliquée). La source encapsule le paquet dans
une trame dont l’adresse de destination est l’adresse MAC (Ethernet) de la destination.
§ Le routage indirect intervient lorsque la destination n’est pas connectée au même réseau
physique que la source. La transmission du paquet est alors effectuée de proche en proche
(hop by hop) ; le routage IP fournit l’adresse du prochain routeur sur le chemin vers la
destination. Chaque paquet est alors encapsulé dans une trame dont l’adresse MAC de
destination est celle du prochain routeur (next hop).
Une table de routage IP est constituée d’au moins quatre colonnes :
Destination Mask Gateway Interface

§ La colonne Destination indique la destination que permet de joindre cette entrée. Il peut
s’agir d’une adresse complète d’hôte ou d’une adresse réseau ; 0.0.0.0 correspond à la route
par défaut.
§ La colonne Mask spécifie, si la destination est un (sous-)réseau, le masque de ce
(sous-)réseau. Si la destination est un hôte, elle contient 255.255.255.255. Si l’entrée est celle
de la route par défaut, elle contient 0.0.0.0.
§ La colonne Gateway indique l’adresse du prochain routeur. Si l’adresse de destination est
celle d’un hôte ou d’un réseau directement accessible par une interface locale, apparaît, selon
les systèmes, 0.0.0.0 ou un astérisque.
§ La colonne Interface indique l’interface (la carte Ethernet) sur laquelle le paquet doit être
transmis pour suivre la route considérée.
L’algorithme simplifié suivant permet à un routeur, lorsqu’il reçoit un paquet IP contenant l’adresse
IP DestAdr de déterminer l’interface sur laquelle il doit le relayer. Les entrées de la table de
routages sont notées « (H, 255.255.255.255, G, I) » si l’adresse H est celle d’un hôte et
« (R, M, G, I) » si l’adresse R est celle d’un réseau :

6
UPMC - Licence Informatique 3I014 - Réseaux

S’il existe une entrée (H, 255.255.255.255, G, I) telle que DestAdr = H alors
Routage comme spécifié dans la table (direct si G = *, indirect sinon) sur l’Interface I
Sinon
S’il existe une entrée (R, M, G, I) telle que (DestAdr AND M) = R alors
Routage comme spécifié dans la table (direct si G = *, indirect sinon) sur
l’Interface I
Sinon
S’il existe une route par défaut (0.0.0.0, 0.0.0.0, G, I) alors
Routage indirect via G sur l’interface I
Sinon
Envoyer une erreur host unreachable ou unreachable network
à l’application émettrice
Il est à noter que si plusieurs entrées de la table de routage conviennent (match), l’algorithme
choisit celle dont l’adresse de destination possède le plus de bits identiques avec celle du paquet
(best matching).
1.2.1. On considère un routeur R1 ayant la table de routage suivante :

Destination Mask Gateway Interface


192.4.153.1 255.255.255.255 R2 eth0
192.4.153.128 255.255.255.192 R3 eth0
128.96.33.0 255.255.255.128 * eth0
128.96.34.0 255.255.255.128 * eth1
128.96.40.0 255.255.255.0 R2 eth0
0.0.0.0 0.0.0.0 R4 eth1
Le routeur peut donc délivrer directement des paquets sur ses interfaces 0 et 1, ou faire
suivre des paquets aux routeurs R2, R3 et R4. Indiquer ce que fait R1 sur réception d’un
paquet adressé aux destinations suivantes :

Adresse de destination Prochaine étape


128.96.33.10 Routage direct sur l’interface eth0 (en
appliquant le masque 255.255.255.128, on
trouve 128.96.33.0).
128.96.34.12 Routage direct sur l’interface eth1 (en
appliquant le masque 255.255.255.128, on
trouve 128.96.34.0).
128.96.40.151 Routage indirect via R2 sur l’interface eth0
(en appliquant le masque 255.255.255.0, on
trouve 128.96.40.0).
192.4.153.133 Routage indirect via R3 sur l’interface eth0
(en appliquant le masque 255.255.255.192, on
trouve 192.4.153.128).
192.4.153.1 Routage indirect via R2 sur l’interface eth0
(l’adresse de l’hôte 192.4.153.1 est
directement inscrite dans la table).
192.4.153.90 En appliquant le masque 255.255.255.192, on
trouve 192.4.153.64 ;
en appliquant le masque 255.255.255.128, on
trouve 192.4.153.0 ;

7
UPMC - Licence Informatique 3I014 - Réseaux

en appliquant le masque 255.255.255.0, on


trouve 192.4.153.0 ;
pas de match, donc route par défaut : routage
indirect via R4 sur l’interface eth1.
1.2.2. Soit deux réseaux locaux A et B interconnectés par un routeur IP comme décrit dans la
figure suivante :

Source A Routeur B Destination


IP IP IP IP
129.215.4.1 ? ? 192.41.34.3
MAC MAC MAC MAC
AA : … : 23 01 : … : 76 03 : … : 54 00 : … : 38
PHY1 PHY1 PHY2 PHY2

a. Sachant que le masque de sous-réseau divise l’adresse IP en 255 sous-réseaux du côté


de A et qu’aucune subdivision n’est réalisée du côté de B, quelles sont les plages de
valeurs possibles pour les adresses IP du routeur ?
Adresse du routeur du côté A :
L’adresse de A est 129.215.4.1. Or 129 = (10000001)2 : le sous-réseau du côté de A est donc
de classe B. Sachant que le sous-réseau est découpé en 255 sous-réseaux, le masque de ce
sous-réseau est 255.255.255.0. L’adresse du sous-réseau du côté A est donc 129.254.4.0.
Les valeurs possibles pour l’adresse IP du routeur du côté A sont :
129.215.4.01, 129.215.4.12, 129.215.4.2, …, 129.215.4.254, 129.215.4.2551
1
adresses réservées (adresse du sous-réseau, adresse de diffusion).
2
adresse déjà prise par A.
Adresse du routeur du côté B :
L’adresse de B est 192.41.34.3 soit une adresse de classe C. Sachant que le réseau B n’est
pas subdivisé, les valeurs possibles pour l’adresse IP du routeur du côté B sont :
192.41.34.01, 192.41.34.1, 192.41.34.2, 192.41.34.33, 192.41.34.4, …,
192.41.34.254, 192.41.34.2551
3
192.41.34.3 adresse déjà utilisée par B.
b. Remplir le tableau suivant avec les adresses de source et de destination véhiculées dans
les trames et les paquets encapsulés.

Réseau Ethernet A Ethernet B


Destination MAC 01 : … : 76 00 : … : 38
Source MAC AA : … : 23 03 : … : 54
Destination IP 192.41.34.3 192.41.34.3
Source IP 129.215.4.1 129.215.4.1

8
UPMC - Licence Informatique 3I014 - Réseaux

c. Comment le routeur fait-il pour trouver l’adresse MAC (Ethernet) de la station


destinataire à l’adresse 192.41.34.3 ?
En utilisant le protocole ARP (cf section suivante).

2. LES AUTRES PROTOCOLES DE LA COUCHE RESEAU

2.1. Protocole ARP


ARP (Address Resolution Protocol) est un protocole de traduction d’adresse logique (de couche
Réseau) en une adresse physique (de couche Accès au réseau). ARP permet ainsi à un hôte A
connecté à un réseau Ethernet d’obtenir l’adresse Ethernet d’un hôte B connecté au même réseau,
en connaissant l’adresse IP de B.
Le protocole RARP (Reverse Address Resolution Protocol) fait l’inverse.
La structure des paquets ARP (et RARP) est donnée en annexe.
2.1.1. A l’aide de l’annexe, décoder les trames Ethernet suivantes (les trames sont données sans
préambule ni CRC). En déduire le but de l’échange.
FF FF FF FF FF FF 08 00 20 02 45 9E 08 06 00 01
08 00 06 04 00 01 08 00 20 02 45 9E 81 68 FE 06
00 00 00 00 00 00 81 68 FE 05 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00

08 00 20 02 45 9E 08 00 20 07 0B 94 08 06 00 01
08 00 06 04 00 02 08 00 20 07 0B 94 81 68 FE 05
08 00 20 02 45 9E 81 68 FE 06 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
1ère trame :
FF FF FF FF FF FF : @ Ethernet de destination : diffusion.
08 00 20 02 45 9E : @ Ethernet de source.
08 06 : type Ethernet : la trame Ethernet encapsule un paquet ARP.
---Suivent les données Ethernet, i.e. le paquet ARP---
00 01 : Hardware : le type d'interface pour laquelle l'émetteur cherche une réponse est
Ethernet.
08 00 : Protocol : l'@ logique est de type IP.
06 : Hlen : la longueur de l'@ physique = 6 octets pour Ethernet.
04 : Plen : la longueur de l'@ de protocole = 4 octets pour IP.
00 01 : Operation : le paquet est une requête ARP.
08 00 20 02 45 9E : Sender HA : l'@ Ethernet de l'émetteur.
81 68 FE 06 : Sender IA : l'@ IP de l'émetteur.
00 00 00 00 00 00 : Target HA : mis à 0 dans la requête puisque c'est l'inconnue !
81 68 FE 05 : Target IA : l'@ IP de la station pour laquelle l'émetteur souhaite obtenir
l'@ Ethernet.

9
UPMC - Licence Informatique 3I014 - Réseaux

00 … 00 : les octets restants sont des octets de bourrage Ehernet pour obtenir un champ de
la longueur minimum.
2ème trame :
08 00 20 02 45 9E : @ Ethernet de destination.
08 00 20 07 0B 94 : @ Ethernet de source.
08 06 : type Ethernet : la trame Ethernet encapsule un paquet ARP.
---Suivent les données Ethernet, i.e. le paquet ARP---
00 01 : Hardware : le type d'interface pour laquelle l'émetteur cherche une réponse est
Ethernet.
08 00 : Protocol : l'@ logique est de type IP.
06 : Hlen : la longueur de l'@ physique = 6 octets pour Ethernet.
04 : Plen : la longueur de l'@ de protocole = 4 octets pour IP.
00 02 : Operation : le paquet est une réponse ARP.
08 00 20 07 0B 94 : Sender HA : l'@ Ethernet de l'émetteur.
81 68 FE 05 : Sender IA : l'@ Ip de l'émetteur.
08 00 20 02 45 9E : Target HA : l'@ Ethernet du destinataire.
81 68 FE 06 : Target IA : l'@ IP du destinataire.
00 … 00 : les octets restants sont des octets de bourrage Ehernet pour obtenir un champ de
la longueur minimum.
But de l’échange :
La machine d'@ IP 129.104.254.6 (classe B) et d'@ Ethernet 08 00 20 02 45 9E demande
l'@ Ethernet de la machine d'@ IP 129.104.254.5 : c'est 08 00 20 07 0B 94.

2.2. Protocole ICMP


ICMP (Internet Control Message Protocol) est utilisé pour véhiculer des messages de contrôle et
des rapports d'erreurs, par exemple à des fins de tests ou lorsqu'un service ou un hôte est
inaccessible. ICMP peut être vu comme la partie contrôle de IP, et à ce titre, les deux protocoles
sont indissociables.
La structure des messages ICMP est donnée en annexe.
2.2.1. 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

10
UPMC - Licence Informatique 3I014 - Réseaux

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 :
08 00 20 0a ac 96 08 00 20 0a 70 66 08 00 4f 00
00 7c cb c9 00 00 ff 01 b9 7f 84 e3 3d 05 c0 21
9f 06 07 27 04 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 08 00 a2 56 2f 00
00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d
0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d
2e 2f 30 31 32 33 34 35 36 37

08 00 20 0a 70 66 08 00 20 0a ac 96 08 00 4f 00
00 7c 3f 86 00 00 fb 01 49 af c0 21 9f 06 84 e3
3d 05 07 27 28 84 e3 3c 20 c0 2c 41 12 c0 46 47
05 c0 21 9f 02 c0 21 9f 06 c0 46 47 06 c0 2c 41
1a 84 e3 3c 1e 84 e3 3d 87 00 00 00 aa 56 2f 00
00 00 29 36 8c 41 00 03 86 2b 08 09 0a 0b 0c 0d
0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d
1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d
2e 2f 30 31 32 33 34 35 36 37
a. A l’aide de l’annexe, décoder les deux trames précédentes (les trames sont données sans
préambule ni CRC).
1ère trame :
08 00 20 0a ac 96
adresse (de) destination (de la trame) ; c'est une @ physique (@ Ethernet) qui n'est connue
que sur le réseau où est connectée la station émettrice de la trame. Il s'agit ici de l'@
Ethernet du routeur A.
08 00 20 0a 70 66
adresse (de la) source (de la trame) ; @ physique (Ethernet) de la station émettrice de la
trame Ethernet.
08 00
type de contenu = DoD Internet ; le champ données de la trame contient un datagramme IP.
4f
début du champ de données (et du datagramme IP) : version codé sur 4 bits : c'est le numéro
de version du protocole selon lequel a été structuré le datagramme. Ce champ permet de
guider le découpage et l'interprétation correcte des autres éléments de l'en-tête. Ici, version =
4.
IHL (Internet Header Length) codé sur 4 bits : longueur de l'en-tête, exprimée en mots de 32
bits. Ici, 15 mots, soit 60 octets (l'en-tête se termine avec le dernier octet à 00 de la suite de
00).
00
ToS (Type Of Service) sur 8 bits : permet de représenter ce que l'ISO appelle QoS. On est
en mode non connecté, ce champ figure dans la structure de données de toutes les

11
UPMC - Licence Informatique 3I014 - Réseaux

transmissions, pour que les passerelles puissent prendre en charge ces demandes, chacune
pour ce qui la concerne. Le ToS est représenté par quatre paramètres indiquant les besoins
de l'utilisateur : precedence (priorité sur 3 bits), delay (1 bit), throughput (1 bit) et reliability
(1 bit). Ici, priorité la plus faible, delai, débit et fiabilité normaux.
00 7c
longueur totale du datagramme (en-tête et données) : 124 octets. Ce champ étant codé sur 16
bits, la longueur maximale d'un datagramme est de 65535 octets. Par convention, chaque
machine du réseau (virtuel) Internet doit pouvoir traiter des datagrammes de 576 octets et il
ne faut envoyer des datagrammes de longueur supérieure à 576 octets que si l'on est sûr que
le destinataire est prêt à les accepter.
cb c9 00 00
ces 32 bits servent à la fragmentation :
identification = cb c9 ; ce champ est positionné par l'émetteur du datagramme pour
l'identifier de manière unique, et ce afin de faire un lien entre tous les fragments d'un même
datagramme après segmentation.
flags = 00 ; Don't Fragment = 0 : fragmentation non interdite ; More Fragment = 0 : pas de
fragment suivant ;
Fragment Offset = 0 0000 0000
ff
TTL = 255 ;
01
protocol = ICMP : le champ de données du datagramme IP véhicule un message ICMP (01
est la valeur réservée pour ICMP).
b9 7f
total de contrôle sur l'en-tête.
84 e3 3d 05
adresse IP de l'émetteur du datagramme = 132.227.61.5, classe B.
c0 21 9f 06
adresse IP du destinataire du datagramme = 192.33.159.6, classe C.
07
commence avec cet octet le champ d'options. 07 correspond à l'option enregistrement de
route.
27
longueur de l'option = 39 octets.
04
pointeur sur le premier octet utilisable (l'octet de type d'option est considéré comme N°1).
00 (36 fois)
ce sont les octets vides pour l'enregistrement des adresses le long de la route : 36 octets en
tout.

12
UPMC - Licence Informatique 3I014 - Réseaux

00
octet de cadrage pour avoir un nombre entier de mots de 32 bits dans l'en-tête IP ; c'est le
dernier octet de l'en-tête.
08
c'est le début du champ de données IP : on sait qu'il véhicule un message ICMP. Cet octet
correspond donc à un type de message ICMP : code 08 pour une demande d'écho.
00
champ code toujours à 0 pour une demande d'écho.
a2 56
total de contrôle ICMP.
2f 00
identificateur : correspond à un numéro de requête.
00 00
compteur.
29 36 … 36 37
champ de données ICMP : ensemble de caractères choisis par la machine émettrice et qui
doivent être recopiés dans le message echo reply.
La première trame Ethernet contient un datagramme IP avec option enregistrement de route
qui véhicule lui-même une demande d'écho ICMP.
2ème trame :
08 00 20 0a 70 66
adresse (de) destination (de la trame) ; les adresses physiques ont été interverties par rapport
à la trame 1. Ici, on a l'adresse Ethernet de la station X.
08 00 20 0a ac 96
adresse (de la) source (de la trame) ; @ Ethernet du routeur A.
08 00
type de contenu = DoD Internet ; le champ données de la trame contient un datagramme IP.
4f
début du champ de données (et du datagramme IP).
version = 4 ;
IHL = 15 mots, soit 60 octets.
00
TOS : priorité la plus faible, delai, débit et fiabilité normaux.
00 7c
longueur totale du datagramme (en-tête et données) = 124 octets.
3f 86 00 00
ces 32 bits servent à la fragmentation :

13
UPMC - Licence Informatique 3I014 - Réseaux

identification = 3f 86 ; ce champ est positionné par l'émetteur du datagramme pour


l'identifier de manière unique, et ce afin de faire un lien entre tous les fragments d'un même
datagramme après segmentation.
flags = 000 ; Don't Fragment = 0 : fragmentation non interdite ; More Fragment = 0 : pas
de fragment suivant ;
Fragment Offset = 0 0000 0000
fb
TTL = 251 ;
01
protocol = ICMP.
49 af
total de contrôle sur l'en-tête.
c0 21 9f 06
adresse IP de l'émetteur du datagramme = 192.33.159.6 classe C. Les adresses IP ont été
interverties par rapport au premier datagramme.
84 e3 3d 05
adresse IP du destinataire du datagramme = 132.227.61.5, classe B.
07
commence avec cet octet le champ d'options. 07 correspond à l'option enregistrement de
route.
27
longueur de l'option = 39 octets
28
pointeur sur le premier octet utilisable (l'octet de type d'option est considéré comme N°1) :
octet N°40, l'option est pleine. On a donc 36 octets, ce qui correspond à 9 adresses de
passerelles visitées :
84 e3 3c 20 132.227.60.32 classe B
c0 2c 41 12 192.44.65.18 classe C
c0 46 47 05 192.70.71.5 classe C
c0 21 9f 02 192.33.159.2 classe C
c0 21 9f 06 192.33.159.6 classe C (c'est l'@ IP de la machine Y !)
c0 46 47 06 192.70.71.6 classe C
c0 2c 41 1a 192.44.65.26 classe C
84 e3 3c 1e 132.227.60.30 classe B
84 e3 3d 87 132.227.61.135 classe B
00
octet de cadrage.

14
UPMC - Licence Informatique 3I014 - Réseaux

00
message ICMP encapsulé : Echo Reply.
00
le champ code est toujours à 0 pour un Echo.
aa 56
checksum ICMP.
2f 00
identificateur qui permet d'associer la réponse à la requête.
00 00
compteur.
29 36 ... 36 37
champ de données ICMP.
La seconde trame Ethernet contient un datagramme IP avec option enregistrement de route,
qui véhicule lui-même une réponse d'écho ICMP.
b. Quel est le but de cet échange ?
C'est un échange d'echo pour verifier la présence d'un équipement. L'option
d'enregistrement de route permet de connaître les adresses IP des passerelles traversées (au
moins les premières). Cela peut servir par exemple pour construire l'option de source
routing.
c. Dans l’architecture TCP/IP, est-ce IP qui repose sur ICMP ou l’inverse ?
ICMP est partie intégrante d'IP, puisque c'est sa partie contrôle. D'un autre côté, les
messages ICMP sont encapsulés dans des datagrammes IP.
d. A quoi sert le champ TTL d’IP ?
Le champ TTL représente une indication de la limite supérieure du temps de vie d'un
datagramme. Cette valeur est comprise entre 0 et 255 et est initialisée par l'émetteur du
datagramme, elle est décrémentée tout au long de la route suivie par chaque passerelle
traversée. Tout intermédiaire ou destinataire qui détecte le passage de ce champ à la valeur 0
est supposé écarter le datagramme et renvoyer un datagramme ICMP « Time exceeded »
(type 11) à l'émetteur contenant notamment l'en-tête du datagramme détruit.
Cette procédure est destinée à éviter les boucles ou les cheminements trop anormaux,
permettant ainsi de garantir une durée de vie maximale à un datagramme.
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éassemblage.
Ici, dans la 1ère trame, on a TTL = 255 : le datagramme vient d'être émis.
Dans la 2ème trame, on a TTL = 251 : le datagramme peut encore franchir 251 passerelles IP
(TTL a été initialisé à 255 par Y, puis décrémenté de 1 à chaque passage de passerelle (4
passerelles en tout)).
e. Peut-on savoir s’il y a eu de la fragmentation ?

15
UPMC - Licence Informatique 3I014 - Réseaux

Dans les 2 trames, le bit DF = 0 : la fragmentation est non interdite ;


More Fragment = 0 : pas de fragment suivant ;
Fragment Offset = 0 0000 0000 : c’est le 1er fragment ;
On en déduit qu’il n’y a pas eu de fragmentation
f. Combien y-a-t-il d'octets de bourrage (cadrage) dans l'en-tête du premier datagramme et
à quoi servent-ils ?
On a un seul octet de bourrage : il s'agit d'un octet de cadrage pour avoir un nombre entier
de mots de 32 bits dans l'en-tête IP ; C'est le dernier octet de l'en-tête.
g. A quoi correspondent les différents champs d’adresse véhiculés dans les trames ?
On a deux types d'adresses :
les adresses Ethernet du réseau sur lequel est branché l'analyseur : il s'agit des adresses
Ethernet de la machine X et du routeur A ;
les adresses IP de la machine X et de la machine Y.
h. Quelles sont les classes d'adressage IP utilisées sur les réseaux émetteur et destinataire ?
Dans la première trame, on a vu que :
Adresse IP de l'émetteur du datagramme = 84 e3 3d 05
soit 132.227.61.5, @ de classe B (comprise entre 128.0.0.0 et 191.255.255.255).
Adresse IP du destinataire du datagramme = c0 21 9f 06
soit 192.33.159.6, @ de classe C (comprise entre 192.0.0.0 et 223.255.255.255).
i. Peut-il y avoir eu, pour le deuxième datagramme, un enregistrement de route
incomplet ?
Le champ IP d'enregistrement de route peut être incomplet dans le cas d'un débordement.
Mais ici, dans le datagramme 2, la dernière @ enregistrée (132.227.61.135) est sur le même
sous-réseau que la machine destinataire du datagramme (132.227.61.5).
La station X envoie un message ICMP echo request, le destinataire envoie un message echo
reply. Dans le champ option, il recopie le chemin aller pris. Le champ est completé par les
adresses IP rencontrées sur le chemin du retour. On trouve donc dans l'option
d'enregistrement de route du message echo reply, le chemin de X vers le destinataire suivi
du chemin du destinataire vers X.
Il n’y a pas eu débordement.
j. Quel est le nombre de routeurs traversés ?
Il y a 4 routeurs traversés, ce qui correspond à la valeur ff-fb du TTL.
k. Déduire un schéma symbolique des différents réseaux et passerelles empruntés par les
datagrammes. Représenter sur ce schéma les différentes adresses Ethernet et IP utilisées.

16
UPMC - Licence Informatique 3I014 - Réseaux

@ Ethernet : 08 00 20 0A 70 66
machine X analyseur
132.227.61.5
132.227.61.135

passerelle A @ Ethernet : 08 00 20 0A AC 96

132.227.60.32

132.227.60.30

passerelle B

192.44.65.18

192.44.65.26

passerelle C

192.70.71.5

192.70.71.6

passerelle D

192.33.159.2

192.33.159.6
machine Y

On remarque que les adresses 132.227.60 et 132.227.61 appartiennent au même réseau IP


(adresse de type B). Les autres adresses sont des adresses de type C.
En fait, le réseau source est subnetté avec le masque 255.255.255.0 : il est découpé en 255
sous-réseaux, le troisième octet spécifiant le numéro de sous-réseau.
Cela permet de diminuer la taille des tables de routage, en ayant une entrée par réseau de
destination, au lieu d’une entrée par machine de destination.
Cette adresse est une adresse de classe C (car 193 = 11000001).
Le masque de réseau correspondant à cette classe d’adresses est 255.255.255.0.
L’adresse du réseau est donc 193.55.28.0 (pour l’obtenir, il suffit de faire un ET logique
entre l’adresse de la machine et le masque du réseau).
L'adresse de diffusion restreinte est 193.55.28.255.

3. EXERCICES DE REVISION
3.1. L’hôte A diffuse sur le réseau Ethernet auquel elle est raccordée, une requête ARP afin
d’obtenir l’adresse MAC de l’hôte B ayant comme adresse IP 132.227.61.77. L’hôte B,
reconnaissant son adresse IP, retourne à l’hôte A une réponse ARP.

17
UPMC - Licence Informatique 3I014 - Réseaux

@ Ethernet : 08 00 20 AB 01 67 @ Ethernet : 08 00 20 CD 02 78
@ IP : 132.227.61.3 @ IP : 132.227.61.77

A B

Compléter les champs (simplifiés) des trames et des paquets ARP encapsulés, pour les deux
trames échangées :

Trame de requête envoyée par A


Destination Source Data : paquet ARP encapsulé (requête)
address address
Sender HA Sender IA Target HA Target IA
FF FF FF FF 08 00 20 AB 08 00 20 AB 132.227.61.3 00 00 00 00 132.227.61.77
FF FF 01 67 01 67 00 00

Trame de réponse envoyée par B


Destination Source Data : paquet ARP encapsulé (réponse)
address address
Sender HA Sender IA Target HA Target IA
08 00 20 AB 08 00 20 CD 08 00 20 CD 132.227.61.77 08 00 20 AB 132.227.61.3
01 67 02 78 02 78 01 67
3.2. Etant donnée une adresse IP xxx.xxx.xxx.xxx/yy de classe B, donner (sans justification) en
fonction de yy ;
a. le nombre de sous-réseaux adressables ;
2^(y-16)
b. le nombre de machines adressables dans chaque sous-réseau.
2^(32-y)-2
c. Remplir le tableau suivant à partir des informations données (sans justification).

@IP de la machine Classe Longueur Masque du sous- @ du sous-réseau Nombre de sous- Nombre de
du préfixe réseau réseaux créés à machines (hosts)
(réseau + partir du masque adressables dans
sous- par défaut chaque sous-
réseau) réseau

24.25.26.27 A 12
220.221.222.223 C 62
192.193.194.195 C 18
136.137.138.139 B 255.255.224.0
204.205.206.207 C 128
195.32.58.56 C 195.32.58.48

@IP Clas / Masque @ du sous-réseau Nombre de Nombre de

18
UPMC - Licence Informatique 3I014 - Réseaux

se sous-réseaux machines dans


dans la classe chaque sous-
réseau
24.25.26.27 A 12 255.240.0.0 24.16.0.0 16 2^20-2
220.221.222.223 C 26 255.255.255.192 220.221.222.192 4 62
192.193.194.195 C 18 x x x x
136.137.138.139 B 19 255.255.224.0 136.137.128.0 8 2^13-2
204.205.206.207 C 31 255.255.255.254 204.205.206.206 128 0
195.32.58.56 C 28 255.255.255.240 195.32.58.48 16 14

d. Quelles anomalies peut-on observer ?


Ligne 3 : l’adresse est de classe C mais le slash est inférieur à 24, ce qui signifie qu’il y a eu
agrégation de réseau. Je n’attends pas de réponse des étudiants, juste qu’ils notent que c’est
bizarre.
Ligne 5 : ne garder qu’un bit pour les machines ne permet pas de donner d’@ à des
machines.
e. A partir de la table de routage d’un routeur R1 donnée ci-dessous, dessiner la topologie
du réseau correspondant.

Destination Masque Passerelle Interface


192.4.153.1 255.255.255.255 R2 Eth0
192.4.153.128 255.255.255.192 R3 Eth1
128.96.33.0 255.255.255.128 * Eth0
128.96.34.0 255.255.255.128 * Eth1
128.96.40.0 255.255.255.0 R2 Eth0
127.0.0.0 255.0.0.0 * Lo

f. A quoi correspond la dernière ligne de la table de routage ?


Ligne 6 : interface de rebouclage
g. On souhaite router un paquet vers l’adresse 192.4.153.2. Expliquer précisément
comment le routeur procède pour décider où envoyer le paquet et donner le résultat?
On teste ligne par ligne en faisant un ET logique entre l’@ et le masque pour trouver la
destination. Si ça colle, tant mieux, sinon on passe à la ligne suivante.
h. La table de routage de R1 présente une anomalie : laquelle ? Comment y remédier ?
3.3. On souhaite réaliser le plan d’adressage de la société TrustIP qui dispose de 300 hôtes. Ces
hôtes sont répartis dans 5 services, notés S1, S2, S3, S4, et S5, chacun comportant 60 hôtes.
La solution retenue par le service informatique pour définir le plan d’adressage de ces hôtes
est de définir un sous-réseau par service. Pour cela, l’adresse réseau 155.217.0.0 a été
réservée.
a. Quelle est la classe de l’adresse 155.217.0.0 ? Quel est son masque de réseau ? Quelle
est l’adresse de broadcast (diffusion) sur ce réseau ? Combien d’hôtes peut-on connecter
au maximum sur ce réseau ?

19
UPMC - Licence Informatique 3I014 - Réseaux

B
255.255.0.0
155.217.255.255
65534 hôtes au max
b. On souhaite découper le réseau en 5 sous-réseaux, chacun correspondant à un service
(on rappelle que chaque service comporte 60 hôtes).
i. Quel doit être le nombre minimal de bits à affecter à la partie « hôte » de l’adresse
réseau afin de réaliser ce découpage ? En procédant ainsi, combien d’hôtes
pourrait-on rajouter au maximum dans chacun des sous-réseaux ?
ii. En déduire le masque de sous-réseau correspondant à cette configuration, i.e.
lorsque le nombre de bits attribué à la partie « hôte » est minimal. Utilisez la
notation à 4 octets x.y.z.t, puis la notation /n.
iii. Dans le cas présent, seuls 5 sous-réseaux sont pour l’instant nécessaires à
l’entreprise. Néanmoins, combien de sous-réseaux de ce type (contenant 60 hôtes
chacun) pourrait-on créer au maximum ?
6 bits sont nécessaires. On réserve alors 64 IP, dont 2 peuvent être utilisées pour
adresser d’éventuels hôtes supplémentaires
notation pointée : 255.255.255.192 ; notation /n : /26
1024 sous-réseaux
c. En considérant le fait que chaque service sera peut-être amené à modifier son nombre
d’hôtes (soit en l’augmentant, soit en le diminuant), est-ce que le découpage précédent
paraît satisfaisant ? Argumenter. Proposer une solution pour améliorer le découpage
effectué.
d. Suite à l’entêtement du service informatique, le découpage en sous-réseaux demeure
celui qui a été établi à la question b. On décide d’attribuer au service S1 l’adresse de
sous-réseau 155.217.0.0/n, où n est une valeur qui a été déterminée à la question b.
Les adresses IP des sous-réseaux des services S2, S3, S4, et S5 sont attribuées dans
l’ordre croissant, en prenant à chaque fois l’adresse de sous-réseau disponible la plus
petite (on considèrera que l’adresse 155.217.0.255 est plus petite que l’adresse
155.217.1.0).
On attribue donc à S2 l’adresse IP de sous-réseau la plus petite (après celle utilisée par
S1). Puis parmi les adresses de sous-réseau restantes, on attribue la plus petite à S3, et
ainsi de suite jusqu’à S5.
i. Donner l’adresse de sous-réseau des services S2 et S5.
S2 : 155.217.0.64/26 et 155.217.0.127/26
ii. Quelle est l’adresse de broadcast sur ces deux sous-réseaux ?
S5 : 155.217.1.0/26 et 155.217.1.63/26
e. Un petit malin dont l’adresse IP est 155.217.0.24 a eu la brillante idée de lancer 10 000
requêtes ICMP de type « Ping » à l’adresse IP de destination 155.217.0.63.
i. A quel service appartient le petit malin ? Justifier.
S1
ii. Que se passe-t-il et combien de réponses reçoit-il au total ?

20
UPMC - Licence Informatique 3I014 - Réseaux

paquets diffusés sur le sous-réseau S1 : pour un paquet il va recevoir autant de


réponses qu’il y a de machines connectées (y compris la sienne), soit 60 réponses.
Pour 10 000 paquets, il va donc recevoir 600 000 réponses.
Après vérification, l’utilisateur du poste 155.217.0.24 n’était pas l’émetteur réel de ces
« Ping ». Le véritable émetteur, finalement un grand malin, a réussi à modifier l’adresse
IP source de ses requêtes pour la remplacer par 155.217.0.24, pratiquant ainsi une
attaque appelée « Smurf » !

21
UPMC - Licence Informatique 3I014 - Réseaux

ANNEXE

TRAME ETHERNET
8 octets 6 octets 6 octets 2 46-1500 octets 4 octets
octets
Preamble Destination Source Type Data CRC
address address

§ Preamble est un préambule qui détermine le début d’une trame (de la forme
101010…101011) ;
§ Destination address est l’adresse physique (MAC) du destinataire de la trame ;
§ Source address est l’adresse physique (MAC) de l’expéditeur de la trame ;
§ Type indique le protocole de niveau supérieur encapsulé dans le champ Data de la trame.
Quelques exemples :

Type Utilisation
0800 DoD Internet (Datagramme IP)
0805 X.25 niveau 3
0806 ARP
8035 RARP
8098 Appletalk
… …

§ Data contient les données brutes de la trame à passer au protocole déterminé par le champ
Type ;
§ CRC est le code détecteur d’erreur (total de contrôle) de la trame permettant d’assurer son
intégrité.

22
UPMC - Licence Informatique 3I014 - Réseaux

DATAGRAMME IP
4 bits 4 bits 8 bits 16 bits

Version IHL TOS Total length


Identification Flags Fragment offset
TTL Protocol Header checksum
Source address
Destination address
Options
Padding

Data

§ 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 ;
§ 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é. Il est peu utilisé et sa valeur est
généralement égale à 0 ;
§ Total Length est la longueur totale du datagramme, exprimée en octets. En pratique, il
est rare qu’un datagramme IP fasse plus de 1500 octets ;
§ Identification sert en cas de fragmentation/réassemblage du datagramme. Ce champ
permet alors à l’entité réceptrice de reconnaître les fragments issus d’un même datagramme
initial et qui doivent donc faire l'objet d'un réassemblage ;
§ Flags (3 bits) est utilisé par la fragmentation. Il est composé (de gauche à droite) :
– d’un bit réservé : mis à 0 ;
– de l’indicateur DF (Don't Fragment) : mis à 1 par l’émetteur pour interdire la
fragmentation ;
– de l’indicateur MF (More Fragment) : mis à 1 pour signifier que le fragment courant est
suivi d’un autre fragment ;
§ Fragment offset (13 bits) donne la position relative du fragment dans le datagramme
initial, le déplacement étant donné en unités de 64 bits ;
§ TTL (Time To Live) donne une indication de la limite supérieure du temps de vie d'un
datagramme ;
§ Protocol indique le protocole (de niveau supérieur) utilisé pour le champ de données du
datagramme. Quelques exemples :

23
… …
octet octet octet
type N°2
N°1 lg N°3ptr @IP
UPMC - Licence Informatique 3I014 - Réseaux

Code Abréviation Nom du protocole Référence


(déc)
1 ICMP Internet Control Message Protocol [RFC792]
2 IGMP Internet Group Management Protocol [RFC1112]
6 TCP Transmission Control Protocol [RFC793]
8 EGP Exterior Gateway Protocol [RFC888]
9 IGP any private Interior Gateway Protocol
17 UDP User Datagram Protocol [RFC768]
36 XTP XTP
46 RSVP Reservation Protocol
… … …

§ 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 ;
§ Options est de longueur variable. Il sert à des fonctions de contrôle utiles dans certaines
situations. 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. Quelques options possibles :

Type Option Objet


(déc.)
0 End of Options List Utilisée si la fin des options ne coïncide pas avec la fin de
(EOOL) l'en-tête.
1 No Operation Pour aligner le début de l'option suivante sur 32 bits.
(NOP)
7 Record Route (RR) Permet d'enregistrer la route d'un datagramme (l'adresse IP de
chaque passerelle traversée).
68 Time Stamp (TS) Enregistrement de l'heure de chaque passage de passerelle.
131 Loose Source Permet à la source d’indiquer les adresses IP des passerelles
Route (LSR) par lesquels le datagramme doit passer.
137 Strict Source Route Idem LSR, si ce n'est que le chemin du datagramme ne peut
(SSR) traverser d’autres passerelles que celles indiquées.
Exemple de l'option Record Route
– Structure de l'option :

– Type = 7, Longueur = 39 octets, Ptr pointe sur la position de l’octet où le prochain


routeur traversé devra inscrire l’adresse IP de son interface de sortie utilisée pour
relayer le paquet.
§ Padding est de longueur variable : il permet d’aligner l'en-tête sur 32 bits.

24
UPMC - Licence Informatique 3I014 - Réseaux

PAQUET ARP / RARP


16 bits 16 bits
Hardware Protocol
Hlen Plen Operation
Sender HA (bytes 0–3)
Sender HA (bytes 4–5) Sender IA (bytes 0–1)
Sender IA (bytes 2–3) Target HA (bytes 0–1)
Target HA (bytes 2–5)
Target IA (bytes 0–3)

§ Hardware définit le type d'interface pour laquelle l'émetteur cherche une réponse ;
Exemple : 0x0001 pour une interface Ethernet ;
§ Protocol définit le type de protocole pour lequel une requête a été émise ;
Exemple : 0x0800 pour une adresse logique IP ;
§ Hlen définit la taille de l’adresse physique (Ethernet) en octets ;
§ Plen définit la taille de l’adresse au niveau protocolaire (IP) ;
§ Operation décrit le type d’opération à effectuer par le récepteur ;
Exemple : 0x0001 pour une requête ARP ; (0x0003 pour une requête RARP)
0x0002 pour une réponse ARP ; (0x0004 pour une réponse RARP)
§ Sender HA définit l’adresse physique (Ethernet) de l’émetteur ;
§ Sender IA définit l’adresse de niveau protocolaire (IP) demandé de l’émetteur ;
§ Target HA définit l’adresse physique (Ethernet) du récepteur ;
§ Target IA définit l’adresse de niveau protocolaire (IP) demandé du récepteur.

25
UPMC - Licence Informatique 3I014 - Réseaux

MESSAGE ICMP
Les messages ICMP sont encapsulés dans des datagrammes IP. Ils ont tous en commun le même
format pour le premier mot de 32 bits :
8 bits 8 bits 16 bits
Type Code Checksum

Type Message Objet


0 Echo Reply Réponse en écho
3 Destination Unreachable Destination inaccessible
4 Source Quench Interruption de la source
5 Redirect Redirection, changement de route
8 Echo Demande d'écho
11 Time Exceeded Temps de vie d'un datagramme dépassé
12 Parameter Problem Datagramme mal formé
13 Timestamp Demande de date d'estampillage
14 Timestamp Reply Réponse à une demande d'estampillage
15 Information Request Demande d'information
16 Information Reply Réponse à une demande d'information
17 Address Mask Request Demande de masque d'adresse
18 Address Mask Reply Réponse à une demande de masque d'adresse

A titre d’exemple, Echo et Echo Reply sont utilisés pour vérifier l’état d’activité d’une
machine. Une machine source envoie alors un message Echo à la machine destinataire dont elle
veut vérifier l’activité. Celle-ci doit alors lui répondre par un message Echo Reply. L'adresse
source dans un Echo (Type = 8) sera l'adresse destinataire du Echo Reply (Type = 0). Pour
constituer un Echo Reply, les adresses source et destination sont donc simplement inversées. Les
données reçues dans un Echo doivent être retournées dans le Echo Reply. Deux champs du
message, Identifier et Sequence Number, sont utilisés par l'émetteur de l’Echo 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.
8 bits 8 bits 16 bits
8 ou 0 0 Checksum
Identifier Sequence
Number
Optional Data

26

Vous aimerez peut-être aussi