Contexte
Je reprend les notions vues en formation TSSR sur l'adressage IP.
Les souvenirs d'adressage IP de mon BTS IG sont très lointains! La formation TSSR vient remettre les pendules à l'heure.
Si d'un point de logique, il n'y a pas vraiment de difficulté, on peut vite faire des erreurs.
Dans un premier temps, le plus important est de comprendre, passer par la conversion binaire est une première étape. Ensuite, pour aller plus vite, il est préférable d'utiliser les masques en notation CIDR. Aussi la méthode du nombre "magique" permet de gagner du temps.
Il s'agit de notes personnelles.
Cheatsheet
Calcul binaire
Voici quelques ressources utiles:
Classes d'adresses IPv4
| Classe | Plage d'adresses | Premier octet (binaire) | Premier octet (décimal) | Masque par défaut | Utilisation |
|---|---|---|---|---|---|
| A | 0.0.0.0 → 127.255.255.255 | 0xxxxxxx | 1 → 126 | 255.0.0.0 (/8) | Très grands réseaux |
| B | 128.0.0.0 → 191.255.255.255 | 10xxxxxx | 128 → 191 | 255.255.0.0 (/16) | Réseaux moyens |
| C | 192.0.0.0 → 223.255.255.255 | 110xxxxx | 192 → 223 | 255.255.255.0 (/24) | Petits réseaux |
| D | 224.0.0.0 → 239.255.255.255 | 1110xxxx | 224 → 239 | N/A | Multicast |
| E | 240.0.0.0 → 255.255.255.255 | 1111xxxx | 240 → 255 | N/A | Expérimental / réservé |
Adresses privées (RFC 1918)
A connaître
| Plage | Classe | Masque CIDR | Nb d'adresses | Utilisation |
|---|---|---|---|---|
| 10.0.0.0 → 10.255.255.255 | A | /8 | 16 777 216 | Réseaux privés très larges (grandes entreprises) |
| 172.16.0.0 → 172.31.255.255 | B | /12 | 1 048 576 | Réseaux privés moyens (entreprises) |
| 192.168.0.0 → 192.168.255.255 | C | /16 | 65 536 | Réseaux domestiques, box, petites structures |
Adresses IPv4 spéciales
A connaître
| Adresse | Nom | Utilisation |
|---|---|---|
| 0.0.0.0 | Adresse non spécifiée | Utilisée lors du boot, ou pour dire "toutes les interfaces" |
| 127.0.0.0 → 127.255.255.255 | Loopback | Test réseau local / ping localhost (127.0.0.1) |
| 169.254.0.0 → 169.254.255.255 | APIPA | Adresse attribuée automatiquement en cas d’échec DHCP |
| 224.0.0.0 → 239.255.255.255 | Multicast | Groupes de diffusion, streaming, routage |
| 255.255.255.255 | Broadcast limité | Diffusion à tous les hôtes du réseau local |
Masques IPv4
Voici un tableau, pour avoir certains repères. #Update: Après quelques jours d'entraînement je ne l'utilise plus.
L'idée n'est absolument pas d'apprendre par cœur, mais d'avoir des repères afin d'aller plus vite. Exemple: 27 cela peut être 1 bit en plus dans le masque réseau soit /25.
| Bits du masque (22) | 4ème octet en binaire | Masque décimal | Nb adresses | Hôtes utilisables | Bits réseau | Bits hôte | Remarque |
|---|---|---|---|---|---|---|---|
| /24 28 | 0000 0000 | 255.255.255.0 | 256 | 254 | 0 bit | 8 bit | |
| /25 27 | 1000 0000 | 255.255.255.128 | 128 | 126 | 1 bit | 7 bit | |
| /26 26 | 1100 0000 | 255.255.255.192 | 64 | 62 | 2 bit | 6 bit | |
| /27 25 | 1110 0000 | 255.255.255.224 | 32 | 30 | 3 bit | 5 bit | |
| /28 24 | 1111 0000 | 255.255.255.240 | 16 | 14 | 4 bit | 4 bit | |
| /29 23 | 1111 1000 | 255.255.255.248 | 8 | 6 | 5 bit | 3 bit | |
| /30 22 | 1111 1100 | 255.255.255.252 | 4 | 2 | 6 bit | 2 bit | Mini-lien réseau |
| /31 21 | 1111 1110 | 255.255.255.254 | 2 | 2 (RFC 3021) | 7 bit | 1 bit | Point-à-point (ex: deux routeurs), pas besoin de broadcast |
| /32 20 | 1111 1111 | 255.255.255.255 | 1 | 0 | 8 bit | 0 bit | IP unique (host, loopback) |
Mes repères
Il important de se faire ses propres repères, cela permet d'aller plus vite et éventuellement de déceler une erreur.
Pour ma part, je note sur une feuille, les classes adresses privé.
Un petit tableau pour la conversion décimale en binaire.
Pour les classes d'adresses IP je note la chose suivante:
0000 A 1000 B 1100 C 1110 D 1111 E
Ici, c'est comme si j'avais les puissance 27, 26, 25, 24. Je complète ensuite avec:
0000 A 0 1000 B 128 1100 C 192 1110 D 224 1111 E 240
Pour les masques, je retiens que /25 "correspond" à 27 et /26 à 26, ça permet de remplir les tableau VLSM.
Autres repères donné par le formateur:
| 3 ème octect | 4 ème octect | |
| /16 | /24 | 256 |
| /17 | /25 | 128 |
| /18 | /26 | 64 |
| /19 | /27 | 32 |
| /20 | /28 | 16 |
| /21 | /29 | 8 |
| /22 | /30 | 4 |
| /23 | /31 | 2 |
| /24 | /32 | 1 |
Découper un réseau (subnet)
On peut découper un réseau, en sous-réseau (SR) de part égale (FLSM - Fixed Length Subnet Mask). Cela peut se faire à partir du nombre de SR souhaité ou du nombre d'hôtes (machines) voulue.
On peut aussi découper un réseau en SR en fonction des besoins (VLSM - Variable Length Subnet Mask), via la notation CIDR.
Découper un réseau en part égales
FLSM par nombre de sous-réseaux (SR)
Je vais partir d'un exemple: soit l'adresse 192.168.1.0 /24
- Calculer le nombre de bit nécessaires pour 4SR: 2n ≥ 4 2 bits empruntés
- Nouveau masque: /24 +2 = /26 255.255.255.192
- Nombre d'hôtes par SR: 26 - 6 = 62 hôtes - cela nous donnes également le nombre de "saut"
On peut maintenant faire un petit tableau:
Pour faciliter le remplissage, on va d'abord remplir la colonne adresse réseau, puis adresse broadcast et enfin les pages.
| @ Réseau | plage d'hôtes | @ Broadcast |
|---|---|---|
| 192.168.1.0/26 | 192.168.1.1 .62 | 192.168.1.63 |
| 192.168.1.64/26 | 192.168.1.65 .126 | 192.168.127 |
| 192.168.1.128/26 | 192.168.1.129 .190 | 192.168.1.191 |
| 192.168.1.192/26 | 192.168.1.193 .254 | 192.168.1.255 |
FLSM par nombre d'hôtes
Ici on va créer des SR capable de contenir un certain nombre d'hôtes.
prenons l'exemple suivant: soit un reseau 10.0.0.0 /8 où l'on souhaite pouvoir héberger 500 hôtes.
- Déterminer le nombre de bits pour les hôtes: 2n - 2 ≥ 500 n = 9 (29 = 512)
Remarque: ici pour le saut on est au delà de 256: 512/256=2, on fera donc des sauts de 2 au niveau du troisième octets - Masque CIDR: 32 - 9 /23 255.255.255.254.0
- Nombre total de SR possible: à partir de /8 jusqu'à /23: 223-8 = 215 = 32 768 SR
Les plages d'hôtes pour chaque SR (/23):
| @ Réseau | plage d'hôtes | @ Broadcast |
|---|---|---|
| 10.0.0.0 /23 | 10.0.0.1 10.0.1.254 | 10.0.1.255 |
| 10.0.2.0 /23 | 10.0.2.1 /23 10.0.3.254 | 10.0.3.255 |
| ... | ... | ... |
Ici, il faut bien noter que lorsque l'on part du nombre de SR, on va "emprunter" des bits, ce qui fait "augmenter" le masque.
Lorsque l'on part d'un nombre d'hôtes, on calcul le nombre de bits qu'il faut laisser pour ça.
Découper un réseau VLSM
VLSM (Variable Length Subnet Masking) permet de créer des SR de taille différentes grâce au masque.
Ici on part du besoin, du plus grand nombre d'hôtes au plus petit et on découpe.
Prenons l'exemple suivant: soit l'adresse de départ: 192.168.1.0 /24
Je veux:
- un SR de 50 hôtes
- un SR de 10 hôtes
- Un SR de 100 hôtes
- Un SR de 25 hôtes
On va trier les besoins par ordre décroissant, dans un premier temps on calcul le nombre de bits nécessaire, ce qui nous donne le masque à utiliser et le "saut".
On peut donc remplir la colonne @réseau, puis la colonne @broadcast et terminer par la plage.
| Besoin | Alloué | @ Réseau | @ Masque | @ Plage | @ Broadcast |
|---|---|---|---|---|---|
| 100 | 128-2 | 192.168.1.0 | /25 | 192.168.1.1 192.168.1.126 | 10.0.1.127 |
| 50 | 64-2 | 10.0.1.128 | /26 | 192.168.1.129 .190 | 10.0.1.191 |
| 25 | 32-2 | 10.0.1.192 | /27 | 192.168.1.193 .222 | 10.0.1.223 |
| 10 | 16-2 | 10.0.1.224 | /28 | 192.168.1.225 .238 | 10.0.1.239 |
Le nombre magique
Un petit mot sur le nombre magique, cette méthode permet de calculer l'adresse réseau/broadcast si' l'on dispose du masque d'une adresse IP.
Une vidéo de Formip explique le principe: @formip - Découvrez le Secret du Chiffre Magique!
Prenons un exemple: 192.168.231.0 /22
définir le masque: /22 on est donc au niveau du troisième octet:
1111 1111.1111 1111.1111 1100.0000 0000
le troisième octet 1111 1100
soit 27 + 26 + 25 + 24 + 23 + 22 =
128 + 64 + 32 + 16 + 8 + 4 = 252
/22 soit le masque 255.255.255.252 Nombre magique = 256 - 252 = 4 ("saut")
Il faut trouver le plus proche multiple de 4 INFÉRIEUR à 228
On passe par une division entière: 231 / 4 = 57,75
57 x 4 = 228
L'@réseau est donc 192.168.228.0
L'@broadcast (juste avant le prochain saut) est donc 192.168.231.255
La plage hôte de 192.168.228.1 192.168.231.254