Tuve esta idea y comencé a codificarla, pero nunca terminé ya que la necesidad se evaporó primero.
El servidor DNS tiene los nombres de host y las direcciones MAC de todas las máquinas en su LAN y una forma de comunicarse con ellos. Cuando recibe una solicitud de una máquina que conoce, envía un ARP inverso para la dirección IP dada la dirección MAC y usa la respuesta para construir la respuesta DNS.
Esto no tiene nada que ver con lo que está tratando de hacer, pero ilustra el punto. En teoría, un servidor DNS puede codificarse para llevar a cabo cualquier esquema novedoso que desee resolver nombres a direcciones IP.
La pregunta real parece ser cómo obtener la dirección IP del cliente para decidir dónde enviarlos. Este es un pequeño problema de XY. Lo que realmente desea es que el ISP del cliente se geolocalice, y puede obtenerlo al hacerlo directamente desde la dirección IP que realiza la solicitud, suponiendo que no sea 8.8.4.4 o algún otro servicio de redireccionamiento de DNS. En mi opinión, la mejor solución para los redireccionadores de DNS es ignorar el problema y realizar una geolocalización autorreferente (es decir, desde el servidor DNS intenta localizar la dirección IP de llamada) y redirigir adecuadamente. Vea aquí cómo geolocalizar: /programming/2574542/location-detecting-techniques-for-ip-addresses
Realmente no quieres ninguna transmisión aquí sino algo más cuerdo. Anycast tiene la molesta propiedad de que puede redirigir paquetes en el medio de su flujo TCP causando confusión masiva.
Ron Maupin afirma que anycast es de ruta confiable para TCP. Aquí está el traceroute que muestra lo contrario:
3 cr1-rhe-a-be153.bb.as11404.net (174.127.183.14) 20.657 ms 20.763 ms 19.660 ms
4 cr1-che-b-be-2.as11404.net (192.175.29.161) 22.550 ms 23.562 ms 23.538 ms
5 * cr1-9greatoaks-hu-0-6-0-20-0.bb.as11404.net (192.175.28.108) 24.409 ms 38.083 ms
6 72.14.222.146 (72.14.222.146) 40.038 ms 39.106 ms 39.125 ms
7 108.170.242.225 (108.170.242.225) 37.930 ms 108.170.243.1 (108.170.243.1) 35.434 ms 108.170.242.225 (108.170.242.225) 33.694 ms
8 209.85.240.249 (209.85.240.249) 33.476 ms 108.170.232.65 (108.170.232.65) 31.683 ms 108.170.234.155 (108.170.234.155) 30.754 ms
9 google-public-dns-b.google.com (8.8.4.4) 30.491 ms 28.644 ms 25.718 ms
Si intenta geolocalizar las direcciones IP aguas arriba de la manera obvia, ambas están en Wichita. Esto no es correcto por lo que bastará una simple demostración de física.
El rango de 8.8.4.4 se mide a 30 ms, de los cuales los primeros 18 ms son la penalización local (el salto 3 es el enrutador local de mi ISP). Mi distancia a Wichita es de 1297 millas. Por lo tanto, el tiempo mínimo de ida y vuelta es (1297 * 2 millas / 225,000 kilómetros por segundo (velocidad de la luz en el vidrio)) que es 18.55ms. Por lo tanto, no debería obtener una respuesta más rápida que 28 ms, pero recibí una en 25 ms.
Los paquetes llegan a Google por dos rutas BGP diferentes. BGP no eligió el más cercano.