En primer lugar, VRRP no depende del DNS de ninguna manera. Para la redundancia dentro de un solo sitio, puede ejecutar servidores DNS en una dirección VRRP compartida muy bien.
Pero como otros han mencionado en los comentarios, los servicios también usan enrutamiento anycast , lo que esencialmente significa que la misma dirección IP existe en varios lugares del mundo. Cuando un sitio entero se cae, las rutas en todo el mundo se recalculan para que sus paquetes terminen yendo a otro sitio de trabajo.
Un ejemplo mejor que el DNS público de Google sería la raíz de los servidores DNS - aquellos que sirven a los .
punteros de la zona y mantenga presionado para com
, org
, eu
, y así sucesivamente - porque tienen un mapa de todos los casos de las 13 direcciones lógicas. ¡La "L" de ICANN cuenta con 160 sitios diferentes!
Tenga en cuenta que anycast no tiene nada que ver con los round-robins basados en DNS (donde el mismo nombre tiene varias direcciones). Anycast se realiza esencialmente mintiendo al protocolo de enrutamiento.
Internet usa BGP para intercambiar información de enrutamiento entre organizaciones.
BGP admite de forma inherente seleccionar lo mejor de varias rutas hacia la misma red, según varios criterios. Por ejemplo, el mismo cliente podría tener enlaces ascendentes redundantes al mismo ISP (anunciando dos rutas que difieren solo en peso / preferencia). O el cliente puede tener enlaces ascendentes a través de varios ISP, y todos seleccionarán su ruta preferida (principalmente la ruta AS más corta), esa es la esencia de la "WAN" verdadera "múltiple".
Multihoming
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter--+ │
¦ │ ¦--DNSserver │
client 2 ---ISP---│--BGProuter--+ │
└──────────────────────────┘
Sin embargo, BGP solo dirige el tráfico a las puertas de entrada, pero no le importa lo que suceda más allá de eso. Entonces, si configuras internamente ambas rutas hacia el mismo servidor, obtienes multihoming. Pero si cada "entrada" conduce a un servidor diferente (configurado para la misma IP), obtendrá cualquier difusión.
Anycast... kind of?
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ │ │
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
Es importante destacar que esto también significa que a BGP no le importa si el AS no es contiguo en absoluto. Para obtener redundancia en todo el mundo, simplemente anuncie la misma red desde múltiples ubicaciones físicas: si conecta esas ubicaciones juntas (para que enruten esa red a un solo lugar), obtendrá múltiples conexiones; si son islas, obtienes anycast.
Anycast
┌────────[AS 65535]────────┐
client 1 ---ISP---│--BGProuter-----DNSserver │
¦ └──────────────────────────┘
¦
¦ ┌────────[AS 65535]────────┐
client 2 ---ISP---│--BGProuter-----DNSserver │
└──────────────────────────┘
(Para el caso, ni siquiera necesita ser el mismo AS, por ejemplo, los relés 6to4 son ejecutados por múltiples organizaciones independientes, cada una de ellas anunciando su propia ruta hacia 192.88.99.0/24
).
Advertencias:
Anycast proporciona redundancia, pero no balanceo de carga. Una vez que BGP converge, cada enrutador habrá elegido una única ruta preferida (u ocasionalmente algunas) y continuará usándola hasta que cambie la red.
Sin embargo, no puede predecir cuánto tiempo las rutas permanecerán estables, por lo que cualquier servicio con estado de difusión puede ser complicado. DNS se sale con la suya debido a que no tiene estado y utiliza principalmente UDP (EDNS redujo la necesidad de conexiones TCP).
Debe haber coordinación entre el servicio real y el enrutador BGP, de modo que la ruta se retire si el servicio falla.
Ver también "Historia de 4.2.2.2. ¿Cuál es la historia?" en la lista de correo NANOG: post 1 , post 2 .