https://tssr.nolan.ovh by Flo.
# 29/05/25 - Update #01/05/25

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:

Utile pour calculer les sauts et trouver dans quel "interval" se trouve l'IP afin d'identifier l'adresse réseau et broadcast.

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

  1. Calculer le nombre de bit nécessaires pour 4SR: 2n ≥ 4 2 bits empruntés
  2. Nouveau masque: /24 +2 = /26 255.255.255.192
  3. 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.

  1. 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
  2. Masque CIDR: 32 - 9 /23 255.255.255.254.0
  3. 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