Questions sur les sous-réseaux
CIDR, nombre d'hôtes, masques inverses et préfixes spéciaux.
Que signifie vraiment le /24 dans 192.168.1.0/24 ?+
C'est un nombre de bits, pas un nombre d'adresses. Une adresse IPv4 fait 32 bits, et le préfixe indique combien d'entre eux, en partant de la gauche, sont fixes pour toutes les machines du réseau. /24 fixe les 24 premiers bits (192.168.1) et laisse 8 bits libres, soit 256 combinaisons. Cette notation s'appelle CIDR, et elle a remplacé l'ancien système de classes en 1993 justement parce que la taille d'un réseau n'avait plus à correspondre à une limite d'octet : /23 et /25 sont tout aussi valides que /24, et c'est ainsi que les blocs sont réellement attribués.
Pourquoi un /24 a-t-il 254 hôtes utilisables et non 256 ?+
Deux des 256 sont déjà prises. L'adresse dont tous les bits hôte sont à 0 (192.168.1.0) est l'adresse réseau, qui désigne le sous-réseau dans une table de routage et ne peut pas être attribuée à une interface. L'adresse dont tous les bits hôte sont à 1 (192.168.1.255) est l'adresse de diffusion dirigée, reçue par tous les hôtes du segment. Il reste donc de .1 à .254. La même soustraction s'applique à toutes les tailles, c'est pourquoi un /26 donne 62 et non 64, et un /30 seulement 2 sur 4.
Comment un /31 peut-il avoir deux adresses utilisables alors qu'un /30 en a deux sur quatre ?+
Parce que la RFC 3021 a levé la réservation pour ce cas précis. Un /31 contient exactement deux adresses, donc en réserver une pour le réseau et une pour la diffusion ne laisserait rien du tout. Sur un lien point à point entre deux routeurs, une adresse de diffusion est inutile (il n'y a qu'un seul autre appareil, et lui envoyer un paquet revient à diffuser), donc les deux adresses sont attribuées et le lien cesse de gaspiller la moitié d'un /30. Tous les routeurs actuels le prennent en charge ; certaines piles réseau d'hôtes plus anciennes le refusent encore, et c'est la seule raison pour laquelle le /30 reste courant.
Qu'est-ce qu'un masque inverse (wildcard) et à quoi sert-il ?+
C'est l'inverse bit à bit du masque de sous-réseau : là où le masque a des bits à 1, le masque inverse a des 0. Le masque d'un /24 est 255.255.255.0, donc le masque inverse est 0.0.0.255. La convention est inversée parce qu'elle répond à une autre question : un masque indique les bits qui doivent correspondre, un masque inverse ceux qui peuvent varier librement. Les listes d'accès de Cisco IOS et les commandes network d'OSPF utilisent des masques inverses, c'est pourquoi une ACL s'écrit 192.168.1.0 0.0.0.255 plutôt qu'avec le masque que vous mettriez sur une interface. Confondre les deux est une façon classique d'écrire une règle qui correspond à bien plus que prévu.
Pourquoi 255.255.0.255 n'est-il pas un masque de sous-réseau valide ?+
Parce que ses bits à 1 ne sont pas contigus. Un masque doit être une suite ininterrompue de 1 suivie d'une suite ininterrompue de 0, car c'est la seule forme que peut prendre un préfixe : le matériel de routage compare une suite de bits en tête et peut exprimer « les N premiers bits », mais pas « ces bits-là, éparpillés ». Les premières implémentations autorisaient techniquement les masques discontinus et le résultat n'était pas routable, si bien que CIDR les a exclus. Si vous avez envie d'en utiliser un, ce dont vous avez vraiment besoin, c'est d'un autre préfixe ou d'une règle de pare-feu.
Comment choisir un préfixe selon le nombre d'hôtes nécessaires ?+
Comptez le nombre d'interfaces (pas de personnes, sans oublier que les imprimantes, les points d'accès et la passerelle elle-même en prennent chacun une), puis trouvez le plus petit bloc dont le nombre d'adresses utilisables dépasse encore ce total. 25 hôtes demandent un /27, car un /27 en offre 30 et un /28 seulement 14. Prenez ensuite un bit de plus que ce qu'exige le calcul si le segment peut raisonnablement grandir, car réadresser un sous-réseau en service est bien plus perturbant que d'attribuer un bloc un peu plus grand dès le premier jour. Le panneau de dimensionnement de cette page fait la recherche, et le tableau de référence montre toute l'échelle.
Utiliser 10.x ou 192.168.x rend-il un réseau privé au sens de la sécurité ?+
Non. Les adresses RFC 1918 ne sont pas routables sur l'internet public, ce qui signifie qu'aucun FAI ne les transporte ; cela ne veut pas dire que rien ne peut les atteindre. Tout ce qui se trouve déjà dans le périmètre les atteint parfaitement : un client VPN, un portable compromis, un conteneur sur le même hôte, ou une route mal configurée entre deux sites qui utilisaient tous deux 192.168.1.0/24. L'adressage privé est un choix d'adressage qui économise l'espace public et force le trafic à passer par un NAT ; c'est le pare-feu, et non la plage d'adresses, qui doit servir de contrôle.
Pourquoi écrit-on parfois 172.16.0.0/12 sous la forme 172.16 à 172.31 ?+
Parce que la limite du /12 ne tombe pas sur un octet. Douze bits fixes couvrent le premier octet et les quatre bits de poids fort du deuxième, donc le deuxième octet peut varier de 16 à 31 : de 172.16.0.0 à 172.31.255.255. Cela piège les gens dans les deux sens : 172.15.0.0 et 172.32.0.0 sont des adresses publiques qui appartiennent à quelqu'un d'autre, et écrire le bloc sous la forme 172.16.0.0/16 écarte discrètement quinze seizièmes de l'espace privé disponible.