Header Ads Widget

¿Qué es Localhost?

Las máquinas informáticas se identifican por su nombre de host [nombre de la máquina host] y la dirección IP.

Así mismo, también tenemos un nombre común para todos los sistemas informáticos que solían llamarse a sí mismos que se conoce como localhost. Aquí, el término "localhost" está asociado con el contexto de las redes informáticas. Desempeña un papel vital durante nuestro viaje como desarrollador o administrador del sistema. Hay muchos casos de uso para el "host local", como pruebas de aplicaciones, documentación, pruebas de rendimiento de la red y bloqueo de sitios.

Profundicemos más en los detalles esenciales.

¿Qué es Localhost?

Localhost es un nombre de host que se refiere al sistema informático en el que se ejecuta el programa de llamada, lo que significa que la máquina hablará consigo misma cuando llamemos a localhost.

Nos ayuda a verificar los servicios de red en la máquina, incluso durante fallas de hardware de red. Cuando se utiliza "localhost", se accede a los servicios de red a través de la interfaz de red lógica denominada loopback. La dirección IP de la interfaz de loopback es 127.0.0.1. Por lo tanto, localhost se resuelve en 127.0.0.1 como parte de la resolución de nombres.

¿Qué es una dirección de bucle invertido?

Loopback es una interfaz de red lógica presente en todos los sistemas operativos. Los paquetes transmitidos a través de esta interfaz se devuelven (en bucle) a la misma interfaz en la misma máquina. Por lo tanto, la interfaz se denomina loopback.

De acuerdo con los estándares IETF para el direccionamiento IPv4, todo el bloque de 127.0.0.0/8 se asigna para fines de loopback de red. Como comportamiento predeterminado, se configura una interfaz de bucle invertido después de cada instalación del servidor.

Echemos un vistazo al siguiente fragmento.

ip a show lo
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 76238871 bytes 6955286874 (6.9 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 76238871 bytes 6955286874 (6.9 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 
sudo cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 sandbox1

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback

Internos de procesamiento de paquetes de bucle invertido

Generalmente, los paquetes Loopback se distinguen de los otros paquetes IP por sus direcciones. El procesamiento de paquetes de bucle invertido con la dirección de bucle invertido ocurre en la capa de enlace de la pila TCP/IP. Este tráfico estará pasando dentro de los propios sistemas informáticos. No afectará a las tarjetas NIC de hardware como otros paquetes IP. Además, existe una regla según la cual los enrutadores no deben enrutar la dirección IP de loopback.

Por ejemplo, cuando solicitamos la dirección 127.0.0.1. La solicitud no se reenviará a Internet debido al primer octeto (127). Aquí, la pila TCP/IP reconoce la solicitud y la enruta de regreso a la misma máquina.

A continuación, se incluye una ilustración rápida del tutorial de flujo de paquetes para host local y otros paquetes IP.

ping -c 4 localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.040 ms

--- localhost ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.035/0.039/0.043/0.008 ms
ping -c 4 google.com
PING google.com (142.250.71.46) 56(84) bytes of data.
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=1 ttl=120 time=2.14 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=2 ttl=120 time=2.18 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=3 ttl=120 time=2.19 ms
64 bytes from maa03s35-in-f14.1e100.net (142.250.71.46): icmp_seq=4 ttl=120 time=2.20 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 2.147/2.180/2.203/0.051 ms

Pruebas de aplicaciones usando Localhost

La accesibilidad del servicio de la aplicación ocurre primero a través de la interfaz de red. Si el servicio de la aplicación se asigna con una interfaz física, se puede acceder a él desde el mundo exterior. Del mismo modo, si la aplicación está asignada con una interfaz de bucle invertido lógico, solo se puede acceder desde ese sistema informático específico y no se puede acceder desde el mundo exterior.

Siempre es más fácil desarrollar y probar el código desde el servidor local que desde otro host remoto. Para lograrlo, asignamos nuestro nombre de dominio de producción con una nueva dirección de bucle invertido (127.0.1.100) en el /etc/hostsarchivo. Las entradas en /etc/hosts tienen prioridad sobre DNS.

El siguiente fragmento muestra la respuesta de ping orgánica del servidor local al servidor web Linuxize remoto. La asignación de dominio se muestra en el segundo fragmento. Cuando revisamos de cerca la salida después de asignar la IP de 127 segmentos a linuxize.com en el archivo del host, el tráfico se enruta a una interfaz de red de bucle invertido.

ping -c 4 linuxize.com
PING linuxize.com (172.67.74.167) 56(84) bytes of data.
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=1 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=2 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=3 ttl=59 time=34.5 ms
64 bytes from 172.67.74.167 (172.67.74.167): icmp_seq=4 ttl=59 time=34.5 ms

--- linuxize.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 34.521/34.529/34.541/0.227 ms
sudo cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 sandbox1
127.0.1.100 linuxize.com

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
ping -c 4 linuxize.com
PING linuxize.com (127.0.1.100) 56(84) bytes of data.
64 bytes from linuxize.com (127.0.1.100): icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from linuxize.com (127.0.1.100): icmp_seq=2 ttl=64 time=0.094 ms
64 bytes from linuxize.com (127.0.1.100): icmp_seq=3 ttl=64 time=0.042 ms
64 bytes from linuxize.com (127.0.1.100): icmp_seq=4 ttl=64 time=0.055 ms

--- linuxize.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3062ms
rtt min/avg/max/mdev = 0.042/0.066/0.094/0.020 ms

Conclusión

Localhost es el nombre predeterminado del sistema donde se ejecuta nuestro programa que nos ayuda a probar aplicaciones y solucionar problemas de red. Se logra utilizando un mecanismo de bucle local a través de la interfaz de red de bucle invertido. Nos ayuda a probar software sin dependencias de configuración de hardware de red. Como usuario de computadoras, es esencial tener una comprensión básica de los términos interfaces de red localhost y loopback.

Publicar un comentario

0 Comentarios