351 votes

Quelle est la différence entre 127.0.0.1 et 0.0.0.0 ?

Je comprends que 127.0.0.1 pointe sur localhost et 0.0.0.0 aussi (corrigez-moi si je me trompe). Alors, quelle est la différence entre 127.0.0.1 et 0.0.0.0 ?

1 votes

Vous pourriez être intéressé par cette discussion sur le suivi des bogues de Chrome sur la façon de gérer 0.0.0.0 en entrée d'adresse.

11 votes

Dans la plupart des configurations de serveur, 0.0.0.0 signifie écouter TOUTES les adresses ! Cela rendra votre serveur disponible sur Internet. Si vous faites cela pour un serveur local sans aucune sécurité (il n'écoute que sur localhost, n'est-ce pas ?), c'est mauvais. Ne faites pas cela !

81 votes

Pour répondre à votre question littéralement, la différence est 2130706433 .

318voto

DavidPostill Points 140654

Quelle est la différence entre 127.0.0.1 et 0.0.0.0 ?

  • 127.0.0.1 est l'adresse de bouclage (également connue sous le nom de localhost).

  • 0.0.0.0 est une méta-adresse non routable utilisée pour désigner une cible invalide, inconnue ou non applicable (un espace réservé sans adresse particulière).

Dans le contexte d'une entrée de route, cela signifie généralement la route par défaut.

Dans le contexte des serveurs, 0.0.0.0 signifie "toutes les adresses IPv4 de la machine locale". Si un hôte possède deux adresses IP, 192.168.1.1 et 10.1.2.1, et qu'un serveur tournant sur l'hôte écoute sur 0.0.0.0, il sera joignable sur ces deux adresses IP.


Qu'est-ce que l'adresse IP 127.0.0.1 ?

127.0.0.1 est l'adresse de bouclage du protocole Internet (IP), également appelée "localhost". Cette adresse est utilisée pour établir une connexion IP vers la même machine ou l'ordinateur utilisé par l'utilisateur final.

La même convention est définie pour les ordinateurs qui supportent IPv6. en utilisant la connotation ::1. L'établissement d'une connexion en utilisant l'adresse 127.0.0.1 est la pratique la plus courante ; cependant, l'utilisation de toute adresse IP dans la plage 127. . .* fonctionneront de la même même ou de manière similaire. La construction de bouclage donne à un ordinateur ou ou un périphérique capable de travailler en réseau la possibilité de valider ou d'établir la pile IP sur la machine.

Fuente: 127.0.0.1 - Quelles sont ses utilisations et pourquoi est-il important ?


Adresses spéciales

Le numéro de réseau 127 de la classe A est affecté à la fonction de "bouclage". c'est-à-dire qu'un datagramme envoyé par un protocole de niveau supérieur à une adresse de réseau 127 doit revenir en boucle à l'intérieur de l'hôte. Non Aucun datagramme "envoyé" à l'adresse du réseau 127 ne doit jamais apparaître sur aucun réseau, où que ce soit.

Fuente: Numéros de réseau


S'il s'agit d'une classe A entière, quel est l'intérêt d'autres valeurs arbitraires pour les trois derniers octets ?

L'objectif de la plage de bouclage est de tester l'implémentation du protocole TCP/IP sur un hôte. Comme les couches inférieures sont court-circuitées, l'envoi à une adresse de bouclage permet de tester efficacement les couches supérieures (IP et plus) sans risquer que les problèmes des couches inférieures ne se manifestent. 127.0.0.1 est l'adresse la plus couramment utilisée à des fins de test.

Fuente: Adresses IP réservées, Loopback et privées

Pour plus d'informations, voir https://askubuntu.com question Qu'est-ce que le dispositif de bouclage et comment l'utiliser ? y pourquoi l'adresse IP du loopback est de 127.0.0.1 à 127.255.255.254 ? .


Qu'est-ce que l'adresse IP 0.0.0.0 ?

"0.0.0.0" est une adresse syntaxique valide. Il devrait donc être analysé comme valide partout où une adresse IP en notation traditionnelle décimale en pointillés est attendue. Une fois analysée, et convertie en une forme numérique utilisable, alors sa valeur détermine ce qui se passe ensuite.

La valeur zéro a une signification particulière. Il est donc "valide", mais a une signification qui n'est peut-être pas appropriée (et donc traitée comme n'étant pas valide) dans des circonstances particulières. Il s'agit essentiellement du "no adresse particulière". Pour des choses comme la liaison d'adresse des connexions réseau, le résultat peut être d'affecter une adresse d'interface d'interface appropriée à la connexion. Si vous l'utilisez pour configurer une interface, il peut supprimer une adresse de l'interface. Il s'agit de dépend du contexte d'utilisation pour déterminer ce que signifie réellement "aucune particulière".

Dans le contexte d'une entrée de route, cela signifie généralement la route par défaut. . C'est le résultat du masque d'adresse, qui sélectionne les bits à comparer. bits à comparer. Un masque de "0.0.0.0" ne sélectionne aucun bit, de sorte que la comparaison réussira toujours. Ainsi, lorsqu'une telle route est configurée, les paquets ont toujours toujours un endroit où les paquets peuvent aller (s'ils sont configurés avec une destination destination valide).

Dans certains cas, un simple "0" fonctionnera également et aura le même effet. Mais ce n'est pas garanti. La forme "0.0.0.0" est la façon standard de dire "aucune adresse particulière" (en IPv6, c'est "::0" ou simplement ": :").

Fuente: Quelle est la signification de l'adresse IP 0.0.0.0.


Dans la version 4 du protocole Internet, l'adresse 0.0.0.0 est une méta-adresse non routable utilisée pour désigner une cible invalide, inconnue ou non applicable. inconnue ou non applicable. Donner une signification spéciale à une donnée autrement invalide de données autrement invalides est une application de la signalisation en bande.

Dans le contexte des serveurs, 0.0.0.0 signifie "toutes les adresses IPv4 de la machine locale". Si un hôte possède deux adresses IP, 192.168.1.1 et 10.1.2.1, et qu'un serveur tournant sur l'hôte écoute sur 0.0.0.0, il sera joignable sur ces deux adresses IP.

Dans le contexte du routage, 0.0.0.0 signifie généralement la route par défaut, c'est-à-dire la route qui mène au "reste" de l'internet plutôt qu'à un endroit du réseau local.

Les utilisations comprennent :

  • L'adresse qu'un hôte revendique comme étant la sienne lorsqu'on ne lui a pas encore attribué d'adresse. Par exemple, lors de l'envoi du paquet initial DHCPDISCOVER lors de l'utilisation de DHCP.
  • The address a host assigns to itself when address request via DHCP has failed, provided the host's IP stack supports this. This usage has been replaced with the APIPA mechanism in modern operating

systèmes.

  • A way to specify "any IPv4-host at all". It is used in this way when specifying a default route.

  • A way to explicitly specify that the target is unavailable.[1]

  • A way to specify "any IPv4 address at all". It is used in this way when configuring servers (i.e. when binding listening sockets).

Ceci est connu des programmeurs TCP sous le nom de INADDR_ANY. (bind(2) se lie à des des adresses, pas des interfaces).

En IPv6, l'adresse tout-zéro s'écrit ": :".

Fuente: 0.0.0.0


Découverte/demande DHCP

Lorsqu'un client démarre pour la première fois, il est dit être dans l'état d'initialisation. état d'initialisation, il transmet un message DHCPDISCOVER sur son sous-réseau physique physique local sur le port 67 du protocole UDP (User Datagram Protocol) (serveur BootP). ). Puisque le client n'a aucun moyen de connaître le sous-réseau auquel il il appartient, le DHCPDISCOVER est un broadcast tous sous-réseaux (adresse IP destination de destination de 255.255.255.255), avec une adresse IP source de 0.0.0.0. L'adresse IP source est 0.0.0.0, puisque le client n'a pas d'adresse IP configurée. adresse IP configurée. Si un serveur DHCP existe sur ce sous-réseau local et qu'il est configuré et fonctionne correctement, le serveur DHCP va entendre la diffusion et répondra avec un message DHCPOFFER. Si un serveur DHCP DHCP n'existe pas sur le sous-réseau local, il doit y avoir un agent de relais Agent sur ce sous-réseau local pour transmettre le message DHCPDISCOVER à un sous-réseau qui contient un serveur DHCP.

Cet agent de relais peut être soit un hôte dédié (par exemple, Microsoft Windows Server) ou un routeur (par exemple, un routeur Cisco). configuré avec des instructions IP helper au niveau de l'interface).

...

Après avoir reçu un DHCPOFFER, le client répond par un message DHCPREQUEST, indiquant son intention d'accepter les paramètres du DHCPOFFER, et passe dans l'état Requesting. Le client peut recevoir plusieurs messages DHCPOFFER, un de chaque serveur DHCP qui a reçu le message DHCPDISCOVER original. Le client choisit un DHCPOFFER et répond uniquement à ce serveur DHCP, refusant implicitement tous les autres messages DHCPOFFER. Le client identifie le serveur sélectionné en remplissant le champ d'option Server Identifier avec l'adresse IP du serveur DHCP. Le DHCPREQUEST est également une diffusion, de sorte que tous les serveurs DHCP qui ont envoyé un DHCPOFFER verront le DHCPREQUEST, et chacun saura si son DHCPOFFER a été accepté ou refusé. Toute option de configuration supplémentaire requise par le client sera incluse dans le champ d'options du message DHCPREQUEST. Bien que le client se soit vu offrir une adresse IP, il enverra le message DHCPREQUEST avec une adresse IP source de 0.0.0.0. À ce stade, le client n'a pas encore reçu la confirmation qu'il peut utiliser l'adresse IP.

...

Conversation client-serveur pour l'obtention d'une adresse DHCP par un client lorsque le client et le serveur DHCP se trouvent sur le même sous-réseau.

Enter image description here

Fuente: Comprendre et dépanner le DHCP dans les réseaux de commutateurs Catalyst ou d'entreprise


Route par défaut

Ce document explique comment configurer une route par défaut, ou une passerelle de dernier recours. Les commandes IP suivantes sont utilisées :

  • ip default-gateway

  • ip default-network

  • et ip route 0.0.0.0 0.0.0.0.0

ip route 0.0.0.0 0.0.0.0.0

La création d'une route statique vers le réseau 0.0.0.0 0.0.0.0 est une autre manière de de définir la passerelle de dernier recours sur un routeur. Comme avec la commande ip default-network, l'utilisation de la route statique vers le réseau 0.0.0.0 n'est pas dépend d'aucun protocole de routage. Cependant, le routage ip doit être activé sur le routeur.

Remarque : IGRP ne comprend pas de route vers 0.0.0.0. Par conséquent, il ne peut pas propager les routes par défaut créées à l'aide de la commande ip route 0.0.0.0. 0.0.0.0. Utilisez la commande ip default-network pour que IGRP propage une route par défaut.

Fuente: Configuration d'une passerelle de dernier recours à l'aide de commandes IP

127voto

Cristian Dobre Points 1211

Ils ne sont pas les mêmes.

127.0.0.1 fait partie du réseau 127/8 qui est réservé et pointe vers le même ordinateur.

0.0.0.0 est une adresse IP spéciale qui signifie différentes choses selon le contexte.

Dans le Protocole Internet Version 4, l'adresse 0.0.0.0 est une méta-adresse non-routable utilisée pour désigner une adresse invalide, inconnue ou non-conforme. inconnue ou inapplicable. Donner une signification spéciale à un élément de données données non valides est une application de la signalisation en bande.

Vous avez peut-être confondu 0.0.0.0 avec 127.0.0.1 lorsque vous regardez netstat et que vous voyez l'adresse locale en écoute comme 0.0.0.0, mais il s'agit d'une manière différente d'utiliser 0.0.0.0.

Dans le contexte des serveurs, 0.0.0.0 signifie "toutes les adresses IPv4 de la machine locale". machine locale". Si un hôte possède deux adresses IP, 192.168.1.1 et 10.1.2.1, et qu'un serveur fonctionnant sur l'hôte écoute sur 0.0.0.0, il sera joignable à ces deux adresses IP.

Dans le contexte du routage, 0.0.0.0 signifie généralement la route par défaut, c'est à dire la route qui mène au "reste" de l'internet au lieu de quelque part sur le réseau local.

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

20voto

Mohammed Fawzan Points 167

127.0.0.1 est l'une des adresses de l'ordinateur local, mais toute adresse 127.x.y.z est également une autre adresse de l'ordinateur (appelée "adresse de bouclage"), à l'exception de 127.0.0.0 (sous-réseau de bouclage) et 127.255.255.255 (adresse de diffusion pour le sous-réseau de bouclage).

127.x.y.z signifie "ici".

0.0.0.0 est totalement différent : 0.0.0.0 n'est pas l'adresse de quoi que ce soit. c'est le joker, comme * dans Shell.

Vous ne pouvez pas envoyer de données à 0.0.0.0 ou ouvrir activement une connexion TCP à 0.0.0.0 car il n'y a rien à cet endroit ; 0.0.0.0 n'est même pas une adresse inaccessible ou non routable, il n'a pas de sens dans un contexte où l'on attend une adresse .

Vous pouvez utiliser le joker 0.0.0.0 dans des contextes où une adresse peut être fournie de manière facultative pour signifier Je m'en fiche. .

Par exemple, lorsque vous ouvrez activement une connexion TCP à un certain serveur TCP (un serveur TCP est créé par une ouverture TCP passive), vous devez spécifier l'adresse du serveur TCP (IP et numéro de port), et vous pouvez éventuellement choisissez une adresse locale. (Comme votre socket n'est pas un socket de serveur, personne ne peut y ouvrir une connexion et l'adresse de votre côté de la connexion n'est généralement pas très importante).

El bind est utilisé pour choisir l'adresse locale d'une socket TCP. Les données passées à bind est en fait un ensemble de contraintes : contrainte sur l'adresse IP, contrainte sur le port TCP. La notation textuelle habituelle est IP:port. 0.0.0.0:0 signifie que toute adresse IP et tout port sont acceptables, c'est la contrainte nulle. 0.0.0.0:20 signifie que le port local doit être 20, n'importe quelle IP est acceptable (0.0.0.0:20 est utilisé par les serveurs FTP conformes pour la connexion de données en mode actif).

Le sous-système TCP/IP choisira l'adresse de votre côté de la connexion TCP. si vous n'en choisissez pas, en utilisant la table de routage, sur la base de l'adresse de destination : l'adresse locale du socket TCP sera l'adresse locale associée à la route correspondant à l'adresse de destination.

J'ai mentionné précédemment le Shell "méta-caractère". * mais la puissance de la combinaison de métacaractères avec des caractères comme *foo* (tout nom de fichier contenant "foo") n'existe pas avec les contraintes d'adresse IP, c'est tout ou rien : soit une seule adresse IP est jugée acceptable, soit toutes les adresses le sont. La logique fait no dicte qu'il doit en être ainsi. Vous pourriez étendre l'interface avec un langage de contraintes plus riche.

La précision :

La sentence 127.x.y.z signifie "ici". n'implique pas que toutes ces adresses soient les mêmes. Elles représentent des "emplacements" différents (adresses de socket), à l'intérieur de l'"ordinateur" local, à l'intérieur de la pile IP locale en fait.

Remarque : un ordinateur avec virtualisation (émulation, virtualisation matérielle, paravirtualisation, tout ce que vous pouvez imaginer...) a plusieurs piles IP indépendantes.

10voto

Marek Bejda Points 179

En général, vous utilisez l'adresse de liaison 0.0.0.0 pour autoriser les connexions à partir de réseaux et de sources externes. De nombreux serveurs tels que MySQL se lient généralement à 127.0.0.1, n'autorisant que les connexions de bouclage, ce qui oblige l'administrateur à la modifier en 0.0.0.0 pour permettre la connectivité extérieure.

4voto

Ravi Points 111

Le sujet est déjà clarifié dans les messages ci-dessus, mais juste pour ajouter - cette adresse spéciale 0.0.0.0 n'est généralement utile que lorsque vous vous référez au code du côté serveur.

Si vous êtes du côté client (comme dans un navigateur), il ne fera rien lorsque vous tapez une adresse 0.0.0.0 (vous obtiendrez des messages d'erreur du type site inaccessible).

Du point de vue du serveur, lorsque vous écrivez une application (côté serveur) et que vous voulez qu'elle écoute sur le port 8000 (par exemple). Maintenant, si votre système possède plusieurs interfaces réseau physiques (n'entrons pas dans les interfaces de machines virtuelles pour rester simple) et que vous voulez que votre application écoute le port 8000 sur toutes ces adresses IP, alors vous spécifiez l'adresse 0.0.0.0 dans le code côté serveur (à condition que le framework que vous utilisez le supporte). En fait, 0.0.0.0 signifie "écouter sur toutes les interfaces réseau". Occasionnellement (rarement), le code peut avoir besoin de se comporter différemment en fonction de l'interface par laquelle le trafic est arrivé, il faut donc faire attention à cela dans de tels cas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X