📚 RT3 / GL3 — RĂ©seaux IP · DS Kamel Karoui

Réseaux IP : IPv4, IPv6, fragmentation, ICMP

Résumé orienté DS (2023 RT3 + 2025 GL3), expliqué comme à un enfant de 5 ans, puis corrigé question par question.

1

Le grand secret : tout est une lettre

Un datagramme IP = une lettre avec une enveloppe (l’en-tĂȘte) et un message (les donnĂ©es).

Imagine que tu envoies un jouet par la poste 🧾

L’adresse IP = l’adresse de la maison. Les routeurs = les facteurs. Si le jouet est trop gros pour la camionnette (MTU), le facteur le coupe en petits morceaux numĂ©rotĂ©s (fragmentation). À l’arrivĂ©e, c’est seulement le destinataire qui recolle les morceaux (rĂ©assemblage). Si la lettre voyage trop longtemps, elle est jetĂ©e (TTL), et un facteur envoie un petit mot : « oups » (ICMP).

đŸ›Łïž

Routeur

Lit l’en-tĂȘte, choisit la route, baisse le TTL. Il ne recolle jamais les morceaux.
🏁

Destinataire

Seul à réassembler (grùce à ID + offset + M).
📏

MTU

Taille max d’un paquet sur un lien (Ethernet = 1500 octets).
2

L’en-tĂȘte IPv4

Les champs qui tombent au DS.

C’est l’étiquette collĂ©e sur le colis đŸ·ïž

Elle dit : qui envoie, qui reçoit, combien ça pĂšse, s’il est coupĂ©, combien de temps il a le droit de voyager.

| Version | IHL | TOS | Longueur totale (L4)       |
| ID (mĂȘme pour tous les morceaux) | 0 | D | M | Offset |
| TTL | Protocole (1=ICMP 6=TCP 17=UDP) | Checksum |
| @ source                                           |
| @ destination                                      |
| Options (multiple de 32 bits, + remplissage)       |

IHL (header length)

Compte en mots de 32 bits. Valeurs permises : 5 à 15 (5 = 20 octets, pas d’options). 20 n’est donc pas une valeur d’IHL.

Longueur totale

En-tĂȘte + donnĂ©es, en octets.

TTL

Baisse Ă  chaque routeur. À 0 : jetĂ© + ICMP « Time Exceeded ».

Checksum

ProtĂšge l’en-tĂȘte seulement (avec options et remplissage), pas les donnĂ©es.

D / M

D = « interdit de couper ». M = « il y a d’autres morceaux aprĂšs moi ».

Qui change en route ?

TTL (toujours) + checksum. Longueur, offset, M changent seulement si un routeur fragmente.
3

Adresses, masque et sous-réseaux

Trouver réseau, broadcast et machines utilisables.

Immeuble 🏱

Le masque dit oĂč couper : les bits Ă  1 = « numĂ©ro de l’immeuble » (rĂ©seau), les bits Ă  0 = « numĂ©ro d’appartement » (machine).

La recette en 3 étapes (le « pas »)

  1. Regarde l’octet oĂč le masque est « coupĂ© » (ni 255 ni 0).
  2. Pas = 256 − valeur du masque. Ex. 192 → pas 64 ; 224 → pas 32.
  3. RĂ©seau = plus grand multiple du pas ≀ ton nombre. Broadcast = rĂ©seau suivant − 1.
Ex. 143.27.102.101 / 255.255.192.0 → pas 64 → blocs 0, 64, 128

102 est dans 64 → rĂ©seau 143.27.64.0, broadcast 143.27.127.255
Ex. 123.34.33.4 /19 → 19 = 16+3 bits → 3ᔉ octet masque 224 → pas 32 → 123.34.32.0
Ex. 195.89.0.0 /20 → masque 240, pas 16 → bloc 0→15 → broadcast 195.89.15.255

HĂŽtes utilisables

2bits hĂŽte − 2. RĂ©seau et broadcast sont interdits aux machines.

Limite du masque

Il faut au moins 2 bits d’hîte → au maximum 30 bits à 1.

PiĂšge /16

Dans un /16, 10.10.10.0 est une adresse machine valide (seuls 10.10.0.0 et 10.10.255.255 sont interdits).

Classes

A 1–126 · B 128–191 · C 192–223 · D 224–239 · E 240+. 127 = loopback.

Découper en sous-réseaux

8 sous-rĂ©seaux = 3 bits en plus. 255.255.224.0 (3 bits) + 3 bits → 255.255.252.0. RĂšgle : on ajoute les bits, on ne les remplace pas.

4

Privé, NAT/PAT, FLSM/VLSM, CIDR

Les cahiers de cours en bref.

Le tĂ©lĂ©phone du bureau ☎

Dans le bureau on s’appelle par numĂ©ros internes (privĂ©s). Vers l’extĂ©rieur, tout passe par un seul standard avec un numĂ©ro public : c’est le NAT.

ClassePlage privée
A10.0.0.0 → 10.255.255.255 (10/8)
B172.16.0.0 → 172.31.255.255 (172.16/12)
C192.168.0.0 → 192.168.255.255 (192.168/16)

NAT

Table @privĂ©e ↔ @publique (1 pour 1).

PAT

Plusieurs privĂ©es → la mĂȘme publique, mais avec des ports diffĂ©rents.

FLSM

Sous-rĂ©seaux tous de mĂȘme taille.

VLSM

Masques de tailles diffĂ©rentes : on ne gaspille pas d’adresses.

CIDR

Notation /n + agrégation de routes (plusieurs réseaux résumés en un).
Classe A privĂ©e = 16 millions d’adresses ; classe C privĂ©e = 65 536. Donc « la classe C a le plus d’adresses privĂ©es » est faux. 172.255.x.x est hors de 172.16–172.31 → publique.
5

Fragmentation IPv4

La question n°1 du DS : ne te trompe pas dans les « multiples de 8 ».

Un gñteau trop grand pour la boüte 🎂

On le coupe en parts. Chaque part a une Ă©tiquette : « je suis du gĂąteau n°311 », « je commence Ă  la tranche 185 », « il en reste encore » (M=1). Les parts doivent commencer sur une tranche numĂ©rotĂ©e : l’offset compte par 8 octets.

Méthode
1) DonnĂ©es par fragment = MTU − 20, arrondi vers le bas au multiple de 8
2) Offset = octets déjà envoyés ÷ 8
3) L4 d’un fragment = donnĂ©es + 20 · M = 1 sauf le dernier (M=0)

Cours : E envoie 2000 octets (1980 de données), MTU 1500
1480 = 8×185 ✔ → f1 : offset 0, L4 1500, M=1
reste 500 → f2 : offset 185, L4 520, M=0
Si ensuite MTU = 500 : 480 = 8×60 ✔ → offsets 0 · 60 · 120 · 180, L4 = 500 · 500 · 500 · 60. Les 1480 octets de f1 donnent 480+480+480+40, donc le dernier fait 40 + 20 = 60.
Un routeur qui reçoit des fragments qui passent déjà sans dépasser son MTU les laisse tels quels. Il ne réassemble jamais.
6

IPv6

Plus simple pour les routeurs, plus grand pour les adresses.

Un sac à dos avec des poches 🎒

L’en-tĂȘte de base est toujours 40 octets. Si tu as besoin de plus (couper, router
), tu ajoutes une poche : une extension. Le champ Next Header dit « la prochaine poche est de quel type ».

Hop Limit

C’est le « TTL » d’IPv6. Seul champ de base modifiĂ© par chaque routeur.

Payload Length

Tout sauf l’en-tĂȘte de base de 40 octets : donc inclut les extensions.

Next Header

MĂȘme valeurs que le champ Protocole d’IPv4 (6=TCP, 17=UDP, 58=ICMPv6), mais peut aussi pointer vers une extension.

MTU minimum

1280 octets. Les routeurs ne fragmentent pas : seul l’émetteur.

Extension de fragmentation (8 octets)

Contient : Next Header · Offset · M · ID
Pas de flag D (IPv6 n’en a pas besoin : les routeurs ne coupent jamais)

DonnĂ©es par fragment avec MTU 1280 : 1280 − 40 − 8 = 1232 (= 154×8 ✔)
Avec un MTU de chemin P : (P − 48) arrondi au multiple de 8
Ex. 2000 octets → 1232 + 768 : offset du dernier = 1232Ă·8 = 154, Payload Length = 768 + 8 = 776

Ordre des extensions

Hop-by-Hop → Destination → Routage → Fragmentation → Authentification → ESP → Destination. Donc fragmentation vient avant authentification, et routage avant fragmentation (le cas « routage puis fragmentation puis UDP » est correct).

Utiliser 1280 ou découvrir le MTU ?

Choisir 1280 évite la phase de découverte, mais donne plus ou autant de fragments, jamais moins. Découverte de MTU = ICMPv6 « Packet Too Big » (type 2).

7

ICMP

Le petit mot du facteur.

UsageType ICMPv4ICMPv6
Ping (demande d’écho)8 (rĂ©ponse 0)128 (rĂ©ponse 129)
Temps dépassé (TTL / Hop Limit = 0) · traceroute113
Destination injoignable31
Packet Too Big (dĂ©couverte du MTU)— (DF + code 4 du type 3)2
Pour IPv6, le type 11 n’existe pas : « Time Exceeded » = 3. C’est un piĂšge classique (voir Q8 du DS 2023).
8

Correction DS 2023 — RT3

Ma proposition, avec le raisonnement. Les cases marquĂ©es ⚠ sont ambiguĂ«s.

QRép.Pourquoi
1cUn routeur ne réassemble jamais, il passe les fragments tels quels.
2c1232 par fragment → 3696 Ă· 1232 = exactement 3.
3d102 → bloc 64 : SR = 143.27.64.0, D = 143.27.127.255. Aucune option ne donne cette paire (la passerelle .96.1 est un leurre).
4c ⚠172 → bloc 128 ≠ 64 : sous-rĂ©seaux diffĂ©rents. « c » est vrai Ă  la lettre, mais la vraie raison est le masque, pas seulement le 3ᔉ octet. RĂ©ponse stricte : d.
5cIPv4 : 1480 + 520, PR4 = 185, L4 = 540. IPv6 : 1232 + 768, PR6 = 154, L6 = 776.
6b1280 évite la découverte ; ça ne réduit jamais le nombre de fragments.
7d ⚠20 contre 40 + 8 + 8 (routage minimal) = 56, soit 2,8×. « 4,4× » = 88 octets n’est atteint que si le routage contient 2 adresses (8 + 32).
8b ⚠Le routeur dĂ©crĂ©mente, voit 0, jette le paquet. Il envoie bien un ICMPv6, mais de type 3, pas 11 : donc c est faux.
9dPayload Length exclut l’en-tĂȘte de base (40 octets) mais inclut les extensions.
10dSans extension, Next Header = numéro de protocole comme en IPv4.
11aPas de D en IPv6, seulement M.
12b224 + 3 bits = 252 → 255.255.252.0.
13d258 > 255 ; 193.168.10.0 est une adresse réseau (classe C) ; 127.x = loopback.
14aIl faut ≄ 2 bits d’hĂŽte, donc ≀ 30 bits Ă  1. « Au maximum 2 » est faux.
15b, cIHL va de 5 Ă  15 (en mots de 32 bits). 4 et 20 sont impossibles.
16b ⚠327 + 25 = 352 = 11 × 32. (En vrai les options font des octets entiers, mais b suit la logique du prof.)
17bLa fragmentation passe avant l’authentification.
18aPing = Echo Request, type 8.
19cPacket Too Big = type 2.
20cTraceroute repose sur Time Exceeded, type 11.
9

Correction DS 2025 — GL3

MĂȘme principe. Plusieurs questions ont des piĂšges volontaires.

QRép.Pourquoi
1cTTL toujours. (a et d seulement si le routeur fragmente.)
2a ⚠1280 − 40 − 8 = 1232. L’énoncĂ© dit « minimale », probablement « maximale » voulue.
3a1310 − 20 = 1290 → multiple de 8 infĂ©rieur = 1288.
4c, dCIDR = agrégation de routes avec préfixes de longueur variable.
5cHop Limit.
6dLes trois sont publiques (aucune n’est dans 10/8, 172.16/12 ou 192.168/16).
7a1232 par fragment : 2800 Ă· 1232 → 3 morceaux.
8a, b, dDans 10.10.0.0/16, ces trois-lĂ  sont valides. « La mĂȘme adresse » est interdit.
9a33 → bloc 32 (pas 32) : 123.34.32.0.
10a/20 → pas 16 : 195.89.0.0 → 195.89.15.255.
11a ⚠Selon le cours : TTL − 3 s = 97. En pratique les routeurs modernes retirent 1 (donc 99).
12dIPv4 : 1480 + 1480 + 40 → PR4 du dernier = 370 (pas 185). IPv6 : 1456 + 1456 + 88 → PR6 = 364. La paire de c a un PR4 faux.
13b172.255.x.x est hors de 172.16–172.31 → publique.
14cLe flag D n’existe pas en IPv6.
15b ⚠Payload Length est en octets. Les « 8 octets » concernent les extensions et l’offset.
16cVLSM. (CIDR est liĂ©, mais c’est VLSM qui dĂ©crit des masques de tailles diffĂ©rentes.)
17aRoutage → Fragmentation → UDP : ordre correct.
18bClasse A (10/8) a le plus d’adresses privĂ©es.
19dLe checksum couvre l’en-tĂȘte entier : options et remplissage inclus.
20dICMP = protocole 1. Ni 2, ni 6, ni 7.
Points Ă  vĂ©rifier avec le prof : DS 2023 Q4, Q7, Q8, Q16 et DS 2025 Q2, Q11, Q12, Q15. Tous dĂ©pendent d’une formulation ambiguĂ« ou d’une tolĂ©rance de correction.