Articulo de referencia

host local

En redes informáticas , localhost es un nombre de host que se refiere al equipo actual utilizado para acceder a él. El nombre localhost está reservado para fines de bucle invert...

Página semiprotegida

En redes informáticas , localhost es un nombre de host que se refiere al equipo actual utilizado para acceder a él. El nombre localhost está reservado para fines de bucle invertido . [ 1 ] Se utiliza para acceder a los servicios de red que se ejecutan en el host a través de la interfaz de red de bucle invertido. El uso de la interfaz de bucle invertido omite cualquier hardware de interfaz de red local .

Bucle de retorno

El mecanismo de bucle local permite ejecutar un servicio de red en un host sin necesidad de una interfaz de red física, o sin que el servicio sea accesible desde las redes a las que esté conectado el equipo. Por ejemplo, se puede acceder a un sitio web instalado localmente desde un navegador web mediante la URL http://localhost para visualizar su página de inicio.

Los estándares de red IPv4 reservan todo el bloque de direcciones 127.0.0.0 / 8 (más de 16 millones de direcciones) para fines de bucle invertido. [ 2 ] Esto significa que cualquier paquete enviado a cualquiera de esas direcciones se redirige al bucle invertido. La dirección 127.0.0.1 es la dirección estándar para el tráfico de bucle invertido IPv4; el resto no son compatibles con todos los sistemas operativos. Sin embargo, se pueden usar para configurar múltiples aplicaciones de servidor en el host, todas escuchando en el mismo número de puerto. En la arquitectura de direccionamiento IPv6 [ 3 ] solo hay una única dirección asignada para el bucle invertido: ::1 . El estándar impide la asignación de esa dirección a cualquier interfaz física, así como su uso como dirección de origen o destino en cualquier paquete enviado a hosts remotos.

Resolución de nombres

El nombre localhost normalmente se resuelve a la dirección de bucle invertido IPv4 127.0.0.1 y a la dirección de bucle invertido IPv6 ::1 .

Esta resolución se configura normalmente mediante las siguientes líneas en el archivo hosts del sistema operativo :

127.0.0.1 localhost ::1 localhost 

El nombre también puede ser resuelto por servidores del Sistema de Nombres de Dominio (DNS), pero existen consideraciones especiales [ 1 ] que rigen el uso de este nombre:

  • Una consulta de dirección IPv4 o IPv6 para el nombre localhost siempre debe resolverse a la dirección de bucle invertido correspondiente.
  • Las aplicaciones pueden resolver el nombre a una dirección de bucle invertido por sí mismas, o pasarlo a los mecanismos locales de resolución de nombres.
  • Cuando un resolvedor de nombres recibe una consulta de dirección (A o AAAA) para localhost , debe devolver las direcciones de bucle invertido correspondientes y respuestas negativas para cualquier otro tipo de registro solicitado. Las consultas para localhost no deben enviarse a servidores de nombres en caché.
  • Para evitar sobrecargar los servidores raíz del Sistema de Nombres de Dominio (DNS) con tráfico, los servidores de nombres en caché nunca deben solicitar registros de servidor de nombres para localhost ni reenviar la resolución a servidores de nombres autoritativos.
  • Cuando los servidores de nombres autoritativos reciben consultas para 'localhost' a pesar de las disposiciones mencionadas anteriormente, deben resolverlas adecuadamente.

Además de la asignación de localhost a las direcciones de bucle invertido ( 127.0.0.1 y ::1 ), localhost también puede asignarse a otras direcciones IPv4 (bucle invertido), y es posible asignar nombres adicionales a cualquier dirección de bucle invertido. No se garantiza que la asignación de localhost a direcciones distintas del rango de direcciones de bucle invertido designado en el archivo hosts o en el DNS tenga el efecto deseado, ya que las aplicaciones pueden asignar el nombre internamente.

En el Sistema de Nombres de Dominio, el nombre .localhost está reservado como dominio de nivel superior , originalmente reservado para evitar confusiones con el nombre de host localhost . [ 4 ] Los registradores de nombres de dominio tienen prohibido delegar nombres de dominio en el dominio de nivel superior .localhost . [ 1 ]

Notas históricas

En 1981, el bloque 127.0.0.0 / 8 obtuvo un estado de "reservado", [ 5 ] para no asignarlo como una red IP de clase A de propósito general. Este bloque fue asignado oficialmente para fines de bucle invertido en 1986. [ 6 ] Su propósito como bloque de direcciones IPv4 de uso especial fue confirmado en 1994, [ 7 ] , 2002 [ 8 ] , 2010, [ 9 ] y por última vez en 2013. [ 2 ]

Desde el principio, en 1995, se definió la única dirección de bucle invertido IPv6 ::1 . [ 10 ] Su propósito y definición no cambiaron en 1998, [ 11 ] , 2003, [ 12 ] y hasta la definición actual, en 2006. [ 3 ]

Procesamiento de paquetes

El procesamiento de cualquier paquete enviado a una dirección de bucle invertido se implementa en la capa de enlace de la pila TCP/IP . Dichos paquetes nunca se transmiten a ningún controlador de interfaz de red (NIC) ni a ningún controlador de dispositivo de hardware, y no deben aparecer fuera de un sistema informático ni ser enrutados por ningún enrutador. Esto permite realizar pruebas de software y utilizar servicios locales, incluso en ausencia de interfaces de red de hardware.

Los paquetes de retorno se distinguen de cualquier otro paquete que atraviese la pila TCP/IP únicamente por la dirección IP especial a la que están dirigidos. De este modo, los servicios que finalmente los reciben responden según el destino especificado. Por ejemplo, un servicio HTTP podría enrutar paquetes dirigidos a 127.0.0.99:80 y 127.0.0.100:80 a distintos servidores web, o a un único servidor que devuelva distintas páginas web. Para simplificar estas pruebas, se puede configurar el archivo hosts para que asigne nombres apropiados a cada dirección.

Los paquetes recibidos en una interfaz que no sea de bucle invertido con una dirección de origen o destino de bucle invertido deben descartarse. Dichos paquetes a veces se denominan paquetes marcianos . [ 13 ] Al igual que con cualquier otro paquete falso, pueden ser maliciosos y cualquier problema que puedan causar puede evitarse aplicando el filtrado de bogones .

Casos especiales

Las versiones de la base de datos MySQL diferencian entre el uso del nombre de host localhost y el uso de las direcciones 127.0.0.1 y ::1 . [ 14 ] Cuando se utiliza localhost como destino en una interfaz de conector de cliente de una aplicación, la interfaz de programación de aplicaciones MySQL se conecta a la base de datos mediante un socket de dominio Unix , mientras que una conexión TCP a través de la interfaz de bucle invertido requiere el uso directo de la dirección explícita.

Una excepción notable al uso de las direcciones 127.0.0.0 / 8 es su uso en la detección de errores de traceroute de Multiprotocol Label Switching (MPLS), en la que su propiedad de no ser enrutables proporciona un medio conveniente para evitar la entrega de paquetes defectuosos a los usuarios finales.

Véase también

Referencias

  1. 1 2 3 S. Cheshire ; M. Krochmal (febrero de 2013). Nombres de dominio de uso especial . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6761 . ISSN 2070-1721 . RFC 6761 . Norma propuesta. Actualiza los RFC 1918 y 2606 . 
  2. 1 2 M. Cotton; L. Vegoda; B. Haberman (abril de 2013). R. Bonica (ed.). Registros de direcciones IP de propósito especial . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC6890 . ISSN 2070-1721 . BCP 153. RFC 6890 . Mejor práctica actual 153. Deja obsoletas las RFC 4773 , 5156 , 5735 y 5736. Actualizada por la RFC 8190 .  
  3. 1 2 R. Hinden; S. Deering (febrero de 2006). Arquitectura de direccionamiento de la versión 6 de IP . Grupo de trabajo de redes. doi : 10.17487/RFC4291 . RFC 4291 .Borrador de norma. Sustituye a RFC 3513. Actualizado por RFC 5952 , 6052 , 7136 , 7346 , 7371 y 8064 .  
  4. D. Eastlake; A. Panitz (junio de 1999). Nombres DNS de nivel superior reservados . Grupo de trabajo de redes. doi : 10.17487/RFC2606 . BCP 32. RFC 2606 .Mejores prácticas actuales 32. Actualizado por RFC 6761 . 
  5. J. Postel (septiembre de 1981). NÚMEROS ASIGNADOS . Grupo de Trabajo de Redes. doi : 10.17487/RFC0790 . RFC 790 .Obsoleto. Obsoleto por RFC 820. Obsoleto RFC 776 , 770 , 762 , 758 , 755 , 750 , 739 , 604 , 503 , 433 y 349. Obsoleto IEN: 127, 117, 93.  
  6. J. Reynolds ; J. Postel (noviembre de 1986). NÚMEROS ASIGNADOS . Grupo de Trabajo de Redes. doi : 10.17487/RFC0990 . RFC 990 .Obsoleto. Obsoleto según RFC 1010. Obsoleto según RFC 960. Obsoleto según IEN 127, 117 y 93.  
  7. J. Reynolds ; J. Postel (octubre de 1994). NÚMEROS ASIGNADOS . Grupo de Trabajo de Redes. doi : 10.17487/RFC1700 . STD 2. RFC 1700 .Obsoleto. Obsoleto por RFC 3232. Obsoleto RFC 1340 , 1060 , 1010 , 990 , 960 , 943 , 923 , 900 , 870 , 820 , 790 , 776 , 770 , 762 , 758 , 755 , 750, 739 , 604 , 503 , 433 y 349. Obsoleto IEN: 127, 117, 93 .  
  8. IANA (septiembre de 2002). Direcciones IPv4 de uso especial . Grupo de trabajo de redes. doi : 10.17487/RFC3330 . RFC 3330 .Obsoleto. Obsoleto según RFC 5735 . 
  9. M. Cotton; L. Vegoda (enero de 2010). Direcciones IPv4 de uso especial . Grupo de trabajo de ingeniería de Internet . doi : 10.17487/RFC5735 . ISSN 2070-1721 . BCP 153. RFC 5735 . Obsoleto. Obsoleto según RFC 6890 . 
  10. R. Hinden; S. Deering (diciembre de 1995). Arquitectura de direccionamiento de IP versión 6. Grupo de trabajo de redes. doi : 10.17487/RFC1884 . RFC 1884 .Obsoleto. Obsoleto según RFC 2373 . 
  11. R. Hinden; S. Deering (julio de 1998). Arquitectura de direccionamiento de IP versión 6. Grupo de trabajo de redes. doi : 10.17487/RFC2373 . RFC 2373 .Obsoleto. Obsoleto según RFC 3513. Obsoleto según RFC 1884 .  
  12. R. Hinden; S. Deering (abril de 2003). Arquitectura de direccionamiento de IP versión 6. Grupo de trabajo de redes. doi : 10.17487/RFC3513 . RFC 3513 .Obsoleto. Deja obsoleto el RFC 2373. Obsoleto por el RFC 4291 .  
  13. Raymond, Eric S. "El archivo de jerga" .
  14. "MySQL :: Manual de referencia de MySQL 5.5 :: 4.1 Descripción general de los programas MySQL" .