Adressage IPv4 — masques, CIDR, subnetting
Fiche de référence : adresses IPv4, masques de sous-réseau, notation CIDR, subnetting VLSM et vérifications côté Linux.
Fiche de référence sur l’adressage IPv4 : à consulter pour les TP, les évaluations et les révisions du pôle réseau. Elle reprend les notions fondamentales (adresses, masques, classes, CIDR), la méthode de subnetting pas à pas, et la configuration réseau côté Linux. Les exemples s’appuient sur un scénario d’entreprise fictif.
1) Définition — Qu’est-ce que l’adressage IPv4 ?
L’adressage IPv4 (Internet Protocol version 4) est le système qui attribue à chaque équipement connecté à un réseau IP un identifiant numérique unique : l’adresse IP. Cette adresse permet de localiser la machine sur le réseau et de router les données vers la bonne destination.
Une adresse IPv4 est un nombre de 32 bits (4 octets) écrit en notation décimale pointée : 4 nombres de 0 à 255 séparés par des points.
Exemple : 192.168.10.50
| Octet 1 | Octet 2 | Octet 3 | Octet 4 |
|---|---|---|---|
| 192 | 168 | 10 | 50 |
| 8 bits | 8 bits | 8 bits | 8 bits |
Soit 32 bits au total.
En binaire : 11000000 . 10101000 . 00001010 . 00110010
Chaque octet peut prendre une valeur entre 0 (00000000) et 255 (11111111).
2) Structure d’une adresse IPv4
Toute adresse IPv4 se décompose en deux parties :
- Partie réseau (Network ID) : identifie le réseau auquel la machine appartient. Toutes les machines d’un même réseau partagent cette partie.
- Partie hôte (Host ID) : identifie la machine spécifique au sein du réseau. Chaque machine a une valeur différente.
La frontière entre les deux parties est déterminée par le masque de sous-réseau.
Analogie postale :
- Partie réseau = nom de la rue
- Partie hôte = numéro de la maison
3) Classes d’adresses
Historiquement, les adresses IPv4 étaient réparties en classes. Cette classification est aujourd’hui largement remplacée par le CIDR, mais reste utile pour comprendre les bases.
| Classe | 1er octet | Plage d’adresses | Masque par défaut | Nb réseaux | Nb hôtes/réseau | Usage |
|---|---|---|---|---|---|---|
| A | 1–126 | 1.0.0.0 à 126.255.255.255 | 255.0.0.0 (/8) | 126 | ~16,7 millions | Très grands réseaux (FAI, multinationales) |
| B | 128–191 | 128.0.0.0 à 191.255.255.255 | 255.255.0.0 (/16) | ~16 000 | ~65 000 | Grands réseaux (universités, grandes entreprises) |
| C | 192–223 | 192.0.0.0 à 223.255.255.255 | 255.255.255.0 (/24) | ~2 millions | 254 | Petits réseaux (PME, particuliers) |
| D | 224–239 | 224.0.0.0 à 239.255.255.255 | — | — | — | Multicast (diffusion de groupe) |
| E | 240–255 | 240.0.0.0 à 255.255.255.255 | — | — | — | Réserve (expérimental) |
Remarque : la plage 127.x.x.x est réservée au loopback (voir section 5).
4) Adresses privées RFC 1918
La RFC 1918 définit trois plages d’adresses réservées pour un usage interne (LAN). Ces adresses ne sont pas routables sur Internet : elles ne sortent pas du réseau local sans traduction (NAT).
| Classe | Plage privée | Masque par défaut | CIDR | Nb adresses | Usage typique |
|---|---|---|---|---|---|
| A | 10.0.0.0 à 10.255.255.255 | 255.0.0.0 | /8 | 16 777 216 | Grandes organisations, datacenters, multi-sites |
| B | 172.16.0.0 à 172.31.255.255 | 255.240.0.0 | /12 | 1 048 576 | Moyennes entreprises, réseaux segmentés |
| C | 192.168.0.0 à 192.168.255.255 | 255.255.0.0 | /16 | 65 536 | Petits réseaux, box domestiques, lab |
Pourquoi les adresses privées existent :
Les adresses IPv4 publiques sont limitées (environ 4,3 milliards). Avec la croissance d’Internet, il n’y en a pas assez pour tous les équipements. Les adresses privées permettent à chaque organisation de créer son propre plan d’adressage interne sans consommer d’adresses publiques. Le mécanisme NAT (Network Address Translation) traduit les adresses privées en adresse publique pour accéder à Internet.
Pour l’entreprise fictive ITECH OCÉAN : on utilise la plage 10.0.0.0/8 car elle offre un espace d’adressage suffisant pour les 4 sites avec marge de croissance.
5) Adresses spéciales
Certaines adresses IPv4 ont un rôle particulier et ne peuvent pas être attribuées à des machines.
| Adresse | Nom | Rôle |
|---|---|---|
| 0.0.0.0 | Adresse indéfinie | Désigne « aucune adresse » ou « toutes les interfaces ». Utilisée quand une machine n’a pas encore d’IP (requête DHCP). |
| 127.0.0.1 | Loopback (localhost) | Désigne la machine elle-même. Permet de tester la pile TCP/IP locale sans passer par le réseau. La plage entière 127.0.0.0/8 est réservée. |
| 255.255.255.255 | Broadcast limité | Diffusion à toutes les machines du réseau local. Utilisée par des protocoles comme DHCP. |
| Adresse réseau | Ex : 10.0.1.0/24 | Première adresse du sous-réseau. Identifie le réseau. Non attribuable à un hôte. |
| Adresse broadcast | Ex : 10.0.1.255/24 | Dernière adresse du sous-réseau. Envoie un message à tous les hôtes du sous-réseau. Non attribuable. |
À retenir : dans tout sous-réseau, les deux adresses extrêmes (réseau et broadcast) sont réservées. C’est pour ça qu’on retire 2 dans le calcul des hôtes utilisables.
6) Notation CIDR
CIDR = Classless Inter-Domain Routing (routage inter-domaines sans classe).
La notation CIDR s’écrit avec un /préfixe après l’adresse IP. Le préfixe indique le nombre de bits à 1 dans le masque (= bits réservés à la partie réseau).
Exemple : 192.168.10.0 /24 signifie que les 24 premiers bits désignent le réseau et les 8 bits restants désignent les hôtes.
Tableau de conversions courantes
| CIDR | Masque décimal | Nb bits hôte | Nb adresses total | Nb adresses utilisables | Taille bloc |
|---|---|---|---|---|---|
| /8 | 255.0.0.0 | 24 | 16 777 216 | 16 777 214 | Très grand |
| /16 | 255.255.0.0 | 16 | 65 536 | 65 534 | Grand |
| /24 | 255.255.255.0 | 8 | 256 | 254 | Standard |
| /25 | 255.255.255.128 | 7 | 128 | 126 | Moyen |
| /26 | 255.255.255.192 | 6 | 64 | 62 | PME |
| /27 | 255.255.255.224 | 5 | 32 | 30 | Petit |
| /28 | 255.255.255.240 | 4 | 16 | 14 | Très petit |
| /29 | 255.255.255.248 | 3 | 8 | 6 | Liaison point-à-point |
| /30 | 255.255.255.252 | 2 | 4 | 2 | Liaison routeur-routeur |
Formules :
- Nb total d’adresses = 2 ^ (32 - préfixe)
- Nb adresses utilisables = 2 ^ (32 - préfixe) - 2
Astuce conversion CIDR → décimal :
Pour les masques du dernier octet, la valeur de l’octet = 256 - taille du bloc. Exemple : /26 → bloc de 64 → 256 - 64 = 192 → masque : 255.255.255.192
7) Le masque de sous-réseau
Rôle
Le masque de sous-réseau est un filtre de 32 bits qui sépare la partie réseau de la partie hôte. Les bits à 1 désignent la partie réseau, les bits à 0 désignent la partie hôte.
Fonctionnement : AND logique
Pour trouver l’adresse réseau à partir d’une IP et d’un masque, on effectue un ET logique (AND) bit à bit.
Exemple détaillé :
Adresse IP : 192.168.10.67 = 11000000.10101000.00001010.01000011
Masque /26 : 255.255.255.192 = 11111111.11111111.11111111.11000000
──────────────────────────────────────────────────────────
AND logique: 192.168.10.64 = 11000000.10101000.00001010.01000000
= adresse reseau
Règles du AND :
| Bit IP | Bit Masque | Résultat |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Exemples de masques courants
| Masque décimal | Binaire (dernier octet) | CIDR | Taille bloc |
|---|---|---|---|
| 255.255.255.0 | 00000000 | /24 | 256 |
| 255.255.255.128 | 10000000 | /25 | 128 |
| 255.255.255.192 | 11000000 | /26 | 64 |
| 255.255.255.224 | 11100000 | /27 | 32 |
| 255.255.255.240 | 11110000 | /28 | 16 |
| 255.255.255.248 | 11111000 | /29 | 8 |
| 255.255.255.252 | 11111100 | /30 | 4 |
8) Le subnetting
Définition
Le subnetting (sous-réseautage) consiste à diviser un réseau IP en sous-réseaux plus petits. L’objectif est d’organiser le réseau, de limiter le trafic broadcast, de renforcer la sécurité et d’optimiser l’utilisation des adresses.
Algorithme pas-à-pas
Étape 1 — Identifier le besoin Combien d’adresses IP utilisables faut-il dans ce sous-réseau ? Compter tous les équipements (postes, serveurs, imprimantes, bornes WiFi, caméras, etc.) + prévoir une marge d’évolutivité.
Étape 2 — Trouver la puissance de 2 suffisante Trouver le plus petit n tel que 2^n >= besoin + 2 (on ajoute 2 pour l’adresse réseau et le broadcast).
| n | 2^n | Hôtes utilisables |
|---|---|---|
| 2 | 4 | 2 |
| 3 | 8 | 6 |
| 4 | 16 | 14 |
| 5 | 32 | 30 |
| 6 | 64 | 62 |
| 7 | 128 | 126 |
| 8 | 256 | 254 |
Étape 3 — Calculer le masque Longueur du préfixe CIDR = 32 - n Convertir en masque décimal si besoin.
Étape 4 — Calculer les adresses du sous-réseau
- Adresse réseau = première adresse du bloc (tous les bits hôte à 0)
- Première utilisable = adresse réseau + 1
- Dernière utilisable = broadcast - 1
- Broadcast = dernière adresse du bloc (tous les bits hôte à 1)
Étape 5 — Vérifier et documenter
- Le nombre d’adresses utilisables couvre le besoin
- Pas de chevauchement avec un autre sous-réseau
- L’adresse réseau et le broadcast ne sont pas attribués
Exemple détaillé — Site principal (siège ITECH OCÉAN)
Besoin : 51 équipements (30 postes + 3 serveurs + 4 imprimantes + 6 bornes WiFi + 8 caméras) Avec marge d’évolutivité (doublement des postes) : 30 + 30 + 3 + 4 + 6 + 8 = 81 machines → on dimensionne pour ~81.
Etape 1 : besoin = 81 machines
Etape 2 : 81 + 2 = 83 → 2^7 = 128 >= 83 → n = 7
Etape 3 : 32 - 7 = 25 → masque /25 → 255.255.255.128
Etape 4 :
Reseau : 10.0.1.0
Premiere utilisable: 10.0.1.1
Derniere utilisable: 10.0.1.126
Broadcast : 10.0.1.127
Etape 5 : 126 utilisables >= 81 besoin → OK, marge de 45 adresses
Prochain sous-reseau possible : 10.0.1.128 → pas de chevauchement
Exemple rapide — Petit sous-réseau liaison routeur
Besoin : 2 adresses (2 interfaces routeur)
2 + 2 = 4 → 2^2 = 4 → n = 2
Masque : /30 → 255.255.255.252
Reseau : 10.0.0.0
Utilisables : 10.0.0.1 et 10.0.0.2
Broadcast : 10.0.0.3
9) Configuration réseau Linux
Netplan — syntaxe YAML complète
Netplan est l’outil de configuration réseau par défaut sur Ubuntu (18.04+). On édite un fichier YAML dans /etc/netplan/ puis on applique.
Fichier type : /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s3: # nom de l'interface reseau
dhcp4: no # desactiver DHCP
addresses:
- 10.0.1.100/24 # adresse IP / masque CIDR
routes:
- to: default # route par defaut
via: 10.0.1.1 # passerelle
nameservers:
addresses:
- 8.8.8.8 # DNS primaire
- 8.8.4.4 # DNS secondaire
Règles YAML importantes :
- Indentation en espaces uniquement (jamais de tabulations)
- Chaque niveau = 2 espaces
- Les tirets (
-) introduisent des éléments de liste - Respecter la casse (minuscules)
Commandes de diagnostic
| Commande | Rôle |
|---|---|
ip a | Afficher les interfaces réseau et leurs adresses IP |
ip addr show enp0s3 | Afficher les détails d’une interface spécifique |
ip route | Afficher la table de routage (dont la passerelle par défaut) |
ping 10.0.1.1 | Tester la connectivité vers une adresse IP |
ping -c 4 10.0.1.1 | Envoyer exactement 4 paquets puis s’arrêter |
traceroute 10.0.2.100 | Tracer le chemin réseau vers une destination |
sudo netplan apply | Appliquer la configuration netplan |
sudo netplan try | Tester la config avec rollback automatique en cas d’erreur |
cat /etc/netplan/*.yaml | Lire le fichier de configuration netplan actuel |
10) Passerelle par défaut
Rôle
La passerelle par défaut (default gateway) est l’adresse IP du routeur qui permet à une machine d’envoyer des paquets vers des réseaux qu’elle ne connaît pas directement. Quand une machine veut communiquer avec une IP qui n’est pas dans son sous-réseau, elle envoie le paquet à la passerelle.
Analogie
La passerelle, c’est comme la porte de sortie d’un bâtiment. Si tu veux parler à quelqu’un dans ton bâtiment (ton sous-réseau), tu vas directement le voir. Si tu veux parler à quelqu’un dans un autre bâtiment (un autre réseau), tu passes par la porte de sortie (la passerelle) qui te dirige vers le bon endroit.
Configuration
Dans netplan, la passerelle se configure dans la section routes :
routes:
- to: default
via: 10.0.1.1 # adresse IP du routeur
Convention courante : la passerelle prend souvent la première (.1) ou la dernière (.254) adresse utilisable du sous-réseau.
Pour vérifier la passerelle configurée :
ip route
# Sortie attendue :
# default via 10.0.1.1 dev enp0s3
11) Plan d’adressage IPAM
Qu’est-ce que c’est ?
IPAM = IP Address Management. C’est une méthode de documentation et de gestion de l’attribution des adresses IP dans une organisation. En pratique, c’est un tableau qui recense chaque sous-réseau, chaque plage d’adresses et chaque équipement avec son IP.
Pourquoi c’est indispensable ?
- Éviter les conflits d’adresses (deux machines avec la même IP)
- Faciliter le dépannage (savoir quelle IP correspond à quel équipement)
- Permettre l’évolutivité (voir les plages encore disponibles)
- Documenter l’infrastructure pour les collègues et la maintenance
- Prouver la conformité au cahier des charges (preuve C06)
Structure type d’un plan IPAM
Tableau 1 — Vue d’ensemble par site
| Site | Sous-réseau | Masque | Plage utilisable | Passerelle | Nb équipements | Marge |
|---|---|---|---|---|---|---|
| Site principal | 10.0.1.0/25 | 255.255.255.128 | 10.0.1.1 – 10.0.1.126 | 10.0.1.1 | 51 | 75 |
| … | … | … | … | … | … | … |
Tableau 2 — Détail par équipement
| Site | Équipement | Rôle | Adresse IP | Masque | Passerelle | Interface | Statut |
|---|---|---|---|---|---|---|---|
| Site principal | SRV-DNS-01 | Serveur DNS | 10.0.1.10 | /25 | 10.0.1.1 | enp0s3 | Actif |
| Site principal | PC-ADM-01 | Poste admin | 10.0.1.50 | /25 | 10.0.1.1 | enp0s3 | Actif |
| … | … | … | … | … | … | … | … |
12) Diagnostic réseau
Méthodologie couche par couche
Quand un problème réseau survient, on suit une méthode systématique du plus proche au plus lointain.
Étape 1 — Couche physique
- Le câble est-il branché ?
- Le lien est-il UP ? (
ip link show) - Le voyant de la carte réseau est-il allumé ?
Étape 2 — Configuration IP
- L’interface a-t-elle une adresse IP ? (
ip a) - L’adresse IP est-elle correcte (conforme au plan IPAM) ?
- Le masque est-il correct ?
Étape 3 — Passerelle locale
- La route par défaut est-elle configurée ? (
ip route) - Le ping vers la passerelle fonctionne-t-il ? (
ping 10.0.1.1) - Si échec : problème de config locale ou passerelle indisponible
Étape 4 — Destination distante
- Le ping vers une machine d’un autre sous-réseau fonctionne-t-il ?
- Si échec après étape 3 OK : problème de routage sur le routeur ou config du site distant
Étape 5 — Résolution DNS (si applicable)
- Le ping par nom échoue mais le ping par IP fonctionne ? → problème DNS
- Vérifier la config nameservers dans netplan
Schéma de diagnostic
Cable OK ?
└→ NON : rebrancher / tester cable
└→ OUI : IP configuree ?
└→ NON : configurer netplan + apply
└→ OUI : ping passerelle ?
└→ NON : verifier IP/masque/gateway
└→ OUI : ping distant ?
└→ NON : verifier routage
└→ OUI : tout fonctionne
13) Erreurs fréquentes et pièges
| # | Erreur | Pourquoi c’est un problème | Comment l’éviter |
|---|---|---|---|
| 1 | Oublier le masque lors de la configuration | Sans masque (ou masque incorrect), la machine ne sait pas quelles adresses sont dans son réseau local et lesquelles nécessitent la passerelle | Toujours vérifier le masque dans ip a après configuration |
| 2 | Chevauchement de sous-réseaux | Deux sous-réseaux qui se superposent provoquent des conflits de routage et des communications erratiques | Calculer systématiquement l’adresse réseau et le broadcast de chaque sous-réseau, vérifier qu’ils ne se recoupent pas |
| 3 | Confondre broadcast et passerelle | Le broadcast (dernière adresse) envoie à tout le réseau. La passerelle (souvent .1 ou .254) est le routeur. Attribuer le broadcast comme gateway = pas de sortie du réseau | Distinguer clairement dans le plan IPAM : broadcast = non attribuable, passerelle = routeur |
| 4 | Mauvaise indentation YAML (netplan) | Un espace en trop ou une tabulation au lieu d’espaces provoque une erreur à l’application ou pire, une config silencieusement ignorée | Utiliser sudo netplan try pour tester avant d’appliquer. Toujours indenter avec 2 espaces, jamais de tabulations |
| 5 | Oublier sudo netplan apply | Modifier le fichier YAML ne change rien tant qu’on n’applique pas. On pense avoir configuré mais rien n’a changé | Réflexe : éditer → sauvegarder → sudo netplan apply → ip a pour vérifier |
14) Vocabulaire essentiel
| Terme | Définition |
|---|---|
| Adresse IPv4 | Identifiant numérique de 32 bits (4 octets) attribué à un équipement réseau |
| Octet | Groupe de 8 bits, valeur de 0 à 255 |
| Masque de sous-réseau | Filtre de 32 bits délimitant la partie réseau et la partie hôte d’une adresse IP |
| CIDR | Classless Inter-Domain Routing — notation /préfixe indiquant le nombre de bits réseau |
| Adresse réseau | Première adresse d’un sous-réseau (bits hôte à 0), identifie le réseau, non attribuable |
| Adresse broadcast | Dernière adresse d’un sous-réseau (bits hôte à 1), diffusion à tous les hôtes, non attribuable |
| Passerelle (gateway) | Adresse IP du routeur permettant de communiquer avec d’autres réseaux |
| Sous-réseau (subnet) | Division d’un réseau IP en segments plus petits |
| Subnetting | Technique de calcul pour diviser un réseau en sous-réseaux |
| RFC 1918 | Document définissant les 3 plages d’adresses privées (10.x, 172.16-31.x, 192.168.x) |
| NAT | Network Address Translation — mécanisme qui traduit les adresses privées en adresse publique pour Internet |
| IPAM | IP Address Management — méthode de documentation et gestion des adresses IP |
| Netplan | Outil de configuration réseau sur Ubuntu Linux (fichier YAML) |
| Loopback | Interface virtuelle (127.0.0.1) qui désigne la machine elle-même |
| AND logique | Opération bit à bit appliquée entre IP et masque pour obtenir l’adresse réseau |
| Plage utilisable | Ensemble des adresses entre réseau+1 et broadcast-1 |
| Route par défaut | Chemin emprunté par les paquets quand la destination n’est pas dans le réseau local |
| Conflit d’adresses | Situation où deux machines ont la même IP, provoquant des erreurs de communication |
| Notation décimale pointée | Écriture d’une adresse IP en 4 nombres décimaux séparés par des points (ex : 192.168.1.1) |