Saltar al contenido

¿Por qué la IP del host local es 127.0.0.1?

 

Los geeks de todo el mundo conocen su host local como 127.0.0.1, pero ¿por qué esa dirección específica, de todas las direcciones disponibles, está reservada para el host local? Siga leyendo para profundizar en la historia de los anfitriones locales.

Imagen de GMPhoenix; disponible como fondo de pantalla aquí.

La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, un grupo de sitios web de preguntas y respuestas impulsado por la comunidad.

La pregunta

El lector de superusuario Roee Adler, curioso acerca de la IP de localhost predeterminada, planteó la siguiente pregunta a la comunidad:

Me preguntaba cual es el origen de la decisión a tomar localhostdirección IP de 127.0.0.1. Cuál es el significado de 127? Cuál es el significado de 0.0.1?

¿Cuál es el significado, de hecho? Si bien es posible vivir toda su existencia geek sin saber la respuesta a esas preguntas, estamos listos para profundizar.

Las respuestas

Varios colaboradores contribuyeron a responder la pregunta de Roee, cada una de sus contribuciones ayuda a arrojar más luz sobre cómo 127.0.0.1 es el lugar al que todos llamamos hogar. John T escribe:

127 es el último número de red en una red de clase A con una máscara de subred de 255.0.0.0. 127.0.0.1 es la primera dirección asignable en la subred. 127.0.0.0 no se puede utilizar porque ese sería el número de cable. Pero usar cualquier otro número para la parte del host debería funcionar bien y volver a usar127.0.0.1. Puede probarlo usted mismo haciendo ping 127.1.1.1 si te gustaria. ¿Por qué esperaron hasta el último número de red para implementar esto? No creo que esté documentado.

Hyperslug investiga un poco el archivo buscando en viejos memorandos sobre el tema:

La primera mención que puedo encontrar con respecto a la asignación de 127 como loopback es noviembre de 1986 RFC 990 escrito por Reynolds y Postel:

La dirección cero debe interpretarse en el sentido de «esta», como en «esta red».

Por ejemplo, la dirección 0.0.0.37 podría interpretarse en el sentido de host 37 en esta red.

A la red clase A número 127 se le asigna la función de “bucle invertido”, es decir, un datagrama enviado por un protocolo de nivel superior a una dirección de red 127 debe regresar en bucle dentro del host. Ningún datagrama «enviado» a una dirección de red 127 debería aparecer en ninguna red en ningún lugar.

Incluso ya en septiembre de 1981 RFC 790, 0 y 127 ya estaban reservados:

000.rrr.rrr.rrr                 Reserved                     [JBP]
...
127.rrr.rrr.rrr                 Reserved                     [JBP]

0 y 127 eran las únicas redes reservadas de Clase A en 1981. 0 se usó para apuntar a un host específico, por lo que dejó 127 para bucle de retorno.

Sé que esto no responde a la pregunta, pero esto es lo más antiguo que pude excavar. Podría haber tenido más sentido elegir 1.0.0.0 para loopback, pero eso ya se le dio a BBN Packet Radio Network.

Si bien todos conocemos y amamos 127.0.0.1 como localhost, vale la pena señalar que no será localhost para siempre. 127.0.0.1 es cómo se designa el host local en las comunicaciones IPv4 y, a medida que IPv6 asume el control lentamente, se designará con un número mucho más intuitivo: 0: 0: 0: 0: 0: 0: 0: 1.


¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Revisar la hilos de discusión completos aquí.