La destination d'un paquet IP est-elle déjà définie sur l'adresse IP du sous-réseau?
Oui. Il s'agit d'une adresse IP valide, elle peut donc être utilisée.
Si oui, dans quels cas et pourquoi?
C'est simplement l'un des 255 IP utilisables dans un / 24
Si non, alors pourquoi ne pas libérer cette adresse pour tout hôte à utiliser?
Si vous avez un matériel ancien , vous devez vérifier s'il utilise la première ou la dernière adresse comme adresse réseau. (.0 ou .255 pour les réseaux avec masque FF.FF.FF.00)
Cela en fait une bonne habitude de sauter cette IP. Et les habitudes apprises depuis longtemps sont difficiles à ignorer.
Et les gens qui ne connaissent pas l'arrière-plan ne l'utilisent pas «parce que d'autres ne l'utilisent pas non plus, donc ça doit être faux de l'utiliser» ou parce qu'ils ne réalisent pas que «0» peut être un premier nombre.
[Modifier] Grezzo vient de le tester sur Windows XP où l'interface graphique du réseau Windows a «utilement» empêché ce paramètre. Windows 7 a le même comportement. Je l'ai ensuite essayé sur un hôte non Windows où cela fonctionne. Si vous utilisez Windows, vous devrez peut-être configurer votre réseau manuellement via IPconfig pour le définir sur tous les zéros.
[Modifier 2]
Plus je travaille avec cela, plus je suis confus.
Rfc4632 - Le routage inter-domaine sans classe
ne semble pas l'interdire mais ne le permet pas explicitement.
Ce message de ServerFault mentionne: "Pour des raisons historiques, de nombreux systèmes d'exploitation traitent la première adresse comme une diffusion. Par exemple, envoyer une requête ping à xxx0 à partir d'OS X, Linux et Solaris sur mon réseau local (/ 24) obtient des réponses. Windows ne vous laisse pas cingler la première adresse par défaut, mais vous pourrez peut-être l'activer à l'aide de la méthode WMI SetIPUseZeroBroadcast. Je me demande si vous pourriez vous permettre d'utiliser .0 comme adresse d'hôte sur un réseau tout Windows. " .
C'est la même question, mais pas une réponse.
L'adresse réseau est également utilisée dans les tables de routage. Mais je ne vois pas pourquoi cela ne fonctionnerait pas à cause de cela. La même notation dans les tables de routage serait acheminée vers le bon réseau. Une fois sur le bon réseau, il arriverait à un PC avec IP 0.
(Tout cela pour un 192.168.1 / 24.
Si vous avez utilisé 192.168.0 / 23, alors 192.168.1.0 serait une valeur valide et sûre au milieu de la plage)
[Modifier 3]
Un lien de plus vers la même question. Il semble quelque peu populaire sur l'échange de pile:
/superuser/379451/why-can-a-network-address-not-be-a-valid-host-address
Et une pensée:
Destination_IP est probablement ET édité avec le mât réseau (une opération rapide dans le matériel) avant d'être comparé aux entrées dans les tables de routage. Mais:
(Une adresse IP semi-aléatoire) 192.168.0.42 ET 255.255.255.0 donnerait 192.168.0.0
Mais 192.168.0.0 ET 255.255.255.0 donnerait également 192.168.0.0
[Edit 4 - Longtemps après que cette réponse a été écrite - je pourrais avoir besoin de réécrire le message entier en raison de ces nouvelles informations ]
La RFC923 déclare à la page 3 que:
In certain contexts, it is useful to have fixed addresses with
functional significance rather than as identifiers of specific
hosts. When such usage is called for, the address zero is to be
interpreted as meaning "this", as in "this network". The address
of all ones are to be interpreted as meaning "all", as in "all
hosts". For example, the address 128.9.255.255 could be
interpreted as meaning all hosts on the network 128.9. Or, the
address 0.0.0.37 could be interpreted as meaning host 37 on this
network.
Citant @ylearn sur notre site d' ingénierie réseau
Je crois que la première documentation à ce sujet provient de RFC950 qui fait référence à RFC943 (qui obsolète RFC923 ci-dessus mais utilise le même langage pour les adresses spéciales):
It is useful to preserve and extend the interpretation of these
special addresses in subnetted networks. This means the values
of all zeros and all ones in the subnet field should not be
assigned to actual (physical) subnets.
ifconfig
ne se plaint pas lorsque vous définissez l'adresse d'hôte d'un réseau 24 sur 0 ou 255. Essayez simplement de l'utiliser.