/ / Quelle est la différence entre l’adresse IP locale et Locahost?

Quelle est la différence entre l’adresse IP locale et Locahost?


Si vous faites beaucoup de bricolage réseau,En configurant des applications basées sur le réseau local et des outils de serveur, ou simplement curieux, vous avez probablement remarqué qu’il existe une différence entre l’hôte local et l’adresse IP locale. Lisez la suite pour apprendre les différences.

La séance de questions et réponses d’aujourd’hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté.

La question

Le lecteur SuperUser, Diogo, veut savoir pourquoi la commande ping traite l’hôte local et l’adresse IP locale de manière différente, alors qu’ils semblent en apparence être la même chose:

L'utilisation de cmd et de ping sur Windows m'a donné les résultats suivants:

Ping "localhost":

Envoi de la requête «192.168.0.10» (adresse IP locale):

Les deux situations ne sont-elles pas exactement les mêmes?

Je veux dire, je clique sur la même interface, la même machine et la même adresse. Pourquoi ai-je des résultats si différents?

De toute évidence, il y a une différence, mais que se passe-t-il exactement lorsque vous passez de l'un à l'autre?

La réponse

Tom Wijsman, contributeur à SuperUser, offre les informations suivantes sur les différences subtiles entre les deux:

Vous ne cinglez pas la même interface, sans aucune interface physique, vous avez toujours un “hôte local”.

Votre localhost est utilisé pour faire référence à votre ordinateur depuis sonIP «interne», pas à partir d’adresses «externes» de votre ordinateur. Ainsi, les paquets ping ne passent par aucune interface réseau physique; uniquement via une interface virtuelle de bouclage qui envoie directement les paquets d'un port à l'autre sans aucun saut physique.

Vous pourriez encore vous demander pourquoi localhost est résolu à ::1, alors que traditionnellement nous nous attendions à ce que cela résolve l'adresse IPv4 127.0.0.1. Notez que .localhost est traditionnellement un TLD (voir RFC 2606) qui pointe vers l'adresse IP en boucle (pour IPv4, voir RFC 3330, en particulier 127.0.0.0/8).

Levant les yeux localhost en utilisant nslookup nous donne:

nslookup localhost

...
Name:    localhost
Addresses:  ::1
127.0.0.1

Ainsi, Windows préfère utiliser l'adresse IP en boucle IPv6 ::1 (voir RFC 2373) comme il est listé en premier.

Très bien, d’où vient-il, regardons le fichier hosts.

type %WINDIR%System32DriversEtcHosts

...
# localhost name resolution is handled within DNS itself.
#       127.0.0.1       localhost
#       ::1             localhost
...

Hmm, nous devons examiner les paramètres DNS de Windows.

Cet article de la Base de connaissances décrit un paramètre qui affecte ce que Windows préfère, souligné en gras:

  1. Dans l'Éditeur du Registre, recherchez, puis cliquez sur la sous-clé de registre suivante:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters
    
  2. Double-cliquez sur DisabledComponents pour modifier l'entrée DisabledComponents.Remarque: si l'entrée DisabledComponents n'est pas disponible, vous devez la créer. Pour le faire, suivez ces étapes:
    1. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur Valeur DWORD (32 bits).
    2. Tapez DisabledComponents, puis appuyez sur Entrée.
    3. Double-cliquez sur DisabledComponents.
  3. Tapez l'une des valeurs suivantes dans le champ Données de la valeur: pour configurer le protocole IPv6 à l'état souhaité, puis cliquez sur OK:
    • Type 0 pour activer tous les composants IPv6. (Paramètre par défaut de Windows)
    • Type 0xffffffff désactiver tous les composants IPv6, à l'exception de l'IPv6interface de bouclage. Cette valeur configure également Windows pour qu'il préfère utiliser Internet Protocol version 4 (IPv4) sur IPv6 en modifiant les entrées du tableau de stratégie de préfixe. Pour plus d'informations, voir Sélection d'adresses source et de destination.
    • Type 0x20 préférer IPv4 à IPv6 en modifiant les entrées du tableau des stratégies de préfixe.
    • Type 0x10 pour désactiver IPv6 sur toutes les interfaces non-tunnel (sur les interfaces de réseau local et de protocole point à point [PPP]).
    • Type 0x01 désactiver IPv6 sur toutes les interfaces de tunnel. Ceux-ci incluent les protocoles ISATAP (6), 6to4 et Teredo.
    • Type 0x11 pour désactiver toutes les interfaces IPv6 à l'exception de l'interface de bouclage IPv6.
  4. Redémarrez l'ordinateur pour que ce paramètre prenne effet.

Quelle est cette table de politique de préfixe?

netsh interface ipv6 show prefixpolicies (ou prefixpolicy sur les versions antérieures)

Precedence  Label  Prefix
----------  -----  --------------------------------
50      0  ::1/128
45     13  fc00::/7
40      1  ::/0
10      4  ::ffff:0:0/96
7     14  2002::/16
5      5  2001::/32
1     11  fec0::/10
1     12  3ffe::/16
1     10  ::/96

Cette table détermine quels préfixes ont la priorité sur les autres préfixes lors des résolutions DNS.

Alors, en utilisant cette base de connaissances, nous pourrions ajouter ici des entrées indiquant que la priorité IPv4 est supérieure à IPv6.

Remarque: Il n'y a aucune raison de remplacer ce comportement, sauf si vous rencontrez des problèmes de compatibilité. La modification de ce paramètre sur notre serveur Windows a brisé notre serveur de messagerie, il doit donc être manipulé avec précaution…

Nous n’aimons rien de plus qu’un programme complet et approfondi.réponse informative avec documents de support liés à épargner. Il est clair que l’hôte local et l’adresse IP locale sont des entités distinctes, ont des objectifs différents, et nous savons tous pourquoi.


Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.