Bu fikre sahiptim ve kodlamaya başlamıştım ama ihtiyaç önce buharlaştıkça hiç bitmedi.
DNS sunucusu, LAN'ındaki tüm makinelerin ana bilgisayar adlarına ve MAC adreslerine ve bunlara erişmenin bir yoluna sahiptir. Tanıdığı bir makine için bir istek aldığında, MAC adresi verilen IP adresi için bir ters ARP gönderir ve yanıtı DNS cevabını oluşturmak için kullanır.
Bu, yapmaya çalıştığınız şeyle ilgisi yoktur, ancak konuyu açıklar. Bir DNS sunucusu teorik olarak, adları IP adreslerine çözümlemek istediğiniz yeni düzeni uygulamak için kodlanabilir.
Asıl soru, müşterinin IP adresini nasıl göndereceğine nasıl karar vereceği gibi görünüyor. Bu küçük bir XY problemidir. Gerçekten istediğiniz müşterinin ISS'sinin coğrafi konum belirlemesi ve bunu 8.8.4.4 veya başka bir DNS yönlendirme hizmeti olmadığı varsayılarak, istekte bulunan doğrudan IP adresinden yapabilirsiniz. Benim düşünceme göre, DNS yeniden yönlendiricileri için en iyi çözüm sorunu görmezden gelmek ve kendi kendine göreli bir coğrafi konum (DNS sunucusundan arayan IP adresini bulmaya çalışın) yapmak ve uygun şekilde yeniden yönlendirmektir. Coğrafi konum belirleme için buraya bakın: /programming/2574542/location-detecting-techniques-for-ip-addresses
Gerçekten burada herhangi bir yayın istemiyorsun ama daha aklı başında bir şey. Anycast can sıkıcı bir özelliğe sahiptir, TCP akışınızın ortasında paketleri yeniden yönlendirebilir ve toplu karışıklığa neden olabilir.
Ron Maupin, anycast'in TCP için rota-güvenilir olduğunu iddia ediyor. Aksi gösteren traceroute:
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
Akış yukarı IP adreslerini coğrafi olarak konumlandırmaya çalışırsanız, her ikisini de Wichita'da bulabilirsiniz. Bu, basit bir fizik gösterisinin yeterli olacağı doğru değildir.
8.8.4.4 aralığı, ilk 18 ms yerel ceza olan 30 ms'de ölçülür (hop 3, ISS'imin yerel yönlendiricisidir). Wichita'ya olan mesafem 1297 km. Bu nedenle minimum gidiş-dönüş süresi 18.55ms olan saniyede 1297 * 2 mil / 225.000 kilometredir (camdaki ışık hızı). Bu nedenle, 28 ms'den daha hızlı geri dönüş almamalıyım ama 25 ms içinde bir geri aldım.
Paketler Google'a iki farklı BGP yolu ile geliyor. BGP en yakını seçmedi.