Aller au contenu

📚 FICHE DE COURS

📚 FICHE DE COURS ÉLÈVE⚓︎

"Adressage IPv4, ARP, ICMP & Linux – Premiers Pas"⚓︎

Version 1.0 - BTS SIO SISR - Semestre 1 - Semaine 5


I. Adressage IPv4 – Approfondissement⚓︎

A. Rappel : Classes d'Adresses IPv4⚓︎

Le premier octet d'une adresse IPv4 détermine sa classe.

Classe Premier octet Plage complète Masque par défaut Usage historique
A 1 – 126 1.0.0.0 à 126.255.255.255 /8 (255.0.0.0) Très grands réseaux
B 128 – 191 128.0.0.0 à 191.255.255.255 /16 (255.255.0.0) Grandes entreprises
C 192 – 223 192.0.0.0 à 223.255.255.255 /24 (255.255.255.0) PME, petits réseaux
D 224 – 239 224.0.0.0 à 239.255.255.255 - Multicast
E 240 – 255 240.0.0.0 à 255.255.255.255 - Réservé expérimental

⚠️ À retenir : Classe A = 1–126, Classe B = 128–191, Classe C = 192–223


B. Adresses Privées (RFC 1918)⚓︎

Les adresses privées sont réservées aux réseaux locaux (LAN). Elles ne sont pas routables sur Internet.

Classe Plage Privée Notation CIDR Usage typique
A 10.0.0.0 – 10.255.255.255 10.0.0.0/8 Grandes infras (datacenter, réseau d'entreprise)
B 172.16.0.0 – 172.31.255.255 172.16.0.0/12 Réseaux moyens
C 192.168.0.0 – 192.168.255.255 192.168.0.0/16 Domicile, PME

Adresses spéciales importantes :

Adresse Nom Usage À retenir
127.0.0.1 Loopback Tester la pile TCP/IP locale "Ping de soi-même"
169.254.x.x APIPA Attribution automatique si pas de DHCP 🚨 Signe de problème réseau
0.0.0.0 Non défini Absence d'adresse (ex: route par défaut) -
255.255.255.255 Broadcast limité Diffusion locale Requêtes DHCP initiales

C. Notation CIDR (Classless Inter-Domain Routing)⚓︎

La notation CIDR (prononcé "sider") remplace l'écriture longue du masque par un simple suffixe /xx indiquant le nombre de bits à 1 dans le masque.

Exemples : - 192.168.1.0 /24 = réseau 192.168.1.0 avec masque 255.255.255.0 - 10.0.0.0 /8 = réseau 10.0.0.0 avec masque 255.0.0.0

Tableau des CIDR courants :

CIDR Masque décimal Bits hôte Hôtes utilisables Usage
/8 255.0.0.0 24 16 777 214 Très grand réseau (classe A)
/16 255.255.0.0 16 65 534 Grand réseau (classe B)
/24 255.255.255.0 8 254 Réseau PME standard (le plus courant)
/25 255.255.255.128 7 126 Division d'un /24 en 2
/26 255.255.255.192 6 62 Division en 4
/27 255.255.255.224 5 30 Division en 8
/28 255.255.255.240 4 14 Petit réseau
/30 255.255.255.252 2 2 Liaison point-à-point (routeurs)
/32 255.255.255.255 0 1 Hôte unique (loopback, routes statiques)

Formule : Nombre d'hôtes utilisables = 2^(bits hôte) − 2

Exemple de calcul complet :

Soit le réseau 192.168.10.0/26 :

📋 Texte
Masque /26 → 255.255.255.192
Bits hôte → 32 - 26 = 6 bits
Nb adresses → 2^6 = 64
Hôtes utilisables → 64 - 2 = 62

Adresse réseau   → 192.168.10.0
Première hôte    → 192.168.10.1
Dernière hôte    → 192.168.10.62
Adresse broadcast → 192.168.10.63

II. Le Protocole ARP⚓︎

A. Pourquoi ARP Existe-t-il ?⚓︎

Problème : Quand un PC veut envoyer un paquet IP à 192.168.1.20, il a besoin de l'adresse MAC de destination pour créer la trame Ethernet (couche 2).

Mais il ne connaît que l'adresse IP de la machine.

Solution : Le protocole ARP (Address Resolution Protocol) résout ce problème.

ARP = Traduction IP → MAC


B. Fonctionnement d'ARP⚓︎

Étape par étape :

📋 Texte
PC1 (192.168.1.10 - MAC AA:BB:11) veut envoyer un paquet à PC2 (192.168.1.20)

1. PC1 vérifie sa TABLE ARP locale :
   - Contient-elle une entrée pour 192.168.1.20 ?
   - NON → lancer une requête ARP

2. PC1 envoie une trame ARP Request (BROADCAST) :
   - MAC dest : FF:FF:FF:FF:FF:FF (broadcast = tout le monde reçoit)
   - Contenu : "Qui a l'IP 192.168.1.20 ? Répondez à AA:BB:11"

3. TOUS les PC du réseau reçoivent la requête ARP.

4. PC2 (192.168.1.20 - MAC CC:DD:22) reconnaît son IP et répond :
   - ARP Reply (UNICAST) directement à AA:BB:11
   - Contenu : "C'est moi qui ai 192.168.1.20, ma MAC est CC:DD:22"

5. PC1 reçoit la réponse et met à jour sa TABLE ARP :
   192.168.1.20 → CC:DD:22

6. PC1 peut maintenant construire la trame Ethernet et envoyer le paquet IP.

Schéma ARP :

📋 Texte
PC1                       SWITCH                      PC2     PC3     PC4
 │                          │                          │       │       │
 │ ARP Request (broadcast)  │                          │       │       │
 │─────────────────────────>│                          │       │       │
 │                          │────────ARP Request──────>│       │       │
 │                          │────────ARP Request──────────────>│       │
 │                          │────────ARP Request──────────────────────>│
 │                          │                          │       │       │
 │                          │<────ARP Reply (unicast)──│       │       │
 │<── ARP Reply ────────────│                          │       │       │
 │                          │  (PC3 et PC4 ignorent)  │       │       │
 │                                                     │
 ✅ Table ARP PC1 mise à jour : 192.168.1.20 → CC:DD:22

C. La Table ARP⚓︎

La table ARP est une mémoire cache temporaire qui stocke les correspondances IP ↔ MAC récemment résolues.

Afficher la table ARP (Windows) :

📋 Texte
arp -a

Résultat typique :

📋 Texte
Interface : 192.168.1.10 --- 0xc
  Adresse Internet      Adresse physique      Type
  192.168.1.1           00-1a-2b-3c-4d-5e     dynamique   ← Passerelle (routeur/box)
  192.168.1.20          00-cc-dd-22-33-44     dynamique   ← PC2 (récemment contacté)
  192.168.1.255         ff-ff-ff-ff-ff-ff     statique    ← Broadcast

Durée de vie : Les entrées ARP expirent automatiquement (Windows : ~2 minutes, Linux : ~60 secondes).

ARP et les réseaux distants :

⚠️ Quand PC1 veut joindre un PC sur un autre réseau (ex: Internet), il n'envoie pas d'ARP vers la machine distante !

Pourquoi ? ARP est limité au réseau local (broadcast).

Ce qui se passe : 1. PC1 détecte que 8.8.8.8 n'est pas sur son réseau local 2. PC1 envoie un ARP vers sa passerelle par défaut (ex: 192.168.1.1) 3. La passerelle (routeur) répond avec sa MAC 4. PC1 envoie la trame à la MAC de la passerelle qui se charge du routage


D. Cas Particuliers ARP⚓︎

Gratuitous ARP : - Un PC envoie un ARP en annonçant sa propre IP (sans question) - Usage : Mise à jour des tables ARP voisines lors d'un changement IP ou redémarrage - Détection de conflits IP (si quelqu'un répond à son propre ARP, il y a un doublon)

ARP Spoofing (Usurpation ARP) : - ⚠️ Attaque : Un attaquant envoie de fausses réponses ARP pour associer sa MAC à l'IP de la passerelle - Résultat : Les paquets sont envoyés à l'attaquant (man-in-the-middle) - Défense : arp -s (ARP statique), détection par logiciel (ARPwatch)


III. Le Protocole ICMP⚓︎

A. Définition et Rôle⚓︎

ICMP (Internet Control Message Protocol) est un protocole de signalisation fonctionnant au niveau de la couche 3 (Réseau).

Il ne transporte pas de données applicatives, mais des messages d'erreur et de diagnostic.

Analogie : ICMP est comme le service réclamations de la Poste : si votre colis (paquet IP) ne peut pas être livré, la Poste vous envoie un avis de problème (message ICMP) expliquant pourquoi.


B. Messages ICMP Courants⚓︎

Type Code Message Signification
0 0 Echo Reply Réponse à un ping
3 0 Destination Unreachable (Network) Réseau inaccessible
3 1 Destination Unreachable (Host) Hôte inaccessible
3 3 Destination Unreachable (Port) Port inaccessible (UDP)
8 0 Echo Request Requête ping
11 0 Time Exceeded (TTL) TTL arrivé à 0 (traceroute)

C. La Commande ping⚓︎

Ping utilise ICMP Echo Request (Type 8) et Echo Reply (Type 0) pour tester la connectivité.

Syntaxe :

📋 Texte
ping <ip_ou_nom>              (Windows : 4 paquets par défaut)
ping -c 4 <ip_ou_nom>         (Linux : -c = count, obligatoire sinon infini)

Exemple Windows :

📋 Texte
C:\> ping 192.168.1.1

Envoi d'une requête 'Ping' sur 192.168.1.1 avec 32 octets de données :
Réponse de 192.168.1.1 : octets=32 temps=2 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=1 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=2 ms TTL=64
Réponse de 192.168.1.1 : octets=32 temps=1 ms TTL=64

Statistiques Ping pour 192.168.1.1:
    Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 1ms, Maximum = 2ms, Moyenne = 1ms

Interprétation :

Résultat Signification Action
Réponse reçue, temps < 1ms Machine locale ou même LAN ✅ Connexion OK
Réponse reçue, temps 1-50ms Réseau local ou proche ✅ Connexion OK
Réponse reçue, temps > 200ms Connexion lente/saturée ⚠️ Latence élevée
"Délai d'attente dépassé" Pas de réponse (pare-feu ou machine HS) ❌ Problème à diagnostiquer
"Hôte de destination inaccessible" Pas de route vers la machine ❌ Problème routage/passerelle
TTL = 64 Linux ou routeur Cisco (TTL initial = 64) Info système
TTL = 128 Windows (TTL initial = 128) Info système
TTL = 255 Cisco IOS ou certains Unix Info système

D. Le TTL (Time To Live)⚓︎

TTL = compteur décrémenté de 1 à chaque routeur traversé. Quand TTL = 0, le paquet est abandonné et un message ICMP "Time Exceeded" est renvoyé à l'expéditeur.

Pourquoi TTL existe-t-il ? Éviter que des paquets "tournent en boucle" indéfiniment sur Internet en cas de problème de routage.

Utilisation pratique : - TTL dans un ping peut indiquer le nombre de sauts traversés : - TTL reçu = 117 → TTL initial 128 (Windows) → 128 - 117 = 11 routeurs traversés - TTL reçu = 53 → TTL initial 64 (Linux) → 64 - 53 = 11 routeurs traversés


E. La Commande tracert / traceroute⚓︎

Tracert/Traceroute exploite les messages ICMP Time Exceeded pour découvrir le chemin emprunté par les paquets.

Principe : 1. Envoie un paquet avec TTL=1 → Premier routeur le rejette et renvoie "Time Exceeded" → on note son IP 2. Envoie TTL=2 → Deuxième routeur → on note son IP 3. Continue jusqu'à atteindre la destination

Syntaxe :

📋 Texte
tracert 8.8.8.8                 (Windows)
traceroute 8.8.8.8              (Linux)

Exemple de résultat :

📋 Texte
C:\> tracert www.google.fr

Détermination de l'itinéraire vers www.google.fr [142.250.185.78]
avec un maximum de 30 sauts :

  1     2 ms     1 ms     1 ms  192.168.1.1        ← Votre box (passerelle)
  2    11 ms     9 ms    10 ms  10.100.200.1       ← 1er routeur FAI
  3    12 ms    11 ms    12 ms  80.10.250.5        ← Réseau FAI
  4     *        *        *     Délai d'attente    ← Routeur ne répond pas ICMP
  5    14 ms    13 ms    15 ms  72.14.202.76       ← Réseau Google
  6    15 ms    14 ms    16 ms  142.250.185.78     ← Destination Google

Interprétation : - * * * : Le routeur ne répond pas aux ICMP (normal, certains bloquent pour sécurité) - Temps qui augmente brutalement : Goulot d'étranglement ou liaison lente - Dernier saut atteint = destination

Différence Windows vs Linux : - tracert (Windows) : Utilise ICMP - traceroute (Linux) : Utilise UDP par défaut (ports élevés), plus difficile à bloquer par les pare-feux