IPジオロケーションとDNSルックアップの違いとは?

DNSルックアップとIPジオロケーションは、それぞれ異なる問いに答えます。DNSはexample.comのようなドメイン名をIPアドレスに変換し、一方のIPジオロケーションはそのIPアドレスを物理的な場所へ対応付けます。片方は住所録であり、もう片方は地図です。ウェブサイトのホスト所在地を突き止めるには、この2つを順番に実行する必要があります。

DNSルックアップの役割

ドメインネームシステム(DNS)はインターネットの住所録です。DNSルックアップでは、利用中のISPや Google(8.8.8.8)・Cloudflare(1.1.1.1)といった公共プロバイダーが運用する再帰リゾルバに対して、ある名前に一致するレコードの返答を求めます。

レコード 返す内容
A / AAAA サーバーのIPv4 / IPv6アドレス
CNAME 別の名前を指すエイリアス
MX / NS / TXT メールのルーティング、ネームサーバー、検証データ

DNSの出力は純粋に論理的なものです。どのマシンの識別子がそのドメインに応答するかは分かっても、そのマシンがどこにあるかは決して分かりません。

IPジオロケーションの役割

ジオロケーションは、DNSが導き出したIPを、レジストリの割り当て情報とルーティングデータから構築されたgeo-IPデータベースで調べます。出力は物理的なものです。国、地域、都市、タイムゾーン。サーバー自身と通信することはなく、ドメイン名については何も知りません。

並べて比較

DNSルックアップ IPジオロケーション
入力 ドメイン名 IPアドレス
出力 IPアドレス 国 / 地域 / 都市 / タイムゾーン
答える問い 「どのマシン?」 「どこにある?」
インフラ 再帰リゾルバ、ルート/TLD/権威サーバー geo-IPデータベース
誤ることはある? ほぼない(権威的なデータ) ある。都市レベルでは精度 ~50-80%

通常は両方が必要な理由

ジオロケーションデータベースにとってドメイン名は無意味であり、人間にとってIPアドレスは無意味です。実用的なサーバー所在地の確認は、2つのステップをつなげて「解決してから特定」と進めます。これこそ URL Location Lookup が実行しているパイプラインです。DNS-over-HTTPSによる解決に続き、自動フェイルオーバー付きの複数プロバイダージオロケーションを行うため、example.comでも93.184.216.34でも入力ひとつで場所が分かります。

よくある質問

DNSでサーバーの所在地はわかりますか?

直接はわかりません。DNSが行うのは名前とIPアドレスの対応づけだけです。GeoDNSの応答など地理を示唆するレコードもありますが、実際の所在地はそのIPアドレスをジオロケーションデータベースで調べて初めて得られます。

ウェブサイトの場所を調べるには両方のステップが必要ですか?

入力がドメインであれば必要です。まずDNSがドメインをIPアドレスに解決し、次にジオロケーションがそのIPアドレスを場所へ対応付けます。URL Location Lookupはこの2つのステップを自動的につなぎます。

ドメインに複数のIPアドレスがある場合はどうなりますか?

大規模サイトは負荷分散のため複数のIPを返します。ルックアップではそのうちの1つ(通常はお住まいの地域のDNSが返すもの)が解決され、それは多くの場合、あなたに最も近いサーバーです。