Ho avuto questa idea e avevo iniziato a codificarla, ma non ho mai finito perché il bisogno è evaporato per primo.
Il server DNS ha i nomi host e gli indirizzi MAC di tutte le macchine sulla sua LAN e un modo per raggiungerli. Quando riceve una richiesta per una macchina che conosce, invia un ARP inverso per l'indirizzo IP dato l'indirizzo MAC e usa la risposta per costruire la risposta DNS.
Questo non ha nulla a che fare con ciò che stai cercando di fare, ma illustra il punto. In teoria un server DNS può essere codificato per eseguire qualsiasi nuovo schema si desideri risolvere i nomi in indirizzi IP.
La vera domanda sembra essere come ottenere l'indirizzo IP del cliente per decidere dove inviarlo. Questo è un piccolo problema di XY. Quello che vuoi davvero è l'ISP del cliente su cui geolocalizzare, e puoi ottenerlo facendolo direttamente dall'indirizzo IP che effettua la richiesta, supponendo che non sia 8.8.4.4 o qualche altro servizio di reindirizzamento DNS. A mio avviso, la migliore soluzione per i redirector DNS è ignorare il problema e fare una geolocalizzazione autonoma (ovvero dal server DNS provare a individuare l'indirizzo IP chiamante) e reindirizzare in modo appropriato. Vedi qui per geolocalizzazione: /programming/2574542/location-detecting-techniques-for-ip-addresses
Davvero non vuoi davvero nessuno streaming qui ma qualcosa di più sano. Anycast ha la proprietà fastidiosa è che può reindirizzare i pacchetti nel mezzo del flusso TCP causando confusione di massa.
Ron Maupin afferma che anycast è affidabile per TCP. Ecco il traceroute che mostra diversamente:
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
Se provi a geolocalizzare gli indirizzi IP a monte nel modo più ovvio che ottieni sono entrambi in Wichita. Questo non è corretto per cui basterà una semplice dimostrazione della fisica.
L'intervallo a 8.8.4.4 è misurato a 30ms di cui i primi 18ms sono la penalità locale (hop 3 è il router locale del mio ISP). La mia distanza da Wichita è di 1297 miglia. Il tempo minimo di andata e ritorno è quindi (1297 * 2 miglia / 225.000 chilometri al secondo (velocità della luce nel vetro)) che è 18,55 ms. Pertanto, non dovrei ottenere una risposta più veloce di 28 ms, ma ho ricevuto una risposta in 25 ms.
I pacchetti arrivano a Google da due diversi percorsi BGP. BGP non ha scelto il più vicino.