¿Por qué es el localhost IP 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, una agrupación impulsada por la comunidad de sitios web de preguntas y respuestas.
La pregunta
El lector superusuario Roee Adler, curioso sobre la IP localhost predeterminada, planteó la siguiente pregunta a la comunidad:
Me pregunté cuál es el origen de la decisión a tomar.
localhost
dirección IP127.0.0.1
. Cuál es el significado de127
? Cuál es el significado de0.0.1
?
¿Cuál es el significado, de hecho? Si bien es posible vivir toda tu existencia geek sin saber la respuesta a esas preguntas, estamos listos para profundizar.
Las respuestas
Varios contribuyentes se lanzaron para 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 el uso de cualquier otro número para la parte del host debería funcionar bien y volver a usar127.0.0.1
. Puedes probarlo tú mismo haciendo ping127.1.1.1
si te gustaria. ¿Por qué esperaron hasta el último número de red para implementar esto? No creo que este documentado.
Hyperslug hace algo de investigación de archivos al revisar los antiguos 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, escrita por Reynolds y Postel:
La dirección cero debe interpretarse como "esto", como en "esta red".
Por ejemplo, la dirección 0.0.0.37 podría interpretarse como el host 37 en esta red.
...
Al número de red de clase A 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 dentro del host. Ningún datagrama "enviado" a una red 127 debe aparecer en cualquier red en cualquier lugar.
Incluso desde septiembre de 1981, el RFC 790, 0 y 127 ya estaban reservados:
000.rrr.rrr.rrr Reservado [JBP]… 127.rrr.rrr.rrr Reservado [JBP]0 y 127 fueron las únicas redes reservadas de Clase A en 1981. Se usó 0 para apuntar a un host específico, de modo que se dejó 127 para el loopback.
Sé que esto no responde a la pregunta, pero esto es lo más lejos que pude cavar. Podría haber tenido más sentido elegir 1.0.0.0 para el bucle invertido, pero eso ya se dio a BBN Packet Radio Network.
Si bien todos conocemos y amamos 127.0.0.1 como el host local, vale la pena señalar que no será el anfitrión local 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, será designado por un número mucho más intuitivo: 0: 0: 0: 0: 0: 0: 0: 0.
¿Tienes algo que agregar a la explicación? Apague el sonido en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange con experiencia en tecnología? Echa un vistazo a las discusiones completas aquí.