Aký je rozdiel medzi adresou Locahost a miestnou adresou IP?
Ak robíte veľa sieťovania, konfiguráciu aplikácií založených na LAN a serverových nástrojov alebo len zvedavosť, ste si pravdepodobne všimli, že existuje rozdiel medzi lokálnym miestnym IP adresou. Čítajte ďalej, aby ste zistili rozdiely.
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser Diogo chce vedieť, prečo príkaz ping zaobchádza s lokálnym doménom a lokálnou IP adresou inak, keď sa na povrchu zdá, že sú to isté:
Použitie cmd a ping na Windows mi dalo nasledujúce výsledky:
Pinging "localhost":
Pinging "192.168.0.10" (miestna IP adresa):
Nie sú obe situácie úplne rovnaké?
Myslím, že ping rovnakým rozhraním, rovnakým strojom a rovnakou adresou. Prečo mám takéto odlišné výsledky?
Je zrejmé, že existuje nejaký rozdiel, ale čo sa deje pri prepínaní medzi týmito dvoma?
Odpoveď
Príspevok SuperUser Tom Wijsman ponúka nasledujúci pohľad na jemné rozdiely medzi týmito dvoma spôsobmi:
Nie ste ping na rovnakom rozhraní, bez fyzických rozhraní máte stále "miestneho hostiteľa".
tvoj
localhost
sa používa na označenie vášho počítača z jeho "internej" IP adresy, nie z "vonkajšej" IP adresy vášho počítača. Ping pakety neprechádzajú cez fyzické sieťové rozhranie; iba prostredníctvom rozhrania virtuálnej slučky, ktorá priamo odošle pakety z portu do portu bez akéhokoľvek fyzického chmeľu.Možno by ste sa ešte zaujímali prečo
localhost
sa rieši:: 1
, zatiaľ čo tradične by sme očakávali, že sa vyrieši na adresu IPv4127.0.0.1
. Poznač si to.localhost
je tradične TLD (viď RFC 2606), ktoré odkazuje späť na IP adresu slučky (pre IPv4, pozri RFC 3330, najmä 127.0.0.0/8).Pri pohľade nahor
localhost
použitímnslookup
dáva nám:
nslookup localhost
... Názov: localhost Adresy: :: 1 127.0.0.1
Preto Windows preferuje použitie IP adresy IPv6 späť
:: 1
(pozri RFC 2373), ako je uvedené prvý.Dobre, takže, odkiaľ pochádza, poďme sa pozrieť na súbor hostiteľov.
typu% WINDIR% \ System32 \ Drivers \ Etc \ Hosts
... # localhost názov rozlíšenie je spracované v rámci DNS sám. # 127.0.0.1 localhost # :: 1 localhost ...
Hmm, musíme sa pozrieť na nastavenia DNS systému Windows.
Tento článok KB nám hovorí o nastavení, ktoré ovplyvňuje to, čo systém Windows preferuje, zvýraznený tučným písmom:
- V Editora databázy Registry vyhľadajte a kliknite na nasledujúci podkľúč databázy Registry:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
- Dvakrát kliknite na DisabledComponents a upravte položku DisabledComponents.Note: Ak je položka DisabledComponents nedostupná, musíte ju vytvoriť. Postupujte nasledovne:
- V ponuke Úpravy ukážte na položku Nové a potom kliknite na položku Hodnota DWORD (32-bitová).
- Zadajte príkaz DisabledComponents a stlačte kláves ENTER.
- Dvakrát kliknite na DisabledComponents.
- Do poľa Hodnota údajov: zadajte ktorúkoľvek z nasledujúcich hodnôt na konfiguráciu protokolu IPv6 na požadovaný stav a potom kliknite na tlačidlo OK:
- typ
0
ak chcete povoliť všetky komponenty protokolu IPv6. (Predvolené nastavenie systému Windows)- typ
0xFFFFFFFF
zakázať všetky komponenty protokolu IPv6, okrem rozhrania spätnej väzby IPv6. Táto hodnota tiež konfiguruje systém Windows, ktorý uprednostňuje používanie protokolu IPv4 (IPv4) prostredníctvom protokolu IPv6 úpravou položiek v tabuľke pravidiel prefixu. Ďalšie informácie nájdete v časti Výber zdroja a cieľovej adresy.- typ
0x20
uprednostniť protokol IPv4 cez protokol IPv6 úpravou položiek v tabuľke pravidiel prefixu.- typ
0x10
zakázať protokol IPv6 na všetkých nontunnelových rozhraniach (na rozhraní LAN a Point-to-Point Protocol [PPP]),.- typ
0x01
zakázať IPv6 na všetkých tunelových rozhraniach. Patria sem Protokol na automatické tunelovanie v rámci lokality (ISATAP), 6to4 a Teredo.- typ
0x11
zakázať všetky rozhrania protokolu IPv6 s výnimkou rozhrania spätnej väzby IPv6.- Reštartujte počítač, aby sa toto nastavenie prejavilo.
Čo je to tabuľka pravidiel prefixu?
rozhranie netsh ipv6 zobrazuje prefixpolicies
(aleboprefixpolicy
na predchádzajúcich verziách)Predčíslie Prefix štítku ---------- ----- -------------------------------- 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
Táto tabuľka určuje, ktoré predpony majú prednosť pred inými predponami počas riešenia DNS.
Ah, pomocou tejto KB sme mohli pridať záznamy, ktoré označujú, že IPv4 má vyššiu prioritu než IPv6.
Poznámka: Nie je žiadny dôvod na prekonanie tohto správania, ak nemáte kompatibilné problémy. Zmena tohto nastavenia na našom serveri Windows zlomila náš poštový server, takže by sa s ním malo zaobchádzať opatrne ...
Nič sa nám nepáči viac ako dôkladná a informatívna odpoveď s prepojenými podpornými dokumentmi. Je zrejmé, že localhost a lokálna IP adresa sú odlišné entity, slúžia rôznym účelom a teraz všetci vieme prečo.
Máte niečo doplniť vysvetlenie? Vyjadrite sa v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.