Startseite » wie man » Was ist der Unterschied zwischen dem Locahost und der lokalen IP-Adresse?

    Was ist der Unterschied zwischen dem Locahost und der lokalen IP-Adresse?


    Wenn Sie häufig im Netzwerk arbeiten, LAN-basierte Apps und Server-Tools konfigurieren oder einfach nur neugierig sind, haben Sie wahrscheinlich bemerkt, dass es einen Unterschied zwischen dem lokalen Host und der lokalen IP-Adresse gibt. Lesen Sie weiter, um die Unterschiede zu erfahren.

    Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.

    Die Frage

    SuperUser-Leser Diogo möchte wissen, warum der Ping-Befehl den localhost und die lokale IP-Adresse unterschiedlich behandelt, wenn sie oberflächlich gleich aussehen:

    Die Verwendung von Cmd und Ping unter Windows führte zu folgenden Ergebnissen:

    Pinging "localhost":

    Pinging “192.168.0.10” (lokale IP-Adresse):

    Sind nicht beide Situationen identisch??

    Ich meine, ich pinge dieselbe Schnittstelle, dieselbe Maschine und dieselbe Adresse an. Warum bekomme ich so unterschiedliche Ergebnisse??

    Offensichtlich gibt es einen Unterschied, aber was genau passiert, wenn Sie zwischen den beiden wechseln?

    Die Antwort

    Der Superuser-Mitwirkende Tom Wijsman bietet folgende Einblicke in die subtilen Unterschiede zwischen den beiden:

    Sie pingen nicht dieselbe Schnittstelle, ohne physische Schnittstellen haben Sie noch einen "lokalen Host".

    Ihre localhost wird verwendet, um von seiner "internen" IP-Adresse auf Ihren Computer zu verweisen, nicht von einer "externen" IP-Adresse Ihres Computers. Die Ping-Pakete durchlaufen also keine physischen Netzwerkschnittstellen. Nur über eine virtuelle Loop-Back-Schnittstelle, die die Pakete direkt von Port zu Port ohne physische Sprünge sendet.

    Sie fragen sich vielleicht immer noch warum localhost löst sich auf :: 1, Traditionell würden wir erwarten, dass die IPv4-Adresse aufgelöst wird 127.0.0.1. Beachten Sie, dass .localhost ist traditionell eine TLD (siehe RFC 2606), die zurück auf die IP-Adresse des Loopbacks zeigt (für IPv4 siehe RFC 3330, insbesondere 127.0.0.0/8).

    Hoch schauen localhost mit nslookup gibt uns:

    nslookup localhost

    … Name: localhost Adressen: :: 1 127.0.0.1 

    Daher zieht Windows es vor, die IPv6-Loop-IP-Adresse zu verwenden :: 1 (siehe RFC 2373), da es zuerst aufgeführt wird.

    Okay, also woher kommt es, schauen wir uns die hosts-Datei an.

    Geben Sie% WINDIR% \ System32 \ Drivers \ Etc \ Hosts ein

    … # Die Auflösung von localhost-Namen wird in DNS selbst behandelt. # 127.0.0.1 localhost # :: 1 localhost… 

    Hmm, wir müssen uns die DNS-Einstellungen von Windows ansehen.

    In diesem KB-Artikel wird eine Einstellung beschrieben, die sich auf die von Windows bevorzugten Einstellungen auswirkt, die fett hervorgehoben sind:

    1. Suchen Sie im Registrierungs-Editor den folgenden Registrierungsunterschlüssel, und klicken Sie darauf:
      HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters 
    2. Doppelklicken Sie auf DisabledComponents, um den Eintrag DisabledComponents zu ändern. Hinweis: Wenn der Eintrag DisabledComponents nicht verfügbar ist, müssen Sie ihn erstellen. Führen Sie dazu die folgenden Schritte aus:
      1. Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie dann auf DWORD-Wert (32-Bit).
      2. Typ DisabledComponents, Und die EINGABETASTE dann drückt.
      3. Doppelklicken Sie auf DisabledComponents.
    3. Geben Sie einen der folgenden Werte in das Feld Wert ein:, um das IPv6-Protokoll auf den gewünschten Status zu konfigurieren, und klicken Sie dann auf OK:
      • Art 0 um alle IPv6-Komponenten zu aktivieren. (Windows-Standardeinstellung)
      • Art 0xffffffff Deaktivieren aller IPv6-Komponenten mit Ausnahme der IPv6-Loopback-Schnittstelle. Mit diesem Wert wird Windows auch so konfiguriert, dass die Verwendung von Internet Protocol Version 4 (IPv4) gegenüber IPv6 bevorzugt wird, indem Einträge in der Präfixrichtlinientabelle geändert werden. Weitere Informationen finden Sie unter Auswahl der Quell- und Zieladresse.
      • Art 0x20 IPv4 gegenüber IPv6 vorziehen, indem Einträge in der Präfix-Richtlinientabelle geändert werden.
      • Art 0x10 Deaktivieren von IPv6 auf allen Nichttunnel-Schnittstellen (sowohl in LAN- als auch in Point-to-Point-Protokoll-Schnittstellen).
      • Art 0x01 IPv6 für alle Tunnelschnittstellen deaktivieren. Dazu gehören das ISATAP-Protokoll (ISATAP), 6to4 und Teredo.
      • Art 0x11 Deaktivieren aller IPv6-Schnittstellen mit Ausnahme der IPv6-Loopback-Schnittstelle.
    4. Starten Sie den Computer neu, damit diese Einstellung wirksam wird.

    Was ist diese Präfix-Richtlinientabelle??

    netsh interface ipv6 show prefixpolicies (oder Präfixpolitik in früheren Versionen)

    Präfix für Präferenzbeschriftung ---------- ----- -------------------------------- 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 

    Diese Tabelle entscheidet, welche Präfixe bei der DNS-Auflösung Vorrang vor anderen Präfixen erhalten.

    Ah, mit dieser KB könnten wir hier Einträge hinzufügen, die angeben, dass IPv4 eine höhere Priorität als IPv6 hat.

    Hinweis: Es gibt keinen Grund, dieses Verhalten zu überschreiben, es sei denn, Sie haben kompatible Probleme. Wenn Sie diese Einstellung auf unserem Windows Server ändern, ist unser Mail-Server beschädigt worden.

    Es gibt nichts, was wir mehr als eine gründliche und informative Antwort mit verknüpften Support-Dokumenten wünschen. Der localhost und die lokale IP-Adresse sind eindeutig unterschiedliche Entitäten und dienen unterschiedlichen Zwecken. Jetzt wissen wir alle, warum.


    Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.