Hva er forskjellen mellom Locahost og lokal IP-adresse?

Geoffrey_Carr

Innholdsfortegnelse:

Hva er forskjellen mellom Locahost og lokal IP-adresse? - Blog 2023
Hva er forskjellen mellom Locahost og lokal IP-adresse? - Blog 2023
Anonim
 Hvis du gjør mye nettverkstanking, konfigurerer LAN-baserte apper og serververktøy, eller bare nysgjerrig, har du sannsynligvis lagt merke til at det er en forskjell mellom lokalehosten den lokale IP-adressen. Les videre for å lære forskjellene.
Hvis du gjør mye nettverkstanking, konfigurerer LAN-baserte apper og serververktøy, eller bare nysgjerrig, har du sannsynligvis lagt merke til at det er en forskjell mellom lokalehosten den lokale IP-adressen. Les videre for å lære forskjellene.

Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.

Spørsmålet

SuperUser-leser Diogo vil vite hvorfor ping-kommandoen behandler lokalhosten og den lokale IP-adressen annerledes når de ser ut til å være det samme på overflaten:

Using cmd and ping on Windows gave me the following results:

Pinging “localhost”:

Pinging “192.168.0.10” (local IP address):
Pinging “192.168.0.10” (local IP address):
Aren’t both situations exactly the same?
Aren’t both situations exactly the same?

I mean, I’m pinging the same interface, the same machine and the same address. Why do I get such different results?

Tydeligvis er det en forskjell av noe slag, men hva skjer når du bytter mellom de to?

Svaret

SuperUser-bidragsyter Tom Wijsman tilbyr følgende innsikt i de subtile forskjellene mellom de to:

You are not pinging the same interface, without any physical interfaces you still have a “local host”.

Your

localhost

brukes til å henvise til din datamaskin fra sin "interne" IP, ikke fra noen "eksterne" IP-er på datamaskinen din. Så går ikke pingpakkerene gjennom et fysisk nettverksgrensesnitt; bare gjennom et virtuelt loop back-grensesnitt som direkte sender pakkene fra port til port uten fysisk humle.

Du kan fortsatt lure på hvorfor

localhost

løser til

::1

, mens vi tradisjonelt ville forvente at det skulle løses til IPv4-adressen

127.0.0.1

. Noter det

.localhost

er tradisjonelt et toppdomæne (se RFC 2606) som peker tilbake til loop back IP-adressen (for IPv4, se RFC 3330, spesielt 127.0.0.0/8).

Ser opp

localhost

ved hjelp av

nslookup

gir oss:

nslookup localhost

… Name: localhost Addresses:::1 127.0.0.1

Derfor foretrekker Windows å bruke IPv6-loopback-IP-adressen

::1

(se RFC 2373) som den er oppført først.

Ok, så, hvor kommer det fra, la oss se på vertsfilen.

type %WINDIR%System32DriversEtcHosts

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

Hmm, vi må se på DNS-innstillingene for Windows.

Denne KB-artikkelen forteller oss om en innstilling som påvirker hva Windows foretrekker, understreket med fet skrift:

  1. I Registerredigering, finn og klikk deretter følgende undernøkkel for register:

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters

  2. Dobbeltklikk DisabledComponents for å modifisere DisabledComponents-oppføringen. Merk: Hvis innstillingen DisabledComponents ikke er tilgjengelig, må du opprette den. For å gjøre dette, følg disse trinnene:

    1. På Rediger-menyen, pek på Ny, og klikk deretter DWORD-verdi (32-biters).
    2. Skriv DisabledComponents, og trykk deretter ENTER.
    3. Dobbeltklikk DisabledComponents.
  3. Skriv inn en av de følgende verdiene i feltet Verdidata: for å konfigurere IPv6-protokollen til ønsket tilstand, og klikk deretter OK:

    • Type

      0

      for å aktivere alle IPv6-komponenter. (Windows standardinnstilling)

    • Type

      0xffffffff

      å deaktivere alle IPv6-komponenter, bortsett fra IPv6 loopback-grensesnittet. Denne verdien konfigurerer også Windows for å foretrekke å bruke Internet Protocol versjon 4 (IPv4) over IPv6 ved å endre oppføringer i prefiks policy tabellen. For mer informasjon, se Valg av kilde og destinasjonsadresse.

    • Type

      0x20

      å foretrekke IPv4 over IPv6 ved å endre oppføringer i prefiks policy tabellen.

    • Type

      0x10

      å deaktivere IPv6 på alle nunnelgrensesnitt (på både LAN og Point-to-Point Protocol [PPP] grensesnitt).

    • Type

      0x01

      for å deaktivere IPv6 på alle tunnelgrensesnitt. Disse inkluderer Intra Site Automatic Tunnel Addressing Protocol (ISATAP), 6to4 og Teredo.

    • Type

      0x11

      for å deaktivere alle IPv6-grensesnitt bortsett fra IPv6-loopback-grensesnittet.

  4. Start datamaskinen på nytt for denne innstillingen trer i kraft.

Hva er dette prefiksetabellen?

netsh interface ipv6 show prefixpolicies

(eller

prefixpolicy

på tidligere versjoner)

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

Denne tabellen bestemmer hvilke prefikser som har forrang over andre prefikser under DNS-løser.

Åh, så bruker vi KB kan vi legge til oppføringer her som angir at IPv4 har høyere prioritet enn IPv6.

Merk: Det er ingen grunn til å overstyre denne oppførselen, med mindre du opplever kompatible problemer. Endring av denne innstillingen på vår Windows Server brøt vår mail server, så den skal håndteres med forsiktighet …

Det er ingenting vi liker mer enn et grundig og informativt svar med koblede støttedokumenter å spare. Klart lokalhost og lokal IP-adresse er forskjellige enheter, tjener forskjellige formål, og nå vet vi alle hvorfor.

Har du noe å legge til forklaringen? Lyde av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.

Populært emne