24Aug

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

click fraud protection


Si vous faites beaucoup de bricolage sur le réseau, que vous configurez des applications et des outils de serveur basés sur LAN, ou que vous êtes simplement curieux, vous avez probablement remarqué qu'il y a une différence entre l'hôte local et l'adresse IP locale. Lisez la suite pour apprendre les différences.

Question d'aujourd'hui &La session de réponse nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement communautaire de sites Web Q & A.

La question Lecteur

SuperUser Diogo veut savoir pourquoi la commande ping traite différemment l'adresse IP locale et l'hôte local quand, en surface, ils semblent être la même chose:

Utiliser cmd et ping sous Windows m'a donné les résultats suivants:

Ping "localhost":

Ping "192.168.0.10"( adresse IP locale):

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

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

Évidemment, il y a une différence quelconque, mais que se passe-t-il exactement lorsque vous passez d'un mode à l'autre?

instagram viewer

La réponse

SuperUser contributeur Tom Wijsman offre l'aperçu suivant dans les différences subtiles entre les deux:

Vous ne ping pas la même interface , sans interfaces physiques, vous avez toujours un "hôte local".

Votre localhost est utilisé pour faire référence à votre ordinateur à partir de son adresse IP "interne", et non à partir des adresses IP "externes" de votre ordinateur. Ainsi, les paquets ping ne passent par aucune interface réseau physique;uniquement via une interface de boucle virtuelle qui envoie directement les paquets de port à port sans saut physique.

Vous pouvez toujours vous demander pourquoi localhost résout à: : 1, alors que traditionnellement nous nous attendons à ce qu'il se résout à 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).

Recherche localhost en utilisant nslookup nous donne:

nslookup localhost

. .. Nom: localhost Adresses:: : 1 127.0.0.1

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

Bon, alors, d'où ça vient, regardons le fichier hosts.

type% WINDIR% \ System32 \ Pilotes \ Etc \ Hôtes

. .. # La résolution de noms localhost est gérée dans DNS lui-même.# 127.0.0.1 localhost #: : 1 localhost. ..

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

Cet article de la Base de connaissances nous parle d'un paramètre affectant ce que Windows préfère, souligné en gras:

  1. Dans l'Éditeur du Registre, recherchez et cliquez sur la sous-clé de Registre suivante: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Paramètres
  2. Double-cliquez sur DisabledComponents pourmodifiez l'entrée DisabledComponents. Remarque: Si l'entrée DisabledComponents est indisponible, vous devez le créer. Pour ce faire, procédez comme suit:
    1. Dans le menu Edition, pointez sur Nouveau et puis cliquez sur Valeur DWORD( 32 bits).
    2. Type DisabledComponents, puis appuyez sur ENTRÉE.
    3. Double-cliquez sur DisabledComponents.
  3. Saisissez 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)
    • Tapez 0xffffffff pour désactiver tous les composants IPv6, à l'exception de l'interface de bouclage IPv6.Cette valeur configure également Windows pour qu'il préfère utiliser Internet Protocol version 4( IPv4) sur IPv6 en modifiant les entrées dans la table de règles de préfixe. Pour plus d'informations, voir Sélection de l'adresse source et de destination.
    • Tapez 0x20 pour préférer IPv4 sur IPv6 en modifiant les entrées dans la table de règles de préfixe.
    • Tapez 0x10 pour désactiver IPv6 sur toutes les interfaces nontunnel( sur les interfaces LAN et PPP [Point-to-Point Protocol]).
    • Tapez 0x01 pour désactiver IPv6 sur toutes les interfaces de tunnel. Ceux-ci incluent le protocole ISATAP( Intra-Site Automatic Tunnel Addressing Protocol), 6to4 et Teredo.
    • Tapez 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 pendant les résolutions DNS.

Ah, donc en utilisant cette KB, nous pourrions ajouter des entrées ici qui indiquent que IPv4 a une plus grande priorité que IPv6.

Remarque: Il n'y a aucune raison de contourner ce problème, 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 faut donc le manipuler avec soin. ..

Rien de tel qu'une réponse complète et informative avec des documents de support liés à disposition. Il est clair que l'adresse IP locale et l'hôte local sont des entités distinctes, servent des objectifs différents, et maintenant nous savons tous pourquoi.

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.