Hjemmeside » hvordan » Hva er forskjellen mellom Locahost og lokal IP-adresse?

    Hva er forskjellen mellom Locahost og lokal IP-adresse?


    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 på overflaten ser ut til å være det samme:

    Å bruke cmd og ping på Windows ga meg følgende resultater:

    Pinging "localhost":

    Pinging "192.168.0.10" (lokal IP-adresse):

    Er ikke begge situasjonene det samme?

    Jeg mener, jeg pinging samme grensesnitt, samme maskin og samme adresse. Hvorfor får jeg slike forskjellige resultater?

    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:

    Du pingerer ikke samme grensesnitt, uten fysiske grensesnitt har du fortsatt en "lokal vert".

    Din lokal vert brukes til å referere til datamaskinen din fra sin "interne" IP, ikke fra noen "eksterne" IP-er på datamaskinen din. Så går ikke pingpakken 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 lokal vert løser til ::1, mens vi tradisjonelt vil forvente at det skal løses til IPv4-adressen 127.0.0.1. Noter det .lokal vert er tradisjonelt en 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 lokal vert ved hjelp av nslookup gir oss:

    nslookup localhost

    ... Navn: localhost Adresser: :: 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.

    skriv% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

    ... # localhost navnoppløsning håndteres i selve DNS. # 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 under registret:
      HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters 
    2. Dobbeltklikk DisabledComponents for å modifisere DisabledComponents-oppføringen. Merk: Hvis oppføringen 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 Verdi data: for å konfigurere IPv6-protokollen til ønsket tilstand, og klikk deretter OK:
      • Type 0 for å aktivere alle IPv6-komponenter. (Windows standardinnstilling)
      • Type 0xffffffff for å deaktivere alle IPv6-komponenter, unntatt 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. Hvis du vil ha mer informasjon, kan du se Kilde- og destinasjonsadressevalg.
      • 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 å 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-grensesnittet ipv6 viser 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.