Saya punya ide ini dan sudah mulai kode itu tetapi tidak pernah selesai karena kebutuhan menguap dulu.
Server DNS memiliki nama host dan alamat MAC dari semua mesin pada LAN-nya dan cara untuk menjangkau mereka. Ketika menerima permintaan untuk mesin yang diketahuinya, ia mengirimkan ARP terbalik untuk alamat IP yang diberikan alamat MAC dan menggunakan respons untuk membangun jawaban DNS.
Ini tidak ada hubungannya dengan apa yang Anda coba lakukan, tetapi itu menggambarkan intinya. Secara teori, DNS server dapat dikodekan untuk melakukan skema novel apa pun yang Anda ingin atur nama menjadi alamat IP.
Pertanyaan yang sebenarnya muncul adalah bagaimana cara mendapatkan alamat IP pelanggan untuk memutuskan ke mana harus mengirimnya. Ini sedikit masalah XY. Apa yang sebenarnya Anda inginkan adalah ISP pelanggan untuk melakukan geolokasi, dan Anda bisa mendapatkannya dengan melakukannya langsung dari alamat IP yang mengajukan permintaan, dengan asumsi itu bukan 8.8.4.4 atau layanan pengalihan DNS lainnya. Menurut saya, solusi terbaik untuk redirectors DNS adalah dengan mengabaikan masalah dan melakukan geolokasi self-relative (yaitu, dari server DNS mencoba mencari alamat IP panggilan) dan mengarahkan ulang dengan tepat. Lihat di sini untuk mengetahui cara geolokasi: /programming/2574542/location-detecting-techniques-for-ip-addresses
Anda benar-benar tidak ingin ada siaran di sini tetapi sesuatu yang lebih waras. Anycast memiliki properti yang mengganggu yaitu dapat mengubah rute paket di tengah aliran TCP Anda yang menyebabkan kebingungan massal.
Ron Maupin mengklaim bahwa siaran apa pun dapat diandalkan rute untuk TCP. Inilah traceroute yang menunjukkan sebaliknya:
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
Jika Anda mencoba melakukan geolokasi alamat IP hulu dengan cara yang jelas Anda dapatkan, keduanya ada di Wichita. Ini tidak benar dengan mana demonstrasi sederhana fisika akan cukup.
Kisaran ke 8.8.4.4 diukur pada 30 ms dimana 18ms pertama adalah penalti lokal (hop 3 adalah router lokal ISP saya). Jarak saya ke Wichita adalah 1297 mil. Oleh karena itu waktu perjalanan pulang pergi minimum (1297 * 2 mil / 225.000 kilometer per detik (kecepatan cahaya dalam kaca)) adalah 18,55 ms. Oleh karena itu saya seharusnya tidak mendapatkan tanggapan balik lebih cepat dari 28 ms tetapi saya mendapat satu balasan dalam 25 ms.
Paket tiba di Google oleh dua rute BGP berbeda. BGP tidak memilih yang terdekat.