IPジオロケーションの仕組みと、精度が崩れるポイント
IPアドレスが国・地域・都市にひも付けられる仕組み、都市レベルの精度にばらつきが出る理由、そしてジオロケーションデータを実務で適切に使うための考え方を解説します。
# IPジオロケーションの仕組み
IPアドレスは、緯度・経度を示す座標ではありません。地域インターネットレジストリ(RIR)から組織に割り当てられ、その組織がBGPを通じてインターネット上に経路を広告している、いわばルーティング上の識別子です。ジオロケーションのレスポンスに含まれる情報は、突き詰めればこの2つの事実をもとにした推定です。
The four layers of evidence
- レジストリデータ。 ARIN、RIPE NCC、APNIC、LACNIC、AFRINICは、IPアドレスの割り当てがどの国で登録されているかを公開しています。これは最も安定したシグナルであり、国レベルの精度が一貫して高い理由でもあります。
- BGPルーティング。 経路を広告しているASNを見ると、実際にそのトラフィックを運んでいるネットワークが分かります。たとえば、オランダで登録されたIPブロックが、ブラジルのキャリアによって広告されていることもあります。
- ネットワーク計測。 既知の計測ノードから対象ホストまでのレイテンシを測ることで、そのホストが物理的に存在し得る範囲を絞り込めます。光は光ファイバー内をおよそ1ミリ秒あたり200km進むため、往復遅延時間は距離の上限を見積もる手がかりになります。
- 自己申告情報と派生ヒント。 rDNSホスト名(
ae1.core1.fra3.example.net)、IXのピアリング拠点、事業者自身が公開するgeofeedなどが該当します。
優れたプロバイダーは、これら4つの材料を組み合わせて判断します。一方で精度の低いプロバイダーは、古いレジストリ情報だけに依存しがちです。
Why country is easy and city is hard
国レベルの精度は、多くの場合90%台後半に達します。レジストリ情報とルーティング情報が概ね一致するためです。一方、都市レベルになると話は変わります。
- モバイルキャリアは、加入者の通信を国内の限られたゲートウェイに集約することがあります。そのため、地方都市にいるスマートフォンが首都にいるように見える場合があります。
- 大手ISPは、IPアドレスプールを複数の都市圏で再利用し、動的に割り当てを入れ替えます。
- 企業VPNやCGNATでは、何千人ものユーザーが同じ出口IPの背後に集約されます。
都市情報は、番地やピンポイントの所在地ではなく、おおよその都市圏として扱うべきです。もし都市が80kmずれていたときに不公平な判断になり得るなら、その判断を都市情報だけに依存させるべきではありません。
What to do with the accuracy radius
信頼できるジオロケーションデータには、通常、精度半径が含まれます。これは判断のゲートとして使うべきです。ルールが対象とする範囲よりも精度半径が大きい場合は、国レベルの判定に戻すか、地理情報以外のシグナルを使うべきです。精度半径を無視してしまうと、正当な顧客を誤ってブロックする原因になります。
Geolocation and anonymisation are two questions
「このIPはどこにあるのか」と「ユーザーは所在地を隠しているのか」は、別々に見るべき問いです。フランクフルトのデータセンターIPは、地理的には正しくフランクフルトにあります。しかし同時に、行動上は注意すべきアクセスでもあり得ます。Guardaは、所在地情報と分類情報(residential、mobile、business、hosting、VPN、TOR)を1つのレスポンスで返すため、どの要素が判断に影響したのかを推測で補う必要がありません。
A sane default policy
- コンテンツのパーソナライズは国情報を基準にする。
- 価格や税金は請求先の国を基準にし、IPアドレスだけで判断しない。
- 都市情報は分析や軽い誘導にとどめる。
- 距離ではなく、分類情報とリスクスコアをもとにエスカレーションする。
ジオロケーションは、文脈を理解するうえでは非常に有用です。ただし、それ単体で最終判断を下すには向いていません。その前提でルールを設計すれば、データは実務に耐えるものになります。
