web-dev-qa-db-fra.com

X.Y.Z.0 est-il une adresse IP valide?

Les adresses IP avec un 0 dans le dernier octet sont-elles valides?

10.6.43.0

Dans mon cas, j'ai le masque de réseau suivant

255.255.252.0

Et un 0 pour les autres octets?

88
Alan H

Cela dépend du sous-réseau de l'adresse IP en question. En général, la première et la dernière adresses d'un sous-réseau sont utilisées respectivement comme identifiant de réseau et adresse de diffusion. Toutes les autres adresses du sous-réseau peuvent être attribuées aux hôtes de ce sous-réseau.

Par exemple, les adresses IP des réseaux avec des masques de sous-réseau d'au moins 24 bits se terminant par .0 ou .255 ne peuvent jamais être attribuées à des hôtes. Ces "dernières" adresses d'un sous-réseau sont considérées comme des adresses de "diffusion" et tous les hôtes du sous-réseau correspondant y répondront.

Théoriquement, il peut y avoir des situations où vous pouvez attribuer une adresse se terminant par .0: par exemple, si vous avez un sous-réseau comme 192.168.0.0/255.255.0.0, vous êtes autorisé à attribuer à un hôte l'adresse 192.168.1.0. Cela pourrait créer de la confusion, donc ce n'est pas une pratique très courante.

Dans votre exemple

 10.6.43.0 with subnet 255.255.252.0 (22 bit subnet mask)

signifie l'ID de sous-réseau 10.6.40.0, une plage d'adresses d'hôte de 10.6.40.1 à 10.6.43.254 et une adresse de diffusion 10.6.43.255. Donc, en théorie, votre exemple 10.6.43.0 serait autorisé comme adresse d'hôte valide.

146
splattne

la réponse à votre question dépend du masque de réseau. dans la déclaration générale, "les adresses IP se terminant par .0 ou .255 ne sont pas valides" est fausse. prenez 10.0.1.0/23 - c'est une adresse IP valide.

10.6.43.0/255.255.252.0 aka 10.6.43.0/22 ​​est également valide.

c'était la théorie. la plupart des périphériques réseau raisonnables [y compris les serveurs linux, les fenêtres windows, Cisco/hp/etc] fonctionneront bien avec une telle adresse, mais j'ai vu dlink et d'autres appliances réseau bas de gamme [routeurs, points d'accès] n'acceptant pas ces adresses.

13
pQd

J'ai trouvé cela, qui prétend qu'il est valide, selon votre masque de sous-réseau.

http://en.wikipedia.org/wiki/IPv4#Addresses_ending_in_0_or_255

9
Alan H

Je voudrais ajouter un peu environ 0 pour les autres octets:

Celui-ci est simple: ce n'est pas un problème du tout, car l'adresse de réseau privé assez courante 192.168.0.1 montre.

Bien sûr, un exemple encore plus évident serait 127.0.0.1.

8
Joachim Sauer

J'ai rencontré des problèmes avec les réseaux distants refusant les adresses IP de mon réseau si elles se terminaient par 0 (ou 255) et qu'elles appartenaient à la plage de classe C, car tout ce qui se termine par 0 serait un réseau de classe C non valide.

C'était il y a quelques années; Je ne sais pas si quelqu'un bloque toujours des adresses comme ça ou non.

3
Josh Kelley

Juste quelque chose que j'ai trouvé qui est probablement remarquable:

Si vous exécutez le script APF des réseaux R-fx pour iptables, tout le trafic passe à 0.0.0.255

Nous avions un client BT avec une adresse se terminant par .255 avec un préfixe de/21 .. Techniquement une adresse IP valide, cependant les gars des réseaux R-fx pensent qu'il y a lieu de supprimer des paquets pour ces adresses.

0
Squeeb