Domača » kako » Kakšna je razlika med Locahost in Local IP naslov?

    Kakšna je razlika med Locahost in Local IP naslov?


    Če se ukvarjate z veliko omrežji, konfiguriranjem aplikacij in strežniških orodij, ki temeljijo na LAN-u, ali ste samo radovedni, ste verjetno opazili, da obstaja razlika med lokalnim gostiteljem lokalnega naslova IP. Preberite, da se naučite razlike.

    Današnja seja vprašanj in odgovorov prihaja z namenom SuperUser-a, ki je del skupine Stack Exchange, ki temelji na skupnostih spletnih mest za vprašanja in odgovore.

    Vprašanje

    Bralnik SuperUser Diogo želi vedeti, zakaj ukaz ping obravnava lokalni gostitelj in lokalni IP naslov drugače, ko se na površini zdi, da sta ista stvar:

    Uporaba cmd in ping na Windows mi je dala naslednje rezultate:

    Pinganje »localhost«:

    Pinganje »192.168.0.10« (lokalni IP naslov):

    Ali obe situaciji nista popolnoma enaki?

    Mislim, pingiram isti vmesnik, isti stroj in isti naslov. Zakaj dobivam tako različne rezultate?

    Očitno je, da je nekakšna razlika, ampak kaj točno se dogaja, ko preklapljate med obema?

    Odgovor

    Sodelavec SuperUser Tom Wijsman ponuja naslednji vpogled v subtilne razlike med obema:

    Z istim vmesnikom ne pingujete, brez fizičnih vmesnikov imate še vedno "lokalnega gostitelja".

    Vaš localhost Uporablja se za navajanje računalnika iz njegovega "notranjega" IP-ja, ne pa iz "zunanjih" IP-jev vašega računalnika. Torej, ping paketi ne gredo skozi noben fizični omrežni vmesnik; samo preko navideznega vmesnika z zanko, ki neposredno pošilja pakete od pristanišča do vrat brez fizičnih skokov.

    Še vedno se sprašujete, zakaj localhost rešuje :: 1, medtem ko bi tradicionalno pričakovali, da se bo rešil naslova IPv4 127.0.0.1. Upoštevajte, da .localhost je tradicionalno TLD (glej RFC 2606), ki kaže nazaj na IP naslov nazaj (za IPv4, glej RFC 3330, zlasti 127.0.0.0/8).

    Če pogledamo gor localhost uporabo nslookup nam daje:

    nslookup localhost

    … Ime: localhost Naslovi: :: 1 127.0.0.1 

    Tako Windows raje uporablja naslov IP naslova IPv6 :: 1 (glej RFC 2373), kot je naveden prvi.

    V redu, torej, od kod prihaja, poglejmo datoteko gostiteljev.

    vnesite% WINDIR% System32 Gonilniki itd

    … # Lokalno ločljivost imena se obravnava v samem DNS. # 127.0.0.1 localhost # :: 1 localhost ... 

    Hmm, pogledati moramo DNS nastavitve sistema Windows.

    Ta članek KB nam govori o nastavitvi, ki vpliva na to, kaj Windows želi, poudarjeno v krepkem tisku:

    1. V urejevalniku registra poiščite in kliknite spodnji registrski podključ:
      SISTEM HKEY_LOCAL_MACHINE CurrentControlSet Storitve cpip6 \ t 
    2. Dvokliknite DisabledComponents, če želite spremeniti vnos DisabledComponents. Opomba: Če vnos DisabledComponents ni na voljo, ga morate ustvariti. To naredite tako:
      1. V meniju Urejanje pokažite na Novo in kliknite DWORD (32-bitna) vrednost.
      2. Vnesite DisabledComponents in pritisnite ENTER.
      3. Dvokliknite DisabledComponents.
    3. V polje Podatki vrednosti: vnesite eno od naslednjih vrednosti, da konfigurirate protokol IPv6 v želeno stanje, in kliknite V redu:
      • Vrsta 0 , da omogočite vse komponente IPv6. (Privzeta nastavitev sistema Windows)
      • Vrsta 0xffffffff onemogočite vse komponente IPv6, razen vmesnika za povratni klic IPv6. Ta vrednost prav tako konfigurira Windows, da raje uporablja internetni protokol različice 4 (IPv4) nad IPv6, tako da spremeni vnose v tabeli s predponi politike. Če želite več informacij, glejte Izbira izvornega in ciljnega naslova.
      • Vrsta 0x20 prednost IPv4 nad IPv6 s spreminjanjem vnosov v tabeli s predpono.
      • Vrsta 0x10 onemogočiti IPv6 na vseh nontunnel vmesnikih (v obeh vmesnikih LAN in Point-to-Point Protocol [PPP]).
      • Vrsta 0x01 onemogočiti IPv6 na vseh tunelskih vmesnikih. Ti vključujejo protokol za avtomatsko naslavljanje tunela znotraj območja (ISATAP), 6 do 4 in Teredo.
      • Vrsta 0x11 onemogočiti vse vmesnike IPv6, razen vmesnika za povratni klic IPv6.
    4. Ponovno zaženite računalnik, da bo ta nastavitev začela veljati.

    Kaj je ta tabela s predpono?

    netsh vmesnik ipv6 kaže predponepolitike (ali prefixpolicy na starejših različicah)

    Predpona oznake prednastavitve ---------- ----- -------------------------------- 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 

    Ta tabela določa, katere predpone imajo prednost pred drugimi predponami med reševanjem DNS.

    Ah, tako da bi lahko s to KB dodali vnose, ki označujejo, da ima IPv4 večjo prednost kot IPv6.

    Opomba: Ni razloga, da bi to vedenje preglasili, razen če imate težave, ki so združljive. Če spremenite to nastavitev na našem strežniku Windows Server, je izbruhnil naš poštni strežnik, zato je treba z njim skrbno ravnati ...

    Nič nam ni všeč več kot temeljit in informativen odgovor z rezervnimi podpornimi dokumenti. Jasno je, da sta localhost in lokalni IP naslov različni subjekti, ki služijo različnim namenom, zdaj pa vsi vemo zakaj.


    Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.