Práctico Anycast

He leído ¿Cómo puedo enviar visitantes al servidor más cercano usando DNS? Post, pero todavía hay algo, en un nivel práctico que no entiendo.

Digamos que tengo dos servidores. Uno en NY otro en París. Ambos tienen diferentes direcciones IP 1.1.1.1 y 1.1.1.2 que le fueron asignadas por el ISP (o empresas de alojamiento)

¿Qué pasos debo seguir para que la gente en Europa, cuando escriban http://blabla.com:8080 se traducirá a la dirección IP del servidor más cercano con respecto al cliente?

Mi objetivo final es aumentar la velocidad de una aplicación TCP-Socket que he escrito, dirigiendo a los usuarios al servidor más cercano.

ACTUALIZACIÓN: Gracias a los chicos por las respuestas. Supongo que hay mucho más para mí para aprender: \ antes de que realmente pueda lograr esto.

3 Solutions collect form web for “Práctico Anycast”

La ruta53 de Amazon AWS es un equilibrador de carga global fiable y de buen precio que utiliza anycast. Esta es, con mucho, la ruta más sencilla.

Si desea configurar anycast DNS usted mismo, necesitaría obtener una dirección IP y tener varias ubicaciones de centro de datos para anunciar esta dirección IP en su BGP. Por lo general la gente compra rangos de direcciones IP de su autoridad pertinente sin embargo, he visto algunos datacentres que están dispuestos a arrendamiento de personas direcciones IP y les permiten anunciar a partir de otros datacentres.

La configuración típica es que cada servidor tiene su propia dirección IP única y una dirección anycast. Por ejemplo:

Londres tiene 1.1.1.1 y 3.3.3.3 NY tiene 1.1.1.2 y 3.3.3.3

Un servidor DNS funciona en cada servidor que escucha en 3.3.3.3 y emite la IP única para ese servidor.

Recuerde que anycast está en la capa IP y por lo tanto bajo las tecnologías de transporte como TCP. Como tal, cualquier transporte que rastrea el estado (por ejemplo, TCP) no es adecuado para anycast. DNS es (generalmente) UDP y se utiliza como un método de distribución de clientes a su servidor más cercano para realizar una conexión TCP.

Es necesario utilizar un servicio que basará la respuesta DNS en su ubicación. O subcontratado a una empresa de DNS o construido usted mismo. Creo que la tecnología que realmente buscas es Global Server Load Balancing (GSLB), no AnyCast.

La mayoría de las empresas DNS ofrecen esto como un servicio.

PowerDNS parece ser una solución popular para DIY GSLB: http://www.powerdns.com/auth.html

Si sólo tiene dos servidores, uno en Norteamérica y otro en Europa, puede decidir ejecutar tanto su aplicación TCP-socket como su DNS usted mismo.

Con DNS, podría utilizar algo como el enfoque DNS de Split-Horizon , que podría lograrse mediante la funcionalidad integrada de su servidor DNS o mediante un cortafuegos que redirigiría diferentes rangos de direcciones IP a diferentes instancias de ejecución de su servidor (podría Ejecute dos copias diferentes del servidor en su máquina local, que escuchará en diferentes direcciones IP locales).

Con sólo un NA y un anfitrión de la UE, probablemente podría obtener resultados esperados en ≈90% de los casos, respondiendo a las solicitudes de DNS de RIPE y AfriNIC direcciones IP con un registro A de su anfitrión en Europa, y las solicitudes de las direcciones IP Desde los bloques / 8 administrados por ARIN, APNIC, LACNIC y el resto del espacio de direcciones / 8 con un registro A de su servidor en Norteamérica. Esto tendrá algunos resultados erróneos en ciertas situaciones (algunos / 8 bloques se comparten entre Europa y América del Norte, algún espacio de direcciones es anycast etc), pero lo peor que podría pasar es un poco de latencia extra para la parte afectada, por lo que, No debería ser un gran problema.

(Y, sí, debe haber una manera de hacer estas cosas más fáciles, pero, hasta ahora, parece que no hay ninguno.)

  • Prueba de networking de pérdida de packages TCP / IP (en el context de PingPlotter)
  • No todas las impresoras se implementan en el cliente mediante la directiva de grupo.
  • ¿Qué ruta cuando hay dos conexiones físicas?
  • Unix socket vs TCP / IP host: puerto
  • Reenvío de puertos serie a través de TCP / IP (servidor linux)
  • Un pequeño rompecabezas sobre el routing
  • ¿Puede utilizar WMI para determinar si una connection recibe sus serveres DNS de DHCP?
  • Buenas herramientas (gratuitas / de código abierto) para analizar los files de captura TCP?
  • Preocupado por el contenido de ip_conntrack
  • ping -a a veces devuelve el nombre de host y, a veces, devuelve FQDN. ¿Por qué? ¿Significa esto que DNS está corrupto de alguna manera?
  • "Dirección ya en uso" error de enlace de socket, cuando los puertos no se están utilizando
  • Problema de configuration LVS (Utilización de la herramienta piranha)
  • ¿Un ping a 127.0.0.1 golpeó la tarjeta de networking? ¿Qué RFC / norma establece que?
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.