it-swarm.com.de

Was ist der Unterschied zwischen 127.0.0.1 und 0.0.0.0?

Ich verstehe, dass 127.0.0.1 auf localhost verweist, und auch 0.0.0.0 (korrigieren Sie mich, wenn ich falsch liege). Was ist der Unterschied zwischen 127.0.0.1 und 0.0.0.0?

216
Sagnik Sarkar

Was ist der Unterschied zwischen 127.0.0.1 und 0.0.0.0?

  • 127.0.0.1 ist die Loopback-Adresse (auch als localhost bezeichnet).

  • 0.0.0.0 ist eine nicht routbare Meta-Adresse, die zur Kennzeichnung eines ungültigen, unbekannten oder nicht zutreffenden Ziels (ein nicht bestimmter Adressplatzhalter) verwendet wird.

    Im Kontext eines Routeneintrags ist dies normalerweise die Standardroute.

    Im Kontext von Servern bedeutet 0.0.0.0 "alle IPv4-Adressen auf dem lokalen Computer". Wenn ein Host zwei IP-Adressen hat, 192.168.1.1 und 10.1.2.1, und ein Server, der auf dem Host ausgeführt wird, 0.0.0.0 überwacht, ist er auf beiden IP-Adressen erreichbar.


Was ist die IP-Adresse 127.0.0.1?

127.0.0.1 ist die IP-Adresse (Loopback Internet Protocol), die auch als „localhost“ bezeichnet wird. Die Adresse wird verwendet, um eine IP-Verbindung zu demselben Computer oder Computer herzustellen, der vom Endbenutzer verwendet wird.

Dieselbe Konvention ist für Computer definiert, die IPv6-Adressierung mit der Konnotation :: 1 unterstützen. Das Herstellen einer Verbindung unter Verwendung der Adresse 127.0.0.1 ist die häufigste Praxis. Die Verwendung einer IP-Adresse im Bereich von 127 ... * funktioniert jedoch auf dieselbe oder ähnliche Weise. Das Loopback-Konstrukt bietet einem Computer oder Gerät, das in der Lage ist, die Fähigkeit zur Validierung oder Einrichtung des IP-Stacks auf dem Computer zu vernetzen.

Quelle: 127.0.0.1 - Was sind seine Verwendungen und warum ist es wichtig?


Besondere Adressen

Der Klasse-A-Netzwerknummer 127 wird die "Loopback" -Funktion zugewiesen, dh ein Datagramm, das von einem übergeordneten Protokoll an eine Netzwerkadresse 127 gesendet wird, sollte innerhalb des Hosts zurückgeschleift werden. In keinem Netzwerk sollte jemals ein an eine Netzwerkadresse 127 "gesendetes" Datagramm erscheinen.

Quelle: Netzwerknummern


Wenn es sich um eine ganze Klasse A handelt, was ist der Sinn anderer willkürlicher Werte für die letzten drei Oktette?

Der Zweck des Loopback-Bereichs ist das Testen der TCP/IP-Protokollimplementierung auf einem Host. Da die unteren Schichten kurzgeschlossen sind, können beim Senden an eine Loopback-Adresse die höheren Schichten (IP und höher) effektiv getestet werden, ohne dass sich Probleme an den unteren Schichten bemerkbar machen. 127.0.0.1 ist die Adresse, die am häufigsten zu Testzwecken verwendet wird.

Quelle: IP reserviert, Loopback und private Adressen

Weitere Informationen finden Sie unter https://askubuntu.com question Was ist das Loopback-Gerät und wie verwende ich es? und Warum reicht die Loopback-IP-Adresse von 127.0.0.1 bis 127.255.255.254? .


Was ist die IP-Adresse 0.0.0.0?

"0.0.0.0" ist eine gültige Adressensyntax. Es sollte also immer dann als gültig gelten, wenn eine IP-Adresse in traditioneller Punkt-Dezimal-Schreibweise erwartet wird. Sobald es analysiert und in eine verarbeitbare numerische Form konvertiert wurde, bestimmt sein Wert, was als nächstes geschieht.

Der Nullwert hat eine besondere Bedeutung. Es ist also "gültig", hat aber eine Bedeutung, die für bestimmte Umstände möglicherweise nicht geeignet ist (und daher als ungültig behandelt wird). Es ist im Grunde der Platzhalter "keine bestimmte Adresse". Bei Dingen wie der Adressbindung von Netzwerkverbindungen kann das Ergebnis sein, der Verbindung eine geeignete Schnittstellenadresse zuzuweisen. Wenn Sie damit eine Schnittstelle konfigurieren, kann stattdessen eine Adresse von der Schnittstelle entfernt werden. Es hängt vom Verwendungskontext ab, was "keine bestimmte Adresse" wirklich tut.

Im Kontext eines Routeneintrags bedeutet dies normalerweise die Standardroute . Das passiert als Ergebnis mehr von der Adressmaske, die die zu vergleichenden Bits auswählt. Eine Maske von "0.0.0.0" wählt keine Bits aus, sodass der Vergleich immer erfolgreich ist. Wenn also eine solche Route konfiguriert ist, gibt es immer einen Ort, an den Pakete gesendet werden können (sofern ein gültiges Ziel konfiguriert wurde).

In einigen Fällen funktioniert auch nur "0" und hat den gleichen Effekt. Dies ist jedoch nicht garantiert. Das "0.0.0.0" -Formular ist die Standardmethode, um "keine bestimmte Adresse" zu sagen (in IPv6 ist dies ":: 0" oder nur "::").

Quelle: Was ist die Bedeutung der IP-Adresse 0.0.0.0


In Internet Protocol Version 4 ist die Adresse 0.0.0.0 eine nicht routbare Meta-Adresse, mit der ein ungültiges, unbekanntes oder nicht zutreffendes Ziel angegeben wird. Einem ansonsten ungültigen Datenelement eine besondere Bedeutung zu verleihen, ist eine Anwendung der In-Band-Signalisierung.

Im Kontext von Servern bedeutet 0.0.0.0 "alle IPv4-Adressen auf dem lokalen Computer". Wenn ein Host zwei IP-Adressen hat, 192.168.1.1 und 10.1.2.1, und ein Server, der auf dem Host ausgeführt wird, 0.0.0.0 überwacht, ist er auf beiden IP-Adressen erreichbar.

Im Zusammenhang mit dem Routing bedeutet 0.0.0.0 normalerweise die Standardroute, d. H. Die Route, die zum "Rest" des Internets führt, anstatt irgendwo im lokalen Netzwerk.

Verwendungen umfassen:

  • Die Adresse, die ein Host für sich beansprucht, wenn ihm noch keine Adresse zugewiesen wurde. Zum Beispiel beim Senden des ersten DHCPDISCOVER-Pakets bei Verwendung von DHCP.
  • Die Adresse, die sich ein Host selbst zuweist, wenn die Adressanforderung über DHCP fehlgeschlagen ist, sofern der IP-Stack des Hosts dies unterstützt. Diese Verwendung wurde in modernen Betriebssystemen durch den APIPA-Mechanismus ersetzt.
  • Eine Möglichkeit, "einen beliebigen IPv4-Host überhaupt" anzugeben. Es wird auf diese Weise verwendet, wenn eine Standardroute angegeben wird.
  • Eine Möglichkeit, explizit anzugeben, dass das Ziel nicht verfügbar ist. 1
  • Eine Möglichkeit, "eine beliebige IPv4-Adresse überhaupt" anzugeben. Es wird auf diese Weise beim Konfigurieren von Servern verwendet (d. H. Beim Binden von Listening-Sockets). Dies ist TCP Programmierern als INADDR_ANY bekannt. (bind (2) bindet an Adressen, nicht an Schnittstellen.)

In IPv6 wird die Ganz-Null-Adresse als "::" geschrieben.

Quelle: 0.0.0.0


DHCP-Ermittlung Anforderung

Wenn ein Client zum ersten Mal gestartet wird, befindet er sich im Initialisierungsstatus und überträgt eine DHCPDISCOVER-Nachricht in seinem lokalen physischen Subnetz über UDP-Port 67 (User Datagram Protocol) (BootP-Server). Da der Client das Subnetz, zu dem er gehört, nicht kennt, handelt es sich bei DHCPDISCOVER um einen Broadcast für alle Subnetze (Ziel-IP-Adresse 255.255.255.255) mit einer Quell-IP-Adresse von 0.0.0.0. Die Quell-IP-Adresse ist 0.0.0.0, da der Client keine konfigurierte IP-Adresse hat. Wenn ein DHCP-Server in diesem lokalen Subnetz vorhanden ist und ordnungsgemäß konfiguriert ist und ordnungsgemäß funktioniert, hört der DHCP-Server die Übertragung und antwortet mit einer DHCPOFFER-Nachricht. Wenn im lokalen Subnetz kein DHCP-Server vorhanden ist, muss sich in diesem lokalen Subnetz ein DHCP/BootP-Relay-Agent befinden, um die DHCPDISCOVER-Nachricht an ein Subnetz weiterzuleiten, das einen DHCP-Server enthält.

Dieser Relay-Agent kann entweder ein dedizierter Host (z. B. Microsoft Windows Server) oder ein Router (z. B. ein Cisco-Router, der mit IP-Hilfsanweisungen auf Schnittstellenebene konfiguriert ist) sein.

...

Nachdem der Client ein DHCPOFFER empfangen hat, antwortet er mit einer DHCPREQUEST-Nachricht, die angibt, dass die Parameter im DHCPOFFER akzeptiert werden sollen, und wechselt in den Status Requesting. Der Client empfängt möglicherweise mehrere DHCPOFFER-Nachrichten, eine von jedem DHCP-Server, der die ursprüngliche DHCPDISCOVER-Nachricht empfangen hat. Der Client wählt ein DHCPOFFER aus und antwortet nur auf diesen DHCP-Server. Alle anderen DHCPOFFER-Nachrichten werden implizit abgelehnt. Der Client identifiziert den ausgewählten Server, indem er das Optionsfeld Server-ID mit der IP-Adresse des DHCP-Servers ausfüllt. Die DHCPREQUEST ist auch eine Rundsendung, sodass alle DHCP-Server, die ein DHCPOFFER gesendet haben, die DHCPREQUEST sehen und jeder weiß, ob sein DHCPOFFER akzeptiert oder abgelehnt wurde. Alle zusätzlichen Konfigurationsoptionen, die der Client benötigt, werden in das Optionsfeld der DHCPREQUEST-Nachricht aufgenommen. Obwohl dem Client eine IP-Adresse angeboten wurde, sendet er die DHCPREQUEST-Nachricht mit einer Quell-IP-Adresse von 0.0.0.0. Zu diesem Zeitpunkt hat der Client noch keine Bestätigung erhalten, dass die Verwendung der IP-Adresse eindeutig ist.

...

Client-Server-Konversation für Client Beziehen der DHCP-Adresse, wenn sich Client und DHCP-Server im selben Subnetz befinden

Enter image description here

Quelle:/- Grundlegendes zu DHCP und Fehlerbehebung in Catalyst Switch- oder Unternehmensnetzwerken


Standardroute

In diesem Dokument wird erläutert, wie Sie eine Standardroute oder ein Gateway der letzten Instanz konfigurieren. Diese IP-Befehle werden verwendet:

  • ip default-gateway

  • ip default-network

  • und ip route 0.0.0.0 0.0.0.0

ip route 0.0.0.0 0.0.0.0

Das Erstellen einer statischen Route zum Netzwerk 0.0.0.0 0.0.0.0 ist eine weitere Möglichkeit, das Gateway der letzten Instanz auf einem Router festzulegen. Wie beim Befehl ip default-network ist die Verwendung der statischen Route zu 0.0.0.0 nicht von Routing-Protokollen abhängig. Das IP-Routing muss jedoch auf dem Router aktiviert sein.

Hinweis: IGRP versteht keine Route zu 0.0.0.0. Daher können Standardrouten, die mit dem Befehl ip route 0.0.0.0 0.0.0.0 erstellt wurden, nicht weitergegeben werden. Verwenden Sie den Befehl ip default-network, damit IGRP eine Standardroute weitergibt.

Quelle: Konfigurieren eines Gateways der letzten Instanz mithilfe von IP-Befehlen

206
DavidPostill

Sie sind nicht gleich.

127.0.0.1 ist Teil des 127/8-Netzwerks, das reserviert ist und auf denselben Computer verweist.

0.0.0.0 ist eine spezielle IP-Adresse, die je nach Kontext unterschiedliche Bedeutungen hat.

In Internet Protocol Version 4 ist die Adresse 0.0.0.0 eine nicht routbare Meta-Adresse, mit der ein ungültiges, unbekanntes oder nicht zutreffendes Ziel angegeben wird. Einem ansonsten ungültigen Datenelement eine besondere Bedeutung zu verleihen, ist eine Anwendung der In-Band-Signalisierung.

Möglicherweise haben Sie 0.0.0.0 mit 127.0.0.1 verwechselt, wenn Sie sich netstat ansehen und die lokale Adresse als 0.0.0.0 abhören. Dies ist jedoch eine andere Art, wie 0.0.0.0 verwendet wird.

Im Kontext von Servern bedeutet 0.0.0.0 "alle IPv4-Adressen auf dem lokalen Computer". Wenn ein Host zwei IP-Adressen hat, 192.168.1.1 und 10.1.2.1, und ein Server, der auf dem Host ausgeführt wird, 0.0.0.0 überwacht, ist er auf beiden IP-Adressen erreichbar.

Im Zusammenhang mit dem Routing bedeutet 0.0.0.0 normalerweise die Standardroute, d. H. Die Route, die zum "Rest" des Internets führt, anstatt irgendwo im lokalen Netzwerk.

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

110
Cristian Dobre

127.0.0.1 eine der Adressen des lokalen Computers, aber jede Adresse 127.xyz ist auch eine andere Adresse des Computers (als "Loopback-Adresse" bezeichnet), mit Ausnahme von 127.0.0.0 (Loopback-Subnetz) und 127.255.255.255 (Broadcast-Adresse für den Loopback) Subnetz).

127.x.y.z bedeutet "hier".

0.0.0.0 ist völlig anders: 0.0.0.0 ist nicht die Adresse von irgendetwas , es ist der Joker, wie * in Shell.

Sie können keine Daten an 0.0.0.0 senden oder aktiv eine TCP -Verbindung zu 0.0.0.0 herstellen, da dort nichts vorhanden ist. 0.0.0.0 ist nicht einmal eine nicht erreichbare oder nicht routbare Adresse, es ist bedeutungslos in einem Kontext, in dem eine Adresse erwartet wird .

Sie können den Joker 0.0.0.0 in Kontexten verwenden, in denen eine Adresse optional angegeben werden kann , um zu bedeuten, ist mir egal .

Wenn Sie beispielsweise aktiv eine TCP Verbindung zu einem TCP Server herstellen (ein TCP Server wird von einem passiven TCP geöffnet) müssen Sie die Adresse des TCP Servers (IP- und Portnummer) angeben, und Sie können optional eine lokale Adresse auswählen. (Da es sich bei Ihrem Socket nicht um einen Server-Socket handelt, kann niemand eine Verbindung zu ihm herstellen, und die Adresse auf Ihrer Seite der Verbindung ist normalerweise nicht sehr wichtig.)

Mit dem Systemaufruf bind wird die lokale Adresse eines Sockets TCP ausgewählt. Die an bind übergebenen Daten sind in Wirklichkeit eine Reihe von Einschränkungen: Einschränkung der IP-Adresse, Einschränkung des TCP -Ports. Die übliche Textnotation lautet IP: port. 0.0.0.0:0 bedeutet, dass jede IP und jeder Port akzeptabel ist. Dies ist die Null-Einschränkung. 0.0.0.0:20 bedeutet, dass der lokale Port 20 sein muss, jede IP ist akzeptabel (0.0.0.0:20 wird von konformen FTP-Servern für die Datenverbindung im aktiven Modus verwendet).

Das TCP/IP-Subsystem wählt die Adresse für Sie auf der Seite der TCP -Verbindung aus falls Sie keine auswählen, verwenden Sie die Routing-Tabelle basierend auf der Zieladresse: die lokale TCP Socket-Adresse ist die lokale Adresse, die der Route zugeordnet ist, die der Zieladresse entspricht.

Ich habe zuvor den Shell "Meta-Character" * erwähnt, aber die Möglichkeit, Meta-Character mit Zeichen wie *foo* zu kombinieren (jeder Dateiname, der "foo" enthält), existiert nicht mit IP-Adressbeschränkungen, es ist alles oder nichts: entweder ein einzelner IP-Adresse wird als akzeptabel erachtet oder alle Adressen sind. Logik bedeutet nicht , dass dies so sein muss. Sie können die Benutzeroberfläche mit einer umfangreicheren Einschränkungssprache erweitern.

Präzision:

Der Satz 127.x.y.z bedeutet "hier" bedeutet nicht, dass alle diese Adressen gleich sind. Sie repräsentieren verschiedene "Orte" (Socket-Adressen) innerhalb des lokalen "Computers", tatsächlich innerhalb des lokalen IP-Stacks.

Anmerkung: Ein Computer mit Virtualisierung (Emulation, Hardware-Virtualisierung, Paravirtualisierung, was auch immer Sie sich vorstellen können ...) verfügt über mehrere unabhängige IP-Stapel.

13
curiousguy

Normalerweise verwenden Sie die Bindeadresse 0.0.0.0, um Verbindungen von außerhalb von Netzwerken und Quellen zuzulassen. Viele Server wie MySQL binden normalerweise an 127.0.0.1 und erlauben nur Loopback-Verbindungen. Der Administrator muss dies in 0.0.0.0 ändern, um die externe Konnektivität zu ermöglichen.

4
Marek Bejda