私はこの考えを持っていて、それをコーディングし始めましたが、最初に必要性が蒸発したために終わりませんでした。
DNSサーバーには、LAN上のすべてのマシンのホスト名とMACアドレス、およびそれらにアクセスする方法があります。認識しているマシンへの要求を受信すると、指定されたMACアドレスのIPアドレスに対してリバースARPを送信し、応答を使用してDNS回答を作成します。
これは、あなたがやろうとしていることとは何の関係もありませんが、ポイントを示しています。理論的には、DNSサーバーをコーディングして、名前をIPアドレスに解決する新しいスキームを実行できます。
実際の質問は、顧客のIPアドレスを取得して送信先を決定する方法です。これはわずかなXY問題です。本当に必要なのは、顧客のISPがジオロケーションを行うことです。8.8.4.4または他のDNSリダイレクトサービスではない場合、要求を行うIPアドレスから直接それを行うことで取得できます。私の考えでは、DNSリダイレクタの最善の解決策は、問題を無視し、自己相対ジオロケーション(つまり、DNSサーバーからの呼び出しIPアドレスの検索を試みる)を行い、適切にリダイレクトすることです。ジオロケーションの方法については、こちらをご覧ください:https : //stackoverflow.com/questions/2574542/location-detecting-techniques-for-ip-addresses
あなたは本当にここでエニーキャストを望んでいませんが、もっと正気なものを望んでいます。エニーキャストには迷惑な性質があり、TCPストリームの途中でパケットを再ルーティングして大量の混乱を引き起こす可能性があります。
Ron Maupinは、エニーキャストはTCPのルート信頼性があると主張しています。そうでない場合の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
アップストリームIPアドレスの位置を明らかにしようとすると、両方ともウィチタにあります。これは物理学の簡単なデモンストレーションで十分であるので正しくありません。
8.8.4.4までの範囲は30ミリ秒で測定され、最初の18ミリ秒がローカルペナルティです(ホップ3はISPのローカルルーターです)。ウィチタまでの距離は1297マイルです。したがって、最小往復時間は(1297 * 2マイル/秒あたり225,000キロメートル(ガラスの光の速度))18.55msです。したがって、28ミリ秒よりも早く応答が返されないはずですが、25ミリ秒で応答が返ってきました。
パケットは2つの異なるBGPルートによってGoogleに到着しています。BGPは最も近いものを選択しませんでした。