Adressage IP avancé
Sommaire
Déterminer l'adresse réseau d'un hôte, son adresse de diffusion, sa plage adressable, et savoir si deux machines peuvent se parler. Tout repose sur une opération : un ET logique en binaire.
1. De l'adressage par classe au CIDR
L'adressage par classe gaspillait massivement les adresses : un masque
255.0.0.0 revenait à « offrir » 16 777 214 adresses publiques à une seule entreprise.
L'adressage sans classe (CIDR, Classless Inter-Domain Routing) attribue des blocs
correspondant précisément au nombre d'hôtes utiles, en dehors de toute notion de classe. La notation
/n indique simplement le nombre de bits à 1 dans le masque.
2. Le masque
Le masque est une suite contiguë de 1 suivie d'une suite de 0. La seule information utile est le nombre de 1. Il n'est pas nécessairement un multiple de 8.
| CIDR | Masque décimal | Bits hôte | Hôtes adressables |
|---|---|---|---|
| /24 | 255.255.255.0 | 8 | 254 |
| /25 | 255.255.255.128 | 7 | 126 |
| /26 | 255.255.255.192 | 6 | 62 |
| /27 | 255.255.255.224 | 5 | 30 |
| /28 | 255.255.255.240 | 4 | 14 |
| /29 | 255.255.255.248 | 3 | 6 |
| /30 | 255.255.255.252 | 2 | 2 |
Formule : avec n bits d'hôte, on obtient 2n − 2 adresses utilisables. On retire deux adresses : celle du réseau (tous les bits hôte à 0) et celle de diffusion (tous les bits hôte à 1), qui ne peuvent être attribuées à une machine.
Poids des bits dans un octet, à connaître par cœur :
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Poids | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
3. Méthode de calcul
On ne travaille que sur l'octet « coupé » par le masque, les autres sont recopiés tels quels.
- Convertir l'octet concerné de l'hôte et du masque en binaire.
- Adresse réseau : ET logique bit à bit entre l'hôte et le masque (1 ET 1 = 1, sinon 0). Autrement dit : garder les bits réseau, mettre tous les bits hôte à 0.
- Adresse de diffusion : reprendre l'adresse réseau et mettre tous les bits hôte à 1.
- Premier hôte : adresse réseau + 1.
- Dernier hôte : adresse de diffusion − 1.
4. Exemples corrigés
192.168.10.2 / 255.255.255.240 (soit /28)
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Valeur | |
|---|---|---|---|---|---|---|---|---|---|
| hôte | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
| masque | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 240 |
| réseau | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
- Adresse réseau : 192.168.10.0/28
- Hôtes possibles : 24 = 16, moins 2 = 14
- Premier hôte :
0000 0001→ 192.168.10.1 - Dernier hôte :
0000 1110→ 192.168.10.14 - Diffusion :
0000 1111→ 192.168.10.15
192.168.20.185 / 25
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Valeur | |
|---|---|---|---|---|---|---|---|---|---|
| hôte | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 185 |
| masque | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
| réseau | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
| premier hôte | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 129 |
| dernier hôte | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 254 |
| diffusion | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
- Réseau : 192.168.20.128 — Diffusion : 192.168.20.255 — 126 hôtes
- Plage : 192.168.20.129 → 192.168.20.254
Avec un /25, le même octet peut donner deux réseaux : 192.168.20.0 (plage .1 à .126, diffusion .127) et 192.168.20.128 (plage .129 à .254, diffusion .255). Un hôte en .2 et un hôte en .185 ne sont donc pas dans le même réseau, malgré des trois premiers octets identiques.
200.100.40.33 / 27
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Valeur | |
|---|---|---|---|---|---|---|---|---|---|
| hôte | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 33 |
| masque | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 224 |
| réseau | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 32 |
| diffusion | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 63 |
- Réseau : 200.100.40.32 — Diffusion : 200.100.40.63 — 30 machines adressables
- 200.100.40.46 appartient au réseau : elle est comprise dans la plage 32 à 63.
- 200.100.40.72 n'y appartient pas : elle est au-delà de l'adresse de diffusion.
Le découpage d'un bloc en plusieurs sous-réseaux, à masque fixe ou variable, est traité dans la fiche Sous-réseaux : FLSM et VLSM.
5. Adresses privées et publiques
| Plage privée | CIDR | Usage courant |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | Grandes infrastructures |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | Réseaux d'entreprise |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | Petits réseaux, box |
Une adresse privée n'est pas routable sur Internet : la sortie passe par une traduction d'adresses (NAT).
200.100.40.33 ne figure dans aucune de ces plages : c'est une adresse publique.
À connaître également : 127.0.0.0/8 (boucle locale) et 169.254.0.0/16 (APIPA,
attribuée automatiquement quand le DHCP ne répond pas — symptôme typique d'un problème réseau).
6. Deux hôtes peuvent-ils communiquer ?
La question revient toujours à la même vérification : les deux adresses donnent-elles la même adresse réseau une fois le masque appliqué ?
- Même réseau → remise directe : l'émetteur résout l'adresse MAC du destinataire par ARP et envoie la trame directement.
- Réseaux différents → remise indirecte : l'émetteur envoie la trame à sa passerelle par défaut, qui se charge du routage.
Erreur classique en TP : deux postes correctement adressés mais avec des masques différents. A voit B dans son réseau, B ne voit pas A dans le sien. Le ping part et ne revient jamais. Vérifier le masque autant que l'adresse.
À retenir
- CIDR /n = nombre de bits à 1 dans le masque
- n bits d'hôte → 2n − 2 adresses utilisables
- Poids des bits : 128 64 32 16 8 4 2 1
- Adresse réseau = bits hôte à 0 (ET logique avec le masque)
- Diffusion = bits hôte à 1
- Plage = réseau + 1 → diffusion − 1
- Privées : 10/8, 172.16/12, 192.168/16 — non routables sur Internet
- 169.254.x.x (APIPA) → le DHCP n'a pas répondu
- Même réseau → remise directe | réseaux différents → via la passerelle
- Masques différents entre deux postes → ping qui ne revient jamais