Entiendo que 127.0.0.1 apunta localhost
, y también 0.0.0.0 (corrígeme si me equivoco). Entonces, ¿cuál es la diferencia entre 127.0.0.1 y 0.0.0.0?
networking
ip-address
localhost
ipv4
Sagnik Sarkar
fuente
fuente
0.0.0.0
entrada de direcciones.2130706433
.Respuestas:
¿Cuál es la diferencia entre 127.0.0.1 y 0.0.0.0?
127.0.0.1
es la dirección de bucle invertido (también conocido como localhost).0.0.0.0
es una metadirección no enrutable utilizada para designar un objetivo no válido, desconocido o no aplicable (un marcador de posición de dirección no particular).¿Qué es la dirección IP 127.0.0.1?
Fuente: 127.0.0.1 - ¿Cuáles son sus usos y por qué es importante?
Direcciones especiales
Fuente: Números de red
Si se trata de una clase A completa, ¿cuál es el punto de otros valores arbitrarios para los últimos tres octetos?
Fuente: IP reservada, bucle invertido y direcciones privadas
Para obtener más información, consulte la pregunta https://askubuntu.com ¿ Qué es el dispositivo loopback y cómo lo uso? ¿ Y por qué la dirección IP de bucle invertido es 127.0.0.1 a 127.255.255.254? .
¿Qué es la dirección IP 0.0.0.0?
Fuente: ¿Cuál es el significado de la dirección IP 0.0.0.0?
Fuente: 0.0.0.0
Descubrimiento / solicitud de DHCP
...
...
Fuente: Comprensión y resolución de problemas de DHCP en Catalyst Switch o Enterprise Networks
Ruta por defecto
Fuente: Configuración de una puerta de enlace de último recurso mediante comandos IP
fuente
Ellos no son los mismos.
127.0.0.1
es parte de la red 127/8 que está reservada y apunta a la misma computadora.0.0.0.0
es una dirección IP especial que significa diferentes cosas según el contexto.Es posible que haya confundido 0.0.0.0 con 127.0.0.1 cuando mira netstat y ve la dirección local escuchando como 0.0.0.0, pero esta es una forma diferente de usar 0.0.0.0.
https://en.wikipedia.org/wiki/0.0.0.0
fuente
0.0.0.0
a veces también puede indicar una transmisión, es decir, a todas las computadoras en la red.255.255.255.255
(o de manera más realista algo así como192.168.1.255
para una red local)A special definition exists for the IP broadcast address 255.255.255.255. It is the broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network. Transmission to this address is limited by definition, in that it is never forwarded by the routers connecting the local network to other networks.
127.0.0.1 es una de las direcciones de la computadora local, pero cualquier dirección 127.xyz también es otra dirección de la computadora (llamada "dirección de bucle invertido"), excepto 127.0.0.0 (subred de bucle invertido) y 127.255.255.255 (dirección de difusión para el subred de bucle invertido).
127.xyz significa "aquí".
0.0.0.0 es totalmente diferente: 0.0.0.0 no es la dirección de nada , es el comodín, como
*
en shell.No puede enviar datos a 0.0.0.0 o abrir activamente una conexión TCP a 0.0.0.0 porque no hay nada allí; 0.0.0.0 ni siquiera es una dirección inalcanzable o no enrutable, no tiene sentido en un contexto donde se espera una dirección .
Puede usar el comodín 0.0.0.0 en contextos donde se puede proporcionar opcionalmente una dirección , lo que significa que no me importa .
Por ejemplo, cuando abre activamente una conexión TCP a algún servidor TCP (un servidor TCP es creado por un TCP abierto pasivo), debe especificar la dirección del servidor TCP (IP y número de puerto), y opcionalmente puede elegir un dirección local. (Debido a que su socket no es un socket de servidor, nadie puede abrir una conexión a él y la dirección en su lado de la conexión generalmente no es muy importante).
La
bind
llamada al sistema se usa para elegir la dirección local de un socket TCP. Los datos pasadosbind
son realmente un conjunto de restricciones: restricción en la dirección IP, restricción en el puerto TCP. La notación de texto habitual es IP: puerto. 0.0.0.0:0 significa que cualquier IP y cualquier puerto es aceptable, es la restricción nula. 0.0.0.0:20 significa que el puerto local debe ser 20, cualquier IP es aceptable (0.0.0.0:20 se usa al conformar servidores FTP para la conexión de datos en modo activo).El subsistema TCP / IP elegirá la dirección para su lado de la conexión TCP si no elige una, utilizando la tabla de enrutamiento, basada en la dirección de destino: la dirección de socket TCP local será la dirección local asociada con la ruta correspondiente a la dirección de destino.
Anteriormente mencioné el "meta-carácter" del shell
*
, pero el poder de combinar meta-caracteres con caracteres como*foo*
(cualquier nombre de archivo que contenga "foo") no existe con restricciones de dirección IP, es todo o nada: una sola dirección IP se considera aceptable o todas las direcciones lo son. La lógica no dicta que debe ser así. Puede ampliar la interfaz con un lenguaje de restricción más rico.Precisión:
La oración 127.xyz significa "aquí" no implica que todas estas direcciones sean iguales. Representan diferentes "ubicaciones" (direcciones de socket), dentro de la "computadora" local, dentro de la pila de IP local.
Observación: una computadora con virtualización (emulación, virtualización de hardware, paravirtualización, lo que se te ocurra ...) tiene múltiples pilas de IP independientes.
fuente
-n
o-d
denetstat
programas relacionados para mostrar direcciones numéricas, no nombres. 127.0.0.1 no es la misma dirección IP que 127.16.23.42. Entonces, 127.0.0.1:80 y 127.16.23.42:80 representan direcciones de punto final TCP distintas, no se puede encontrar un servidor web en una dirección en la otra dirección.Por lo general, utiliza bind-address 0.0.0.0 para permitir conexiones desde redes y fuentes externas. Muchos servidores como MySQL generalmente se unen a 127.0.0.1 permitiendo solo conexiones de bucle invertido, lo que requiere que el administrador lo cambie a 0.0.0.0 para habilitar la conectividad externa.
fuente