Domovská » jak » Jaký je rozdíl mezi lokalizační a lokální adresou IP?

    Jaký je rozdíl mezi lokalizační a lokální adresou IP?


    Pokud děláte spoustu síťového tinkeringu, konfigurování aplikací založených na LAN a serverových nástrojů nebo jen zvědaví, pravděpodobně jste si všimli, že existuje rozdíl mezi localhost a místní IP adresou. Čtěte dále, abyste zjistili rozdíly.

    Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.

    Otázka

    Čtecí zařízení SuperUser Diogo chce vědět, proč příkaz ping zachází s localhost a místní IP adresou jinak, když se na povrchu zdá, že jsou to samé:

    Použití příkazu cmd a pingu na systému Windows mi poskytlo následující výsledky:

    Pinging "localhost":

    Ping "192.168.0.10" (místní IP adresa):

    Nejedná se o obě situace přesně to samé?

    Mám na mysli ping stejné rozhraní, stejný stroj a stejnou adresu. Proč mám tak odlišné výsledky??

    Je zřejmé, že je nějaký rozdíl, ale co přesně probíhá, když přepínáte mezi oběma?

    Odpověď

    Doprovod SuperUser Tom Wijsman nabízí následující pohled na jemné rozdíly mezi těmito dvěma způsoby:

    Nejste ping na stejném rozhraní, bez fyzických rozhraní máte stále "místního hostitele".

    Vaše localhost se používá k odkazu na váš počítač z jeho "interní" IP adresy, nikoli z "externích" IP adres počítačů. Pak ping pakety neprocházejí žádné fyzické síťové rozhraní; pouze prostřednictvím rozhraní virtuální smyčky, které přímo odesílá pakety z portu do portu bez fyzického chmele.

    Možná byste se ještě divili, proč localhost se vyřeší :: 1, zatímco tradičně bychom očekávali, že vyřeší adresu IPv4 127.0.0.1. Všimněte si, že .localhost je tradičně TLD (viz RFC 2606), které odkazuje zpět na IP adresu smyčky (pro IPv4 viz RFC 3330, zejména 127.0.0.0/8).

    Vzhlížet localhost použitím nslookup nám dává:

    nslookup localhost

    ... Jméno: localhost Adresy: :: 1 127.0.0.1 

    Windows tedy preferuje použití IP adresy IPv6 smyčky zpět :: 1 (viz RFC 2373), jak je uvedeno jako první.

    Dobře, takže odkud pochází, podívejte se na soubor hostitelů.

    zadejte% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

    ... # localhost name resolution je řešeno v rámci DNS samotného. # 127.0.0.1 localhost # :: 1 localhost ... 

    Hmm, musíme se podívat na nastavení DNS systému Windows.

    Tento článek KB nám říká o nastavení, které ovlivňuje to, co systém Windows preferuje, zvýrazněný tučně:

    1. V Editoru registru vyhledejte a klepněte na následující podklíč registru:
      HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parametry 
    2. Poklepáním na položku DisabledComponents upravte položku DisabledComponents.Note: Pokud není položka DisabledComponents k dispozici, musíte ji vytvořit. Chcete-li to provést, postupujte takto:
      1. V nabídce Úpravy přejděte na příkaz Nový a klepněte na položku Hodnota DWORD (32 bitů).
      2. Zadejte DisabledComponents a stiskněte klávesu ENTER.
      3. Poklepejte na DisabledComponents.
    3. Do pole Údaj hodnoty: zadejte libovolnou z následujících hodnot konfigurovat protokol IPv6 na požadovaný stav a potom klepněte na tlačítko OK:
      • Typ 0 povolit všechny součásti protokolu IPv6. (Výchozí nastavení systému Windows)
      • Typ 0xffffffff zakázat všechny součásti protokolu IPv6 kromě rozhraní zpětné vazby IPv6. Tato hodnota také konfiguruje systém Windows, který upřednostňuje používání protokolu IP verze 4 (IPv4) přes protokol IPv6 úpravou položek v tabulce zásad předpon. Další informace naleznete v části Výběr zdroje a cílové adresy.
      • Typ 0x20 upřednostnit protokol IPv4 přes protokol IPv6 úpravou položek v tabulce zásad předpon.
      • Typ 0x10 zakázat protokol IPv6 na všech rozhraních typu nontunnel (na rozhraní LAN a Point-to-Point Protocol (PPP)).
      • Typ 0x01 zakázat protokol IPv6 na všech tunelových rozhraních. Jedná se o Intra-Site Automatické tunel adresování protokolu (ISATAP), 6to4, a Teredo.
      • Typ 0x11 zakázat všechna rozhraní protokolu IPv6 s výjimkou rozhraní zpětné vazby IPv6.
    4. Restartujte počítač, aby se toto nastavení projevilo.

    Co je tato tabulka zásad prefixů?

    rozhraní netsh ipv6 zobrazuje předpony (nebo prefixpolicy na dřívějších verzích)

    Předčíslí Předpona š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 

    Tato tabulka určuje, které předpony mají přednost před jinými předpony během řešení DNS.

    Ah, tak pomocí této KB bychom mohli přidat položky, které označují, že IPv4 má vyšší prioritu než IPv6.

    Poznámka: Neexistuje žádný důvod k potlačení tohoto chování, pokud nemáte kompatibilní problémy. Změna tohoto nastavení na našem Windows Serveru přerušila náš poštovní server, takže by se s ním mělo pracovat opatrně ...

    Neexistuje nic víc než důkladná a informativní odpověď s propojenými podpůrnými dokumenty. Je zřejmé, že localhost a místní IP adresa jsou odlišné entity, slouží různým účelům a nyní všichni víme proč.


    Musíte něco přidat k vysvětlení? Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.