Le problème : on vous donne une adresse et un préfixe, par exemple 192.168.10.77/26, et vous devez savoir dans quel réseau elle se trouve, où ce réseau se termine et quelles adresses vous pouvez attribuer. Un calculateur de sous-réseaux vous le dira. Le souci, c'est que le calculateur confirmera tout aussi volontiers une faute de frappe, et vous ne vous en apercevrez pas. Apprenez à le faire à la main une fois, et vous repérerez l'erreur en une dizaine de secondes.
J'utilise une seule méthode pour toutes les longueurs de préfixe. Elle s'appelle la méthode de la taille de bloc, et elle demande une soustraction et un peu de comptage.
L'idée
Un sous-réseau est un bloc d'adresses consécutives. La taille du bloc est une puissance de deux, et chaque bloc commence à un multiple de sa propre taille. C'est tout le truc. Imaginez une longue rangée de boîtes aux lettres numérotées de 0 à 255, fixées au mur par groupes. Chaque groupe contient le même nombre de boîtes, et un groupe commence toujours là où le précédent s'est terminé. Votre travail consiste à trouver dans quel groupe se trouve votre adresse.
La procédure
- Trouvez l'octet intéressant. C'est l'octet où le masque n'est ni 255 ni 0. Pour un /26, c'est le quatrième octet. Pour un /20, c'est le troisième.
- Notez la valeur du masque dans cet octet. La taille de bloc est 256 moins cette valeur.
- Listez les multiples de la taille de bloc : 0, 64, 128, 192 pour un bloc de 64.
- Trouvez le plus grand multiple inférieur ou égal à la valeur de votre adresse dans cet octet. C'est l'adresse réseau (les octets à gauche restent tels quels, les octets à droite passent à 0).
- Le multiple suivant, moins 1, est la dernière adresse du bloc. C'est l'adresse de broadcast (les octets à droite passent à 255).
- Les hôtes utilisables vont de l'adresse réseau plus 1 jusqu'au broadcast moins 1.
Si vous n'avez pas mémorisé les valeurs de masque, elles tiennent en peu de chose. Dans l'octet intéressant, les valeurs sont 128, 192, 224, 240, 248, 252 pour 1 à 6 bits de masque dans cet octet. Les tailles de bloc sont 128, 64, 32, 16, 8, 4. Apprenez cette ligne et vous aurez fait l'essentiel du chemin.
Exemple un : 192.168.10.77/26
Un /26 correspond à 255.255.255.192. L'octet intéressant est le quatrième, et sa valeur est 192. La taille de bloc est 256 - 192 = 64.
Multiples de 64 : 0, 64, 128, 192. Le nombre 77 se situe entre 64 et 128, donc :
Network: 192.168.10.64
Broadcast: 192.168.10.127
Usable: 192.168.10.65 to 192.168.10.126
Hosts: 62
Le nombre d'hôtes est la taille de bloc moins 2, parce que la première adresse désigne le réseau et la dernière est le broadcast. Oublier cette soustraction est la faute d'étourderie que je vois le plus souvent.
Exemple deux : changer d'octet, 172.16.45.200/20
Un /20 correspond à 255.255.240.0. L'octet intéressant est maintenant le troisième, avec une valeur de 240. La taille de bloc est 256 - 240 = 16, et elle se compte dans le troisième octet.
Multiples de 16 : 0, 16, 32, 48. Le troisième octet de notre adresse est 45, qui tombe entre 32 et 48. Le quatrième octet, 200, n'a aucune importance pour trouver le bloc.
Network: 172.16.32.0
Broadcast: 172.16.47.255
Usable: 172.16.32.1 to 172.16.47.254
Hosts: 4094
Remarquez que .0 et .255 dans le quatrième octet sont ici des adresses d'hôte tout à fait ordinaires, tant qu'elles se trouvent au milieu du bloc. Par exemple, 172.16.40.0 est un hôte valide dans ce sous-réseau. Les personnes qui n'ont appris le subnetting que sur des réseaux /24 en sont souvent surprises. Les deux seules adresses réservées sont la première et la dernière du bloc entier.
Le nombre d'hôtes : 12 bits d'hôte, 2 puissance 12 donne 4096, moins 2 donne 4094.
Découper un bloc en blocs plus petits
La même méthode fonctionne en sens inverse quand vous planifiez. Supposons que vous ayez 192.168.10.0/24 et que vous vouliez quatre sous-réseaux égaux. Quatre sous-réseaux demandent 2 bits supplémentaires, donc le préfixe devient /26 et la taille de bloc est 64 :
192.168.10.0/26 hosts .1 to .62
192.168.10.64/26 hosts .65 to .126
192.168.10.128/26 hosts .129 to .190
192.168.10.192/26 hosts .193 to .254
Chaque adresse de début est un multiple de 64, ce qui sert de vérification de cohérence. Si vous écrivez un jour un /26 qui commence à .50, il y a un problème, car .50 n'est pas un multiple de 64. Un routeur le refusera ou, pire, le traitera discrètement comme autre chose que ce que vous vouliez dire.
Dans un home lab, c'est aussi comme cela que je décide de la taille de chaque VLAN. Un segment IoT avec trente appareils n'a pas besoin d'un /24. Un /26 donne 62 hôtes et laisse de la marge pour grandir, et le domaine de broadcast plus petit est un petit bonus.
Vérifier votre réponse en binaire
Quand un résultat semble étrange, vérifiez-le en binaire, uniquement pour l'octet intéressant. Prenez 45 dans l'exemple du /20 : 45 s'écrit 00101101. Le masque dans cet octet est 240, soit 11110000. Gardez les quatre bits de poids fort de l'adresse et mettez le reste à zéro : 00100000, soit 32. Cela correspond à l'adresse réseau que nous avons trouvée. La méthode de la taille de bloc n'est que cette opération, sans l'écriture des bits.
Erreurs courantes
- Oublier le moins 2 dans le calcul du nombre d'hôtes. Un /30 compte 4 adresses et 2 hôtes utilisables, ce qui explique pourquoi c'était le choix traditionnel pour une liaison point à point. (De nombreux équipements récents prennent aussi en charge le /31 sur les liaisons point à point, mais vérifiez votre matériel avant de vous y fier.)
- Utiliser le mauvais octet. Si le préfixe est /20, le travail se fait dans le troisième octet, et la taille de bloc n'est pas de 16 adresses, c'est 16 valeurs du troisième octet, soit 4096 adresses.
- Compter les blocs à partir de 1 au lieu de 0. Le premier bloc commence à 0.
- Prendre le broadcast pour le début du réseau suivant. Le broadcast vaut un de moins que le multiple suivant, il n'est pas égal à celui-ci.
- Faire confiance au calculateur sans vérification de cohérence. Si l'adresse réseau n'est pas un multiple de la taille de bloc, la réponse est fausse.
Pourquoi s'en donner la peine
J'ai vu des sous-réseaux qui se chevauchent causer un après-midi de routage étrange, et la cause était un masque saisi avec un bit d'écart. Quand je planifie une liaison site à site, par exemple deux maisons sur 192.168.10.0/24 et 192.168.20.0/24, je veux prouver à l'œil que rien ne se chevauche avant de toucher à une configuration. Le subnetting à la main permet de le faire au dos d'une enveloppe. C'est ennuyeux, et l'ennui est exactement ce que j'attends d'un plan d'adressage.
Une prochaine étape : prenez 10.20.37.150/21 et déterminez sur papier le réseau, le broadcast et la plage utilisable, sans calculateur. Puis vérifiez avec notre calculateur et voyez si vous obtenez le même résultat.
Have a question about this guide?
Create a free account to ask the community and join the discussion. Members who run the real thing answer every day.
0 comments
Open in the forumSign in to comment.