Exercices révisions partiel
Fragmentation IP (cours 3.2) :
Exercice 1 :
Soit un datagramme IP de 3820 octets sans option devant être encapsulé dans une trame L2 de MTU
1500 octets. Combien de fragments seront générés ? Et avec quelle taille de payload chacun ?
Il faut d’abord calculer la charge utile : MTU – 20 octets d’en-tête => 1500 – 20 = 1480
La taille réelle (TR) d’un fragment sur ce réseau est : (partie entière de (TR/8)) * 8
(Partie entière (1480/8)) * 8 => 1480/8 = 185 => chaque fragment aura une taille réelle maximale de
1480 octets sur ce réseau
Calcul du nombre de fragments, et de leur taille : (taille totale du paquet – 20) / TR
o Si résultat entier : nb fragment = résultat
o Sinon, nb fragment = partie entière du résultat + 1
3820 – 20 = 3800
3800 / 1480 = 2,57 => il y aura donc 2 fragments de 1480 octets
Calcul de la taille du dernier fragment : 3800 – 2*1480 = 3800 – 2960 = 840
Le dernier fragment a une taille de 840 octets.
Exercice 2 :
Soit un datagramme IP de 820 octets sans option devant être encapsulé dans une trame L2 de MTU 210
octets. Combien de fragments seront générés ? Quelle est la valeur du champ offset du 3 ème fragment ?
1) 210 – 20 = 190
2) 190 / 8 = 23,75 => 23 * 8 = 184 => taille réelle
3) 820 – 20 = 800 => 800 / 184 = 4,34 => il y aura 4 fragments de 184 octets et 1 fragment de 64
octets
4) Offset 1 : 0 ; offset 2 : 23 ; offset 3 : 46
Exercice 3 :
Soit un hôte doit envoyer un datagramme sans option contenant 6 000 octets de données à travers un
réseau de MTU 1 800 : fragmentez le datagramme et indiquez, pour tous les fragments obtenus, les
champs taille du datagramme, taille totale, DF, MF et Offset
Le premier fragment et le troisième sont arrivés à un routeur qui doit les réexpédier par un réseau de
MTU 1000. Indiquez les champs précédents pour les fragments fabriqués par ce routeur.
1) 1800 – 20 = 1780
2) 1780 / 8 = 222, 5 => 222 * 8 = 1776 => taille réelle
3) 6000 – 20 = 5980 => 5980 / 1776 = 3,36 => 3 fragments de 1776 octets et 1 fragment de 652
octets
Offset MF DF IHL Payload LT
D 0 0 0 5/20 5980 6000
Fragmentation
D1 0 1 0 5/20 1776 1796
D2 222 1 0 5/20 1776 1796
D3 444 1 0 5/20 1776 1796
D4 666 0 0 5/20 652 672
Pour le 1er et le 3ème fragments :
Chaque fragment fait 1796 octets en taille totale, on réitère les calculs :
1) 1000 – 20 = 980
2) 980 / 8 = 122,5 => 122 * 8 = 976 => taille réelle
3) 1796 – 20 = 1776 => 1776 / 976 = 1,8 => 1 fragment 976 octets et 1 fragment de 800 octets
Offset MF DF IHL Payload LT
D 0 0 0 5/20 1776 1796
Fragmentation
D1 0 1 0 5/20 976 996
D2 122 0 0 5/20 800 820
CIDR (cours 3.2 ; [Link]
Agrégez au plus haut niveau les routes suivantes :
[Link]/24, [Link]/24, [Link]/24
10 => 0000 1010
20 => 0001 0100
30 => 0001 1110
Route : [Link]/19 [Link]
[Link]/16, [Link]/16, [Link]/16
33 => 0010 0001
65 => 0100 0001
129 => 1000 0001
Route : [Link]/8 [Link]
[Link]/16, [Link]/16, [Link]/16
64 => 0100 0000
65 => 0100 0001
92 => 0101 1100
[Link]/11 255.1110 0000.0.0 => [Link]
Lecture Paquets IPv4 :
Décoder l’en-tête des paquets IPv4 suivants (en hexadécimal) et en extraire toutes les informations
possibles :
Paquet 1 :
45 00 00 2C EC 46 00 00 80 06 50 93 10 10 9F 02 A5 8C 50 78 0A 7B 00 50
15 35 05 43 00 00 00 00 60 92 20 00 96 01 00 00 02 04 05 B4
Paquet 2 :
45 00 00 50 20 61 00 00 80 01 C5 64 C7 F5 B4 0A C7 F5 B4 09
08 00 00 1C 01 02 03 04 05 06 07 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 38
Rappel :
• version : identification de la version courante du protocole (4 pour IPv4)
• IHL (IP Header Length) : longueur de l'en-tête IP (en mots de 32 bits)
• TOS (Type Of Service) : type de service à appliquer au paquet en fonction de certains
paramètres comme le délai de transit, la sécurité
• Total length : longueur totale du datagramme (en octets)
• identification : valeur fournie par la source aidant la destination au réassemblage des
différents fragments du datagramme
• flags : utilisé par la fragmentation et composé de
• DF (Don't Fragment)
• MF (More Fragment)
• réservé
• offset : déplacement par rapport au datagramme initial (en multiple de 8 octets)
• TTL (Time To Live) : temps de vie d'un datagramme
• protocol : protocole utilisé pour le champ de données (en décimal) :
• 1 pour ICMP
• 6 pour TCP
• 17 pour UDP
• checksum : zone de contrôle d'erreur portant uniquement sur l’en-tête du datagramme
• source address : @ IP de la source du datagramme
• destination address : @ IP de la destination du datagramme
• options : fonctions de contrôle utiles dans certaines situations (estampillage temporel,
sécurité, routage particulier, etc.)
• padding : pour aligner l'en-tête sur 32 bits
Exercice sur les adresses IP :
Exercice 1 :
Une entreprise à succursale multiple utilise l’adresse IP [Link]. Pour une gestion plus fine
de ses sous-réseaux, le responsable informatique désire pouvoir affecter une adresse IP propre à
chaque sous-réseau des 10 succursales.
1) De quelle classe d’adressage s’agit-il ?
2) Donner et expliquez la valeur du masque de sous-réseau correspondant à ce besoin.
3) Combien de machines chaque sous-réseau pourra-t-il comporter et pourquoi ?
4) Quelle est l’adresse de broadcast du sous-réseau 3 (expliquez) ?
1) Adresse de classe C
2) Masque de sous réseau par défaut de classe C : [Link]
3) Il faut que (2^x) -2 > 10 => x = 4 car (2^4) - 2 = 14 ; il faut donc 4 bits de sous réseau
Le masque devient donc 255.255.255.1111 0000 = [Link]
Il y a donc 4 bits pour le nombre d’hôtes, soit (2^4) – 2 hôtes possibles, soit 14 hôtes au maximum,
par sous réseau
4) On utilise les 4 premiers bits du dernier octet pour trouver l’adresse du 3ème sous-réseau :
196.179.110.0011 0000 => on place tous les bits machine à 1 pour obtenir l’adresse de brodacast sur
ce sous-réseau : 196.179.110.0011 1111 = [Link]
Exercice 2 :
Quelles sont les classes des adresses réseaux suivantes ?
Combien d’adresses machines peuvent être utilisées par chacune ?
– [Link]
– [Link]
– [Link]
[Link];
204 = 11001100 => Classe C => (2^8)-2 adresses machines possibles (-2 à cause de l’adresse de
diffusion [Link] et de l’adresse du réseau [Link]) = 254 id machines
– [Link] ;
138 = 10001010 => Classe B => 2^16-2 = 65 534 id machines
– [Link] ;
18 = 00010010 => Classe A => 2^24-2 = 16777214 id machines
Exercice 3 :
A et B sont deux utilisateurs de la même entreprise. L’utilisateur A a pour adresse
[Link] et lit dans le fichier de configuration de son poste (commande ipconfig ou ifconfig,
par exemple) : masque de sous-réseau : [Link] et adresse routeur par défaut : [Link].
a) Quelle est l’adresse du sous-réseau auquel appartient A ?
b) Quelle est l’adresse de diffusion sur ce sous-réseau ?
L’utilisateur B a pour adresse [Link] et lit de même : masque de sous-réseau :
[Link]
c) B est-il sur le même sous-réseau que A ?
d) Peut-il utiliser la même adresse de routeur par défaut que A ?
a) 143= 10001111 de classe B. Adresse de réseau sur 2 octets. Donc A est dans le réseau [Link].
On effectue un ET logique entre les nombres 102 et 192 écrits sur 8 bits soit 01100110 ET 11000000.
Le résultat donne : 01000000=64. Donc A est dans le sous-réseau [Link] et il y a 2 bits pour
définir les sous-réseaux.
b) L’adresse de diffusion dans ce sous-réseau est [Link] (on obtient 127.255 en remplaçant
les 14 bits prévus pour l’identifiant de machine par des 1)
c) L’utilisateur B est dans le réseau [Link] mais pas dans le même sous-réseau (il est dans le
sous-réseau [Link]).
d) Il ne peut donc pas utiliser la même adresse de routeur par défaut (le routeur par défaut est
obligatoirement dans le sous-réseau de l’utilisateur)
Exercice 4 :
Supposez qu’au lieu d’utiliser 16 bits pour la partie réseau d’une adresse IP de classe B on utilise 22
bits.
– Combien de sous-réseaux est-il alors possible de définir ?
– Donnez le masque de sous-réseaux correspondant
– Combien de sous-réseaux est-il alors possible de définir ?
partie réseau = 22 bits au lieu de 16 => 6 bits sont utilisés pour la partie sous-réseau
=> nombre de sous-réseaux possibles = (2^6) - 2 = 62 (par convention on n’a pas le droit d’utiliser
000000 et 111111 à cause des risques de confusion que cela peut entraîner, d’où le –2)
– Donnez le masque de sous-réseaux correspondant.
partie réseau + partie sous-réseau = 22 bits => masque de sous-réseau contient 22 bits à 1 et le reste
(10 bits) à 0
=> 11111111.11111111.11111100.00000000 = [Link]
Exercice 5 :
1. Une société veut se raccorder à Internet. Pour cela, elle demande une adresse réseau de classe B
afin de contrôler ses 2 853 machines installées en France. Une adresse réseau de classe B sera-t-elle
suffisante ?
2. L’organisme chargé de l’affectation des adresses réseau lui alloue plusieurs adresses de classe C
consécutives au lieu d’une adresse de classe B. Combien d’adresses de classe C faut-il allouer à cette
société pour qu’elle puisse gérer tous ses terminaux installés ?
3. Finalement, la société a pu obtenir une adresse réseau de classe B. L’administrateur du réseau
choisit de découper le réseau pour refléter la structure de la société, c’est-à-dire qu’il crée autant de
sous-réseaux que la société compte de services différents. L’administrateur a donc prévu 12 sous-
réseaux, numérotés de 1 à 12. Proposez le masque de sous-réseau utilisé dans l’un des services de la
société. Combien reste-t-il de bits pour identifier les machines de chaque service ? Combien de
machines peut-on identifier dans chaque service ?
4. L’adresse réseau de la société est : [Link]. Indiquez l’adresse réseau du sous-réseau 9.
5. Dans le sous-réseau choisi, donnez l’adresse IP complète de la machine ayant comme identifiant
de machine 7.48.
6. Donnez les adresses réseau et les adresses de diffusion du sous-réseau 12.
1) Oui, car une adresse de classe B permet d’adresser (2^16)-2 (65 534 machines), soit largement
plus que le nombre de machines installées.
2) Une adresse de classe C permet d’adresser 254 machines. Il faut 12 adresses de classe C pour
adresser tous les terminaux.
3) Il faut 4 bits pour identifier 12 sous-réseaux. Le masque vaut donc : [Link].
4) Il reste 12 bits, c’est-à-dire qu’on peut adresser (2^12)-2 machines soit 4 094 machines par sous-
réseau.
5) Le sous-réseau 1 a pour adresse [Link] (les 4 bits de sous-réseau valent 0001 soit 1 en
décimal) donc le sous-réseau 9 aura pour adresse réseau : [Link] (les 4 bits de sous-réseau
valent 1001 soit 9 en décimal)
6) La machine 7.48 du sous-réseau [Link] a pour adresse IP [Link].
7) Adresse réseau du sous-réseau 12 : [Link] ; son adresse de diffusion vaut :[Link]
Exercice 6 :
Examinez les adresses IP suivantes. Donnez la classe correspondante, entourez la partie de l'adresse IP
qui serait incorrecte si elle était affectée à un hôte et expliquez pourquoi.
a. [Link]
b. [Link]
c. [Link]
d. [Link]
e. [Link]
g. [Link]
h. [Link]
i. [Link]
a. Classe B - [Link] - La valeur la plus élevée d'un octet est 255. - Adresses incorrectes
b. Classe D - [Link]
c. Classe D - [Link] - 231 est une adresse de la classe D (multicast), et n'est pas prise en charge en
tant qu'adresse d'hôte.
e. [Link] - Zéro est une adresse incorrecte. Elle signifie « ce réseau uniquement ».
g. [Link] - Les adresses commençant par 127 sont réservées aux diagnostics (adresses de bouclage).
h. Classe C - [Link] - L'identificateur d'hôte 255 indique une diffusion.
i. [Link] est une adresse de diffusion générale.
Exercice 7 :
Combien de bits seraient nécessaires pour attribuer une adresse IP à 5 milliards de personnes ?
Pourquoi ?
Si chaque personne (parmi ces 5 milliards) possède 500 appareils, combien de bits sont nécessaires pour
attribuer une adresse IP à chacun de ces appareils ?
5 milliards = 5 * 10^9 @ IP
2^33 = 8,59 * 10^9 => il nous faut 33 bits
500 * 5 milliards = 500 * 5 * 10^9 = 2,5 * 10^12
2^42 = 4,4 * 10^12 => il nous faut 42 bits