0% ont trouvé ce document utile (0 vote)
8 vues51 pages

PolyTD ResInf

Le document présente une série d'exercices corrigés sur les réseaux informatiques, couvrant les différentes couches du modèle OSI, y compris la couche physique, la couche liaison, la couche internet, la couche transport et la couche application. Chaque exercice aborde des concepts clés tels que la formule de Shannon, le débit binaire, le contrôle d'erreur et les protocoles de communication. Les solutions détaillées sont fournies pour chaque exercice, permettant une compréhension approfondie des principes fondamentaux des réseaux.

Transféré par

ellemysylamia
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues51 pages

PolyTD ResInf

Le document présente une série d'exercices corrigés sur les réseaux informatiques, couvrant les différentes couches du modèle OSI, y compris la couche physique, la couche liaison, la couche internet, la couche transport et la couche application. Chaque exercice aborde des concepts clés tels que la formule de Shannon, le débit binaire, le contrôle d'erreur et les protocoles de communication. Les solutions détaillées sont fournies pour chaque exercice, permettant une compréhension approfondie des principes fondamentaux des réseaux.

Transféré par

ellemysylamia
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CRMEF MARRAKECH-SAFI

Exercices corrigés
Réseaux informatiques
IQDOUR Radouane
Table des matières
Couche Physique ..................................................................................................................................... 3
Exercice 1 : Formule de Shannon ........................................................................................................ 3
Exercice 2 : Débit et rapidité ............................................................................................................... 4
Exercice 3 : Critère de Nyquist ............................................................................................................ 5
Exercice 4 : Signaux transmis en bande de base et par modulation ................................................... 6
Couche liaison ......................................................................................................................................... 7
Exercice 1 : Code VRC et LRC ............................................................................................................... 7
Exercice 2 : Code VRC et LRC avec erreur............................................................................................ 7
Exercice 3 : Contrôle polynomial ......................................................................................................... 8
Exercice 4 : Détection d’erreur par le code contrôle polynomial ....................................................... 8
Exercice 5 : Gestion d’acquittement ................................................................................................... 9
Exercice 6 : Trame HDLC ...................................................................................................................... 9
Couche internet ..................................................................................................................................... 11
Exercice 1 : Les classes d’adressage IP .............................................................................................. 11
Exercice 2 : Masque réseau IP ........................................................................................................... 15
Exercice 3 : Masque sous réseau ....................................................................................................... 16
Exercice 4 : Fragmentation des datagrammes IP .............................................................................. 19
Exercice 5 : Analyse d’un datagramme IP ......................................................................................... 21
Exercice 6 : routage et adressage ...................................................................................................... 22
Exercice 7 : Routage .......................................................................................................................... 24
Couche transport ................................................................................................................................... 28
Exercice 1 : Connexions TCP et établissement de connexions .......................................................... 28
Exercice 2 : Format de segment TCP ................................................................................................. 29
Exercice 3 : Comparaison entre TCP et UDP ..................................................................................... 31
Exercice 4 : Contrôle de flux et fenêtre glissante .............................................................................. 32
Exercice 5 : Séquencement et contrôle d’erreurs ............................................................................. 34
Exercice 6 : Utilisation des ports pour multiplexage ......................................................................... 35
Exercice 7 : Fermeture de connexion TCP ......................................................................................... 36
Exercice 8 : Contrôle de congestion .................................................................................................. 38
Exercice 9 : Décodage de segment TCP ............................................................................................. 39
Couche application ................................................................................................................................ 41
Exercice 1 : Fonctionnement de DHCP .............................................................................................. 41
Exercice 2 : Résolution de noms avec DNS ........................................................................................ 42
Exercice 3 : Gestion des enregistrements DNS TTL ........................................................................... 44

1
Exercice 4 : Résolution DNS inversée ................................................................................................ 45
Exercice 5 : Protocole FTP et modes de transfert ............................................................................. 46
Exercice 6 : Analyse d’une session HTTP ........................................................................................... 47
Exercice 7 : Protocole d'e-mail (SMTP, POP3, IMAP) ........................................................................ 49

2
Couche Physique

Exercice 1 : Formule de Shannon


Si on n'utilise pas de techniques de compression de données, une transmission de voix
numérisée nécessite un débit binaire de 64kbit/s.
1. En supposant que la transmission se fait par des signaux modulés de valence 32, quelle
est la bande passante disponible ?
2. Quel doit être le rapport S/N de la ligne de transmission orant un débit binaire de
64Kbit/s et possédant une largeur de bande trouvée dans la question précédente ? On
exprimera cette valeur en vraie grandeur et en décibel.
3. Appliquez la relation de Shannon à un circuit téléphonique et déterminez la capacite
maximale théorique du canal, sachant que la bande passante est de 300-3400Hz et le
rapport signal à bruit (S/N) est de 30dB.
Solution
1. Pour répondre à cette question, nous devons utiliser le théorème d'échantillonnage de
Nyquist et la relation entre la bande passante et le débit binaire pour une modulation
numérique.
Théorème de Nyquist: La fréquence d'échantillonnage doit être au moins le double de la
fréquence maximale du signal.
Relation débit binaire - bande passante: Le débit binaire est lié à la bande passante et à
l'ordre de modulation par la formule approximative :
Débit binaire ≈ 2B log2(V)
Où : B est la bande passante et V est la valence
Nous connaissons : Débit binaire = 64 kbit/s et Valence (V) = 32
En utilisant la formule, on obtient : B ≈ 6400 Hz
2. En utilisant la formule de Shannon D = B*log2(1 + S/N),
On trouve : 64*103 = 6 400*log2(1 + S/N), d’où : log2(1 + S/N) = 10,
C’est-à-dire que S/N = 210 – 1, soit 1 023
On pourra négliger le 1 devant le rapport S/B, ce qui correspond à 30 dB environ.
3. Le théorème de Shannon donne la capacité maximale d'un canal sans erreur en fonction
de sa bande passante et de son rapport signal sur bruit :
C = B * log2(1 + S/N)
Où : C est la capacité en bits par seconde, B est la bande passante en Hertz, S/N est le
rapport signal sur bruit

3
Bande passante (B) = 3400 Hz - 300 Hz = 3100 Hz
Rapport S/N = 30 dB. Pour convertir en valeur réelle, on utilise :
S/N (en valeur réelle) = 10^(S/N en dB / 10) = 10^(30/10) = 1000
En appliquant la formule de Shannon : C = 3100 * log2(1 + 1000) ≈ 3100 * 10 ≈ 31000 bits/s

Exercice 2 : Débit et rapidité


A. Soit un signal numérique dont la rapidité de modulation est 4 fois plus faible que le débit
binaire.
1. Quelle est la valence du signal ?
2. Si la rapidité de modulation du signal vaut 2400 bauds, quel est le débit binaire
disponible ?
3. Si un canal de télévision à une bande passante de 6 MHz, quel est le débit binaire
possible en bit/s si on utilise un encodage de valence 4 ?
B. Un modem fonctionne à un débit réel de 9600bit/s sur un canal caractérisé par une bande
passante (B) de 500 à 2900 Hz. On utilise une modulation de phase à 8 états avec une
amplitude bivalente pour chaque état. Calculez :
1. la valence du signal modulé
2. la rapidité de modulation maximale et celle utilisée
3. le rapport signal à bruit (dB) pour garantir le débit réel utilisé par ce modem.
Solution
A.
1 D’après la formule D = R log2V, nous trouvons : D/R = log2V soit : V = 2D/R, puisque
D=4R c’est-à-dire que la valence vaut 24=16.
2 En appliquant la même formule, nous trouvons : D = 2 400*4 = 9 600 bit/s.
3 Utilisons la capacité de Shannon pour calculer le rapport signal/bruit S/N nécessaire.
D=R*log2(V) = 2B* log2(V)
Donc D=24Mbits/s (B = 6Mhz, V=4)
B.
1. On a une modulation de phase avec 8 états et une amplitude bivalente pour chaque état.
Cela signifie qu'il y a 8 niveaux de phase et 2 niveaux d’amplitude, donc la valence V est :
V=8*2=16
La valence du signal modulé est donc 16.

4
2. Rapidité de modulation maximale et celle utilisée
Rapidité maximale = 2*B = 2* (2900-500) = 4800 bauds,
La rapidité utilisé = Débit /log2(V)=9600/4=2400 bauds
3. Rapport signal/bruit (S/N) en dB
Utilisons la capacité de Shannon pour calculer le rapport signal/bruit S/NS/NS/N nécessaire.
La formule de Shannon est :
C = B * log2(1 + S/N)
Où : C=9600 bits et B=2400 Hz
S/N = 2C/B – 1 = 15, S/N(dB)= 11.76 dB

Exercice 3 : Critère de Nyquist


Pour vous connecter à Internet, vous avez relié votre ordinateur portable au réseau grâce à
un modem de type USB, raccordé à la ligne téléphonique de votre domicile. On suppose que
votre modem a un débit maximal de 56 kbit/s et que votre ligne téléphonique possède une
bande passante comprise entre 300 et 3400Hz. Pendant votre connexion, vous constatez
que la vitesse de transfert des données réelle est 6200 octet/s.
1. Si la vitesse constatée ne provient que d'un mauvais rapport S/N de votre ligne, quelle
est la valeur de ce rapport durant votre connexion ?
2. La vitesse de transmission est maintenant de 24000bit/s. Si la rapidité de modulation
est de 4800 bauds, quelle est la valence du signal modulé ?
3. On suppose que la ligne téléphonique répond au critère de Nyquist et que la rapidité
de modulation vaut 4800 bauds. Si on utilise la rapidité de modulation maximale, quelle
est la bande passante du support ?
4. Supposons que le débit binaire indiqué reste constant et égal à 49600 bit/s pendant
toute la durée de la connexion. Combien de temps devrez-vous rester connecté pour
télécharger un fichier de 2 Mo sur votre portable ?
5. Vous utilisez désormais une connexion à 10 Mbit/s. Combien de temps resterez-vous
connecté pour télécharger le même fichier que celui de la question (4) ?
Solution
1 Le débit binaire de la ligne vaut 49 600 bit/s.
D’après le théorème de Shannon, on obtient : 49 600 = 3100*log2(1 + S/B),
Donc: log2(1 + S/B) = 16, d’où : S/B = 216 – 1.
En négligeant le 1, nous trouvons un rapport S/B = 65536, soit environ 48 dB.
2 Toujours en utilisant le théorème de Shannon,

5
Nous trouvons : 24 800 = 3100*log2(1 + S/B), soit : S/B = 28 – 1 = 255. Le rapport S/B vaut
environ 24 dB.
3 Selon le critère de Nyquist, la rapidité de modulation maximale est égale à 2 fois la bande
passante de la ligne. Celle-ci vaut donc 2 400 Hz.
4 Le temps t nécessaire pour transférer 2*106 octets est égal à : t = 2*8*106/49 600 =
322,58s soit environ 5 minutes et 22 secondes.
5 Le temps t nécessaire n’est plus que de 1,6 s (t= 2*8*106/10*106)

Exercice 4 : Signaux transmis en bande de base et par modulation


Soit le signal numérique suivant : 01110110101
1. Tracez le codage NRZ du signal numérique.
2. Tracez le codage Manchester.
3. Calculez le débit binaire du signal numérique sachant que la durée de chaque bit est de
20ms.
4. Calculez la rapidité de modulation pour chaque type de codage.
Solution
1. Codage NRZ (Non Return to Zero)
Dans ce codage, un "1" est représenté par un niveau haut et un "0" par un niveau bas. Le
signal ne revient pas à zéro entre les bits.
2. Codage Manchester
Dans ce codage, chaque bit est représenté par une transition. Un "1" est représenté par une
transition de haut en bas, et un "0" par une transition de bas en haut, au milieu de chaque
période binaire.
3. Calcul du débit binaire
Le débit binaire est le nombre de bits transmis par seconde.
Durée d'un bit = 20 ms = 0,02 s donc le débit égale 50 bits/s
4. Calcul de la rapidité de modulation
Codage NRZ: La rapidité de modulation est égale au débit binaire, car il y a une transition par
bit. Donc, la rapidité de modulation est de 50 bauds.
Codage Manchester: La rapidité de modulation est le double du débit binaire, car il y a deux
transitions par bit. Donc, la rapidité de modulation est de 100 bauds.

6
Couche liaison

Exercice 1 : Code VRC et LRC


Calculez le VRC et le LRC du message HELLO, sachant que H est codé par 0001001, E par
1010001, L par 0011001 et O par 1111001. Précisez l'ordre de transmission du message
construit.
Solution
VRC
H 0001001 0
E 1010001 1
L 0011001 1
L 0011001 1
O 1111001 1
---------------------------
LRC 0100001 0
Message transmis (bits de poids faible en premier) :
LRC + O + L + L + E + H →
01000010 11110011 00110011 00110011 10100011 00010010

Exercice 2 : Code VRC et LRC avec erreur


On désire transmettre la suite de 16 bits de données : 2BE3 (en hexadécimal), le premier bit
transmis correspondant au bit de poids faible du chiffre 2. La protection contre les erreurs se
fait par parité verticale (de parité paire) et longitudinale.
1. Donnez la suite de bits des quatre caractères et la suite binaire complète transmise au
récepteur pour ce bloc de données.
2. En supposant que, par suite d'une erreur de transmission, le 19e bit de la suite trouvée
à la question 1 soit modifié, calculer la valeur du LRC trouvée par le récepteur.
Solution

Il faut ajouter, à chaque caractère, le VRC qui lui correspond puis calculer le LRC du bloc de
données.

7
Exercice 3 : Contrôle polynomial
Soit la suite d'éléments binaires 011101000010101.
1. Calculer le bloc de contrôle d'erreur pour ces données, en supposant qu'on utilise un
code polynomial de polynôme générateur x5 + x3 + 1.
2. On reçoit le bloc suivant : 00010100001010100010. Le contrôle d'erreur utilisant le
même polynôme générateur, quelle est la décision prise par le récepteur concernant ce
bloc ?
Solution
1 Le polynôme M(x) correspondant au message est égal à x13 + x12 + x11 + x9 + x4 + x2 + 1.
Multiplions-le par x5, ce qui donne :
P(x) = x5*M(x) = x18 + x17 + x16 + x14 + x9 + x7 + x5.
Le reste R(x) vaut x4 + x2 + x + 1. Le mot de code émis est :
P(x) = x18 + x17 + x16 + x14 + x9 + x7 + x5 + x4 + x2 + x + 1.
2 Le polynôme M(x) correspondant au mot de code reçu vaut :
x16 + x14 + x9 + x7 + x5 + x + 1.
Il n’est pas identique au mot de code émis. Effectivement, la division polynomiale donne
un reste non nul, valant :
R(x) = x4 + x2 + 1.
Le récepteur refusera donc le bloc de données.

Exercice 4 : Détection d’erreur par le code contrôle polynomial


On considère la suite de données binaires : 010110110000111101010100, constituée de
deux caractères de 8 bits suivis d'un bloc de contrôle d'erreur calculé à l'aide d'un code
polynomial de polynôme générateur x8 + 1. Le récepteur détecte-t-il des erreurs de
transmission dans la suite reçue ?
Solution
Soit P(x) = x22 + x20 + x19 + x17 + x16 + x11 + x10 + x9 + x8 + x6 + x4 + x2 le polynôme représentant
les deux caractères, suivi du reste de la division polynomiale.
Le récepteur ne détecte pas d’erreur car le reste calculé par l’émetteur correspond à celui
calculé par le récepteur. En effet, les deux octets de données valent : 01011011 00001111,
c’est-à-dire que M(x) = x14 + x12 + x11 + x9 + x8 + x3 + x2 + x +1.
En multipliant M(x) par x8, on retrouve les 16 premiers bits de P(x). Si on effectuait la division
polynomiale de x8*M(x), On trouverait un reste R(x) = x6 + x4 + x2.
Le récepteur considère qu’il n’y a pas d’erreur.

8
Exercice 5 : Gestion d’acquittement
On considère deux stations A et B utilisant la version LAP-B du protocole HDLC.
Dans cet exercice, nous supposons que la liaison de données est correctement initialisée et
que le transfert de données peut démarrer dès que possible. La taille de la fenêtre
d’anticipation est 2, l’échange de données est full-duplex et les deux stations démarrent
simultanément le transfert de données. La station « B » n’a qu’une seule trame
d’informations à émettre et sa trame est sans erreur. La station « A » a trois trames
d’informations à émettre. Nous allons envisager plusieurs scénarios pour le transfert de
données de A :
1. Dans le premier cas, la première trame de A est erronée la première fois qu’elle est
émise mais elle est retransmise correctement. Donnez le diagramme correspondant
aux différentes trames échangées entre A et B.
2. Dans le deuxième cas, la deuxième trame de A est erronée la première fois qu’elle est
émise mais elle est retransmise correctement. Donnez le diagramme correspondant
aux différentes trames échangées entre A et B.
3. Dans le dernier cas, les deux dernières trames de A sont erronées la première fois
qu’elles sont émises mais elles sont retransmises correctement. Donnez le
diagramme correspondant aux différentes trames échangées entre A et B.
On considère maintenant que les deux stations A et B utilisant la version du protocole
HDLC demandant la réémission des trames erronées en utilisant le rejet sélectif SREJ.
4. En reprenant les mêmes hypothèses de travail qu’à la question a, donnez le
diagramme correspondant aux différentes trames échangées entre A et B.
5. En reprenant les mêmes hypothèses de travail qu’à la question b, donnez le
diagramme correspondant aux différentes trames échangées entre A et B.
6. En reprenant les mêmes hypothèses de travail qu’à la question c, donnez le
diagramme correspondant aux différentes trames échangées entre A et B.

Exercice 6 : Trame HDLC


1. Ecrire la suite des bits réellement transmise pour une trame SABM émise par un
équipement d'adresse A (03 en hexadécimal) vers un équipement d'adresse B (01 en
hexadécimal). Le bit n°5 (bit P) est mis à 1. On admettra que le FCS de cette trame vaut en
binaire 1101011111111011.
2. Par quelle trame répond l'équipement B ?
Solution
1. Il faut transmettre dans l’ordre : le fanion de début, l’adresse de l’équipement B, l’octet
Control (correspondant à la trame SABM, P), le FCS puis le fanion de fin. En représentant les
données de gauche à droite et en indiquant en gras les 0 insérés pour la transparence, la
suite réellement transmise est :

9
01111110 00000001 111110100 11010111101111 01111110
Fanion adresse B octet SABM FCS fanion

2. L’équipement B répond par une trame UA,F, c’est-à-dire par une trame U composée de :
fanion, adresse B7, FCS, fanion.

10
Couche internet

Exercice 1 : Les classes d’adressage IP


A) Pour chaque type de classe A, B et C
1. Calculer le nombre d'adresses IP de réseaux valides attribuables.
2. Calculer le nombre d'adresses IP de stations valides attribuables par réseau.
B) Soient les 4 adresses IP suivantes, codées sur 32 bits, ou les bits sont regroupés ici en
octets pour en faciliter la lecture :
✓ 10010011 11011000 01100111 10111110
✓ 01101100 10100100 10010101 11000101
✓ 11100000 10000001 10100010 01010001
✓ 11010110 01011100 10110100 11010001
Pour chaque adresse :
1. L'écrire en notation décimale pointée.
2. Déterminer sa classe à partir de la représentation binaire.
3. Isoler sa partie classe + [Link] de sa partie [Link] et déterminer l'écriture binaire de
l'adresse de son réseau d'appartenance.
4. Ecrire son adresse de réseau en notation décimale pointée.
C) Soient les 4 adresses IP suivantes, exprimées selon la notation décimale pointée :
✓ [Link]
✓ [Link]
✓ [Link]
✓ [Link]
Pour chaque adresse écrire en binaire le premier octet, En déduire la classe de chaque
adresse ainsi que l'adresse réseau en notation décimale pointée.
D) On sait que le premier octet d'une adresse IP suffit à déterminer la classe de cette
adresse. On sait aussi que certaines combinaisons pour l'[Link] sont interdites.
1. Déterminer, pour chaque classe, l'intervalle [min ; max] des valeurs décimales que peut
prendre le premier octet, en tenant compte des combinaisons interdites.
2. En déduire les classes des adresses dont le premier octet est : 10, 241, 192, 172, 230.
E) Certaines adresses sont réservées à un usage particulier (réseaux privés). Elles sont
utilisables localement dans un réseau mais ne doivent pas circuler sur Internet.
Elles ne sont donc attribuables à aucun réseau ni aucune station pour se relier à Internet.
Ces adresses s'étendent sur les plages suivantes :

11
✓ [Link] à [Link]
✓ [Link] à [Link]
✓ [Link] à [Link]
Reprendre les résultats obtenus à la question A(1) et recalculer le nombre d'adresses
réseaux attribuables en tenant compte de ces contraintes supplémentaires.
Solution
A)
On calcule leur nombre à partir du nombre de bits de la partie id. réseau et des
contraintes énoncées, selon la classe.
On obtient alors :
• Classe A : la partie id. réseau tient sur 7 bits et 2 combinaisons sont interdites, donc
27 - 2 soit 126 adresses de réseaux valides qui vont :
de 00000001000000000000000000000000 ([Link])
à 01111110000000000000000000000000 ([Link])
• Classe B : la partie id. réseau tient sur 14 bits et une combinaison est interdite, donc
214 - 1 soit 16 383 adresses de réseaux valides qui vont :
de 10000000000000010000000000000000 ([Link])
à 10111111111111110000000000000000 ([Link])
• Classe C : la partie id. réseau tient sur 21 bits et une combinaison est interdite, donc
221 - 1 soit 2 097 151 adresses de réseaux valides qui vont :
de 11000000000000000000000100000000 ([Link])
à 11011111111111111111111100000000 ([Link])
On calcule leur nombre à partir du nombre de bits de la partie id. station et des
contraintes énoncées (2 combinaisons sont réservées).
On obtient alors :
• Classe A : la partie id. station tient sur 24 bits, donc 224 - 2 soit 16 777 214 adresses
de stations valides par réseau
• Classe B : la partie id. station tient sur 16 bits, donc 216 - 2 soit 65 534 adresses de
stations valides par réseau
• Classe C : la partie id. station tient sur 8 bits, donc 28 - 2 soit 254 adresses de stations
valides par réseau
B)
1. 10010011 11011000 01100111 10111110 :

12
a) [Link]
b) Les deux premiers bits (10) indiquent que c’est une adresse de classe B
c) La partie id. station (les 16 derniers bits) doivent être mis à 0.
L’adresse de réseau est donc : 10010011 11011000 00000000 00000000
d) [Link]
2. 01101100 10100100 10010101 11000101 :
a) [Link]
b) Le premier bit (0) indique que c’est une adresse de classe A
c) La partie id. station (les 24 derniers bits) doivent être mis à 0.
L’adresse de réseau est donc : 01101100 00000000 00000000 00000000
d) [Link]
3. 11100000 10000001 10100010 01010001 :
a) [Link]
b) Les quatre premiers bits (1110) indiquent que c’est une adresse de classe D
c) Il n’y a pas d’id. station pour une adresse de classe D, et pas non plus d’adresse de
réseau
d) Sans objet
4. 11010110 01011100 10110100 11010001 :
a) [Link]
b) Les trois premiers bits (110) indiquent que c’est une adresse de classe C
c) La partie id. station (les 8 derniers bits) doivent être mis à 0.
L’adresse de réseau est donc : 11010110 01011100 10110100 00000000
d) [Link]
1. [Link] :
a) 139 donne 10001011 en binaire
b) Classe B
c) Adresse de réseau : [Link]
2. [Link] :
a) 194 donne 11000010 en binaire
b) Classe C
c) Adresse de réseau : [Link]

13
3. [Link] :
a) 12 donne 00001100 en binaire
b) Classe A
c) Adresse de réseau : [Link]
4. [Link] :
a) 224 donne 11100000 en binaire
b) Classe D
c) Adresse de réseau : aucune
1. Il faut prendre les adresses extrêmes dans chaque classe et s’intéresser au premier
octet :
Classe A : de 00000001 à 01111110 donc [1; 126]
Classe B : de 10000000 à 10111111 donc [128; 191]
Classe C : de 11000000 à 11011111 donc [192; 223]
Classe D : de 11100000 à 11101111 donc [224; 239]
Classe E : de 11110000 à 11111111 donc [240; 255]
2. a) 10 : classe A
b) 241 : classe E
c) 192 : classe C
d) 172 : classe B
e) 230 : classe D
1.2 Adresses IP privées
Il faut identifier les adresses de réseaux concernées et leurs classes, puis modifier les
résultats obtenus en conséquence :
• [Link] à [Link] : Ces adresses sont de classe A. Elles appartiennent au seul
réseau [Link].
Il n’y a plus que 125 adresses de réseaux valides pour la classe A.
• [Link] à [Link] :
Ces adresses sont de classe B.
Elles appartiennent aux réseaux [Link] à [Link] soit 16 adresses de réseaux
réservées.
Il n’y a plus que 16 367 adresses de réseaux valides pour la classe B.
• [Link] à [Link] : Ces adresses sont de classe C.
14
Elles appartiennent aux réseaux [Link] à [Link] soit 256 adresses de
réseaux réservées.
Il n’y a plus que 2 096 895 adresses de réseaux valides pour la classe C.
• [Link] à [Link] : Ces adresses sont de classe B. Elles appartiennent au
seul réseau [Link].
Il n’y a plus que 16 366 adresses de réseaux valides pour la classe B.

Exercice 2 : Masque réseau IP


Soit un routeur connecté à quatre réseaux par l'intermédiaire de 4 interfaces :
✓ La première d'adresse [Link] pour le réseau [Link] et de masque
[Link]
✓ La seconde d'adresse [Link] pour le réseau [Link] et de masque
[Link]
✓ La troisième d'adresse [Link] pour le réseau [Link] et de masque
[Link]
Parmi les destinations suivantes, lesquelles lui sont directement accessibles ?
[Link], [Link], [Link], [Link], [Link], [Link]
Solution
Pour déterminer si ces adresses IP sont directement accessibles par le routeur, nous devons
comparer chaque adresse avec les réseaux connectés au routeur, en utilisant l'adresse de
réseau et le masque de sous-réseau de chaque interface.
Réseaux connectés au routeur
Réseau 1 : [Link]/24 (masque [Link])
Plage d'adresses : [Link] à [Link]
Réseau 2 : [Link]/27 (masque [Link])
Plage d'adresses : [Link] à [Link]
Réseau 3 : [Link]/27 (masque [Link])
Plage d'adresses : [Link] à [Link]
Vérification des destinations
[Link]
N'appartient à aucun réseau directement connecté (plage du réseau 1 est [Link] -
[Link]). Pas directement accessible.
[Link]
Se trouve dans le réseau [Link]/24. Directement accessible.

15
[Link]
N'appartient à aucun des réseaux directement connectés (trop bas pour les plages de
réseaux 2 et 3). Pas directement accessible.
[Link]
Se trouve dans le réseau [Link]/27 (plage [Link] - [Link]).
Directement accessible.
[Link]
Appartient au réseau [Link] - [Link] (non connecté au routeur). Pas
directement accessible.
[Link]
N'appartient à aucun des réseaux directement connectés. Pas directement accessible.

Exercice 3 : Masque sous réseau


Pour les adresses suivantes :
(1) [Link]
(2) [Link]
(3) [Link]
1. La classe d'adresse/ Le masque réseau par défaut/ L'adresse réseau
2. Le masque modifié si les réseaux comportent respectivement (1) 60, (2) 13 et (3) 200
sous- réseaux.
3. L'adresse du sous-réseau et son numéro.
4. Le numéro de la machine sur le sous-réseau.
5. Les intervalles d'adresses utilisables pour les trois premiers sous-réseaux.
Solution
Pour l'adresse [Link]
1. Le premier octet de l'adresse donne en binaire 10010001. Les deux premiers bits
nous indiquent qu'il s'agit d'une classe B.
2. Le masque par défaut d'une classe B est : [Link] (/16). Nous aurons en binaire :
11111111.11111111.00000000.00000000.
3. Pour trouver l'adresse réseau par défaut, nous allons appliquer le masque réseau par
défaut à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link].
4. Pour obtenir 60 subdivisions du réseau, nous devons augmenter le masque réseau de
6 bits. En effet, 26-2 donne 62 qui est le plus petit exposant de 2 supérieur à 60. Le

16
masque de sous-réseau sera donc [Link] (/22). Nous aurons en binaire :
11111111.11111111.11111100.00000000.
5. Pour trouver l'adresse de sous-réseau, nous allons appliquer le masque de sous-
réseau à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link]. Pour
trouver le numéro du sous-réseau, nous allons uniquement considérer les bits dédiés
sous-réseau de l'adresse IP 001011. Nous aurons : 11 (Si on ne compte pas le premier
sous réseau [Link]).
6. Pour trouver le numéro de machine dans le sous-réseau, nous allons uniquement
considérer les bits dédiés à la machine de l'adresse IP. Nous aurons : 481.
7. Pour déterminer les adresses des sous-réseaux, nous allons faire varier les 6 bits de
sous-réseau de 000000 à 111111. Dans chaque sous-réseau, pour déterminer toutes les
adresses utilisables, nous allons faire varier les 10 bits de machine de 0000000001 à
1111111110. Nous aurons :
Adresse réseau : 1ère adresse utilisable : Dernière adresse utilisable :
[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]
Pour l'adresse [Link]
1. Le premier octet de l'adresse donne en binaire 11001010. Les trois premiers bits nous
indiquent qu'il s'agit d'une classe C.
2. Le masque par défaut d'une classe C est : [Link] (/24). Nous aurons en
binaire : 11111111.11111111.11111111.00000000.
3. Pour trouver l'adresse réseau par défaut, nous allons appliquer le masque réseau par
défaut à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link].
4. Pour obtenir 15 subdivisions du réseau, nous devons augmenter le masque réseau de
4 bits. En effet, 24-2 donne 14 qui est le plus petit exposant de 2 supérieur à 13. Le
masque de sous-réseau sera donc [Link] (/28). Nous aurons en binaire :
11111111.11111111.11111111.11110000.
5. Pour trouver l'adresse de sous-réseau, nous allons appliquer le masque de sous-
réseau à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link]. Pour
trouver le numéro du sous-réseau, nous allons uniquement considérer les bits dédiés
sous-réseau de l'adresse IP. Nous aurons : 9.
6. Pour trouver le numéro de machine dans le sous-réseau, nous allons uniquement
considérer les bits dédiés à la machine de l'adresse IP. Nous aurons : 5.
7. Pour déterminer les adresses des sous-réseaux, nous allons faire varier les 4 bits de
sous-réseau de 0000 à 1111. Dans chaque sous-réseau, pour déterminer toutes les

17
adresses utilisables, nous allons faire varier les 4 bits de machine de 0001 à 1110. Nous
aurons :
Adresse réseau : 1ère adresse utilisable : Dernière adresse utilisable :
[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]
Pour l'adresse [Link]
1. Le premier octet de l'adresse donne en binaire 01100001. Le premier bit nous
indique qu'il s'agit d'une classe A.
2. Le masque par défaut d'une classe A est : [Link] (/8). Nous aurons en binaire :
11111111.00000000.00000000.00000000.
3. Pour trouver l'adresse réseau par défaut, nous allons appliquer le masque réseau par
défaut à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link].
4. Pour obtenir 200 subdivisions du réseau, nous devons augmenter le masque réseau
de 8 bits. En effet, 28-2 donne 254 qui est le plus petit exposant de 2 supérieur à 200. Le
masque de sous-réseau sera donc [Link] (/16). Nous aurons en binaire :
11111111.11111111.00000000.00000000.
5. Pour trouver l'adresse de sous-réseau, nous allons appliquer le masque de sous-
réseau à l'adresse IP au travers d'une fonction "et". Nous aurons : [Link]. Pour
trouver le numéro du sous-réseau, nous allons uniquement considérer les bits dédiés
sous-réseau de l'adresse IP. Nous aurons : 124.
6. Pour trouver le numéro de machine dans le sous-réseau, nous allons uniquement
considérer les bits dédiés à la machine de l'adresse IP. Nous aurons : 9358.
7. Pour déterminer les adresses des sous-réseaux, nous allons faire varier les 16 bits de
sous-réseau de 0000000000000000 à 1111111111111111. Dans chaque sous-réseau,
pour déterminer toutes les adresses utilisables, nous allons faire varier les 16 bits de
machine de 0000000000000001 à 1111111111111110. Nous aurons :
Adresse réseau : 1ère adresse utilisable : Dernière adresse utilisable :
[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]

18
Exercice 4 : Fragmentation des datagrammes IP
Soit un hôte dont le logiciel IP doit envoyer un datagramme sans option contenant 5 000
octets de données à travers un réseau de MTU 1800 :
1. Indiquer les champs suivants du datagramme d'origine :
• HLEN
• Longueur Totale
• Bit More
• Déplacement
2. Fragmenter le datagramme et indiquer ces mêmes champs pour tous les fragments
obtenus.
3. 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. Indiquer les champs précédents pour les fragments fabriqués par ce
routeur.
Solution
Données initiales
Taille des données : 5 000 octets
MTU : 1800 octets (la taille maximale totale d'un datagramme transmis sur le réseau)
Taille de l'en-tête IP : 20 octets (car il n’y a pas d’options spéciales dans le datagramme)
1. Datagramme d'origine
Pour le datagramme d'origine :
HLEN (Header Length) : 20 octets, donc HLEN = 5 (car HLEN est mesuré en unités de 4 octets)
Longueur Totale (Total Length) : 5000 (données) + 20 (en-tête) = 5020 octets
Bit More Fragment (MF) : 0 (puisqu'il n'y a pas de fragmentation initialement)
Déplacement (Fragment Offset) : 0 (aucun décalage, car il s'agit du datagramme d'origine)
2. Récapitulatif des données initiales :
• Taille totale des données : 5000 octets
• MTU initial : 1800 octets
• En-tête IP : 20 octets
• Données par fragment avec le MTU de 1800 : 1800 - 20 = 1780 octets
Étape 1 : Fragmentation initiale (MTU = 1800 octets)
Pour le premier MTU de 1800 octets, nous fragmentons le datagramme de manière que
chaque fragment contienne un nombre d'octets de données multiple de 8.

19
Données par fragment : 1776 octets (au lieu de 1780 pour respecter la contrainte de
divisibilité par 8).
Les fragments sont donc répartis ainsi :
Fragment 1
• HLEN : 5
• Longueur Totale : 1776 + 20 = 1796 octets
• Bit More Fragment (MF) : 1 (car il y a d'autres fragments après)
• Déplacement : 0
Fragment 2
• HLEN : 5
• Longueur Totale : 1796 octets
• Bit More Fragment (MF) : 1
• Déplacement : 1776/8=222
Fragment 3
• HLEN : 5
• Longueur Totale : 1468 octets (1448 + 20)
• Bit More Fragment (MF) : 0 (dernier fragment)
• Déplacement : 222+1776/8=444
3. Nouvelle fragmentation sur le MTU 1000
Le premier et le troisième fragments vont être fragmentés à nouveau pour un MTU de 1000
octets.
Nouvelle taille des données par fragment : 976 octets (1000 - 20), qui est un multiple de 8.
Re-fragmentation du premier fragment
• Fragment 1.1 du premier fragment :
o HLEN : 5
o Longueur Totale : 996 octets (976+20)
o Bit More Fragment (MF) : 1
o Déplacement : 0
• Fragment 1.2 du premier fragment :
o HLEN : 5
o Longueur Totale : 820 octets (800 + 20)

20
o Bit More Fragment (MF) : 1
o Déplacement : 976/8=122
Re-fragmentation du troisième fragment
• Fragment 3.1 du troisième fragment :
o HLEN : 5
o Longueur Totale : 996 octets
o Bit More Fragment (MF) : 1
o Déplacement : 444
• Fragment 3.2 du troisième fragment :
o HLEN : 5
o Longueur Totale : 492 octets (472 + 20)
o Bit More Fragment (MF) : 0
o Déplacement : 444+976/8=566

Exercice 5 : Analyse d’un datagramme IP


Décoder le datagramme IPv4 suivant (en hexadécimal) et en extraire toutes les informations
possibles.
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
Solution
Pour décoder ce datagramme IPv4, commençons par analyser chaque champ, en utilisant le
format standard d'un en-tête IPv4.
45→4 = protocole IP version 4 ; 5 = longueur de l’en-tête du datagramme = 5*4 = 20 octets =
longueur par défaut d’un en-tête sans option.
00→Type Of Service = 0 = pas de service particulier (en fait avec IPv4, il n’y a pas de service
particulier. Ce champ est donc toujours nul !).
00 50→longueur totale = 0*4096 + 0*256 + 5*16 + 0*1 = 80 octets donc la longueur du
contenu du champ de données est de 80 – 20 = 60 octets.
20 61→identificateur du datagramme (ne sera utile que s’il est fragmenté).
00 00→drapeaux et déplacement = tout à zéro = datagramme non fragmenté.

21
80→durée de vie = 80 = 8*16 + 0*1 = 128 routeurs que le datagramme pourrait encore
traverser.
01→protocole transporté dans le datagramme : 1 = code du protocole ICMP.
C5 64→Bloc de contrôle d’erreur de l’en-tête.
C7 F5 B4 0A→adresse IP émetteur = [Link]
C7 F5 B4 09→adresse IP destinataire =[Link]
Les deux machines sont dans le même réseau de classe C, le réseau [Link]

Exercice 6 : routage et adressage


A) Soit le réseau suivant :

1. Ecrire les tables de routages de PC-1, R1 et R2.


2. Ecrire la table de routage de la station PC-3 en appliquant le concept de la route par
défaut.
3. Ecrire la table de routage de PC-2 sachant que l'on ne veut pas qu'il puisse
communiquer avec les PC du réseau [Link].
B) Supposons que les trois réseaux de la figure précédente soient trois réseaux Ethernet. Les
adresses des interfaces des stations et des routeurs, ainsi que leurs adresses IP associées
sont les suivantes :

Adresse IP Adresse Physique


[Link] 08 :00 :57 :f5 :8d :01
[Link] 08 :00 :57 :f5 :8d :02
[Link] 08 :00 :57 :f5 :8d :03

22
[Link] 08 :00 :57 :f5 :8d :04
[Link] 08 :00 :57 :f5 :8d :05
[Link] 08 :00 :57 :f5 :8d :06
[Link] 08 :00 :57 :f5 :8d :07

Trois trames sont nécessaires pour acheminer un datagramme émis par PC-1 à destination
de PC-3. Donner pour chaque trame les adresses physiques (MAC) source et destination ainsi
que les adresses logiques source et destination contenues dans le datagramme qu'elles
encapsulent.
Solution
Analyse du réseau : D'après le schéma fourni, nous avons :
Trois réseaux: [Link]/8, [Link]/16 et [Link]/24.
Deux routeurs: R1 et R2 et trois postes de travail: PC-1, PC-2 et PC-3.
1. Tables de routages de PC-1, R1 et R2
Table de routage de PC-1 :

Destination Masque Routeur


[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]

Table de routage de R1 :

Destination Masque Routeur


[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]

Table de routage de R2 :

Destination Masque Routeur


[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]
2. La table de routage de la station PC-3 en appliquant le concept de la route par défaut
Table de routage de PC-3 :

Destination Masque Routeur


[Link] [Link] [Link]
Default [Link] [Link]

23
3. Table de routage de PC-2 :
Destination Masque Routeur
[Link] [Link] [Link]
[Link] [Link]

B) Les adresses IP source et destination du datagramme encapsulé ne doivent pas changer,


et restent respectivement [Link] et [Link], car les routeurs ont besoin de
l’adresse de destination pour acheminer le datagramme et [Link] aura besoin de
connaître la source pour lui répondre.
En revanche les adresses physiques sources et destinations des trames changent pour
chaque trame. Elles correspondent respectivement aux adresses de la carte émettant la
trame et de celle devant la recevoir :
• Trame 1:
• Adresses de la trame :
• Source : 08:00:57:f5:8d:01
• Destination : 08:00:57:f5:8d:02
• Adresses du datagramme :
• Source : [Link]
• Destination : [Link]
• Trame 2 :
• Adresses de la trame :
• Source : 08:00:57:f5:8d:04
• Destination : 08:00:57:f5:8d:03
• Adresses du datagramme :
• Source : [Link]
• Destination : [Link]
• Trame 3 :
• Adresses de la trame :
• Source : 08:00:57:f5:8d:07
• Destination : 08:00:57:f5:8d:06
• Adresses du datagramme :
• Source : [Link]
• Destination : [Link]

Exercice 7 : Routage
Le réseau précédent de l'exercice 1 a évolué. De nouveaux réseaux et stations ont été
ajoutés :

24
1. Attribuer à chaque nouvelle station la plus petite adresse IP disponible dans son
réseau.
2. Attribuer à chaque interface des nouveaux routeurs la plus grande adresse IP
disponible dans son réseau. Si plusieurs routeurs sont connectés à un même réseau,
attribuer la plus grande adresse au routeur portant le plus grand numéro.
3. Ecrire les tables de routage des stations PC-5, PC-4 et PC-8 ainsi que celle de PC-2
dont on ne veut toujours pas qu'il communique avec les stations du réseau [Link].
Utiliser autant que possible des routes par défaut.
4. On suppose que R3 a une route par défaut vers R4 et que R4 a une route par défaut
vers R1. Ecrire les tables de routage des routeurs R1, R3, R4 et R5.
Solution
1. Les adresses IP des stations :
PC4 : [Link]
PC5 : [Link]
PC6 : [Link]
PC7 : [Link]
PC8 : [Link]
2. Les adresses IP des interfaces des nouveaux routeurs :

25
R1 : [Link]
R3 : [Link]
R3 : [Link]
R3 : [Link]
R4 : [Link]
R4 : [Link]
R5 : [Link]
R5 : [Link]

3. Les tables de routage des stations PC-5, PC-4 et PC-8 et de PC-2

PC5 :
Destination Masque Routeur
[Link] [Link]
Default [Link] [Link]

PC4
Destination Masque Routeur
[Link] [Link]
Default [Link] [Link]

PC8
Destination Masque Routeur
[Link] [Link]
Default [Link] [Link]

PC2
Destination Masque Routeur
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]

4. Les tables de routage des routeurs R1, R3, R4 et R5

R1 :

Destination Masque Routeur


[Link] [Link]

26
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]
[Link] [Link]

R3

Destination Masque Routeur


[Link] [Link]
[Link] [Link]
[Link] [Link]
Default [Link] [Link]

R4

Destination Masque Routeur


[Link] [Link]
[Link] [Link]
[Link] [Link]
Default [Link] [Link]

R5

Destination Masque Routeur


[Link] [Link]
[Link] [Link]
Default [Link] [Link]

27
Couche transport

Exercice 1 : Connexions TCP et établissement de connexions


Un client souhaite se connecter à un serveur via TCP.
1. Expliquez le processus de handshake en trois étapes utilisé pour établir cette connexion.
2. Dessinez le chronogramme de communication entre le client et le serveur lors de cette
connexion, en incluant les états de connexion (SYN_SENT, SYN_RECEIVED, etc.).
3. Quelles informations sont échangées lors du handshake ?
4. Quel est le rôle du numéro de séquence initial ?
5. Que se passe-t-il si un paquet est perdu lors du handshake ?
Solution
1. Un client qui souhaite se connecter à un serveur utilise le three-way handshake de TCP
pour établir une connexion fiable. Voici un résumé du processus :
SYN (synchronisation) :
Le client envoie un segment SYN au serveur. Ce segment contient un numéro de séquence
initial généré par le client, disons 1000. Ce numéro de séquence permettra de synchroniser
la communication.
État du client : SYN_SENT.
SYN-ACK (synchronisation et accusé de réception) :
Le serveur, en recevant le SYN, envoie un segment SYN-ACK au client. Ce segment contient
un numéro d'acquittement égal au numéro de séquence du client + 1 (c’est-à-dire 1001 dans
cet exemple) pour indiquer qu'il a bien reçu le SYN. Il inclut aussi son propre numéro de
séquence initial, disons 2000.
État du serveur : SYN_RECEIVED.
ACK (accusé de réception) :
Le client reçoit le SYN-ACK et répond avec un segment ACK, dont le numéro d’acquittement
est le numéro de séquence du serveur + 1 (2001 dans cet exemple). La connexion est
maintenant établie, et les données peuvent être échangées.
État du client et du serveur : ESTABLISHED.
2. Diagramme
Client Serveur
SYN (Seq=1000) -->
<-- SYN-ACK (Seq=2000, Ack=1001)

28
ACK (Seq=1001, Ack=2001) -->
1. Lors du three-way handshake, le client et le serveur échangent leurs numéros de
séquence initiaux (SYN) et des accusés de réception (ACK). Cela permet de synchroniser les
numéros de séquence et de vérifier que les deux parties sont prêtes pour l’échange de
données.
2. Le numéro de séquence initial est essentiel pour établir l’ordre des paquets et assurer la
fiabilité de la transmission. Il sert de point de départ pour suivre l’ordre des segments TCP et
détecter les doublons ou les pertes de paquets. Chaque segment TCP envoyé ou reçu aura
un numéro de séquence unique basé sur cette valeur initiale.
3. Si un paquet est perdu pendant le three-way handshake, TCP est conçu pour détecter
cette perte. Par exemple, si le client ne reçoit pas de SYN-ACK en réponse à son SYN, il
réémettra le segment SYN après un certain délai. Ce mécanisme de retransmission garantit
que la connexion est établie de manière fiable, même en cas de perte de paquets.
Exercice 2 : Format de segment TCP
Étant donné un segment TCP contenant les informations suivantes :
Numéro de port source : 50400
Numéro de port de destination : 80
Numéro de séquence : 125001
Numéro d'acquittement : 255001
Données : "GET / HTTP/1.1"
1. Expliquez chaque champ du segment
2. Analysez comment TCP utilise ces informations pour établir la connexion et transporter les
données.
3. Calculez la taille totale du segment, en tenant compte de l’en-tête.
Solution
1. Explication de chaque champ du segment TCP :
Numéro de port source : 50400
Il s'agit du port de l'application cliente qui initie la connexion. Dans ce cas, l'application sur le
client (probablement un navigateur Web) utilise le port 50400 pour communiquer. Ce port
est souvent choisi dynamiquement.
Numéro de port de destination : 80
Il s'agit du port standard pour les connexions HTTP sur les serveurs Web. Le port 80 indique
que le client envoie une requête HTTP au serveur, ce qui déclenchera une connexion avec le
protocole HTTP.

29
Numéro de séquence : 125001
Le numéro de séquence est essentiel pour le suivi de l'ordre des données. Dans ce cas, il
indique le premier octet des données envoyées. Si des segments suivants sont envoyés, leurs
numéros de séquence seront calculés en ajoutant la taille des données envoyées à 125001.
Numéro d’acquittement : 255001
Ce champ est utilisé pour accuser réception des données. Ici, le client indique qu'il a reçu les
données jusqu’au numéro de séquence 255000 inclus et attend les données à partir de
l’octet 255001.
Données : "GET / HTTP/1.1"
Cette chaîne est une requête HTTP demandant la page racine du serveur Web (GET /). Elle
utilise la version HTTP 1.1. TCP transporte cette requête comme un bloc de données en la
segmentant si nécessaire, afin d'assurer une transmission sans erreur.
2. Analyse
Établissement de la connexion :
TCP établit une connexion par un processus dit "Three-Way Handshake". Le client envoie
d'abord un segment avec le drapeau SYN pour initier la connexion. Ensuite, le serveur
répond avec un segment SYN-ACK, confirmant l'ouverture de la connexion. Enfin, le client
envoie un ACK pour confirmer la réception.
Transport des données :
Le numéro de séquence permet au récepteur de réassembler les segments dans le bon
ordre. Les numéros de séquence et d’acquittement assurent que les données sont bien
reçues. Si des segments sont manquants ou en double, TCP gère la retransmission et la
suppression.
3. Calcul de la taille totale du segment
Taille de l’en-tête TCP :
L'en-tête TCP standard mesure 20 octets.
Taille des données :
La requête "GET / HTTP/1.1" compte 14 caractères (ou 14 octets).
Taille totale du segment :
Taille totale = Taille de l'en-tête + Taille des données
Taille totale = 20 octets + 14 octets = 34 octets

30
Exercice 3 : Comparaison entre TCP et UDP
1. Dans une application de streaming vidéo en direct, comparez l’utilisation des protocoles
TCP et UDP. Donnez des arguments en faveur et en défaveur de chaque protocole pour cette
application, en termes de latence, de fiabilité, de contrôle de flux, et de gestion des erreurs.
2. En fonction de vos réponses, lequel de ces protocoles serait plus adapté ? Justifiez votre
choix.
Solution
1. Comparaison entre TCP et UDP pour le streaming vidéo en direct
Latence
TCP : TCP introduit une certaine latence car il utilise des mécanismes de contrôle de flux,
d’acquittement et de retransmission pour assurer la fiabilité. Lorsqu’une perte de paquets
survient, TCP retarde la transmission jusqu’à ce que le paquet perdu soit renvoyé,
augmentant ainsi la latence.
UDP : UDP est beaucoup plus rapide en termes de latence car il n’effectue pas de
retransmission de paquets et ne nécessite pas d’acquittements. Il envoie les paquets sans
vérification, ce qui réduit le délai global et est crucial pour le streaming en direct où la
continuité est souvent plus importante que la perfection.
Fiabilité
TCP : TCP est fiable car il assure la retransmission des paquets perdus, la réception dans
l’ordre correct, et utilise des numéros de séquence pour garantir l’intégrité des données.
Cependant, cette fiabilité peut causer des décalages si des retransmissions sont nécessaires,
rendant TCP moins adapté aux applications en temps réel.
UDP : UDP n'est pas fiable car il ne gère ni la retransmission ni l’ordre des paquets. Certains
paquets peuvent être perdus sans notification, mais pour le streaming vidéo, quelques
pertes de paquets sont souvent acceptables car elles n’entraînent pas de rupture majeure
dans la transmission visuelle.
Contrôle de flux
TCP : TCP utilise un contrôle de flux pour réguler la quantité de données envoyées entre
l’émetteur et le récepteur, en fonction de la capacité du récepteur à recevoir les données.
Cela peut être avantageux dans des réseaux congestionnés, mais pour le streaming en direct,
cela risque d’introduire des retards.
UDP : UDP n’a pas de mécanisme de contrôle de flux, ce qui permet une transmission rapide
et continue des données, mais risque de causer une surcharge dans les réseaux très occupés,
augmentant le risque de pertes de paquets.
Gestion des erreurs

31
TCP : TCP gère les erreurs en vérifiant l'intégrité des paquets à l'aide de sommes de contrôle
et en demandant la retransmission de tout paquet corrompu. Cela garantit que les données
sont reçues correctement, mais augmente la latence si des erreurs doivent être corrigées.
UDP : UDP effectue un contrôle d’erreurs de base avec une somme de contrôle pour les en-
têtes, mais n’assure pas la retransmission en cas d’erreur. Cette approche est souvent
suffisante pour le streaming vidéo, car quelques artefacts ou pertes mineures ne perturbent
généralement pas l'expérience visuelle globale.
2. Quel protocole est le plus adapté au streaming vidéo en direct ?
UDP serait généralement plus adapté au streaming vidéo en direct. Ce choix est justifié par
les caractéristiques suivantes :
Faible latence : UDP minimise les délais de transmission, ce qui est crucial pour une
expérience fluide en temps réel.
Tolérance aux pertes de paquets : Dans le streaming vidéo, quelques pertes de paquets sont
acceptables et ne provoquent pas de dégradation majeure de la qualité.
Absence de contrôle de flux et retransmission : Ces caractéristiques permettent d’éviter des
retards inutiles, rendant UDP idéal pour des applications où la vitesse prime sur la fiabilité.
Exercice 4 : Contrôle de flux et fenêtre glissante
Un serveur envoie des données à un client via TCP avec une taille de fenêtre initiale de 1000
octets et un débit de 500 octets par seconde.
1. Décrivez le fonctionnement de l'algorithme de fenêtre glissante dans ce contexte.
2. Si la fenêtre est pleine, que se passe-t-il ?
3. Comment le serveur réagit-il si le client signale une réduction de la taille de fenêtre à 500
octets ?
4. Que se passe-t-il si un segment est perdu pendant la transmission ?
Solution
1. Fonctionnement de l'algorithme de fenêtre glissante
L'algorithme de fenêtre glissante permet de réguler la quantité de données que le serveur
peut envoyer avant d'attendre un acquittement du client. Il maintient une "fenêtre" de taille
variable, qui représente la quantité de données pouvant être envoyée sans attendre un
accusé de réception (ACK).
Dans ce contexte :
Taille initiale de la fenêtre : 1000 octets
Débit : 500 octets par seconde
Étape 1 : Envoi initial de données

32
Le serveur commence par envoyer 1000 octets de données au client (par exemple, en deux
paquets de 500 octets chacun). Ces paquets sont envoyés sans attendre d’acquittement car
ils respectent la limite de la fenêtre de 1000 octets.
Étape 2 : Réception et acquittement
Le client reçoit les premiers 500 octets et envoie un accusé de réception (ACK) pour ces
octets au serveur.
Cela "libère" 500 octets dans la fenêtre, permettant au serveur d'envoyer 500 octets
supplémentaires.
Étape 3 : Fenêtre qui glisse
Le serveur, après avoir reçu l’ACK pour les premiers 500 octets, peut maintenant envoyer
500 octets supplémentaires sans dépasser la taille de la fenêtre.
Cela signifie que la "fenêtre" a glissé vers les 500 octets suivants, en maintenant la limite
globale de 1000 octets.
2. Si la fenêtre est pleine, que se passe-t-il ?
Quand la fenêtre est pleine, cela signifie que le serveur a atteint la limite de 1000 octets
autorisés et ne peut plus envoyer de nouvelles données avant de recevoir des acquittements
du client. En l'absence d'acquittements, le serveur reste bloqué, ce qui empêche l'envoi de
nouveaux paquets. Il attend que le client libère de l’espace dans la fenêtre en acquittant les
paquets précédents.
3. Comment le serveur réagit-il si le client signale une réduction de la taille de la fenêtre à
500 octets ?
Si le client réduit la taille de la fenêtre à 500 octets, le serveur ajuste son envoi pour ne pas
dépasser cette nouvelle limite. Il ne pourra donc envoyer que 500 octets de données à la fois
avant d'attendre un acquittement du client. Cette réduction pourrait être due à une baisse
de la capacité du client à recevoir les données, ce qui signale au serveur de ralentir son envoi
afin d’éviter une surcharge.
4. Que se passe-t-il si un segment est perdu pendant la transmission ?
En cas de perte d’un segment :
Le client n’envoie pas d’acquittement pour ce segment.
Après un certain délai, le serveur détecte l’absence d’acquittement grâce à son
temporisateur (timer) et retransmet le segment perdu.
TCP garantit ainsi que tous les segments sont bien reçus par le client, même en cas de perte
temporaire de certains paquets.

33
Exercice 5 : Séquencement et contrôle d’erreurs
Un fichier volumineux est transféré entre deux hôtes via TCP. Le numéro de séquence initial
est 1000 et la taille des segments est de 500 octets.
1. Quels sont les numéros de séquence des trois premiers segments ?
2. Si le troisième segment est perdu, comment le protocole TCP le détecte-t-il et réagit-il ?
3. Expliquez comment le mécanisme de ré-émission dans TCP contribue à la fiabilité de la
transmission.
Solution
1. Numéros de Séquence des Trois Premiers Segments
Le numéro de séquence TCP représente l’identifiant du premier octet dans un segment.
Étant donné :
Numéro de séquence initial : 1000
Taille de chaque segment : 500 octets
Les numéros de séquence pour les trois premiers segments sont :
Premier segment : commence avec le numéro de séquence 1000 et couvre 500 octets (1000
à 1499). Le numéro de séquence pour le segment suivant sera 1500.
Deuxième segment : commence à 1500 et couvre 500 octets (1500 à 1999). Le numéro de
séquence du prochain segment sera 2000.
Troisième segment : commence à 2000 et couvre 500 octets (2000 à 2499).
2. Perte du Troisième Segment et Réaction de TCP
Si le troisième segment (numéro de séquence 2000) est perdu, TCP détecte cette perte grâce
au mécanisme d’acquittement (ACK).
Le destinataire envoie des acquittements pour les segments reçus.
Après avoir reçu le deuxième segment, l’hôte enverra un acquittement (ACK) avec le numéro
2000, indiquant qu’il attend le segment à partir de 2000.
Comme le segment 2000 est perdu, le destinataire continuera d’envoyer des ACKs dupliqués
avec le numéro 2000 pour signaler qu’il attend toujours cet octet.
TCP utilise une technique appelée retransmission rapide. Lorsqu’il reçoit trois ACKs
dupliqués pour le même numéro de séquence, TCP suppose que le segment a été perdu et le
retransmet sans attendre l'expiration du temporisateur.
3. Mécanisme de Ré-émission dans TCP et Fiabilité de la Transmission
Le mécanisme de ré-émission de TCP repose sur :

34
Temporisateur de ré-émission : Si un ACK pour un segment envoyé n’est pas reçu avant
l’expiration du temporisateur, TCP retransmet le segment perdu.
Acquittements dupliqués : La réception de trois ACKs dupliqués signale une perte probable
de segment et déclenche la retransmission rapide.
Grâce à ce mécanisme :
Fiabilité : TCP garantit que chaque segment est reçu dans l’ordre correct, en renvoyant
automatiquement les segments manquants.
Contrôle d’erreurs : En cas de perte ou d’erreur, TCP ajuste le débit pour éviter de
surcharger le réseau et optimise la ré-émission.
Ce mécanisme de ré-émission assure ainsi une transmission fiable et ordonnée des données,
même en cas de pertes temporaires dans le réseau.
Exercice 6 : Utilisation des ports pour multiplexage
1. Expliquez le rôle des ports dans la couche Transport et comment ils permettent le
multiplexage et la démultiplexage des connexions.
2. Si un ordinateur A avec l’adresse IP [Link] et port 12345 se connecte à un serveur B
sur [Link] au port 80, comment chaque partie identifie-t-elle l’autre ?
3. Que se passe-t-il si plusieurs applications sur le même hôte tentent d’utiliser le même port
en même temps ?
Solution
1. Rôle des Ports dans la Couche Transport
Dans la couche Transport (TCP et UDP), les ports sont utilisés pour identifier des applications
spécifiques au sein d’un système hôte. Chaque connexion est associée à une paire
d’adresses IP (source et destination) et une paire de numéros de ports (source et
destination). Les ports permettent de :
Multiplexage : Plusieurs applications peuvent envoyer et recevoir des données
simultanément sur un même hôte. Chaque application s’identifie avec un numéro de port
unique, ce qui permet de faire transiter des données via différentes connexions sans qu’elles
se mélangent.
Démultiplexage : Lorsqu’un segment arrive sur un hôte, le protocole de transport utilise le
numéro de port pour diriger les données au bon processus applicatif, assurant ainsi que
chaque application reçoit les segments qui lui sont destinés.
2. Identification de chaque partie dans une connexion entre A et B
Si un ordinateur A (IP : [Link], port source : 12345) se connecte à un serveur B (IP :
[Link], port destination : 80), la connexion sera identifiée comme suit :

35
Pour l’hôte A : La connexion est identifiée par l’adresse IP de destination [Link] et le port
de destination 80 (port standard pour le serveur HTTP).
Pour le serveur B : La connexion est identifiée par l’adresse IP source [Link] et le port
source 12345.
Ces informations sont incluses dans l’en-tête du segment TCP ou UDP, permettant à chaque
hôte de distinguer la connexion de toute autre session réseau.
3. Conflit de ports lors de l'utilisation multiple du même port par différentes applications
Si plusieurs applications sur un même hôte tentent d'utiliser le même numéro de port en
même temps :
Conflit de port : Un même port ne peut pas être associé à plusieurs applications
simultanément sur le même hôte. Si une application a déjà réservé un port spécifique
(comme 80 pour un serveur web), aucune autre application ne pourra utiliser ce port tant
qu'il est occupé.
Gestion par le système d'exploitation : Le système d’exploitation empêche ce conflit en ne
permettant pas à plusieurs processus de lier un même port. Les applications doivent soit
utiliser un port différent ou, dans le cas de ports dynamiques, laisser le système attribuer un
port disponible.
Multiplexage dynamique : Pour les connexions sortantes (ex. : navigateur web), le système
d’exploitation assigne souvent des ports de manière dynamique (numéros élevés) pour
éviter les conflits, ce qui permet à plusieurs applications d’ouvrir des connexions sans
interférence.
Exercice 7 : Fermeture de connexion TCP
1. Expliquez le processus de terminaison d’une connexion TCP en décrivant le processus de
fermeture à quatre segments (FIN, FIN-ACK).
2. Que se passe-t-il si le client décide d'interrompre brutalement la connexion sans envoyer
de segment FIN ?
3. Dessinez le chronogramme de ce processus et expliquez pourquoi TCP utilise une
méthode en quatre étapes pour la terminaison.
Solution
1. Processus de fermeture de connexion TCP : Les quatre segments
Le client envoie un segment FIN : Lorsqu'il a terminé de transmettre les données, le client
envoie un segment avec le drapeau FIN activé pour signaler au serveur qu'il n'a plus de
données à envoyer.
Le serveur répond par un segment ACK : À la réception du segment FIN, le serveur répond
par un segment ACK pour accuser réception de la demande de fin de connexion. Cela signifie

36
qu’il a reçu la demande de fin, mais qu’il n’a pas encore terminé l’envoi de ses propres
données.
Le serveur envoie un segment FIN : Une fois qu'il a fini de transmettre toutes ses données, le
serveur envoie un segment FIN au client pour indiquer qu’il n’a plus de données à envoyer
non plus.
Le client envoie un segment ACK final : Le client répond par un dernier segment ACK pour
confirmer la réception du FIN du serveur. À ce stade, les deux parties ont échangé leurs
intentions de terminer la connexion, et celle-ci est maintenant fermée.
2. Que se passe-t-il si le client interrompt brutalement la connexion ?
Si le client décide d'interrompre la connexion sans envoyer de segment FIN (par exemple, si
l'application est brutalement fermée), le serveur n'est pas informé de la fin de la connexion.
Il reste dans l'attente de nouveaux segments du client et peut éventuellement maintenir des
ressources inutilisées pendant un certain temps avant que le système ne détecte la fin de la
connexion par un timeout. Cette interruption brutale peut entraîner des ressources
inutilisées, une mémoire consommée inutilement, ou une confusion sur l'état de la
connexion.
3. Chronogramme du processus de fermeture de connexion TCP
Client Serveur
|-------- FIN ---------> | (Étape 1 : Client signale fin de transmission)
|<------- ACK --------- | (Étape 2 : Serveur accuse réception)
| |
|<------- FIN --------- | (Étape 3 : Serveur signale fin de transmission)
|-------- ACK ---------> | (Étape 4 : Client confirme la fin de transmission)
Pourquoi TCP utilise une méthode en quatre étapes pour la terminaison :
Cette méthode en quatre étapes est utilisée pour garantir une fermeture ordonnée et fiable.
Le processus en deux segments (FIN et ACK) par chaque côté permet d’assurer que :
Chacune des parties a bien transmis toutes les données qu'elle voulait envoyer.
Les données en transit sont bien reçues avant la fermeture de la connexion.
Les segments ACK évitent toute ambiguïté, garantissant que chaque étape est confirmée
avant de passer à la suivante.
Cette méthode est particulièrement utile pour les communications réseau où la perte de
données peut être préjudiciable, car elle garantit que la fermeture de la connexion ne se fait
qu’après la confirmation que toutes les données ont bien été envoyées et reçues.

37
Exercice 8 : Contrôle de congestion
Un utilisateur télécharge un fichier volumineux depuis un serveur à travers un réseau TCP.
Supposons qu’il y ait une congestion sur le réseau.
1. Décrivez le fonctionnement de l'algorithme de contrôle de congestion de TCP.
2. Comment le mécanisme de ralentissement multiplicatif fonctionne-t-il en cas de
congestion?
3. À quoi sert la phase de “slow start” et comment fonctionne-t-elle ?
Solution
1. Fonctionnement de l’algorithme de contrôle de congestion de TCP
TCP utilise plusieurs mécanismes pour gérer la congestion, notamment la phase de
démarrage lent (slow start), l’évitement de congestion, et le ralentissement multiplicatif en
cas de congestion. L'objectif est de détecter la congestion et de réduire le flux de données
lorsque le réseau est surchargé, puis de le ré-augmenter prudemment.
1. Ralentissement multiplicatif (Congestion Avoidance et Multiplicative Decrease)
Le ralentissement multiplicatif se produit lorsque TCP détecte une congestion, généralement
en observant des délais de réponse trop longs ou la perte d'un segment. Lorsqu’une
congestion est détectée :
TCP réduit la taille de la fenêtre de congestion (congestion window ou cwnd) de moitié. Par
exemple, si la fenêtre de congestion était de 12 segments, elle est réduite à 6 segments.
Cette réduction de la cwnd entraîne une réduction immédiate du débit de transmission,
soulageant la charge sur le réseau.
Après cette réduction, TCP commence une phase de croissance plus lente de la fenêtre de
congestion pour éviter de saturer rapidement le réseau.
En réduisant la cwnd de moitié, TCP parvient à un équilibre où le flux de données diminue, et
la congestion est allégée sans pour autant arrêter complètement la transmission.
2. Phase de démarrage lent (Slow Start)
La phase de démarrage lent intervient au début d'une connexion ou après une période de
congestion. Son rôle est de permettre à TCP de découvrir la capacité du réseau
progressivement, en augmentant prudemment la taille de la fenêtre de congestion.
Au début de la connexion, la cwnd est petite (en général, un ou deux segments).
Pour chaque segment reçu sans erreur, la taille de la cwnd double à chaque intervalle de RTT
(Round-Trip Time), entraînant une croissance exponentielle du débit de transmission.
Cette croissance rapide se poursuit jusqu'à ce que la cwnd atteigne un seuil appelé slow start
threshold (ou ssthresh), ou jusqu'à ce qu'une perte de segment indique une congestion. Une
fois le seuil atteint, la croissance devient linéaire pour éviter de saturer le réseau.

38
Par exemple, si le ssthresh est fixé à 16 segments, alors pendant la phase de slow start, la
taille de la cwnd augmentera de 1 à 2, puis 4, puis 8, puis 16 segments, puis passera à une
croissance linéaire une fois le seuil atteint.
2. Comment fonctionne le mécanisme de ralentissement multiplicatif en cas de congestion ?
En cas de congestion, TCP divise la taille de la fenêtre de congestion par deux. Cela réduit
significativement la vitesse de transmission, soulageant le réseau. Une fois que le débit a été
réduit, TCP recommence à augmenter progressivement la taille de la cwnd, en essayant de
ne pas re-saturer le réseau. Ce processus assure un équilibre entre le débit et la capacité du
réseau.
3. À quoi sert la phase de démarrage lent (slow start) et comment fonctionne-t-elle ?
La phase de slow start permet à TCP de démarrer la connexion à un faible débit pour éviter
de surcharger immédiatement le réseau. La cwnd double à chaque cycle RTT pour tester la
capacité du réseau. Une fois que le seuil ssthresh est atteint, TCP passe à une augmentation
linéaire de la cwnd pour ne pas saturer le réseau. Cela aide TCP à évaluer prudemment le
débit maximal que le réseau peut supporter sans congestion.
Exercice 9 : Décodage de segment TCP
Décodez le segment TCP ci-après, donné en hexadécimal :
00 15 0F 87 9C CB 7E 01 27 E3 EA 01 50 12 10 00 DF 3D 00 00
Solution
Pour décoder ce segment TCP donné en hexadécimal, il faut interpréter chaque champ du
segment TCP selon le format standard.
Détaillons chaque champ :
1. Numéro de port source (00 15 en hexadécimal) :
001516=2110
o Port source : 21
2. Numéro de port de destination (0F 87 en hexadécimal) :
0F8716=397510
o Port de destination : 3975
3. Numéro de séquence (9C CB 7E 01 en hexadécimal) :
9CCB7E0116=262420454510
o Numéro de séquence : 2624204545
4. Numéro d'acquittement (27 E3 EA 01 en hexadécimal) :
27E3EA0116=66987315310

39
o Numéro d'acquittement : 669873153
5. Drapeaux et décalage de données (50 en hexadécimal) :
o Décalage de données : 5 (5 * 4 = 20 octets d'en-tête)
o Drapeaux (en binaire) : 0001 0000
▪ Signifie que le bit ACK est activé, indiquant un acquittement.
6. Taille de la fenêtre (12 10 en hexadécimal) :
121016=462410
o Taille de la fenêtre : 4624 octets
7. Checksum (DF 3D en hexadécimal) :
o Checksum : Valeur en hexadécimal DF 3D
8. Pointeur urgent (00 00 en hexadécimal) :
o Pointeur urgent : 0 (aucune donnée urgente)

40
Couche application

Exercice 1 : Fonctionnement de DHCP


Un serveur DHCP dispose de l'adresse réseau [Link]/24 avec la plage d'adresses allant
de [Link] à [Link].
1. Décrivez les étapes d'une transaction complète pour qu'une machine cliente obtienne une
adresse IP avec DHCP.
2. Expliquez ce que contiennent les messages DHCPDISCOVER, DHCPOFFER, DHCPREQUEST,
et DHCPACK.
3. Quelle serait la configuration IP (adresse IP, masque de sous-réseau, passerelle par défaut
et DNS) attribuée si le serveur fournit une adresse IP ?
Solution
1. Un serveur DHCP permet d’attribuer automatiquement une adresse IP à une machine
cliente en utilisant le protocole DHCP. Voici les étapes d'une transaction complète et les
détails des messages échangés.
Étapes de la Transaction DHCP
La transaction DHCP pour attribuer une adresse IP se déroule en quatre étapes principales :
Message DHCPDISCOVER (étape 1) :
Le client envoie un message de diffusion (broadcast) DHCPDISCOVER pour signaler qu’il a
besoin d’une adresse IP. Ce message est envoyé à l’adresse de diffusion [Link] car
le client n’a pas encore d’adresse IP.
Ce message inclut généralement l’identifiant matériel du client (par exemple, l’adresse MAC)
pour que le serveur puisse l’identifier.
Message DHCPOFFER (étape 2) :
En réponse, le serveur DHCP envoie un DHCPOFFER. Ce message propose une adresse IP
disponible au client ainsi que des informations supplémentaires comme le masque de sous-
réseau, la passerelle par défaut et les serveurs DNS.
Ce message est aussi envoyé en diffusion si le client n’a pas encore d’adresse IP.
Message DHCPREQUEST (étape 3) :
Le client choisit une offre (s’il y a plusieurs serveurs DHCP) et envoie un DHCPREQUEST pour
accepter cette adresse IP proposée par le serveur. Ce message confirme le choix du client et
informe les autres serveurs DHCP que leur offre n’a pas été retenue.
Message DHCPACK (étape 4) :

41
Le serveur DHCP confirme l’allocation de l’adresse IP en envoyant un DHCPACK au client. Ce
message contient l’adresse IP attribuée et les autres configurations réseau (masque de sous-
réseau, passerelle, DNS, etc.).
Une fois le message DHCPACK reçu, le client configure son interface réseau avec les
informations fournies.
2. Contenu des Messages DHCP
DHCPDISCOVER : Contient l’identifiant du client (comme l’adresse MAC) pour que les
serveurs DHCP puissent reconnaître la machine demandeuse.
DHCPOFFER : Contient l’adresse IP proposée, le masque de sous-réseau, la passerelle par
défaut, les serveurs DNS et la durée de bail pour l’adresse IP.
DHCPREQUEST : Confirmation du client pour l’offre retenue ; ce message inclut l’adresse IP
choisie et l’identifiant du serveur.
DHCPACK : Message de confirmation du serveur, avec les paramètres réseau finaux pour le
client.
3. Exemple de Configuration IP Attribuée
Si le serveur attribue l’adresse IP, la configuration pourrait être la suivante :
Adresse IP : [Link] (ou une autre adresse dans la plage [Link] - [Link])
Masque de sous-réseau : [Link]
Passerelle par défaut : [Link] (l’adresse IP du routeur local)
Serveur DNS : [Link] ou un autre serveur DNS configuré par l’administrateur
Ainsi, le client pourra se connecter au réseau avec une configuration IP complète.
Exercice 2 : Résolution de noms avec DNS
1. Expliquez le fonctionnement des enregistrements DNS A, CNAME, et MX.
2. Vous devez configurer un serveur DNS pour le domaine [Link] et inclure des
enregistrements pour :
Un serveur web [Link] avec l'adresse IP [Link]
Un serveur mail [Link] pointant vers l'adresse IP [Link]
Un sous-domaine [Link] qui doit rediriger vers [Link]
Écrivez les enregistrements DNS (de type A, CNAME, MX) nécessaires pour ces
configurations.
Solution
1. Explication des enregistrements DNS
Enregistrement A (Address) :

42
L'enregistrement de type A associe un nom de domaine à une adresse IPv4. Il permet de
traduire le nom de domaine en une adresse IP pour que les utilisateurs puissent accéder aux
ressources.
Enregistrement CNAME (Canonical Name) :
Un enregistrement CNAME crée un alias pour un autre domaine. Il redirige un sous-domaine
vers un autre nom de domaine, facilitant la gestion des sous-domaines.
Enregistrement MX (Mail Exchange) :
Un enregistrement MX indique les serveurs de messagerie d’un domaine, spécifiant où les e-
mails doivent être dirigés pour ce domaine. Il associe un domaine à un serveur mail par
adresse IP ou nom de domaine, et peut également spécifier des priorités (valeur numérique)
entre plusieurs serveurs de messagerie.
2. Enregistrements DNS nécessaires :
Pour le serveur web :
Type A :
Nom d'hôte: [Link], Valeur: [Link]
Explication: Cet enregistrement associe directement le nom d'hôte [Link] à
l'adresse IP [Link]. Ainsi, lorsque quelqu'un tape [Link] dans son
navigateur, une requête DNS est envoyée pour trouver l'adresse IP associée, et cette
réponse indique [Link].
Pour le serveur mail :
Type A :
Nom d'hôte: [Link], Valeur: [Link]
Explication: De manière similaire, cet enregistrement lie le nom d'hôte [Link] à
l'adresse IP [Link], permettant ainsi aux clients de messagerie de trouver le serveur de
messagerie associé à ce domaine.
Type MX :
Nom d'hôte: @ (ou [Link]), Valeur: 10 [Link]
Explication: Cet enregistrement indique que le serveur de messagerie principal pour votre
domaine est [Link]. La valeur numérique (10) est une priorité, plus elle est
basse, plus le serveur est prioritaire.
Pour le sous-domaine blog :
Type CNAME :
Nom d'hôte: [Link], Valeur: [Link]

43
Explication: Cet enregistrement crée un alias. Lorsqu'une requête est faite pour
[Link], elle est redirigée vers [Link]. En d'autres termes,
[Link] est un alias de [Link].
Exercice 3 : Gestion des enregistrements DNS TTL
Un administrateur système doit configurer le TTL (Time To Live) des enregistrements DNS
pour [Link].
Expliquez le rôle du TTL dans les enregistrements DNS.
Quels sont les avantages et les inconvénients de fixer un TTL élevé (86400 secondes) pour les
enregistrements DNS ?
En cas de changement de serveur IP, quel TTL recommanderiez-vous avant et après la
modification ?
Solution
1. Rôle du TTL dans les enregistrements DNS
Le TTL (Time To Live) est un paramètre des enregistrements DNS qui spécifie combien de
temps une réponse DNS peut être mise en cache par les résolveurs DNS ou les navigateurs
avant de vérifier à nouveau auprès du serveur DNS d'origine.
• Fonctionnement :
o Lorsqu’un enregistrement DNS est consulté, il est stocké dans le cache du
résolveur DNS pour la durée du TTL.
o Tant que le TTL n’a pas expiré, les requêtes suivantes utiliseront la réponse
mise en cache, ce qui réduit les temps de résolution et la charge sur les
serveurs DNS.
2. Avantages et inconvénients d’un TTL élevé (86400 secondes)
Avantages :
• Réduction de la charge sur les serveurs DNS : Moins de requêtes sont envoyées au
serveur DNS d'origine.
• Amélioration des performances : Les clients obtiennent les réponses plus rapidement
grâce au cache local.
• Stabilité : Les enregistrements restent accessibles même si le serveur DNS devient
temporairement indisponible.
Inconvénients :
• Propagation lente des modifications : Si un enregistrement DNS (comme une adresse
IP) est modifié, les anciennes informations resteront dans le cache jusqu’à
l’expiration du TTL, causant des retards.

44
• Difficulté lors des migrations ou basculements : Les utilisateurs pourraient être
dirigés vers des serveurs obsolètes.
3. TTL recommandé avant et après une modification des enregistrements DNS
• Avant la modification : Réduire le TTL à une valeur faible (par exemple, 300 secondes
ou 5 minutes) quelques heures ou jours avant la modification. Cela permet une
propagation rapide des changements.
• Après la modification : Une fois que les nouveaux enregistrements DNS sont bien
propagés, augmenter le TTL à une valeur plus élevée (par exemple, 86400 secondes
ou 24 heures) pour profiter des avantages de la mise en cache.
En cas de migration ou de basculement, cette stratégie assure un équilibre entre
performance et flexibilité.
Exercice 4 : Résolution DNS inversée
Une application effectue une requête DNS inversée pour l’adresse IP [Link].
1. Expliquez ce qu’est une résolution DNS inversée et son utilité.
2. Écrivez l’enregistrement PTR nécessaire pour associer [Link] à un nom d’hôte, par
exemple [Link].
3. Donnez un exemple d’utilisation de cette technique dans la sécurité réseau.
Solution
1. Explication de la Résolution DNS Inversée et Son Utilité
Une résolution DNS inversée, ou "reverse DNS lookup," consiste à obtenir le nom de
domaine associé à une adresse IP donnée, au lieu de résoudre un nom de domaine en
adresse IP. Cela est souvent utilisé pour des raisons de sécurité, de diagnostic réseau et
d’analyse de logs. Par exemple, les serveurs de messagerie utilisent cette technique pour
vérifier l’authenticité des expéditeurs : si une adresse IP est associée à un nom d’hôte valide,
cela peut contribuer à réduire les chances qu’un expéditeur soit un spammeur.
2. Enregistrement PTR pour l’Adresse IP [Link]
Pour associer l’adresse IP [Link] au nom d’hôte [Link], un enregistrement
PTR (Pointer Record) doit être créé dans la zone DNS inverse pour le réseau en question.
L'enregistrement prend la forme suivante dans le fichier de zone DNS :
[Link]. [Link]. IN PTR [Link].
Cet enregistrement fait partie de la zone [Link], qui est le domaine inversé
pour le réseau [Link]/24.
3. Utilisation dans la Sécurité Réseau
Dans le contexte de la sécurité réseau, la résolution DNS inversée est souvent utilisée pour
vérifier l'origine des connexions. Par exemple :

45
• Filtres de sécurité des serveurs : Les serveurs peuvent vérifier si l'adresse IP d'un
utilisateur entrant correspond au nom de domaine déclaré, pour détecter des
anomalies ou vérifier la réputation de l'expéditeur.
• Analyse des logs : Lors de l'analyse des logs de connexion, une résolution DNS
inversée aide les administrateurs à identifier et regrouper les sources de trafic réseau
pour une meilleure compréhension des accès.
• Prévention des attaques : Les systèmes de détection d'intrusion utilisent les
résolutions inversées pour vérifier la légitimité des IP et éventuellement bloquer les
connexions suspectes qui n'ont pas de résolutions inverses valides, souvent associées
à des comportements malveillants ou anonymes.
Exercice 5 : Protocole FTP et modes de transfert
Un utilisateur se connecte à un serveur FTP pour transférer des fichiers en mode actif et en
mode passif.
1. Expliquez la différence entre le mode actif et le mode passif FTP.
2. Si le client FTP utilise le port 20 pour les transferts en mode actif, quel est le port utilisé en
mode passif ?
3. Listez les commandes FTP nécessaires pour naviguer sur le serveur et télécharger un
fichier nommé [Link] dans le répertoire /pub/data.
Solution
1. Différence entre le mode actif et le mode passif FTP
Mode Actif : En mode actif, le client FTP établit une connexion de commande avec le serveur
via le port 21 (port de commande FTP). Lorsqu'un transfert de données est initié, le serveur
se connecte au client via le port 20 pour transférer les données, et le client doit être prêt à
recevoir la connexion en ouvrant un port de réception. Ce mode nécessite que le client
accepte les connexions entrantes, ce qui peut être bloqué par certains pare-feu ou NAT
(traduction d'adresses réseau).
Mode Passif : En mode passif, le client initie à la fois la connexion de commande (sur le port
21) et la connexion de données, en demandant au serveur d'ouvrir un port pour recevoir les
données. Le serveur choisit alors un port pour le transfert de données et envoie ce numéro
de port au client, qui s’y connecte pour effectuer le transfert. Ce mode est souvent privilégié
dans les environnements protégés par des pare-feu, car le client gère toutes les connexions.
2. Port utilisé en mode passif
En mode passif, le port de données n'est pas fixe. Le serveur FTP choisit un port de données
temporaire supérieur à 1024, et informe le client FTP du numéro de port à utiliser pour la
connexion de données. Cela permet de contourner les restrictions des pare-feu ou NAT, qui
peuvent bloquer les connexions entrantes requises par le mode actif.

46
3. Commandes FTP pour naviguer et télécharger
Voici une séquence de commandes FTP courante pour naviguer sur un serveur et télécharger
un fichier en mode passif (le mode le plus utilisé de nos jours car il est plus compatible avec
les pare-feu) :
Se connecter au serveur: open <nom_du_serveur>
S'identifier:
user nom_utilisateur
password mot_de_passe
Changer de répertoire: cd /pub/data
Télécharger le fichier: get [Link]
Exemple complet:
open [Link]
user mon_utilisateur
password mon_mot_de_passe
cd /pub/data
get [Link]
Exercice 6 : Analyse d’une session HTTP
1. Analysez le contenu d’une session HTTP capturée entre un navigateur et un serveur web.
Les données suivantes sont extraites :
Requête : GET /[Link] HTTP/1.1
Réponse : HTTP/1.1 200 OK
En-têtes HTTP incluent : Content-Type: text/html, Content-Length: 1024, Connection: keep-
alive
2. Expliquez le format de la requête et de la réponse HTTP.
3. Que signifie l’en-tête Content-Length, et pourquoi est-il important ?
4. Que se passe-t-il si la connexion est fermée avant que tous les paquets HTTP soient
transmis ?
Solution
1. Analyse de la session
Requête:
Méthode: GET : Indique que le client (navigateur) demande à récupérer une ressource (ici, la
page d'accueil [Link]).

47
Chemin: /[Link] : Spécifie la ressource demandée à la racine du serveur.
Version HTTP: HTTP/1.1 : Indique que le client utilise la version 1.1 du protocole HTTP.
Réponse:
Statut: 200 OK : Signifie que la requête a été traitée avec succès et que la ressource
demandée a été trouvée.
En-têtes:
Content-Type: text/html : Indique que le contenu de la réponse est du texte au format
HTML.
Content-Length: 1024 : Spécifie la taille en octets du corps de la réponse.
Connection: keep-alive: Indique que la connexion peut être réutilisée pour d'autres
requêtes, améliorant ainsi les performances.
2. Format de la requête et de la réponse HTTP
Le format d'une requête ou d'une réponse HTTP est relativement simple et suit une
structure standard. Il se compose de lignes, chacune terminée par un retour à la ligne (\r\n).
Ligne de demande/réponse: La première ligne contient la méthode HTTP, le chemin de la
ressource et la version HTTP pour les requêtes, ou le code de statut et la version HTTP pour
les réponses.
En-têtes: Les lignes suivantes contiennent des paires clé-valeur, séparées par deux points (:),
et représentent des informations supplémentaires sur la requête ou la réponse (type de
contenu, longueur, etc.).
Corps: Le corps de la requête ou de la réponse contient les données proprement dites (par
exemple, le contenu HTML d'une page).
3. En-tête Content-Length
L'en-tête Content-Length indique la taille en octets du corps de la réponse. Il est crucial pour
que le client sache exactement combien de données attendre. Cela permet au client de :
Mesurer la progression du téléchargement: Le client peut afficher une barre de progression
en suivant la quantité de données reçues par rapport à la valeur de Content-Length.
Gérer correctement les données: Le client sait quand il a reçu toutes les données et peut
ainsi les traiter complètement.
Optimiser le transfert: Le client peut ajuster la taille des tampons utilisés pour recevoir les
données, ce qui améliore l'efficacité du transfert.
4. Fermeture de la connexion avant la transmission complète
Si la connexion est fermée avant que tous les paquets HTTP soient transmis, cela peut
entraîner plusieurs problèmes :

48
Données incomplètes: Le client ne recevra pas toutes les données et ne pourra pas afficher
correctement la page web.
Erreurs de rendu: Le navigateur peut essayer d'interpréter des données incomplètes, ce qui
peut provoquer des erreurs de rendu ou des comportements inattendus.
Perte de données: Les données non transmises seront perdues et devront être
redemandées.
Pour éviter ce genre de problème:
Mécanismes de contrôle de flux: Les protocoles HTTP utilisent des mécanismes comme
Content-Length et des codes de statut pour indiquer la taille des données et la fin d'une
transmission.
Connexion persistante: Le protocole HTTP/1.1 introduit la notion de connexion persistante
(keep-alive), qui permet de réutiliser une même connexion pour plusieurs requêtes,
réduisant ainsi la latence.
Traitement des erreurs: Les clients HTTP et les serveurs web doivent être capables de gérer
les erreurs de réseau et de retransmettre les données perdues si nécessaire.
Exercice 7 : Protocole d'e-mail (SMTP, POP3, IMAP)
Un utilisateur veut envoyer et recevoir des e-mails avec les protocoles SMTP, POP3, et IMAP.
1. Décrivez le rôle de chaque protocole dans l'envoi et la réception d’e-mails.
2. Comparez POP3 et IMAP en termes de gestion des messages, synchronisation, et stockage
des e-mails.
3. Expliquez pourquoi le port 25 est souvent bloqué pour les connexions SMTP en sortie sur
les réseaux domestiques, et proposez une alternative.
Solution
1. Rôle des Protocoles SMTP, POP3, et IMAP
SMTP (Simple Mail Transfer Protocol) : SMTP est utilisé pour l'envoi d'e-mails du client vers
le serveur de messagerie ou pour les transferts d'e-mails entre serveurs. Il gère uniquement
l'envoi des messages et utilise généralement le port 25 ou le port 587 pour les connexions
sécurisées.
POP3 (Post Office Protocol 3) : POP3 est utilisé pour récupérer les e-mails depuis le serveur
de messagerie vers le client. Une fois téléchargés, les e-mails sont généralement supprimés
du serveur, ne laissant pas de copie pour un accès sur plusieurs appareils. POP3 utilise
généralement le port 110 ou le port 995 pour une connexion sécurisée (SSL/TLS).
IMAP (Internet Message Access Protocol) :
IMAP permet de lire et de gérer les e-mails directement sur le serveur de messagerie,
synchronisant ainsi les messages sur plusieurs appareils. Les messages ne sont pas

49
supprimés du serveur par défaut, permettant ainsi une gestion centralisée. IMAP utilise le
port 143, ou le port 993 pour une connexion sécurisée.
2. Comparaison entre POP3 et IMAP
IMAP est plus adapté si l'utilisateur souhaite accéder à ses e-mails depuis plusieurs appareils
et garder un historique centralisé. POP3 est souvent choisi pour télécharger des messages
sur un seul appareil sans maintenir de copie serveur.
Critère POP3 IMAP
Gestion des messages Télécharge et supprime les Stocke les e-mails sur le
e-mails du serveur serveur
Synchronisation Pas de synchronisation Synchronisation complète
multi-appareils sur tous les appareils
Stockage des e-mails Principalement en local sur Principalement sur le serveur
le client
Accès depuis plusieurs Difficile, car messages Optimal pour accès sur
appareils stockés localement plusieurs appareils
Utilisation du stockage Moins d’espace nécessaire Espace du serveur utilisé
sur le serveur pour chaque message

3. Blocage du Port 25 pour SMTP et Alternative


Blocage du Port 25 : Le port 25 est souvent bloqué par les FAI sur les réseaux domestiques
pour limiter l’envoi de courriels non sollicités (spam). Étant le port standard pour les
communications SMTP entre serveurs, il est susceptible d'être exploité par des expéditeurs
de spam pour distribuer des messages indésirables à grande échelle.
Alternative : L'utilisation du port 587 (ou 465 pour SMTPS) est recommandée pour les
utilisateurs authentifiés qui envoient des e-mails depuis leurs clients. Le port 587 est
spécifiquement configuré pour les connexions sécurisées de clients SMTP, ce qui permet aux
utilisateurs de contourner les restrictions et d’envoyer des e-mails en toute sécurité.

50

Vous aimerez peut-être aussi