stringtranslate.com

cualquier transmisión

Visualización de enrutamiento anycast.

Anycast es una metodología de enrutamiento y direccionamiento de red en la que dispositivos (generalmente servidores) en múltiples ubicaciones comparten una única dirección IP . Los enrutadores dirigen los paquetes dirigidos a este destino a la ubicación más cercana al remitente, utilizando sus algoritmos de toma de decisiones normales , generalmente el número más bajo de saltos de red BGP . El enrutamiento Anycast es ampliamente utilizado por las redes de entrega de contenido, como servidores web y de nombres , para acercar su contenido a los usuarios finales.

Métodos de direccionamiento

Hay cuatro métodos principales de direccionamiento en el Protocolo de Internet :

Historia

El primer uso documentado del enrutamiento anycast para el equilibrio de carga topológica de servicios conectados a Internet fue en 1989; [2] [3] la técnica se documentó formalmente por primera vez en el IETF cuatro años después. [4] Se aplicó por primera vez a la infraestructura crítica en 2001 con el anycasting del servidor de nombres I-root . [3]

Objeciones tempranas

Las primeras objeciones al despliegue del enrutamiento anycast se centraron en el conflicto percibido entre las conexiones TCP de larga duración y la volatilidad de la topología enrutada de Internet. En concepto, una conexión de larga duración, como una transferencia de archivos FTP (que puede tardar horas en completarse para archivos grandes) podría redirigirse a una instancia anycast diferente en mitad de la conexión debido a cambios en la topología o el enrutamiento de la red, con el resultado es que el servidor cambia a mitad de la conexión y el nuevo servidor no conoce la conexión y no posee el estado de conexión TCP de la instancia anycast anterior.

En la práctica, tales problemas no se observaron y estas objeciones se disiparon a principios de la década de 2000. Muchas implementaciones iniciales de anycast consistieron en servidores DNS, que utilizaban principalmente transporte UDP. [5] [3] Las mediciones de flujos anycast a largo plazo revelaron muy pocas fallas debido a conmutadores de instancias de conexión intermedia, muchas menos (menos del 0,017% [6] o "menos de un flujo por cada diez mil por hora de duración" [ 2] según diversas fuentes) que los atribuidos a otras causas de fallo. Se desarrollaron numerosos mecanismos para compartir el estado de manera eficiente entre instancias anycast. [7] Y algunos protocolos basados ​​en TCP, en particular HTTP, incorporaron mecanismos de "redireccionamiento", mediante los cuales las direcciones de servicio anycast podrían usarse para localizar la instancia más cercana de un servicio, después de lo cual un usuario sería redirigido a esa instancia específica antes del inicio de cualquier transacción con estado de larga duración. [2] [8]

Protocolo de Internet versión 4

Anycast se puede implementar a través del protocolo Border Gateway (BGP). A varios hosts (generalmente en diferentes áreas geográficas) se les proporciona la misma dirección IP de unidifusión y se anuncian diferentes rutas hacia la dirección a través de BGP. Los enrutadores consideran que se trata de rutas alternativas al mismo destino, aunque en realidad son rutas a diferentes destinos con la misma dirección. Como es habitual, los enrutadores seleccionan una ruta según cualquier métrica de distancia que esté en uso (la de menor costo, la menos congestionada y la más corta). Seleccionar una ruta en esta configuración equivale a seleccionar un destino.

Protocolo de Internet versión 6

Anycast se admite explícitamente en la arquitectura de direccionamiento IPv6 . [9] La dirección más baja dentro de una subred IPv6 (identificador de interfaz 0) se reserva como dirección anycast del "enrutador de subred". Además, los 128 identificadores de interfaz más altos dentro de una subred también se reservan como direcciones anycast. [10]

La mayoría de los enrutadores IPv6 en la ruta de un paquete anycast a través de la red no lo distinguirán de un paquete unicast, pero se requiere un manejo especial por parte de los enrutadores cercanos al destino (es decir, dentro del alcance de la dirección anycast), ya que deben enrute un paquete anycast a la interfaz "más cercana" dentro de ese alcance que tenga la dirección anycast adecuada, de acuerdo con cualquier medida de distancia ( saltos , costo, etc.) que se esté utilizando.

El método utilizado en IPv4 de anunciar múltiples rutas en BGP para direcciones de unidifusión asignadas múltiples veces también funciona en IPv6 y se puede utilizar para enrutar paquetes al más cercano de varios hosts dispersos geográficamente con la misma dirección. Este enfoque, que no depende de enrutadores compatibles con anycast, tiene los mismos casos de uso junto con los mismos problemas y limitaciones que en IPv4.

Aplicaciones

Con el crecimiento de Internet, los servicios de red tienen cada vez más requisitos de alta disponibilidad. Como resultado, la operación de servicios anycast ha ganado popularidad entre los operadores de red. [11]

sistema de nombres de dominio

Todos los servidores de nombres raíz de Internet se implementan como grupos de hosts que utilizan direcciones anycast. [12] Los 13 servidores raíz A–M existen en múltiples ubicaciones, 11 de ellos en múltiples continentes. (Los servidores raíz B y H existen en dos ubicaciones de EE. UU.) [13] [14] [15] Los servidores utilizan anuncios de direcciones anycast para proporcionar un servicio descentralizado. Esto ha acelerado la implementación de servidores raíz físicos (en lugar de lógicos) fuera de Estados Unidos . Muchos proveedores de DNS comerciales han cambiado a un entorno IP anycast para aumentar el rendimiento y la redundancia de las consultas e implementar el equilibrio de carga. [3]

transición IPv6

En la transición de IPv4 a IPv6 , se puede implementar el direccionamiento anycast para proporcionar compatibilidad con IPv6 a los hosts IPv4. Este método, 6to4 , utiliza una puerta de enlace predeterminada con la dirección IP 192.88.99.1 . [16] Esto permite que múltiples proveedores implementen puertas de enlace 6to4 sin que los hosts tengan que conocer las direcciones de puerta de enlace de cada proveedor individual. 6to4 ha quedado obsoleto [17] en respuesta a que IPv6 nativo se está volviendo más frecuente.

Redes de entrega de contenido

Las redes de entrega de contenido pueden utilizar anycast para conexiones HTTP reales a sus centros de distribución o para DNS . Debido a que la mayoría de las conexiones HTTP a dichas redes solicitan contenido estático, como imágenes y hojas de estilo , generalmente son de corta duración y sin estado en las sesiones TCP posteriores. La estabilidad general de las rutas y la falta de estado de las conexiones hacen que Anycast sea adecuado para esta aplicación, aunque utilice TCP . [6] [2]

Conectividad entre la red Anycast y Multicast

El punto de encuentro Anycast se puede utilizar en el Protocolo de descubrimiento de origen de multidifusión (MSDP) y su aplicación ventajosa como Anycast RP es una característica intradominio que proporciona redundancia y capacidades de carga compartida. Si se utilizan múltiples puntos de encuentro anycast, el enrutamiento IP seleccionará automáticamente el punto de encuentro topológicamente más cercano para cada fuente y receptor. Proporcionaría una red de multidifusión con los requisitos de tolerancia a fallos. [18]

Seguridad

Anycast permite a cualquier operador cuya información de enrutamiento sea aceptada por un enrutador intermedio secuestrar cualquier paquete destinado a la dirección anycast. Si bien esto a primera vista parece inseguro, no se diferencia del enrutamiento de paquetes IP comunes y no es ni más ni menos seguro. Al igual que con el enrutamiento IP convencional, un filtrado cuidadoso de quién puede y quién no puede propagar anuncios de ruta es crucial para evitar ataques de intermediario o de agujero negro . Lo primero también se puede prevenir cifrando y autenticando mensajes, como el uso de Transport Layer Security , mientras que lo segundo puede frustrarse con el enrutamiento cebolla .

Fiabilidad

Anycast suele ser muy confiable, ya que puede proporcionar conmutación por error automática sin agregar complejidad ni nuevos puntos potenciales de falla. Las aplicaciones Anycast normalmente cuentan con monitoreo externo de "latidos" de la función del servidor y retiran el anuncio de ruta si el servidor falla. En algunos casos, esto lo hacen los servidores reales que anuncian el prefijo anycast al enrutador a través de OSPF u otro IGP . Si los servidores mueren, el enrutador retirará automáticamente el anuncio. La funcionalidad "Heartbeat" es importante porque, si el anuncio continúa para un servidor fallido, el servidor actuará como un "agujero negro" para los clientes cercanos; este es el modo de falla más grave para un sistema anycast. Incluso en este caso, este tipo de falla solo causará una falla total para los clientes que estén más cerca de este servidor que cualquier otro, y no causará una falla global. Sin embargo, incluso la automatización necesaria para implementar la retirada del enrutamiento de "latidos" puede en sí misma agregar un punto potencial de falla, como se vio en la interrupción de Facebook de 2021 .

Mitigación de ataques de denegación de servicio

En los ataques de denegación de servicio , un host de red fraudulento puede anunciarse como un servidor anycast para un servicio de red vital, para proporcionar información falsa o simplemente bloquear el servicio.

Las metodologías Anycast en Internet pueden aprovecharse para distribuir ataques DDoS y reducir su efectividad: a medida que el tráfico se dirige al nodo más cercano, proceso sobre el cual el atacante no tiene control, el flujo de tráfico DDoS se distribuirá entre los nodos más cercanos. Por tanto, es posible que no todos los nodos se vean afectados. Esta puede ser una razón para implementar direcciones Anycast. [19] Sin embargo , la efectividad de esta técnica depende de mantener el secreto de cualquier dirección unicast asociada con los nodos de servicio anycast, ya que un atacante en posesión de las direcciones unicast de nodos individuales puede atacarlos desde cualquier ubicación, evitando los métodos de direccionamiento anycast. [20]

Nodos locales y globales

Algunas implementaciones anycast en Internet distinguen entre nodos locales y globales para beneficiar a la comunidad local, dirigiéndose preferentemente a los nodos locales. Un ejemplo es el sistema de nombres de dominio. Los nodos locales a menudo se anuncian con la comunidad BGP no exportable para evitar que los hosts los anuncien a sus pares, es decir, el anuncio se mantiene en el área local. Cuando se implementan nodos locales y globales, los anuncios de los nodos globales suelen ir precedidos de AS (es decir, el AS se agrega unas cuantas veces más) para alargar el camino, de modo que se prefiera un anuncio de nodo local a un anuncio de nodo global. [21]

Ver también

Referencias

  1. ^ Goścień, Róża; Walkowiak, Krzysztof; Klinkowski, Mirosław (14 de marzo de 2015). "Algoritmo de búsqueda tabú para enrutamiento, modulación y asignación de espectro en red óptica elástica con tráfico anycast y unicast". Red de computadoras . 79 : 148-165. doi :10.1016/j.comnet.2014.12.004. ISSN  1389-1286.
  2. ^ abcd Woodcock, Bill (junio de 1996). "Mejores prácticas en enrutamiento Anycast" (PDF) . Cámara de compensación de paquetes.
  3. ^ abcd Hernandez, Gael (10 de octubre de 2017). "Construcción y operación de una red Anycast global" (PDF) . Grupo de Operadores de Red de Eurasia.
  4. ^ C. Perdiz ; T. Méndez; W. Milliken (noviembre de 1993). Alojamiento del servicio Anycasting. Grupo de Trabajo de Red. doi : 10.17487/RFC1546 . RFC 1546. Informativo.
  5. ^ Woodcock, Bill (14 de noviembre de 2019). "TCP y Anycast". Archivo de la lista de correo de NANOG . Grupo de Operadores de Redes de América del Norte.
  6. ^ ab Levine, Matt; Lyon, Barrett; Underwood, Todd (junio de 2006). "TCP Anycast: No crea en FUD: experiencia operativa con TCP y Anycast" (PDF) . Grupo de Operadores de Redes de América del Norte.
  7. ^ Herrin, William. "Arquitectura TCP Anycast" . Consultado el 11 de octubre de 2021 .
  8. ^ Katz-Bassett, Ethan; Gao, Ryan (julio de 2019). "Impacto de la pérdida de TCP en el rendimiento de las aplicaciones regionales" (PDF) . Microsoft. Azure Frontdoor usa la redirección Anycast para dirigir a los usuarios a un borde cercano.
  9. ^ R. Hinden; S. Deering (febrero de 2006). Arquitectura de direccionamiento IP versión 6. Grupo de Trabajo de Red. doi : 10.17487/RFC4291 . RFC 4291. Proyecto de Norma. Obsoletos RFC 3513. Actualizado por RFC 5952, 6052, 7136, 7346, 7371 y 8064.
  10. ^ D. Johnson; S. Deering (marzo de 1999). Direcciones Anycast de subred IPv6 reservadas. Grupo de Trabajo de Red. doi : 10.17487/RFC2526 . RFC 2526. Norma propuesta.
  11. ^ J. Abley; K. Lindqvist (diciembre de 2006). Operación de los Servicios Anycast. Grupo de Trabajo de Red. doi : 10.17487/RFC4786 . BCP 126. RFC 4786. Mejores prácticas comunes.
  12. ^ T. Hardie (abril de 2002). Distribución de servidores de nombres autorizados a través de direcciones de unidifusión compartidas. Grupo de Trabajo de Red. doi : 10.17487/RFC3258 . RFC 3258. Informativo.
  13. ^ Servidor DNS raíz B de la página de inicio, visitado el 8 de febrero de 2015
  14. ^ "Informe sobre ubicaciones de servidores de nombres raíz". Cámara de compensación de paquetes . Consultado el 21 de febrero de 2011 .
  15. ^ "Asociación de Operaciones Técnicas del Servidor Raíz". servidores-root.org . Consultado el 16 de febrero de 2013 .
  16. ^ C. Huitema (junio de 2001). Un prefijo Anycast para enrutadores de retransmisión 6to4. Grupo de Trabajo de Red. doi : 10.17487/RFC3068 . RFC 3068. Informativo. Obsoleto por RFC 7526.
  17. ^ O. Troan (mayo de 2015). B. Carpintero (ed.). Desuso del prefijo Anycast para enrutadores de retransmisión 6to4. Grupo de Trabajo de Ingeniería de Internet . doi : 10.17487/RFC7526 . BCP 196. RFC 7526. Mejores prácticas actuales. Obsoletos RFC 3068 y 6732.
  18. ^ "Punto de encuentro Anycast". Sistemas Cisco. 1 de junio de 2001.
  19. ^ "Hoja informativa de la ICANN sobre el ataque al servidor raíz el 6 de febrero de 2007" (PDF) . Hoja de hechos . La Corporación de Internet para la Asignación de Nombres y Números (ICANN). 1 de marzo de 2007 . Consultado el 21 de febrero de 2011 .
  20. ^ Metz, C. (2002). "IP Anycast: comunicación punto a (cualquier) punto (se requiere inicio de sesión)". Computación de Internet IEEE . IEEE . 6 (2): 94–98. doi : 10.1109/4236.991450.
  21. ^ Oki, Eiji; Rojas-Cessa, Roberto; Tatipamula, Mallikarjun; Vogt, Christian (24 de abril de 2012). Protocolos, servicios y aplicaciones de Internet avanzados. John Wiley e hijos. págs.102 y 103. ISBN 978-0-470-49903-0. Archivado desde el original el 5 de enero de 2020.

enlaces externos