Hvad er forskellen mellem 127.0.0.1 og 0.0.0.0?

De fleste af os har hørt om '127.0.0.1 og 0.0.0.0', men har sandsynligvis ikke tænkt meget over dem, men hvis begge faktisk synes at pege på den samme placering, hvad er så den faktiske forskel mellem de to? Dagens SuperUser Q & A-indlæg hjælper med at rydde op for en forvirret læser.

Dagens spørgsmål og svar-session kommer til os med tilladelse fra SuperUser - en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.

Foto med tilladelse fra Kate Gardiner (Flickr).

Spørgsmålet

SuperUser-læser Sagnik Sarkar vil vide, hvad forskellen mellem 127.0.0.1 og 0.0.0.0 er:

Jeg forstår, at 127.0.0.1 peger på localhost, og at 0.0.0.0 også gør det (korriger mig, hvis jeg tager fejl). Så hvad er forskellen mellem 127.0.0.1 og 0.0.0.0?

Hvad er forskellen mellem 127.0.0.1 og 0.0.0.0?

Svaret

SuperUser-bidragyder DavidPostill har svaret til os:

Hvad er forskellen mellem 127.0.0.1 og 0.0.0.0?

  • 127.0.0.1 er loopback-adressen (også kendt som localhost).
  • 0.0.0.0 er en ikke-rutbar meta-adresse, der bruges til at betegne et ugyldigt, ukendt eller ikke-relevant mål (en 'ingen særlig adresse' pladsholder).

I forbindelse med en ruteindgang betyder det normalt standardruten.

I forbindelse med servere betyder 0.0.0.0 alle IPv4-adresser på den lokale maskine . Hvis en vært har to IP-adresser, 192.168.1.1 og 10.1.2.1, og en server, der kører på værten, lytter til 0.0.0.0, vil den være tilgængelig på begge disse IP'er.

Hvad er IP-adressen 127.0.0.1?

127.0.0.1 er loopback Internet Protocol (IP) -adressen, også kaldet localhost . Adressen bruges til at oprette en IP-forbindelse til den samme maskine eller computer, der bruges af slutbrugeren.

Den samme konvention er defineret for computere, der understøtter IPv6-adressering ved hjælp af konnotationen af ​​:: 1. Oprettelse af en forbindelse ved hjælp af adressen 127.0.0.1 er den mest almindelige praksis; Brug af en hvilken som helst IP-adresse i området 127 ... * fungerer dog på samme eller lignende måde. Loopback-konstruktionen giver en computer eller en enhed, der er i stand til at netværke, muligheden for at validere eller etablere IP-stakken på maskinen.

Kilde: 127.0.0.1 - Hvad er dens anvendelse, og hvorfor er det vigtigt?

Særlige adresser

Klassen A-netværksnummer 127 er tildelt loopback- funktionen, dvs. et datagram sendt af en højere niveau-protokol til en netværks 127-adresse skal løkke tilbage inde i værten. Intet datagram sendt til en netværks 127-adresse skal nogensinde vises på ethvert netværk hvor som helst.

Kilde: Netværksnumre

Hvis det er hele klasse A, hvad er pointen med andre vilkårlige værdier for de sidste tre oktetter?

Formålet med loopback-området er test af TCP / IP-protokolimplementering på en vært. Da de nederste lag er kortsluttede, kan afsendelse til en loopback-adresse muliggøre, at de højere lag (IP og derover) testes effektivt uden chance for, at problemer ved de nederste lag manifesterer sig. 127.0.0.1 er den adresse, der oftest bruges til testformål.

Kilde: IP-reserveret, Loopback og private adresser

For mere information, se spørg Ubuntu- spørgsmålet: Hvad er Loopback-enheden, og hvordan bruger jeg den?

Hvad er IP-adressen 0.0.0.0?

0.0.0.0 er en gyldig adressesyntaks. Så det skal analyseres som gyldigt, hvor der forventes en IP-adresse i traditionel stiplet decimalnotation. Når den er analyseret og konverteret til brugbar numerisk form, bestemmer dens værdi, hvad der sker næste.

Værdien med hele nul har en særlig betydning. Så det er gyldigt , men har en betydning, der muligvis ikke er passende (og dermed behandles som ikke gyldig) under bestemte omstændigheder. Det er dybest set 'ingen særlig adresse' pladsholder. For ting som adresseindbinding af netværksforbindelser kan resultatet være at tildele en passende interface-adresse til forbindelsen. Hvis du bruger den til at konfigurere en grænseflade, kan den i stedet fjerne en adresse fra grænsefladen. Det afhænger af anvendelseskonteksten for at bestemme, hvad 'ingen bestemt adresse' virkelig gør.

I forbindelse med en ruteindgang betyder det normalt standardruten. Det sker som et resultat mere af adressemasken, som vælger de bits, der skal sammenlignes. En maske på 0.0.0.0 vælger ingen bits, så sammenligningen vil altid lykkes. Så når en sådan rute er konfigureret, er der altid et sted, hvor pakker kan gå (hvis de er konfigureret med en gyldig destination).

I nogle tilfælde fungerer kun '0' også og har den samme effekt. Men dette er ikke garanteret. Formularen 0.0.0.0 er standardmetoden til at sige 'ingen særlig adresse' (i IPv6, der er :: 0 eller bare : :).

Kilde: Hvad betyder IP-adressen 0.0.0.0?

I Internet Protocol version 4 er adressen 0.0.0.0 en ikke-routbar meta-adresse, der bruges til at betegne et ugyldigt, ukendt eller ikke-relevant mål. At give en særlig betydning til et ellers ugyldigt stykke data er en anvendelse af in-band signalering.

I forbindelse med servere betyder 0.0.0.0 alle IPv4-adresser på den lokale maskine . Hvis en vært har to IP-adresser, 192.168.1.1 og 10.1.2.1, og en server, der kører på værten, lytter til 0.0.0.0, kan den nås ved begge disse IP'er ( Bemærk: Denne særlige tekst gentages ovenfra som del af det samlede svar ).

I forbindelse med routing betyder 0.0.0.0 normalt standardruten, dvs. den rute, der fører til 'resten af' internettet i stedet for et eller andet sted på det lokale netværk.

Anvendelser inkluderer:

  • Den adresse, en vært hævder som sin egen, når den endnu ikke er tildelt en adresse. Såsom når du sender den første DHCPDISCOVER-pakke, når du bruger DHCP.
  • Den adresse en vært tildeler sig selv, når en adresseanmodning via DHCP mislykkedes, forudsat at værtens IP-stak understøtter dette. Denne anvendelse er blevet erstattet med APIPA-mekanismen i moderne operativsystemer.
  • En måde at angive enhver IPv4-vært overhovedet på . Det bruges på denne måde, når du angiver en standardrute.
  • En måde at udtrykkeligt angive, at målet ikke er tilgængeligt. Kilde:  127.0.0.1 - Hvad er dens anvendelse, og hvorfor er det vigtigt?
  • En måde at angive enhver IPv4-adresse overhovedet på . Det bruges på denne måde, når du konfigurerer servere (dvs. når du binder lyttestik). Dette er kendt af TCP-programmører som INADDR_ANY. [ bind (2) binder til adresser, ikke grænseflader. ]

I IPv6 er all-zero-adressen skrevet som ::

Kilde: 0.0.0.0 [Wikipedia]

DHCP-opdagelse / anmodning

Når en klient starter for første gang, siges det at være i initialiseringstilstanden og transmitterer en DHCPDISCOVER-meddelelse på sit lokale fysiske undernet via User Datagram Protocol (UDP) -port 67 (BootP-server). Da klienten ikke har nogen måde at kende det undernet, den tilhører, er DHCPDISCOVER en udsendelse af alle undernet (destinations-IP-adresse 255.255.255.255) med en kilde-IP-adresse på 0.0.0.0. Kildens IP-adresse er 0.0.0.0, da klienten ikke har en konfigureret IP-adresse.

Hvis der findes en DHCP-server på dette lokale undernet og er konfigureret og fungerer korrekt, vil DHCP-serveren høre udsendelsen og svare med en DHCPOFFER-meddelelse. Hvis der ikke findes en DHCP-server på det lokale undernet, skal der være en DHCP / BootP-relæagent på dette lokale undernet for at videresende meddelelsen DHCPDISCOVER til et undernet, der indeholder en DHCP-server.

Denne relæagent kan enten være en dedikeret vært (f.eks. Microsoft Windows Server) eller en router (f.eks. En Cisco-router konfigureret med IP-hjælpersætninger på grænsefladeniveau).

...

Når klienten modtager en DHCPOFFER, svarer den med en DHCPREQUEST-meddelelse, der angiver dens hensigt om at acceptere parametrene i DHCPOFFER og bevæger sig til den anmodende tilstand . Klienten modtager muligvis flere DHCPOFFER-meddelelser, en fra hver DHCP-server, der modtog den originale DHCPDISCOVER-besked. Klienten vælger en DHCPOFFER og svarer kun på den DHCP-server, hvilket implicit afviser alle andre DHCPOFFER-meddelelser. Klienten identificerer den valgte server ved at udfylde feltet Serveridentifikator med DHCP-serverens IP-adresse.

DHCPREQUEST er også en udsendelse, så alle DHCP-servere, der sendte en DHCPOFFER, vil se DHCPREQUEST, og hver vil vide, om dens DHCPOFFER blev accepteret eller afvist. Eventuelle yderligere konfigurationsindstillinger, som klienten kræver, vil blive inkluderet i indstillingsfeltet i DHCPREQUEST-meddelelsen. Selvom klienten har fået tilbudt en IP-adresse, sender den DHCPREQUEST-meddelelsen med en kilde-IP-adresse på 0.0.0.0. På dette tidspunkt har klienten endnu ikke modtaget verifikation af, at det er klart at bruge IP-adressen.

...

Klient-server samtale for en klient, der får en DHCP-adresse, hvor klienten og DHCP-serveren befinder sig på samme undernet:

Kilde: Forståelse og fejlfinding af DHCP i Catalyst Switch eller Enterprise Networks

Standardrute

Dette dokument forklarer, hvordan man konfigurerer en standardrute eller gateway til sidste udvej. Disse IP-kommandoer bruges:

  • ip standard-gateway
  • ip standard-netværk
  • ip-rute 0.0.0.0 0.0.0.0

IP-rute 0.0.0.0 0.0.0.0

Oprettelse af en statisk rute til netværket 0.0.0.0 0.0.0.0 er en anden måde at indstille gatewayen til sidste udvej på en router. Som med ip-standardnetværkskommandoen er brug af den statiske rute til 0.0.0.0 ikke afhængig af nogen routingsprotokoller. IP-routing skal dog være aktiveret på routeren.

Bemærk: IGRP forstår ikke en rute til 0.0.0.0. Derfor kan den ikke sprede standardruter oprettet ved hjælp af kommandoen ip route 0.0.0.0 0.0.0.0 . Brug ip-standardnetværkskommandoen for at få IGRP til at udbrede en standardrute.

Kilde: Konfiguration af en gateway til sidste udvej ved hjælp af IP-kommandoer

Har du noget at tilføje til forklaringen? Lyd fra i kommentarerne. Vil du læse flere svar fra andre teknologisk kyndige Stack Exchange-brugere? Tjek den fulde diskussionstråd her.