La maggior parte di noi ha sentito parlare di "127.0.0.1 e 0.0.0.0" ma probabilmente non ci ha pensato molto, ma se entrambi sembrano effettivamente puntare alla stessa posizione, qual è la differenza effettiva tra i due? Il post di domande e risposte di SuperUser di oggi aiuta a chiarire le cose per un lettore confuso.
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.
Foto per gentile concessione di Kate Gardiner (Flickr) .
La domanda
Il lettore SuperUser Sagnik Sarkar vuole sapere qual è la differenza tra 127.0.0.1 e 0.0.0.0:
Capisco che 127.0.0.1 punti a localhost e anche quello 0.0.0.0 (correggimi se sbaglio). Allora, 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?
La risposta
Il collaboratore di SuperUser DavidPostill ha la risposta per noi:
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 instradabile utilizzato per designare un target non valido, sconosciuto o non applicabile (un segnaposto "nessun indirizzo particolare").
Nel contesto di una voce di percorso, di solito indica la rotta predefinita.
Nel contesto dei server, 0.0.0.0 significa tutti gli indirizzi IPv4 sulla macchina locale . Se un host ha due indirizzi IP, 192.168.1.1 e 10.1.2.1, e un server in esecuzione sull'host è in ascolto su 0.0.0.0, sarà raggiungibile su entrambi gli IP.
Qual è l'indirizzo IP 127.0.0.1?
127.0.0.1 è l'indirizzo del protocollo Internet (IP) di loopback, noto anche come localhost . L'indirizzo viene utilizzato per stabilire una connessione IP alla stessa macchina o computer utilizzato dall'utente finale.
La stessa convenzione è definita per i computer che supportano l'indirizzamento IPv6 utilizzando la connotazione di :: 1. Stabilire una connessione utilizzando l'indirizzo 127.0.0.1 è la pratica più comune; tuttavia, l'utilizzo di qualsiasi indirizzo IP compreso nell'intervallo 127 ... * funzionerà allo stesso modo o in modo simile. Il costrutto di loopback fornisce a un computer o dispositivo in grado di collegare in rete la capacità di convalidare o stabilire lo stack IP sulla macchina.
Fonte: 127.0.0.1 - Quali sono i suoi usi e perché è importante?
Indirizzi speciali
Al numero di rete di classe A 127 viene assegnato il loopback funzione, cioè, un datagramma inviato da un protocollo di livello superiore a un indirizzo di rete 127 dovrebbe ritornare all'interno dell'host. Nessun datagramma inviato a una rete 127 l'indirizzo dovrebbe mai apparire su qualsiasi rete ovunque.
Fonte: Numeri di rete
Se è tutta la classe A, qual è il punto di altri valori arbitrari per gli ultimi tre ottetti?
Lo scopo dell'intervallo di loopback è il test dell'implementazione del protocollo TCP / IP su un host. Poiché i livelli inferiori sono cortocircuitati, l'invio a un indirizzo di loopback consente di testare efficacemente i livelli superiori (IP e superiori) senza la possibilità che si manifestino problemi ai livelli inferiori. 127.0.0.1 è l'indirizzo più comunemente utilizzato a scopo di test.
Fonte: Indirizzi IP riservati, loopback e privati
Per ulteriori informazioni vedere il Chiedi a Ubuntu domanda: Cos'è il dispositivo di loopback e come si usa?
Qual è l'indirizzo IP 0.0.0.0?
0.0.0.0 è una sintassi dell'indirizzo valida. Quindi dovrebbe essere considerato valido ovunque sia previsto un indirizzo IP nella tradizionale notazione decimale puntata. Una volta analizzato e convertito in forma numerica utilizzabile, il suo valore determina cosa succede dopo.
Il valore tutto zero ha un significato speciale. Così è valido , ma ha un significato che potrebbe non essere appropriato (e quindi considerato non valido) per circostanze particolari. Fondamentalmente è il segnaposto "nessun indirizzo particolare". Per cose come l'associazione degli indirizzi delle connessioni di rete, il risultato può essere l'assegnazione di un indirizzo di interfaccia appropriato alla connessione. Se lo stai usando per configurare un'interfaccia, può invece rimuovere un indirizzo dall'interfaccia. Dipende dal contesto di utilizzo per determinare cosa fa veramente "nessun indirizzo particolare".
Nel contesto di una voce di percorso, di solito indica la rotta predefinita. Ciò accade come risultato più della maschera dell'indirizzo, che seleziona i bit da confrontare. Una maschera di 0.0.0.0 non seleziona bit, quindi il confronto avrà sempre esito positivo. Quindi, quando un percorso di questo tipo è configurato, c'è sempre un posto dove i pacchetti devono andare (se configurato con una destinazione valida).
In alcuni casi, anche solo "0" funzionerà e avrà lo stesso effetto. Ma questo non è garantito. Il modulo 0.0.0.0 è il modo standard per dire "nessun indirizzo particolare" (in IPv6 cioè ::0 o semplicemente :: ).
Fonte: 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 instradabile utilizzato per designare una destinazione non valida, sconosciuta o non applicabile. Dare un significato speciale a un dato altrimenti non valido è un'applicazione della segnalazione in banda.
Nel contesto dei server, 0.0.0.0 significa tutti gli indirizzi IPv4 sulla macchina locale . Se un host ha due indirizzi IP, 192.168.1.1 e 10.1.2.1, e un server in esecuzione sull'host è in ascolto su 0.0.0.0, sarà raggiungibile su entrambi gli IP ( Nota: Questo particolare testo viene ripetuto dall'alto come parte della risposta complessiva ).
Nel contesto del routing, 0.0.0.0 di solito indica il percorso predefinito, ovvero il percorso che conduce al "resto di" Internet anziché da qualche parte sulla rete locale.
Gli usi includono:
- L'indirizzo che un host rivendica come proprio quando non gli è stato ancora assegnato un indirizzo. Come quando si invia il pacchetto DHCPDISCOVER iniziale quando si utilizza DHCP.
- L'indirizzo che un host si assegna a se stesso quando una richiesta di indirizzo tramite DHCP non è riuscita, a condizione che lo stack IP dell'host lo supporti. Questo utilizzo è stato sostituito con il meccanismo APIPA nei sistemi operativi moderni.
- Un modo per specificare qualsiasi host IPv4 . Viene utilizzato in questo modo quando si specifica un percorso predefinito.
- Un modo per specificare esplicitamente che la destinazione non è disponibile. Fonte: 127.0.0.1 - Quali sono i suoi usi e perché è importante?
- Un modo per specificare qualsiasi indirizzo IPv4 . Viene utilizzato in questo modo durante la configurazione dei server (ovvero durante l'associazione dei socket in ascolto). Questo è noto ai programmatori TCP come INADDR_ANY. [ bind (2) si associa agli indirizzi, non alle interfacce. ]
In IPv6, l'indirizzo con tutti zeri è scritto come ::
Fonte: 0.0.0.0 [Wikipedia]
Rilevamento / richiesta DHCP
Quando un client si avvia per la prima volta, si dice che sia in stato di inizializzazione e trasmette un messaggio DHCPDISCOVER sulla sua subnet fisica locale tramite la porta UDP (User Datagram Protocol) 67 (server BootP). Poiché il client non ha modo di conoscere la sottorete a cui appartiene, DHCPDISCOVER è una trasmissione di tutte le sottoreti (indirizzo IP di destinazione 255.255.255.255), con un indirizzo IP di origine 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 su questa subnet locale ed è configurato e funziona correttamente, il server DHCP ascolterà la trasmissione e risponderà con un messaggio DHCPOFFER. Se un server DHCP non esiste nella subnet locale, deve essere presente un agente di inoltro DHCP / BootP su questa subnet locale per inoltrare il messaggio DHCPDISCOVER a una subnet che contiene un server DHCP.
Questo agente di inoltro può essere un host dedicato (Microsoft Windows Server, ad esempio) o un router (un router Cisco configurato con istruzioni di supporto IP a livello di interfaccia, ad esempio).
…
Dopo che il client riceve un DHCPOFFER, risponde con un messaggio DHCPREQUEST, indicando la sua intenzione di accettare i parametri in DHCPOFFER, e si sposta nel Stato richiedente . Il client può ricevere più messaggi DHCPOFFER, uno da ogni server DHCP che ha ricevuto il messaggio DHCPDISCOVER originale. Il client sceglie un DHCPOFFER e risponde solo a quel server DHCP, rifiutando implicitamente tutti gli altri messaggi DHCPOFFER. Il client identifica il server selezionato popolando il file Identificatore del server campo di opzione con l'indirizzo IP del server DHCP.
DHCPREQUEST è anche una trasmissione, quindi tutti i server DHCP che hanno inviato un DHCPOFFER vedranno DHCPREQUEST e ognuno saprà se il suo DHCPOFFER è stato accettato o rifiutato. Eventuali opzioni di configurazione aggiuntive richieste dal client verranno incluse nel campo 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. In questo momento, il client non ha ancora ricevuto la verifica che sia chiaro utilizzare l'indirizzo IP.
…
Conversazione client-server per un client che ottiene un indirizzo DHCP in cui il client e il server DHCP risiedono sulla stessa sottorete:
![]()
Fonte: Comprensione e risoluzione dei problemi DHCP in Catalyst Switch o reti aziendali
Percorso predefinito
Questo documento spiega come configurare una route predefinita o un gateway di ultima istanza. Questi comandi IP vengono utilizzati:
- ip gateway predefinito
- ip rete predefinita
- percorso ip 0.0.0.0 0.0.0.0
Instradamento IP 0.0.0.0 0.0.0.0
La creazione di una route statica alla rete 0.0.0.0 0.0.0.0 è un altro modo per impostare il gateway di ultima istanza su un router. Come con il ip rete predefinita , 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: IGRP non comprende un percorso verso 0.0.0.0. Pertanto, non può propagare le rotte predefinite create utilizzando percorso ip 0.0.0.0 0.0.0.0 comando. Usa il ip rete predefinita comando per fare in modo che IGRP propaghi una rotta predefinita.
Fonte: Configurazione di un gateway di ultima istanza utilizzando i comandi IP
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .