Qual è la differenza tra 127.0.0.1 e 0.0.0.0?

Capisco che 127.0.0.1 punti a localhost , e così 0.0.0.0 (corregge me se sono sbagliato). Quindi, qual è la differenza tra 127.0.0.1 e 0.0.0.0?

Qual è la differenza tra 127.0.0.1 e 0.0.0.0?

  • 127.0.0.1 è l'indirizzo di loopback (noto anche come localhost).

  • 0.0.0.0 è un meta-indirizzo non ritoccabile utilizzato per designare un target non valido, sconosciuto o non applicabile (un segnaposto non specifico per l'indirizzo).

    Nel context di una voce di path, significa normalmente il path predefinito.

    Nel context dei server, 0.0.0.0 significa "tutti gli indirizzi IPv4 sulla macchina locale". Se un host dispone di due indirizzi IP, 192.168.1.1 e 10.1.2.1 e un server che esegue l'host che ascolta in 0.0.0.0, sarà raggiungibile in entrambi gli IP.


Che cos'è l'indirizzo IP 127.0.0.1?

127.0.0.1 è l'indirizzo del protocollo Internet (loopback) IP chiamato anche come "localhost". L'indirizzo viene utilizzato per stabilire una connessione IP alla stessa macchina o computer utilizzata dall'utente finale.

La stessa convenzione è definita per i computer che supportno l'indirizzamento IPv6 utilizzando la connotazione di :: 1. Stabilire una connessione utilizzando l'indirizzo 127.0.0.1 è la pratica più comune; tuttavia, utilizzando qualsiasi indirizzo IP nell'intervallo di 127 . . * functionrà allo stesso modo o simile. Il costrutto di loopback fornisce un computer o un dispositivo in grado di colbind la networking alla capacità di validationre o stabilire lo stack IP sulla macchina.

Fonte: 127.0.0.1 – Quali sono i suoi usi e perché è importnte?


Indirizzi speciali

Il numero di networking di class A 127 è assegnato la function "loopback", cioè un datagramma inviato da un protocollo di livello superiore ad un indirizzo di networking 127 dovrebbe tornare indietro all'interno dell'host. Nessun datagram "inviato" a un indirizzo di networking 127 dovrebbe mai apparire in qualsiasi networking ovunque.

Fonte: numbers di networking


Se è un'intera class A, qual è il punto di altri valori arbitrari per gli ultimi tre ottetti?

Lo scopo del range di loopback è il test dell'implementazione del protocollo TCP / IP su un host. Poiché gli strati inferiori sono cortocircuiti, l'invio ad un indirizzo di loopback consente di testare in modo efficace i livelli superiori (IP e superiori) senza la probabilità di problemi che si manifestano nei livelli inferiori. 127.0.0.1 è l'indirizzo più comunemente utilizzato per scopi di test.

Fonte: IP Riservato, Loopback e indirizzi privati

Per ulteriori informazioni, vedere la domanda https://askubuntu.com Qual è il dispositivo di loopback e come si usa? e perché l'indirizzo IP loopback da 127.0.0.1 a 127.255.255.254? .


Che cos'è l'indirizzo IP 0.0.0.0?

"0.0.0.0" è una syntax di indirizzo valida. Quindi dovrebbe essere considerato valido ovunque si preveda un indirizzo IP nella notazione punteggiata-decimale tradizionali. Una volta analizzato e convertito in forma numbersca, il suo valore determina ciò che accade successivamente.

Il valore a tutto zero ha un significato speciale. Quindi è "valido", ma ha un significato che potrebbe non essere appropriato (e quindi trattato come non valido) per circostanze particolari. È fondamentalmente il segnaposto "nessun indirizzo particolare". Per le cose come l'associazione di indirizzi di connessioni di networking, il risultato può essere quello di assegnare un indirizzo di interface appropriato alla connessione. Se lo si utilizza per configurare un'interface, è ansible rimuovere un indirizzo dall'interface. Dipende dal context di utilizzo per determinare quale "nessun indirizzo particolare" realmente fa.

Nel context di una voce di path, significa normalmente il path predefinito . Ciò accade come risultato più della maschera di indirizzo, che seleziona i bit da confrontare. Una maschera di "0.0.0.0" seleziona nessun bit, quindi il confronto avrà sempre successo. Quindi, quando è configurato un itinerario, c'è sempre da fare per i pacchetti da passare (se configurati con una destinazione valida).

In alcuni casi, solo "0" functionrà e ha lo stesso effetto. Ma questo non è garantito. La forma "0.0.0.0" è il modo standard per dire "nessun indirizzo particolare" (in IPv6 che è ":: 0" o semplicemente "::").

Origine: Qual è il significato dell'indirizzo IP 0.0.0.0


Nella versione 4 del protocollo Internet, l'indirizzo 0.0.0.0 è un meta-indirizzo non indirizzabile utilizzato per designare un target non valido, sconosciuto o non applicabile. Per dare un significato speciale ad un altro pezzo di dati non valido è un'applicazione di segnalazione in banda.

Nel context dei server, 0.0.0.0 significa "tutti gli indirizzi IPv4 sulla macchina locale". Se un host dispone di due indirizzi IP, 192.168.1.1 e 10.1.2.1 e un server che esegue l'host che ascolta in 0.0.0.0, sarà raggiungibile in entrambi gli IP.

Nel context di routing, 0.0.0.0 significa generalmente il path predefinito, ovvero il path che port al "resto" di Internet invece che in qualche luogo sulla networking locale.

Gli usi includono:

  • L'indirizzo che un host afferma come proprio quando non è ancora stato assegnato un indirizzo. Come quando si invia il pacchetto DHCPDISCOVER iniziale quando si utilizza DHCP.
  • L'indirizzo che un host assegna a se stesso quando la richiesta di indirizzo tramite DHCP non è rioutput, a condizione che lo stack IP del host lo supporti. Questo utilizzo è stato sostituito con il meccanismo APIPA nei sisthemes operativi moderni.
  • Un modo per specificare "qualsiasi host IPv4 a tutti". Viene utilizzata in questo modo quando si specifica un path predefinito.
  • Un modo per specificare esplicitamente che l'objective non è disponibile. 1
  • Un modo per specificare "qualsiasi indirizzo IPv4". Viene utilizzato in questo modo durante la configuration dei server (cioè quando si legano le prese di ascolto). Questo è noto ai programmatori TCP come INADDR_ANY. (bind (2) si lega agli indirizzi, non alle interfacce.)

In IPv6, l'indirizzo a tutti i zeri viene scritto come "::".

Fonte: 0.0.0.0


DHCP Discovery / Request

Quando un client viene avviato per la prima volta, si dice che sia nello stato di initialization e trasmette un messaggio DHCPDISCOVER sulla propria substring fisica locale tramite la port 67 (BootP server) UDP (User Datagram Protocol). Poiché il client non ha modo di conoscere la substring a cui appartiene, DHCPDISCOVER è una trasmissione di tutte le sottoreti (indirizzo IP di destinazione 255.255.255.255), con un indirizzo IP di origine di 0.0.0.0. L'indirizzo IP di origine è 0.0.0.0, poiché il client non dispone di un indirizzo IP configurato. Se un server DHCP esiste in questa substring locale e viene configurato e funziona correttamente, il server DHCP sentirà la trasmissione e risponderà con un messaggio DHCPOFFER. Se un server DHCP non esiste nella substring locale, deve essere presente un DHCP / BootP Relay Agent in questa substring locale per inoltrare il messaggio DHCPDISCOVER a una substring che contiene un server DHCP.

Questo agente di rilascio può essere un host dedicato (ad esempio, Microsoft Windows Server) o un router (ad esempio, un router Cisco configurato con le istruzioni di helper di livello di interface).

Dopo che il client riceve un DHCPOFFER, risponde con un messaggio DHCPREQUEST, indicando la sua intenzione di accettare i parametri nel DHCPOFFER e si sposta nello stato Requesting. Il client può ricevere più messaggi DHCPOFFER, uno da ciascun server DHCP che ha ricevuto il messaggio DHCPDISCOVER originale. Il client sceglie un DHCPOFFER e risponde solo al server DHCP, implicitamente declinando tutti gli altri messaggi DHCPOFFER. Il client identifica il server selezionato popolando il field di opzione Identificatore server con l'indirizzo IP del server DHCP. Il DHCPREQUEST è anche una trasmissione, quindi tutti i server DHCP che hanno inviato un DHCPOFFER vedranno il DHCPREQUEST e ognuno saprà se il suo DHCPOFFER è stato accettato o rifiutato. Tutte le opzioni di configuration aggiuntive richieste dal client verranno incluse nel field delle opzioni del messaggio DHCPREQUEST. Anche se al client è stato offerto un indirizzo IP, invierà il messaggio DHCPREQUEST con un indirizzo IP di origine di 0.0.0.0. Al momento, il cliente non ha ancora ricevuto la verifica che è chiaro l'utilizzo dell'indirizzo IP.

Conversazione client-server per il client Ottenere l'indirizzo DHCP where il server client e DHCP risiedono nella stessa substring

Inserisci qui l'immagine

Fonte: comprensione e risoluzione di problemi di DHCP in Catalyst Switch o Enterprise Networks


Percorso predefinito

Questo documento spiega come configurare un path predefinito o un gateway di ultima istanza. Questi comandi IP vengono utilizzati:

  • ip gateway predefinito

  • ip-networking predefinita

  • e il path ip 0.0.0.0 0.0.0.0

ip route 0.0.0.0 0.0.0.0

Creare una route statica alla networking 0.0.0.0 0.0.0.0 è un altro modo per impostare il gateway di ultima istanza su un router. Come con il command ip default-network, l'utilizzo della route statica a 0.0.0.0 non dipende da alcun protocollo di routing. Tuttavia, il routing IP deve essere abilitato sul router.

Nota: l'IGRP non comprende un path a 0.0.0.0. Pertanto, non può propagare routes predefiniti creati utilizzando il command 0.0.0.0 0.0.0.0 route ip. Utilizzare il command ip default-network per avere IGRP propagare un path predefinito.

Origine: Configurazione di un gateway dell'ultimo resort tramite i comandi IP

Non sono gli stessi.

127.0.0.1 fa parte della networking 127/8 che è riservata e punta allo stesso computer.

0.0.0.0 è un indirizzo IP speciale che significa cose diverse a seconda del context.

Nella versione 4 di Internet Protocol, l'indirizzo 0.0.0.0 è un meta-address non corrotto utilizzato per designare un target non valido, sconosciuto o non applicabile. Per dare un significato speciale ad un altro pezzo di dati non valido è un'applicazione di segnalazione in banda.

Potrebbe essere scambiato 0.0.0.0 per 127.0.0.1 quando si guarda a netstat e vedi l'indirizzo locale che ascolta come 0.0.0.0, ma questo è un modo diverso 0.0.0.0 viene utilizzato.

Nel context dei server, 0.0.0.0 significa "tutti gli indirizzi IPv4 sulla macchina locale". Se un host dispone di due indirizzi IP, 192.168.1.1 e 10.1.2.1 e un server che esegue l'host che ascolta in 0.0.0.0, sarà raggiungibile in entrambi gli IP.

Nel context di routing, 0.0.0.0 significa generalmente il path predefinito, ovvero il path che port al "resto" di Internet invece che in qualche luogo sulla networking locale.

https://en.wikipedia.org/wiki/0.0.0.0

127.0.0.1 uno degli indirizzi del computer locale, ma qualsiasi indirizzo 127.xyz è anche un altro indirizzo del computer (chiamato "indirizzo di loopback"), ad exception di 127.0.0.0 (subnet loopback) e 127.255.255.255 (indirizzo di trasmissione per il loopback substring).

127.xyz significa "qui".

0.0.0.0 è totalmente diverso: 0.0.0.0 non è l'indirizzo di niente , è il joker, come * in shell.

Non è ansible submit dati a 0.0.0.0 o triggersmente aprire una connessione TCP a 0.0.0.0 perché non c'è nulla; 0.0.0.0 non è nemless un indirizzo irraggiungibile o non routable, non è significativo in un context in cui è previsto un indirizzo .

È ansible utilizzare il joker 0.0.0.0 in contesti in cui un indirizzo può essere opzionale fornito , significa che non mi import .

Ad esempio, quando si apre triggersmente una connessione TCP a un server TCP (un server TCP viene creato da un TCP passivo aperto), è necessario specificare l'indirizzo del server TCP (IP e numero di port). indirizzo locale. (Poiché il socket non è un socket del server, nessuno può aprire una connessione ad esso e l'indirizzo del tuo lato della connessione non è di solito molto importnte.)

La chiamata di sistema bind viene utilizzata per scegliere l'indirizzo locale di una presa TCP. I dati passati per bind sono davvero un insieme di vincoli: vincolo sull'indirizzo IP, vincolo sulla port TCP. La notazione di text normale è IP: port. 0.0.0.0:0 significa qualsiasi IP qualsiasi port sia accettabile, è il vincolo nullo. 0.0.0.0:20 significa che la port locale deve essere 20, qualsiasi IP è accettabile (0.0.0.0:20 è utilizzato dai server conformi FTP per la connessione dati in modalità triggers).

Il sottosistema TCP / IP sceglierà l'indirizzo per il lato della connessione TCP se non lo si desidera, utilizzando la tabella di routing in base all'indirizzo di destinazione: l'indirizzo locale di socket TCP sarà l'indirizzo locale associato con il path corrispondente all'indirizzo di destinazione.

Ho già menzionato il shell "meta-character" * , ma il potere di combinare meta-caratteri con caratteri come *foo* (qualsiasi nome di file contenente "foo") non esiste con i vincoli di indirizzo IP, è tutto o niente: un unico indirizzo IP è considerato accettabile o tutti gli indirizzi sono. La logica non impone che sia così. È ansible estendere l'interface con un linguaggio di vincolo più ricco.

Precisione:

La frase 127.xyz significa "qui" non implica che tutti questi indirizzi siano gli stessi. Essi rappresentano differenti "posizioni" (indirizzi socket), all'interno del "computer" locale, all'interno dello stack IP locale.

Nota: un computer con virtualizzazione (emulazione, virtualizzazione hardware, paravirtualizzazione, qualunque cosa si possa pensare …) possiede più stack IP indipendenti.

Di solito si utilizza l'indirizzo bind-0.0.0.0 per consentire le connessioni da reti esterne e da sorgenti. Molti server come MySQL in genere si legano a 127.0.0.1 permettendo solo le connessioni di loopback, richiedendo all'amministratore di cambiarlo in 0.0.0.0 per abilitare la connettività esterna.