web-dev-qa-db-fra.com

Pourquoi une adresse réseau peut-elle ne pas être une adresse hôte valide?

Donc ... j'ai étudié pour CCNA et que cela a travaillé avec la mise en réseau IP au moins 8 ans environ. J'ai toujours vu et on m'a dit que l'adresse réseau d'un sous-réseau n'est pas une adresse d'hôte valide. Maintenant, je vais d'abord commencer par dire que je sais que c'est vrai. Ma question est davantage ... y a-t-il une raison technique qu'il ne peut pas être utilisée ou qu'il s'agissait simplement d'être convenu arbitrairement lorsque la spécification a été conçue? Je comprends pourquoi une adresse de diffusion ne peut pas être utilisée (car elle est réellement utilisée). La chose est quand je vois une adresse réseau utilisée, elle n'est normalement que dans le routage qui utilise spécifiquement des adresses réseau. Ceci étant le cas, (les adresses de réseau utilisées uniquement lorsque vous vous attendez à une adresse réseau) existe-t-il des raisons techniques qu'elles ne pouvaient pas avoir l'adresse réseau être une adresse d'hôte valide réelle?

19
Goblinlord

Pour autant que je sache, "adresse réseau" comme une adresse spéciale est un artefact des réseaux IP classiques du passé. Aujourd'hui, nous utilisons un routage inter-domaines sans classe ( [~ # ~ # ~] CIDR [~ # ~] ) sur Internet, qui n'a pas le concept d'adresse réseau (si vous regardez le RFC 4632 Lié ci-dessus, vous verrez qu'il répertorie 256 adresses IP possibles par bloc "C" legacy "C", par exemple aucune adresse réservée pour une adresse de réseau ou de diffusion (bien que des émissions soient définies comme essentielles dans d'autres RFCS).

Cela étant dit, vous ne devez pas toujours attribuer une adresse réseau à un hôte spécifique d'un réseau: l'adresse réseau est essentielle pour le routage. Ce concept est largement utilisé dans les RFCS ( RFC 1812 ). Il suffit de regarder les tables de routage (route commande), vous verrez comment votre adresse réseau locale est utilisée pour séparer votre trafic réseau local de ce qui doit passer par le routeur. Et si cette adresse réseau locale a été attribuée à un hôte?

Pire encore: il vaut mieux ne pas attribuer d'adresses IP se terminant par zéro même si cette adresse est non une adresse réseau. Par exemple. Si votre réseau est le 10.10.0.0.0/255.255.0.0, l'adresse IP 10.10.5.0 n'est pas votre adresse réseau, mais vous feriez mieux d'attribuer une telle adresse, même s'il est complètement valide, même sur des réseaux IP classiques. Certains logiciels hérités/piles IP peuvent avoir des problèmes avec cela.

Mise à jour: Par Goblinlord

Selon RFC 1812 (section 5.3.5.2) Ce que nous appelons une adresse réseau a été utilisé à l'origine pour les "émissions dirigées" qui enverraient un paquet de diffusion au réseau souhaité. Cette fonction a été rendue obsolète à cause des attaques de Schtroumpf. La fonction a été officiellement modifiée dans RFC 2644 . Par la suite, d'autres implémentations devraient Drop de paquets en silence avec une adresse source comme décrit (l'adresse réseau). Bien que ce soit ce qui devrait arriver, je suis curieux de savoir combien d'implémentations le font réellement.

Ceci est ajouté en outre à RFC 3021 lorsque/31 sous-réseaux a été adressé.

17
haimg

La réponse pratique est donc: cela dépend vraiment. Ça dépend de:

  • L'adresse exacte et ses significations dans les nombreux RFC
  • La version et la révision de votre système d'exploitation
  • ... et celui de votre routeur, et tous les autres routeurs en amont
  • ... et l'intelligence et la sophistication de tous les administrateurs du réseau de ces routeurs ...

Je n'ai rencontré aucun problème pour accéder à des sites à tester cela; Il semble que tout cela soit tout laissé aux caprices des administrateurs de réseau. Il n'existe généralement aucun moyen pour un périphérique en amont de dire si une adresse fait partie d'un réseau ou d'une adresse de diffusion, ou non, car il s'agit simplement d'une adresse dans un bloc plus grand à eux ... Aucun ISPS ne vous empêchera d'attribuer et Utilisation de votre adresse réseau, sauf si elles vous l'ont attribuée et que leur administrateur réseau l'a explicitement bloquée.

Je suis sûr qu'il y a des analystes de sécurité et des pirates informatiques qui ont des statistiques incroyablement détaillées sur le nombre de variantes des implémentations de pile de TCP-IP et de ce que les fonctionnent et ne sont pas accommodés ni exactement comment et où ils manquent leur marque .

En fait, je vais naviguer et poster cela de mon adresse réseau.

Ne m'appelle pas un mauvais Néizen, sauf si vous avez une meilleure solution pour fixer cette maison de cartes: la réalité est que si cela est possible, cela se produira. La réalité est que personne ne suffisait vraiment assez intelligemment et pensa toute cette chose à travers toutes ses itérations possibles afin de proposer une conception complètement inutile, avant que les gens ne commencent à l'utiliser - comme pour la plupart des choses de la vie. Le résultat? Normes où beaucoup de choses ne s'additionnent pas et/ou se perdent dans la traduction.

Bienvenue dans le monde réel. Ne laissez pas cela vous dissuader de poursuivre les idéaux optimaux jamais insaisissables ... Ne vous attendez pas à ce que les canaux ou les forums officiels ", à moins que vous soyez prêt à vous mettre la main et à vous dédier votre temps et votre vie, bâtiment le consensus nécessaire et naviguer dans la politique autour de cela.

Donc, je pense que les autres affiches essayaient de dire: si vous voulez faire cette politique officielle et l'utiliser en production, vous êtes seul. (Mais n'est-ce pas quand même?) Nous n'aurons peut-être pas la chance de la frapper et d'avoir une conception d'intelligence informatique US un IPv8 à l'envers compatible avec IPv4 et IPv6 et toutes leurs implémentations cassées.

5
Dagelf

Je suis nouveau dans le réseau mais je vais donner mes 2 cents aussi.

Si j'ai un sous-réseau A/28 de x.x.x.0 - x.x.x.15 Selon les règles prédéfinies, nous aurions 14 hôtes utilisables et 2 restants. Les restants sont pour le réseau et la diffusion.

Permet, au lieu de suivre la règle ci-dessus, utilisez réellement tous les 16 hôtes. Ensuite, dans ce cas, tout irait bien, pas de problèmes. Mais si la communication était nécessaire en dehors du réseau, elle ne serait pas possible en raison du manque de ressources pour envoyer ou recevoir les informations.

Je ne suis pas génial d'expliquer mais de la mettre d'une autre manière.

Si je vivais dans une maison dans une rue et que la rue contenait 14 maisons. Une ruelle dans et dehors pour avoir accès à la route principale.

Mon adresse postale varierait de 1-14 Street Personnel, hors route.

Ce ne serait pas un problème pour le mail homme. Maintenant, supposons que les développeurs ont été gourmands et ont ajouté 2 autres maison et se sont débarrassés de la voie.

Ensuite, ma nouvelle adresse postale va de 1 à 16 ans personnelle

Dans ce cas, le courrier serait en difficulté.

C'est une supposition, laissez-moi savoir si je parle de taureau.

2
William

Tout en cherchant la réponse à cette question, j'ai rencontré cet article de Cisco. La citation suivante de cet article résume joliment je pense.

[...] Considérez l'adresse IP 172.16.1.10. Si vous calculez l'adresse de sous-réseau correspondant à cette adresse IP, la réponse que vous arrivez à la sous-réseau 172.16.0.0 (sous-réseau zéro). Notez que cette adresse de sous-réseau est identique à l'adresse réseau 172.16.0.0, qui a été sous comptées en premier lieu, de sorte que chaque fois que vous effectuez un sous-réseau, vous obtenez un réseau et un sous-réseau (sous-réseau zéro) avec des adresses indiscernables. C'était autrefois une source de grande confusion .

Éviter la confusion est une bonne raison pour moi.

0
Samuel Harmer

Une adresse réseau n'est pas considérée comme une adresse hôte, mais il n'est qu'un chiffre. Dans les domaines limités d'adresses telles que les réseaux point à point, le masque A/30 est utilisé souvent, mais utilise toujours les adresses hôtes. Une moindre pratique, mais atteint le même principe consiste à utiliser un masque A/31 et à utiliser une extrémité comme adresse réseau et l'autre comme diffusion.

Ex.

Router(config)#int gi0/0
Router(config-if)#ip add 10.0.0.0 255.255.255.254
Router(config-if)#no shut


Router2(config)#int gi0/0
Router2(config-if)#ip add 10.0.0.1 255.255.255.254
Router2(config-if)#no shut


        .0        .1
[Router]-----------[Router2]
   network      broadcast
0
cmd

L'adresse réseau vous permet de construire des tables d'itinéraire avec une colonne de destination de taille fixe (4 octets IPv4) et des opérations binaires de taille fixe afin que le routage de l'hôte et le routage du réseau soient réellement la même chose.

Imaginez une table de routage comme ceci: (Ce PC a une connexion parallèle avec un autre PC et une carte réseau)

Dest           Mask    Dev
192.168.0.123  /32     plip0   # This is a single Host
192.168.0.0    /24     eth0    # This is a network

Le et entre l'adresse IP et le Netmask vous donne exactement ce dont vous avez besoin, un numéro de 4 octets pouvant être comparé à chaque ligne sans autre calcul.

Donc, le numéro d'hôte zéro est spécial dans le sens qu'après l'opération et l'opération, son adresse représente naturellement tout le réseau.

Si vous avez décidé d'utiliser le numéro de réseau en tant que numéro d'hôte, il vous donnerait une table comme celle-ci:

Dest           Mask    Dev
192.168.0.0    /32     eth0    # This is the Host (it's a redundant line)
192.168.0.0    /24     eth0    # This is the network

Cela semble légitime, donc je suppose que le concept d'adresse réseau est utilisé pour des raisons de routage et il a donc été décidé de manière arbitraire de la marquer comme une adresse spéciale et d'interdire son utilisation comme une adresse hôte.

Eh bien ... en fait ce n'est pas si simple. J'ai décidé de lui laisser une chance (!!!):

# route add -net 192.168.0.0/32 eth0
# ping 192.168.0.0
Do you want to ping broadcast? Then -b
# telnet 192.168.0.0
Trying 192.168.0.0...
telnet: connect to address 192.168.0.0: Network is unreachable

Actuellement, les programmes de réseau ne me permettent pas d'utiliser un numéro de réseau comme une adresse normale.

0
David Costa

RFC 1122 ("Configuration des hôtes Internet - Les couches de communication") l'interdit:

Les adresses IP ne sont pas autorisées à avoir la valeur 0 ou -1 pour l'un des champs <numéro de numéro d'hôte>, <numéro de sous-réseau>.

0
Bryan