La mayoría de nosotros hemos oído hablar de ‘127.0.0.1 y 0.0.0.0’, pero probablemente no hemos pensado mucho en ellos, pero si ambos realmente parecen apuntar a la misma ubicación, entonces, ¿cuál es la diferencia real entre los dos? La publicación de preguntas y respuestas de SuperUser de hoy ayuda a aclarar las cosas para un lector confundido.
La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación impulsada por la comunidad de sitios web de preguntas y respuestas.
Foto cortesía de Kate Gardiner (Flickr).
¿De qué vamos a hablar?
La pregunta
El lector superusuario Sagnik Sarkar quiere saber cuál es la diferencia entre 127.0.0.1 y 0.0.0.0:
Entiendo que 127.0.0.1 apunta a localhost y que 0.0.0.0 también lo hace (corrígeme si me equivoco). Entonces, ¿cuál es la diferencia entre 127.0.0.1 y 0.0.0.0?
¿Cuál es la diferencia entre 127.0.0.1 y 0.0.0.0?
La respuesta
El colaborador de SuperUser DavidPostill tiene la respuesta para nosotros:
¿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 conocida como localhost).
- 0.0.0.0 es una metadirección no enrutable utilizada para designar un destino no válido, desconocido o no aplicable (un marcador de posición “sin dirección en particular”).
En el contexto de una entrada de ruta, generalmente significa la ruta predeterminada.
En el contexto de los servidores, 0.0.0.0 significa todas las direcciones IPv4 del equipo local. Si un host tiene dos direcciones IP, 192.168.1.1 y 10.1.2.1, y un servidor que se ejecuta en el host escucha en 0.0.0.0, será accesible en ambas IP.
¿Cuál es la dirección IP 127.0.0.1?
127.0.0.1 es la dirección de protocolo de Internet (IP) de bucle invertido, también conocida como localhost. La dirección se utiliza para establecer una conexión IP a la misma máquina o computadora que está utilizando el usuario final.
La misma convención se define para los equipos que admiten el direccionamiento IPv6 mediante la connotación de ::1. Establecer una conexión utilizando la dirección 127.0.0.1 es la práctica más común; sin embargo, el uso de cualquier dirección IP en el rango de 127…* funcionará de la misma manera o de manera similar. La construcción de bucle invertido le da a una computadora o dispositivo capaz de conectar en red la capacidad de validar o establecer la pila IP en la máquina.
Fuente: 127.0.0.1 – ¿Cuáles son sus usos y por qué es importante?
Direcciones especiales
Al número de red de clase A 127 se le asigna el Loopback función, es decir, un datagrama enviado por un protocolo de nivel superior a una dirección de red 127 debe volver a bucle dentro del host. Sin datagrama enviado a una red 127 la dirección debe aparecer en cualquier red en cualquier lugar.
Fuente: Números de red
Si es clase completa A, ¿cuál es el punto de otros valores arbitrarios para los últimos tres octetos?
El propósito del rango de bucle invertido es probar la implementación del protocolo TCP/IP en un host. Dado que las capas inferiores están cortocircuitadas, el envío a una dirección de bucle invertido permite que las capas superiores (IP y superiores) se prueben de manera efectiva sin la posibilidad de que se manifiesten problemas en las capas inferiores. 127.0.0.1 es la dirección más utilizada para fines de prueba.
Fuente: Direcciones IP reservadas, bucle invertido y privadas
Para obtener más información, consulte el Pregunta a Ubuntu pregunta: ¿Qué es el dispositivo loopback y cómo lo uso?
¿Cuál es la dirección IP 0.0.0.0?
0.0.0.0 es una sintaxis de dirección válida. Por lo tanto, debe analizarse como válido siempre que se espere una dirección IP en notación decimal punteada tradicional. Una vez analizado y convertido a forma numérica viable, su valor determina lo que sucede a continuación.
El valor de cero tiene un significado especial. Así es válido, pero tiene un significado que puede no ser apropiado (y por lo tanto tratado como no válido) para circunstancias particulares. Es básicamente el marcador de posición “sin dirección en particular”. Para cosas como el enlace de direcciones de conexiones de red, el resultado puede ser asignar una dirección de interfaz adecuada a la conexión. Si lo está utilizando para configurar una interfaz, puede eliminar una dirección de la interfaz. Depende del contexto de uso para determinar lo que realmente hace “ninguna dirección en particular”.
En el contexto de una entrada de ruta, generalmente significa la ruta predeterminada. Eso sucede como resultado de más de la máscara de direcciones, que selecciona los bits para comparar. Una máscara de 0.0.0.0 no selecciona bits, por lo que la comparación siempre tendrá éxito. Entonces, cuando se configura una ruta de este tipo, hay siempre está en algún lugar para que los paquetes vayan (si está configurado con un destino válido).
En algunos casos, simplemente ‘0’ también funcionará y tendrá el mismo efecto. Pero esto no está garantizado. El formulario 0.0.0.0 es la forma estándar de decir ‘ninguna dirección en particular’ (en IPv6 es decir, ::0 o simplemente ::).
Fuente: ¿Cuál es el significado de la dirección IP 0.0.0.0?
En el Protocolo de Internet versión 4, la dirección 0.0.0.0 es una metadirección no enrutable utilizada para designar un destino no válido, desconocido o no aplicable. Dar un significado especial a un dato que de otro modo no sería válido es una aplicación de señalización en banda.
En el contexto de los servidores, 0.0.0.0 significa todas las direcciones IPv4 del equipo local. Si un host tiene dos direcciones IP, 192.168.1.1 y 10.1.2.1, y un servidor que se ejecuta en el host escucha en 0.0.0.0, será accesible en ambas IP (Nota: Este texto en particular se repite desde arriba como parte de la respuesta general).
En el contexto del enrutamiento, 0.0.0.0 generalmente significa la ruta predeterminada, es decir, la ruta que conduce al “resto de” Internet en lugar de a algún lugar de la red local.
Los usos incluyen:
- La dirección que un host reclama como propia cuando aún no se le ha asignado una dirección. Por ejemplo, cuando se envía el paquete DHCPDISCOVER inicial cuando se utiliza DHCP.
- La dirección que un host se asigna a sí misma cuando una solicitud de dirección a través de DHCP ha fallado, siempre que la pila IP del host lo admita. Este uso ha sido reemplazado por el mecanismo APIPA en los sistemas operativos modernos.
- Una forma de especificar cualquier host IPv4. Se utiliza de esta manera al especificar una ruta predeterminada.
- Una forma de especificar explícitamente que el destino no está disponible. Fuente: 127.0.0.1 – ¿Cuáles son sus usos y por qué es importante?
- Una forma de especificar cualquier dirección IPv4. Se utiliza de esta manera al configurar servidores (es decir, al enlazar sockets de escucha). Esto es conocido por los programadores TCP como INADDR_ANY. [bind(2) binds to addresses, not interfaces.]
En IPv6, la dirección all-zeros se escribe como ::
Fuente: 0.0.0.0 [Wikipedia]
Detección/solicitud de DHCP
Cuando un cliente arranca por primera vez, se dice que está en el estado de inicializacióny transmite un mensaje DHCPDISCOVER en su subred física local a través del puerto 67 del Protocolo de datagramas de usuario (UDP) (servidor BootP). Dado que el cliente no tiene forma de conocer la subred a la que pertenece, DHCPDISCOVER es una difusión de todas las subredes (dirección IP de destino de 255.255.255.255), con una dirección IP de origen de 0.0.0.0. La dirección IP de origen es 0.0.0.0 ya que el cliente no tiene una dirección IP configurada.
Si existe un servidor DHCP en esta subred local y está configurado y funciona correctamente, el servidor DHCP escuchará la difusión y responderá con un mensaje DHCPOFFER. Si no existe un servidor DHCP en la subred local, debe haber un agente de retransmisión DHCP/BootP en esta subred local para reenviar el mensaje DHCPDISCOVER a una subred que contenga un servidor DHCP.
Este agente de retransmisión puede ser un host dedicado (Microsoft Windows Server, por ejemplo) o un enrutador (un enrutador Cisco configurado con instrucciones auxiliares IP de nivel de interfaz, por ejemplo).
…
Después de que el cliente recibe una DHCPOFFER, responde con un mensaje DHCPREQUEST, indicando su intención de aceptar los parámetros en DHCPOFFER, y se mueve a la estado solicitante. El cliente puede recibir varios mensajes DHCPOFFER, uno de cada servidor DHCP que recibió el mensaje DHCPDISCOVER original. El cliente elige una DHCPOFFER y responde a ese servidor DHCP solamente, rechazando implícitamente todos los demás mensajes DHCPOFFER. El cliente identifica el servidor seleccionado rellenando el Identificador de servidor campo de opción con la dirección IP del servidor DHCP.
DHCPREQUEST también es una difusión, por lo que todos los servidores DHCP que enviaron una DHCPOFFER verán dhcprequest, y cada uno sabrá si su DHCPOFFER fue aceptado o rechazado. Cualquier opción de configuración adicional que requiera el cliente se incluirá en el campo de opciones del mensaje DHCPREQUEST. Aunque al cliente se le haya ofrecido una dirección IP, enviará el mensaje DHCPREQUEST con una dirección IP de origen de 0.0.0.0. En este momento, el cliente aún no ha recibido la verificación de que está claro usar la dirección IP.
…
Conversación cliente-servidor para un cliente que obtiene una dirección DHCP donde el cliente y el servidor DHCP residen en la misma subred:
Fuente: Descripción y solución de problemas de DHCP en Catalyst Switch o Redes Empresariales
Ruta predeterminada
En este documento se explica cómo configurar una ruta o puerta de enlace predeterminada de último recurso. Se utilizan estos comandos IP:
- IP default-gateway
- IP default-network
- Ruta IP 0.0.0.0 0.0.0.0
Ruta IP 0.0.0.0 0.0.0.0
Crear una ruta estática a la red 0.0.0.0 0.0.0.0 es otra forma de establecer la puerta de enlace de último recurso en un router. Al igual que con el IP default-network , el uso de la ruta estática a 0.0.0.0 no depende de ningún protocolo de enrutamiento. Sin embargo, el enrutamiento IP debe estar habilitado en el router.
Nota: IGRP no entiende una ruta a 0.0.0.0. Por lo tanto, no puede propagar rutas predeterminadas creadas mediante el Ruta IP 0.0.0.0 0.0.0.0 mandar. Utilice el IP default-network para que IGRP propague una ruta predeterminada.
Fuente: Configuración de una puerta de enlace de último recurso mediante comandos IP
¿Tienes algo que añadir a la explicación? Sonido apagado en los comentarios. ¿Desea leer más respuestas de otros usuarios expertos en tecnología de Stack Exchange? Echa un vistazo al hilo de discusión completo aquí.