Hemsida » hur » Vad är skillnaden mellan 127.0.0.1 och 0.0.0.0?

    Vad är skillnaden mellan 127.0.0.1 och 0.0.0.0?

    De flesta av oss har hört talas om '127.0.0.1 och 0.0.0.0' men har nog inte tänkt dem mycket, men om båda faktiskt tycks peka på samma plats, vad är den faktiska skillnaden mellan de två? Dagens SuperUser Q & A-tjänst hjälper till att rensa upp saker för en förvirrad läsare.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Foto med tillstånd av Kate Gardiner (Flickr).

    Frågan

    SuperUser-läsaren Sagnik Sarkar vill veta vad skillnaden mellan 127.0.0.1 och 0.0.0.0 är:

    Jag förstår att 127.0.0.1 pekar på lokal värd och att 0,0.0.0 gör det lika bra (korrigera mig om jag har fel). Så, vad är skillnaden mellan 127.0.0.1 och 0.0.0.0?

    Vad är skillnaden mellan 127.0.0.1 och 0.0.0.0?

    Svaret

    SuperUser-bidragare DavidPostill har svaret för oss:

    Vad är skillnaden mellan 127.0.0.1 och 0.0.0.0?

    • 127.0.0.1 är loopbackadressen (även känd som localhost).
    • 0.0.0.0 är en icke-routbar meta-adress som används för att ange ett ogiltigt, okänt eller icke-tillämpligt mål (en "ingen särskild adress" -platshållare).

    I samband med en ruttpost betyder det vanligtvis standardrutten.

    I anslutning till servrar betyder 0,0.0.0 alla IPv4-adresser på den lokala maskinen. Om en värd har två IP-adresser, 192.168.1.1 och 10.1.2.1 och en server som körs på värden lyssnar på 0.0.0.0, kommer den att nås vid båda dessa IP-adresser.

    Vad är IP-adressen 127.0.0.1?

    127.0.0.1 är loopback Internet Protocol (IP) adressen även kallad lokal värd. Adressen används för att upprätta en IP-anslutning till samma maskin eller dator som används av slutanvändaren.

    Samma konvention definieras för datorer som stöder IPv6 adressering med hjälp av konnotationen av :: 1. Att upprätta en anslutning med adressen 127.0.0.1 är den vanligaste praxisen; dock använder någon IP-adress inom intervallet 127 ... * funktionen på samma eller liknande sätt. Loopbackkonstruktionen ger en dator eller en enhet som är i stånd att koppla samman möjligheten att validera eller etablera IP-stacken på maskinen.

    Källa: 127.0.0.1 - Vad är dess användning och varför är det viktigt?

    Särskilda adresser

    Klass A-nätnummer 127 tilldelas loopback funktion, det vill säga ett datagram som skickas av ett högre nivåprotokoll till ett nätverk 127 adress ska slingas tillbaka inuti värden. Inget datagram skickat till ett nätverk 127 adress ska någonsin visas på vilket nätverk som helst.

    Källa: Nätverksnummer

    Om det är helklass A, vad är punkten för andra godtyckliga värden för de tre sista oktorna?

    Syftet med loopback-intervallet är testning av implementeringen av TCP / IP-protokollet på en värd. Eftersom de nedre lagren är kortslutna tillåter överföring till en loopback-adress att de högre lagren (IP och över) testas effektivt utan risk för att problem i de nedre lagren manifesterar sig. 127.0.0.1 är den adress som oftast används för teständamål.

    Källa: IP reserverade, Loopback och privata adresser

    För mer information se Fråga Ubuntu fråga: Vad är Loopback Device och hur använder jag den?

    Vad är IP-adressen 0.0.0.0?

    0.0.0.0 är en giltig adresssyntax. Så det borde tolka som giltigt varhelst en IP-adress i traditionell prickad decimal-notation förväntas. När den analyseras och konverteras till fungerande numerisk form bestämmer dess värde vad som händer nästa.

    Alt-nollvärdet har en särskild betydelse. Så det är det giltig, men har en mening som kanske inte är lämplig (och därmed behandlad som ej giltig) för särskilda omständigheter. Det är i grunden "ingen särskild adress" platshållare. För saker som adressbindning av nätverksanslutningar kan resultatet vara att tilldela en lämplig gränssnittsadress till anslutningen. Om du använder den för att konfigurera ett gränssnitt kan det istället ta bort en adress från gränssnittet. Det beror på användningsförhållandet för att bestämma vad "ingen särskild adress" verkligen gör.

    I samband med en ruttpost betyder det vanligtvis standardrutten. Det händer som en följd av adressmask, som väljer bitarna att jämföra. En mask av 0.0.0.0 väljer inga bitar, så jämförelsen kommer alltid att lyckas. Så när en sådan rutt är konfigurerad finns det alltid någonstans för paket att gå (om den är konfigurerad med en giltig destination).

    I vissa fall kommer bara "0" också att fungera och ha samma effekt. Men detta är inte garanterat. Formuläret 0.0.0.0 är det vanliga sättet att säga "ingen särskild adress" (i IPv6 som är :: 0 eller bara ::).

    Källa: Vad är meningen med IP-adressen 0.0.0.0?

    I Internet Protocol version 4 är adressen 0.0.0.0 en icke-routbar meta-adress som används för att ange ett ogiltigt, okänt eller ej tillämpligt mål. Att ge en särskild betydelse för ett annars ogiltigt datatycke är en tillämpning av in-band-signalering.

    I anslutning till servrar betyder 0,0.0.0 alla IPv4-adresser på den lokala maskinen. Om en värd har två IP-adresser, 192.168.1.1 och 10.1.2.1, och en server som körs på värden lyssnar på 0.0.0.0, kommer den att nås vid båda dessa IP-adresser (Notera: Denna speciella text upprepas från ovan som en del av det övergripande svaret).

    I samband med routing betyder 0,0.0.0 vanligtvis standardrutten, dvs den rutt som leder till "resten" av Internet istället för någonstans på det lokala nätverket.

    Användningar inkluderar:

    • Den adress en värd hävdar som sin egen när den ännu inte har tilldelats en adress. Såsom när du skickar det ursprungliga DHCPDISCOVER-paketet när du använder DHCP.
    • Den adress en värd tilldelar till sig själv när en adressförfrågan via DHCP har misslyckats, förutsatt att värdens IP-stack stöder detta. Denna användning har ersatts med APIPA-mekanismen i moderna operativsystem.
    • Ett sätt att ange någon IPv4-värd alls. Den används på detta sätt när du anger en standardväg.
    • Ett sätt att uttryckligen ange att målet inte är tillgängligt. Källa: 127.0.0.1 - Vad är dess användning och varför är det viktigt?
    • Ett sätt att ange någon IPv4-adress alls. Den används på detta sätt när du konfigurerar servrar (dvs vid bindande lyssningsuttag). Detta är känt för TCP-programmerare som INADDR_ANY. [binda (2) binder till adresser, inte gränssnitt.]

    I IPv6 skrivs all-zeros-adressen som ::

    Källa: 0.0.0.0 [Wikipedia]

    DHCP Discovery / Request

    När en klient startar upp för första gången sägs det vara i initialiserande tillstånd, och sänder ett DHCPDISCOVER-meddelande på sitt lokala fysiska delnät över UDP-porten (BootP-server). Eftersom klienten inte har något sätt att känna till det delnät som det tillhör, är DHCPDISCOVER en all subnets-sändning (destinations IP-adress 2552555.255.255) med en käll-IP-adress på 0.0.0.0. Källans IP-adress är 0.0.0.0 eftersom klienten inte har en konfigurerad IP-adress.

    Om en DHCP-server finns på detta lokala delnät och konfigureras och fungerar korrekt, kommer DHCP-servern att höra sändningen och svara med ett DHCPOFFER-meddelande. Om en DHCP-server inte finns på det lokala delnätet måste det finnas ett DHCP / BootP-reläagent på det här lokala delnätet för att vidarebefordra DHCPDISCOVER-meddelandet till ett delnät som innehåller en DHCP-server.

    Det här reläet kan antingen vara en dedikerad värd (till exempel Microsoft Windows Server) eller en router (en Cisco-router konfigurerad med gränssnittsnivå-IP-hjälper-satser, till exempel).

    ...

    Efter att klienten fått en DHCPOFFER, svarar den med ett DHCPREQUEST-meddelande, vilket anger att den har för avsikt att acceptera parametrarna i DHCPOFFER och flyttar in i begär stat. Klienten kan få flera DHCPOFFER-meddelanden, en från varje DHCP-server som mottog det ursprungliga DHCPDISCOVER-meddelandet. Klienten väljer en DHCPOFFER och svarar endast på den DHCP-servern, vilket implicit minskar alla andra DHCPOFFER-meddelanden. Klienten identifierar den valda servern genom att fylla i Serveridentifierare alternativfältet med DHCP-serverns IP-adress.

    DHCPREQUEST är också en sändning, så alla DHCP-servrar som skickade en DHCPOFFER kommer att se DHCPREQUEST, och varje kommer veta om dess DHCPOFFER godkändes eller nekades. Eventuella ytterligare konfigurationsalternativ som klienten kräver kommer att inkluderas i alternativfältet i DHCPREQUEST-meddelandet. Även om klienten har erbjudits en IP-adress kommer den att skicka DHCPREQUEST-meddelandet med en käll-IP-adress på 0.0.0.0. Vid denna tidpunkt har klienten ännu inte fått verifiering att det är tydligt att använda IP-adressen.

    ...

    Client-server-konversation för en klient som erhåller en DHCP-adress där klient- och DHCP-servern finns i samma delnät:

    Källa: Förstå och felsöka DHCP i Catalyst Switch eller Enterprise Networks

    Standardrutt

    Detta dokument förklarar hur du konfigurerar en standardväg eller gateway för sista utväg. Dessa IP-kommandon används:

    • ip standardgateway
    • ip standard-nätverk
    • ip-rutt 0.0.0.0 0.0.0.0

    IP-rutt 0.0.0.0 0.0.0.0

    Skapa en statisk rutt till nätverket 0.0.0.0 0.0.0.0 är ett annat sätt att ställa in porten för sista utväg på en router. Som med ip standard-nätverk kommando, med hjälp av den statiska vägen till 0.0.0.0 är inte beroende av några routingprotokoll. IP-routing måste dock vara aktiverat på routern.

    Notera: IGRP förstår inte en rutt till 0.0.0.0. Därför kan den inte propagera standardrutter skapade med hjälp av ip-rutt 0.0.0.0 0.0.0.0 kommando. Använd ip standard-nätverk Kommandot att få IGRP att sprida en standardrutt.

    Källa: Konfigurera en gateway för sista utväg med hjälp av IP-kommandon


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.