24Aug

Wat is het verschil tussen het Locahost en het lokale IP-adres?


Als je veel aan het sleutelen bent met het netwerk, LAN-gebaseerde apps en servertools configureert, of gewoon nieuwsgierig bent, heb je waarschijnlijk gemerkt dat er een verschil is tussen de localhost en het lokale IP-adres. Lees verder om de verschillen te leren.

De vraag van vandaag &Antwoord sessie komt naar ons met dank aan SuperUser-een onderverdeling van Stack Exchange, een community-gestuurde groepering van Q & A-websites.

De vraag

SuperUser-lezer Diogo wil weten waarom het ping-commando de localhost en het lokale IP-adres anders behandelt wanneer ze oppervlakkig lijken te zijn:

Het gebruik van cmd en ping op Windows gaf me de volgende resultaten:

Pingelen "localhost":

Pingelen "192.168.0.10"( lokaal IP-adres):

Zijn beide situaties niet precies hetzelfde?

Ik bedoel, ik pink dezelfde interface, dezelfde machine en hetzelfde adres. Waarom krijg ik zulke verschillende resultaten?

Natuurlijk is er een verschil, maar wat gebeurt er precies als je tussen de twee schakelt?

Het antwoord

SuperUser-bijdrager Tom Wijsman biedt het volgende inzicht in de subtiele verschillen tussen de twee:

U pingt niet dezelfde interface , zonder fysieke interfaces heeft u nog steeds een "lokale host".

Uw localhost wordt gebruikt om naar uw computer te verwijzen vanuit zijn "interne" IP, niet vanaf enige "externe" IP's van uw computer. Dus, de ping-pakketten passeren geen fysieke netwerkinterface;alleen via een virtuele loopback-interface die de pakketten rechtstreeks van poort naar poort verzendt zonder enige fysieke hop.

Je kunt je nog steeds afvragen waarom localhost lost tot: 1, terwijl we van oudsher zouden verwachten dat het zou oplossen naar het IPv4-adres 127.0.0.1.Let op:. localhost is van oudsher een TLD( zie RFC 2606) dat verwijst naar het terugloop-IP-adres( voor IPv4, zie RFC 3330, vooral 127.0.0.0/8).

Zoeken op localhost met behulp van nslookup geeft ons:

nslookup localhost

. .. Naam: localhost Adressen:: : 1 127.0.0.1

Dus gebruikt Windows het IPv6-lus back-IP-adres: : 1( zie RFC 2373) zoals het iseerst vermeld.

Oké, dus waar komt het vandaan, laten we het hosts-bestand bekijken.

type% WINDIR% \ System32 \ Drivers \ Etc \ Hosts

. .. # localhost name resolutie wordt afgehandeld binnen DNS zelf.# 127.0.0.1 localhost #: : 1 localhost. ..

Hmm, we moeten naar de DNS-instellingen van Windows kijken.

Dit KB-artikel vertelt ons over een instelling die invloed heeft op wat Windows verkiest, benadrukt in vetgedrukte letters:

  1. Zoek in de Register-editor naar en klik op de volgende registersubsleutel: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip6 \ Parameters
  2. Dubbelklik op DisabledComponents towijzig het item DisabledComponents. Opmerking: als het item DisabledComponents niet beschikbaar is, moet u het maken. Hiertoe gaat u als volgt te werk:
    1. Ga in het menu Bewerken naar Nieuw en klik vervolgens op DWORD( 32-bit) Value.
    2. Type DisabledComponents, en druk vervolgens op ENTER.
    3. Dubbelklik op DisabledComponents.
  3. Typ een van de volgende waarden in het veld Waardegegevens: om het IPv6-protocol in de gewenste staat te configureren en klik vervolgens op OK:
    • Type 0 om alle IPv6-componenten in te schakelen.(Standaardinstelling van Windows)
    • Type 0xffffffff om alle IPv6-componenten uit te schakelen, met uitzondering van de IPv6-loopback-interface. Deze waarde configureert Windows ook om de voorkeur te geven aan het gebruik van Internet Protocol versie 4( IPv4) boven IPv6 door het wijzigen van vermeldingen in de prefix-beleidstabel. Zie Bron- en bestemmingsadres selecteren voor meer informatie.
    • Typ 0x20 om IPv4 boven IPv6 te verkiezen door de vermeldingen in de beleidstabel voor prefix te wijzigen.
    • Typ 0x10 om IPv6 uit te schakelen op alle niet-tunnelinterfaces( op zowel LAN- als Point-to-Point Protocol [PPP] -interfaces).
    • Typ 0x01 om IPv6 op alle tunnelinterfaces uit te schakelen. Deze omvatten Intra-Site Automatic Tunnel Addressing Protocol( ISATAP), 6to4 en Teredo.
    • Typ 0x11 om alle IPv6-interfaces uit te schakelen, met uitzondering van de IPv6-loopback-interface.
  4. Start de computer opnieuw op voordat deze instelling van kracht wordt.

Wat is deze beleidstabel voor prefixen?

netsh interface ipv6 show prefixpolicies( of prefixpolicy op eerdere versies)

Priority 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

Deze tabel bepaalt welke voorvoegsels voor DNS-resoluties voorrang krijgen op andere prefixen.

Ah, dus met die KB kunnen we hier items toevoegen die aangeven dat IPv4 een hogere prioriteit heeft dan IPv6.

Opmerking: Er is geen reden om dit gedrag te negeren, tenzij u compatibele problemen ervaart. Het wijzigen van deze instelling op onze Windows Server heeft onze mailserver verbroken, dus het moet met zorg worden behandeld. ..

Er is niets dat we meer willen dan een grondig en informatief antwoord met gekoppelde ondersteunende documenten. Het is duidelijk dat de localhost en het lokale IP-adres afzonderlijke entiteiten zijn, verschillende doeleinden dienen en nu weten we allemaal waarom.

Heeft u iets toe te voegen aan de uitleg? Geluid uit in de opmerkingen. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk de volledige discussiethread hier.