Salut,
Pas de mystères, mais une mistification
En fait, un masque de réseau, c'est une info (très simple) qui permet à une machine de savoir si une autre machine est sur son réseau local ou à distance (savoir si la machine A peut causer directement à la machine B, ou s'il faut passer par un routeur).
Sans rentrer dans les détails, quand vous vous prenez la tête avec un problème IP, n'oubliez jamais : çà a été développé dans les années 70, et à l'époque, un super calculateur était moins puissant qu'un 8086 ! (J'exagère à peine).
Donc, IP est forcément hyper simple ! Les calculs de route, de masques et tout le toutim étaient faits à l'époque en logique cablée.
Il est toujours bon de s'en souvenir
Bref. Dans ton cas, le / 255.255.255.0 n'est pas un masque, mais un filtre : il détermine le nombre d'adresses autorisées dans ta règle.
Chez Cisco, pour éviter ce genre de confusion, les filtres sont écrits à l'envers des masques :
Une seule machine 0.0.0.0
Deux machines 0.0.0.1
Je toruve ceci plus lisible : plus le nombre de machines autorisées par un filtre est grand, plus la valeur du filtre est grande.
Revenons à nos moutons :
Dans tons cas, si tu veux autoriser une seule IP, tu mets :
192.168.0.7 / 255.255.255.255
Si tu veux autoriser deux machines avec des IP contigues, tu écris
192.168.0.7 /255.255.255.254
Problème : quelle est l'autre adresse IP autorisée ?
Réponse naturelle : 192.168.0.8
Ben non, c'est faux
192.168.0.6
Explication binaire :
255.255.255.254 =
1111 1111 1111 1111 1111 1111 1111 1110
192.168.0.6 =
1100 0000 1010 1000 0000 0000 0000 0110
192.168.0.7 =
1100 0000 1010 1000 0000 0000 0000 0111
192.168.0.8 =
1100 0000 1010 1000 0000 0000 0000 1000
(Bon, ou il veut en venir ? il nous prend la tête ! )
Si on observe attentivement les @IP 192.168.0.6 et 192.168.0.7, on constate que seul le dernier bit diffère.
Or, si on regarde le masque de réseau, on constate que seul le dernier bit est à 0.
Et la règle de filtrage est en fait la suivante :
On prend l'adresse IP donnée au filtre, et on fait un ET avec le masque.
Et après, toutes les adresses IP qui, après le ET avec le masque donnent le même résultat que l'adresse de définition sont jugées valides.
Je pense que c'est un peu indigeste...
En d'autres termes, et en binaire :
On prend l'adresse IP passée en paramètre, et, en binaire, on ne conserve de cette adresse que la longueur du masque
Et ensuite, pour chaque IP a tester, on regarde si les n premiers bits (n définis par le masque) sont identique à l'IP de référence. Si c'est le cas, la règle 'matche'.
J'en suis désolé par avance pour tous ceux qui considèrent la base 10 comme étant la seule existante, mais les ordinateurs ne trouvent simple que le binaire...
J'aimerais honnêtement que quelqu'un qui n'avait jamais vu d'explications sur les masques ou les filtres me dise s'il a compris quelque chose
A+,
Pascal