Introduction à IPv4
L'adresse IP version 4 est le système d'adressage qui a permis à Internet de fonctionner pendant plus de 40 ans. Conçue à une époque où l'on pensait que 4 milliards d'adresses seraient suffisantes pour l'éternité, IPv4 est aujourd'hui épuisée — mais reste omniprésente dans les réseaux d'entreprise.
Comprendre IPv4 en profondeur est indispensable pour tout professionnel réseau ou système. Ce chapitre vous donne les bases solides pour calculer des sous-réseaux, comprendre le CIDR, et configurer correctement l'adressage d'un réseau.
Représentation binaire et décimale
Structure d'une adresse IPv4
Une adresse IPv4 est composée de 32 bits, organisés en 4 octets (groupes de 8 bits), séparés par des points. Chaque octet est représenté en décimal.
Binaire : 11000000.10101000.00001010.00000001
Décimal : 192 . 168 . 10 . 1
Notation : 192.168.10.1
Conversion binaire ↔ décimal
Chaque bit dans un octet représente une puissance de 2 :
Bit position : 7 6 5 4 3 2 1 0
Valeur : 128 64 32 16 8 4 2 1
Exemple : convertir 192 en binaire
192 = 128 + 64 = 11000000
Exemple : convertir 11001010 en décimal
11001010 = 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202
| Décimal | Binaire |
|---|---|
| 0 | 00000000 |
| 1 | 00000001 |
| 127 | 01111111 |
| 128 | 10000000 |
| 192 | 11000000 |
| 255 | 11111111 |
Plage de valeurs
Chaque octet peut prendre des valeurs de 0 à 255. Le nombre total d'adresses IPv4 possibles est donc :
2^32 = 4 294 967 296 ≈ 4,3 milliards d'adresses
Classes d'adresses IPv4 (historique)
Avant le CIDR, les adresses IPv4 étaient organisées en classes (A, B, C, D, E). Ce système, appelé classful routing, est obsolète depuis 1993, mais reste important pour comprendre l'historique.
Les classes A, B, C
| Classe | Premier bit | Plage | Masque par défaut | Réseaux | Hôtes/réseau |
|---|---|---|---|---|---|
| A | 0 | 1.0.0.0 – 126.255.255.255 | /8 (255.0.0.0) | 126 | 16 777 214 |
| B | 10 | 128.0.0.0 – 191.255.255.255 | /16 (255.255.0.0) | 16 384 | 65 534 |
| C | 110 | 192.0.0.0 – 223.255.255.255 | /24 (255.255.255.0) | 2 097 152 | 254 |
| D | 1110 | 224.0.0.0 – 239.255.255.255 | — | Multicast | — |
| E | 1111 | 240.0.0.0 – 255.255.255.255 | — | Réservé | — |
Le problème du classful : si vous avez besoin de 300 hôtes, vous devez prendre une adresse de classe B (65 534 hôtes), gaspillant 65 234 adresses. Le CIDR a résolu ce problème.
CIDR — Classless Inter-Domain Routing
Introduit en 1993 (RFC 1517-1520), le CIDR permet d'allouer des blocs d'adresses de n'importe quelle taille, pas seulement /8, /16, /24.
La notation CIDR
La notation CIDR utilise un suffixe /n qui indique le nombre de bits de la partie réseau de l'adresse.
192.168.10.0/24
│ └─ 24 bits pour le réseau, 8 bits pour les hôtes
└─ Adresse de base du réseau
Le masque de sous-réseau
Le masque de sous-réseau est la représentation décimale du préfixe CIDR :
| Préfixe | Masque | Binaire | Hôtes disponibles |
|---|---|---|---|
| /8 | 255.0.0.0 | 11111111.00000000.00000000.00000000 | 16 777 214 |
| /16 | 255.255.0.0 | 11111111.11111111.00000000.00000000 | 65 534 |
| /24 | 255.255.255.0 | 11111111.11111111.11111111.00000000 | 254 |
| /25 | 255.255.255.128 | 11111111.11111111.11111111.10000000 | 126 |
| /26 | 255.255.255.192 | 11111111.11111111.11111111.11000000 | 62 |
| /27 | 255.255.255.224 | 11111111.11111111.11111111.11100000 | 30 |
| /28 | 255.255.255.240 | 11111111.11111111.11111111.11110000 | 14 |
| /29 | 255.255.255.248 | 11111111.11111111.11111111.11111000 | 6 |
| /30 | 255.255.255.252 | 11111111.11111111.11111111.11111100 | 2 |
Calcul : adresse réseau, broadcast et hôtes
Pour un réseau donné, trois adresses ont des rôles spéciaux :
- Adresse réseau : bits hôte tous à 0 — identifie le réseau
- Adresse broadcast : bits hôte tous à 1 — diffusion à tous les hôtes
- Hôtes utilisables : toutes les adresses entre réseau+1 et broadcast-1
Formule : Nombre d'hôtes = 2^(32-préfixe) - 2
Réseau 192.168.10.0/24
├── Adresse réseau : 192.168.10.0 (réservée)
├── Premier hôte : 192.168.10.1
├── ...
├── Dernier hôte : 192.168.10.254
└── Broadcast : 192.168.10.255 (réservée)
Hôtes disponibles : 254
Adresses privées — RFC 1918
La RFC 1918 (1996) réserve trois plages d'adresses pour une utilisation dans les réseaux privés. Ces adresses ne sont jamais routées sur Internet public.
| Plage privée | Préfixe CIDR | Plage complète | Usage typique |
|---|---|---|---|
| 10.0.0.0/8 | /8 | 10.0.0.0 – 10.255.255.255 | Grands réseaux d'entreprise |
| 172.16.0.0/12 | /12 | 172.16.0.0 – 172.31.255.255 | Réseaux moyens |
| 192.168.0.0/16 | /16 | 192.168.0.0 – 192.168.255.255 | Réseaux domestiques/PME |
Adresses spéciales supplémentaires
| Adresse/Plage | Usage |
|---|---|
| 127.0.0.0/8 | Loopback (127.0.0.1 = "soi-même") |
| 0.0.0.0 | Hôte inconnu / route par défaut |
| 169.254.0.0/16 | APIPA (auto-configuration si pas de DHCP) |
| 100.64.0.0/10 | Shared Address Space (RFC 6598, FAI) |
| 255.255.255.255 | Broadcast limité |
# Vérifier votre configuration IP actuelle
ip addr show
# Voir la route par défaut
ip route show
# Exemple de sortie :
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
# inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
Exemple complet : découper 192.168.10.0/24 en 4 sous-réseaux
Un cas concret que vous rencontrerez en entreprise : vous avez un réseau /24 et vous devez le diviser en 4 sous-réseaux égaux.
Méthode
Pour obtenir 4 sous-réseaux, vous avez besoin de 2 bits supplémentaires pour la partie réseau (2² = 4). On passe donc de /24 à /26.
/26 : 32 - 26 = 6 bits pour les hôtes
Hôtes par sous-réseau : 2^6 - 2 = 62 hôtes
Les 4 sous-réseaux
| Sous-réseau | Adresse réseau | Premier hôte | Dernier hôte | Broadcast |
|---|---|---|---|---|
| Sous-réseau 1 | 192.168.10.0/26 | 192.168.10.1 | 192.168.10.62 | 192.168.10.63 |
| Sous-réseau 2 | 192.168.10.64/26 | 192.168.10.65 | 192.168.10.126 | 192.168.10.127 |
| Sous-réseau 3 | 192.168.10.128/26 | 192.168.10.129 | 192.168.10.190 | 192.168.10.191 |
| Sous-réseau 4 | 192.168.10.192/26 | 192.168.10.193 | 192.168.10.254 | 192.168.10.255 |
Vérification en binaire
192.168.10. 0 = 00000000 → réseau 1 (bits réseau : 00)
192.168.10. 64 = 01000000 → réseau 2 (bits réseau : 01)
192.168.10.128 = 10000000 → réseau 3 (bits réseau : 10)
192.168.10.192 = 11000000 → réseau 4 (bits réseau : 11)
VLSM — Variable Length Subnet Masking
Le VLSM va plus loin que le découpage uniforme : il permet d'attribuer des sous-réseaux de tailles différentes selon les besoins réels. C'est la technique utilisée dans tous les réseaux professionnels modernes.
Exemple VLSM
Besoin : un réseau 10.0.0.0/24 avec :
- Segment A : 100 hôtes (serveurs)
- Segment B : 50 hôtes (postes de travail)
- Segment C : 25 hôtes (imprimantes)
- Segment D : 2 hôtes (liaison point-à-point routeurs)
| Segment | Besoins | Préfixe | Adresse réseau | Hôtes dispo |
|---|---|---|---|---|
| A (serveurs) | 100 | /25 | 10.0.0.0/25 | 126 |
| B (postes) | 50 | /26 | 10.0.0.128/26 | 62 |
| C (imprimantes) | 25 | /27 | 10.0.0.192/27 | 30 |
| D (liaison P2P) | 2 | /30 | 10.0.0.224/30 | 2 |
Le VLSM évite le gaspillage d'adresses et structure le plan d'adressage de manière logique.
NAT — Network Address Translation
Le NAT (RFC 3022) est la technique qui permet à des millions d'appareils utilisant des adresses privées de communiquer avec Internet, via un nombre limité d'adresses publiques.
Principe du NAT
Votre box Internet a une seule adresse IP publique (ex: 80.123.45.67). Votre réseau domestique utilise 192.168.1.0/24. Quand votre PC (192.168.1.10) envoie une requête à Google :
SORTANT (SNAT - Source NAT) :
PC 192.168.1.10:54321 → 142.250.74.46:443
Routeur 80.123.45.67:1024 → 142.250.74.46:443 (traduction src)
ENTRANT (réponse) :
Google 142.250.74.46:443 → 80.123.45.67:1024
Routeur 142.250.74.46:443 → 192.168.1.10:54321 (traduction dst)
Types de NAT
| Type | Description | Usage |
|---|---|---|
| SNAT (Source NAT) | Change l'adresse source → accès Internet | Box Internet, pare-feu |
| DNAT (Destination NAT) | Change l'adresse destination → port forwarding | Héberger un serveur derrière un NAT |
| PAT/Masquerade | SNAT avec translation de port | La majorité des NAT domestiques |
| Full NAT | Change source ET destination | Load balancers |
Configurer NAT avec iptables (Linux)
# SNAT : permettre aux machines du LAN d'accéder à Internet
# (remplacez eth0 par votre interface WAN)
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# DNAT : rediriger le port 80 public vers un serveur interne
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.1.50:80
# Activer le forwarding IP (obligatoire)
sudo sysctl -w net.ipv4.ip_forward=1
# Rendre permanent
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
Commandes essentielles
# Afficher toutes les interfaces et leurs adresses IP
ip addr show
# Afficher seulement IPv4
ip -4 addr show
# Configurer une adresse IP (temporaire)
sudo ip addr add 192.168.10.100/24 dev eth0
# Supprimer une adresse IP
sudo ip addr del 192.168.10.100/24 dev eth0
# Afficher la table de routage complète
ip route show
# Ajouter une route statique
sudo ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0
# Ajouter/modifier la route par défaut
sudo ip route add default via 192.168.1.1
# Tester la connectivité
ping -c 4 -I eth0 8.8.8.8
# Calculer un sous-réseau avec ipcalc
ipcalc 192.168.10.0/24
# → Network: 192.168.10.0/24
# → Broadcast: 192.168.10.255
# → HostMin: 192.168.10.1
# → HostMax: 192.168.10.254
# → Hosts/Net: 254
Récapitulatif
| Concept | À retenir |
|---|---|
| Adresse IPv4 | 32 bits, 4 octets décimaux |
| Préfixe CIDR /n | n bits pour le réseau |
| Hôtes disponibles | 2^(32-n) - 2 |
| RFC 1918 | 10/8, 172.16/12, 192.168/16 = privé |
| Loopback | 127.0.0.1 |
| VLSM | Sous-réseaux de tailles variables |
| SNAT | Accès Internet depuis le LAN |
| DNAT | Héberger un service derrière NAT |
Passez maintenant au chapitre suivant : Adressage IPv6 — le successeur d'IPv4 avec ses 340 sextillions d'adresses.