← ブログに戻る

IPの位置情報が違う理由:地図に出るのは人でなくネットワーク

IPの位置情報が違う理由:地図に出るのは人でなくネットワーク

IPアドレスの位置情報が実際の場所とずれるのは、IPジオロケーションが示すのはアドレスが属するネットワークであり、そのアドレスを使っている人の物理的な位置ではないためです。IPアドレスは組織が所有するブロックに割り当てられており、そこに紐づく位置情報は、その組織がブロックを登録または運用している場所を反映しています。

「なぜIPの位置情報が間違っているのか」と疑問に思う人の多くは、GPSに近い精度を期待しています。しかし、プロトコルにそのような仕組みはありません。アドレスはあなたの居場所を何も伝えません。ジオロケーションデータベースは、レジストリの記録、ルーティング情報、測定結果からおおよその位置を推定しており、拡大して細かく見るほどその推定は粗くなります。

アドレスに位置情報が付与される仕組み

地域インターネットレジストリは、ISP、モバイルキャリア、クラウドプロバイダー、企業などの組織にアドレスブロックを割り当てます。各ブロックには登録国と所有者があり、IP whois検索で確認できます。所有者はASNを持つAutonomous Systemを運用しており、ASN検索ではそのネットワークの所有者、国、レンジを確認できます。これらの記録から、データベースは通常、アドレスを高い確度で正しい国に割り当てることができます。

市区町村レベルの特定はより困難です。ISPは1つの大きなブロックを広告し、少数のPoP(接続拠点)から地域全体の顧客にサービスを提供していることがあります。そのPoPの配下にいる全員が同じ都市にいるように見え、実際の場所から数十〜数百キロメートル離れている場合もあります。これは検索の不具合ではなく、ネットワークの構造をそのまま反映した結果です。精度の限界について詳しくは、IPジオロケーションの市区町村精度に限界がある理由をご覧ください。

位置がずれて見える主な原因

  • ISPの集中型インフラ。家庭向けトラフィックは集約され、地域のハブから出ていくため、そのハブの都市として表示されます。
  • モバイルキャリア。スマートフォンのアドレスは、実際に接続している基地局から遠く離れたキャリアのゲートウェイから割り当てられることがよくあります。キャリア検索ではモバイルアドレスの事業者名を確認できますが、これはネットワーク単位の情報であり、個人に関するものではありません。
  • VPN、プロキシ、Tor。外部から見えるアドレスは出口サーバーのものなので、位置情報もそのサーバーのある場所になります。VPN・Tor・プロキシチェッカーでは、アドレスが既知の出口ノードかどうかを確認できます。
  • 企業・キャンパスネットワーク。支社からのトラフィックが、本社の回線経由で外部に出ていくことがあります。
  • 古い情報や再割り当てされたブロック。アドレスは所有者や地域の間で移動するため、どのデータベースもその変更に遅れが生じます。レジストリの国はブロックが登録されている場所であり、必ずしも機器が設置されている場所とは限りません。
  • 予約済みアドレス。プライベートアドレスや予約済みアドレスには、公開された位置情報がそもそも存在しません。bogon IPチェッカーを使うと、調べているアドレスがそのようなレンジに属するかどうかを確認できます。

信頼できる情報とそうでない情報

最も信頼できるのは国レベルであり、ほとんどのルールはこれを基準にするべきです。地域(州・県)は通常それなりに正確で、市区町村は大まかなヒントにすぎません。広い範囲でのパーソナライズには使えますが、番地や郵便番号が必要な用途には向きません。IPから得られた位置は、点ではなく、ぼやけた範囲の中心として扱ってください。ipto の天気や周辺スポットのページが、まずブラウザに正確な位置情報を求め、許可されなかった場合にのみIPによる大まかな推定にフォールバックするのも、このためです。

開発者にとって実践的なルールは、不確実性を前提に設計することです。IPから個人の身元や自宅住所を推測しない、市区町村の不一致だけでユーザーを強制的にブロックしない、推測された場所を簡単に修正できる手段(都市の選択UIなど)を用意する、という点です。正確な位置が必要な場合は、ブラウザやフォームを通じて明示的に尋ねてください。

自分のアドレスを確認する方法

ipto で自分のアドレスを調べ、国、ASNと組織、ネットワークフラグの3点を比較してください。ASNの組織がお使いのISPで、市区町村が地域のハブであれば、それは正常な挙動です。組織がホスティング企業であったりVPNフラグが立っていたりする場合、位置情報はそのサービスを反映しています。APIでは、IP検索は country、city、asn、org、is_vpn、is_tor、is_datacenter を返し、これだけで意外な結果のほとんどを説明できます。全フィールドの一覧はAPIドキュメントに掲載しています。

VPNを使っていないアドレスで国そのものが誤っている場合は、登録が新しいか、再割り当てされた可能性があります。IPとASNのデータセットは毎日更新されるため、次の更新後に結果が変わることがあります。公開検索には手動での上書き機能はありませんので、ブロックが本当に誤ったラベルになっている場合は、whoisレコードに記載されているネットワーク所有者に連絡してください。

率直な回答

IPジオロケーションが示すのはアドレスが属するネットワークであり、ユーザーの物理的な位置ではありません。ISPは地域のハブ経由でトラフィックを流し、モバイルキャリア、VPN、プロキシでは、見えているアドレスが実際の人物から遠く離れた場所になります。
国レベルが最も信頼でき、地域は通常それなりに正確ですが、市区町村は大まかなヒントにすぎません。番地の特定や個人の識別には決して使うべきではありません。
アドレスを検索し、ASN、組織、およびVPN、Tor、データセンターのフラグを確認してください。組織がVPNやホスティング企業であれば位置情報はそのサービスを反映しており、お使いのISPであれば、おそらく地域のハブの位置が表示されています。
← ブログに戻る