web-dev-qa-db-fra.com

Calcul de la plage d'adresses IP à partir du masque de sous-réseau

Disons que j'ai un sous-réseau de 255.255.255.242 et que j'ai une adresse IP connue dans ce sous-réseau, par exemple 192.168.1.101.

Voici comment je calcule la plage d'adresses IP:

Dans le masque de sous-réseau, recherchez le premier octet qui n'est pas un 255. Dans mon exemple, il s'agit du 4e octet et de son 242. Prenez donc 256 et soustrayez 242, ce qui nous donne 14. Nous savons maintenant que ces réseaux, le 192.168 Les réseaux .1.x ont tous une portée de 14. Alors commencez simplement à les lister ...

192.168.1.0
192.168.1.14
192.168.1.28
....42
....56
....70
....84
....98
....112

Ici on peut s'arrêter. Mon adresse, 192.168.1.101, appartient au réseau .98. .98 englobe toutes les adresses ip de 192.168.1.98 à 192.168.1.111, car nous savons que 192.168.1.112 démarre le réseau suivant.

Je tiens à confirmer si ce processus est approprié et le plus facile.

14
dig_123

Un masque de réseau est une série de 1 bits. Les bits doivent être séquentiels, sans 0 espace. Tout ce qui utilise un bit fait partie du réseau, tout ce qui reste est valable pour l’affectation d’hôte dans ce réseau. Un 255.255.255.224 a 27 "1" bits, ce qui signifie qu’il s’agit d’un réseau/27.

Pour calculer ce droit, vous devez convertir les adresses IP en représentations numériques. Par exemple, 255.255.255.224 est 11111111 11111111 11111111 11100000 qui est 4294967264. 192.168.1.101 est 3232235877 (11000000 10101000 00000001 01100101).

Si vous prenez l'adresse IP et bitwise AND avec le masque de réseau, cela vous donnera l'adresse réseau. C'est le bas de la plage:

11111111 11111111 11111111 11100000  (mask)
11000000 10101000 00000001 01100101  (ip)
-----------------------------------
11000000 10101000 00000001 01100000  = 192.168.1.96  (network address)

Le complément (bitwise NOT) du masque vous donne la taille de la plage:

00000000 00000000 00000000 00011111  = 31

Ainsi, la plage de cette adresse IP est comprise entre 192.168.1.96 et 192.168.1.127. (127 = 96 + 31)

34
Joe

Merci à vous deux, Joe et Dig_123, mais la réponse de Joe aurait pu être clarifiée avec un sous-réseau/28 au lieu de celui indiqué/27 aurait été plus proche de son exemple et serait tombé entre 92-112.

alors, Joe, si je comprends bien, vous dites que vous prenez l'octet de sous-réseau; déterminer la valeur du bit d’incrément et l’ajouter à la valeur de sous-réseau dans l’octet SN, ceci devrait donner la plage et fournir les valeurs pour le réseau, le premier hôte, le dernier hôte et les adresses de diffusion. Est-ce exact? C'est-à-dire que dans mon exemple, le 4ème octet serait un 240 et l'incrément de 16. Étant donné que la valeur dans le 4e octet est 96, elle se situe dans la plage calculée pour un incrément de 16 bits, en fait elle se situe entre 96 et 112, une des plages de 16 bits afin que nous puissions conclure que notre adresse réseau pour cet exemple est:

0-15
15-31
32-47
48-63
64-79
80-95
96-111
112-127
128
NW 192.168.1.96 /28
1st 192.168.1.97 /28
Last 192.168.1.110 /28
Bcast 192.168.1.111 /28
0
Rhys