sábado, 6 de febrero de 2016

Te demuestro quien es 127.0.0.1

Si eres de los que tienes un poco de conocimiento mínimo en informática o redes sabrás que la dirección 127.0.0.1 se la reserva toda máquina para hacer referencia a ella misma. Y, si no lo sabes, lo acabas de aprender. Esto significa que si hacemos un ping llamando a nuestra IPv4 o nuestra IPv6 o directamente localhost o nombre de máquina, es exactamente lo mismo que si lo hacemos sobre 127.0.0.1. Es bueno: funciona en cualquier máquina sin tener que investigar, previamente, cuál es tu ip con herramientas como Ipconfig.


Este hecho, como tal, es un acto de fe: sabemos que es así porque nos han dicho que es así. Pero, ¿y si nos preguntan cómo podemos demostrarlo? Imagínate que eres profesor y tienes un alumno cabrón que siempre te saca preguntas ridículas y tienes que demostrarle un hecho tan simple. O peor aún: imagínate que eres alumno y un profesor te pide que demuestres este hecho, ¿cómo lo harias?

Yo voy a ponerme en situación de que le digo a alguien qué es esa dirección IP y no me cree bajo nada en absoluto: esta es la demostración que yo le haría para asegurarle que HostName y esta IP es EXACTAMENTE LO MISMO:

Para empezar, vamos a ver que pasa si hacemos un ping a esta dirección:

Ping 127.0.0.1

Como podeis ver en la imagen ya tenemos dos motivos para afirmar que estamos "pingeando" la propia máquina: los tiempos de respuesta son extremadamente pequeños y el TTL es de 128. De estas dos razones considero solo una irrefutable, y es que en términos exagerados sería posible que alguien creyera que un tiempo de respuesta inferior a un milisegundo indicara solamente que la máquina está extremadamente cerca. Pero de todas formas, el TTL tiene el mismo valor que el inicial, no se ha reducido, por lo que no ha habido conexión con ningún nodo. Al no haber conexión con ningún nodo y, sin embargo, obtener respuesta, ya es prueba sobrada de que hablamos a la misma máquina.

Vamos a ver que pasa si llamamos a nuestra máquina con su alias:

Ping hostname

En este caso vemos que, al llamar a nuestra máquina por su nombre, los tiempos de respuesta siguen siendo inferiores a un milisegundo, lo que ya suma en tres las pruebas que tenemos para demostrar la afirmación de que 127.0.0.1 es la propia máquina. No obstante, aquí no podemos comparar TTL porque cuando llamamos a una máquina por su alias sin especificar protocolo, siempre va a coger por defecto el IPv6, por eso vemos que las respuestas nos las da en IPv6, y quiero que os fijeis en el siguiente trozo de un ipconfig:

Captura de ipConfig

Si os fijais en la segunda línea que indica la dirección IPv6 local, podeis ver que coincide con la imagen del Ping al hostname: por tanto la propia máquina es la que responde. Esta es la prueba más contundente de que 127.0.0.1 hace referencia a la propia máquina. No obstante, todavía me quedan ases en la manga si eres un incrédulo, fíjate en este ping realizado a la propia IPv4 de la máquina:

Ping a IPv4 propia

Esto es fascinante: tenemos los mismos tiepos de recepción que la dirección 127.0.0.1 y no solo eso, sino que además, el TTL es exactamente el mismo. Esto significa que la ruta seguida por el ping 127.0.0.2 es la misma que la ruta seguida por ping + IPv4 y que, por lo tanto, nos encontramos en la misma máquina, sin salir al exterior.

Lo interesante de estos conceptos no es el concepto en sí, sino el jugo que le puedes sacar. Muchos sabemos quien es el 127.0.0.1, pero conseguir demostrarlo con el mayor número de pruebas posibles te ayuda a llevar cada concepto más allá, po rmuy simple que parezca.

0 comentarios:

Publicar un comentario

Deja tu comentario si lo deseas. Recuerda ser respetuoso. El comentario lo revisará un administrador y será borrado si se considera inapropiado. Gracias