[ Content | View menu ]

Проблемы определения географического местонахождения по IP-адресу

Опубликовано 22.10.2007

Проблема автоматического определения географического местонахождения по известному IP-адресу остро стоит как перед вебмастерами-одиночками, так и перед целыми фирмами, ведущими рекламную и прочую деятельность в интернете, даже несмотря на то, что существует несколько источников информации о географической принадлежности IP-адресов. Попробую очертить возможные пути решения и проблемы, к которым они приводят.

Источники информации о географической принадлежности IP-адресов:

  • информация whois от 5 мировых регистраторов, занимающихся выделением блоков IP-адресов (RIPE (Европа), ARIN (Северная Америка), APNIC (Азия, Австралия, Тихий Океан), AFRINIC (Африка), LACNIC (Латинская Америка)). Можно запрашивать эту информацию для каждого хоста командой whois, или же скачать все пять баз целиком, разобраться в их формате и делать запросы к локальной копии. Проблемы очевиды: в первом случае количество запросов в единицу времени очень ограничено, во втором — не все регистраторы выкладывают свои базы полностью, информация быстро устаревает и, самое главное, — условия использования этих баз явно запрещают их использование для подобных целей. Третья проблема — многие провайдеры имеют широкий охват и в связи с тенденцией расширения центральных провайдеров в регионы становится всё труднее отделять московских пользователей этого провайдера от нижегородских.
  • ресолвинг reverse dns: для IP-адреса 212.92.128.1 это будет выглядеть так:

    dig 1.128.92.212.in-addr.arpa ptr

    а ответ соответственно так:

    1.128.92.212.in-addr.arpa. 86298 IN PTR murka-f00212.nnov.lukoil.com.

    Это означает, что головной сервер нижегородского Лукойла называется murka-f00212 и, судя по слову nnov в имени домена, относится к Нижнему Новгороду. По-моему, без знания российской географии, экономики и психологии отечественных айтишников автоматически парсить вывод таких запросов очень трудно, к тому же этот сервер мог с тем же успехом называться murka-а00212.lukoil.com и не содержать в себе никакой географической информации. Даже если вырастить искусственный интеллект и рассказать ему, что nnov, nn и nino это скорее всего Нижний Новгород, то даже в случае десятков и сотен различных IP-адресов, которые надо обработать, подобный запрос создаст значительную нагрузку на DNS-сервер. И не все IP-адреса разрешаются подобным образом.

  • информация из общедоступных источников. Например, в Нижнем Новгороде имеется так называемая нижегородская точка обмена трафиком. Провайдеры подключаются к условному центральному роутеру и межпровайдерский трафик, проходящий через эту точку, становится дешевле для них самих и для их конечных пользователей. На сайте каждого провайдера, участвующего в организации этой точки, имеется список адресов в удобочитаемом формате, трафик из которых передаётся по льготному тарифу или бесплатно, например, http://www.sandy.ru/support/?d=96. Главная проблема в случае этого подхода очевидна: не все провайдеры и диапазоны могут покрываться данными списками; не в каждом городе и не для каждого провайдера можно найти подобный список сетей.
  • можно не заморачиваться самому, а обратиться к услугам сторонних организаций (и в случае чего валить всё на них). Перед этими коммерсантами стоят те же самые проблемы, но и возможностей анализа гораздо больше. Кроме вышеперечисленных методов, у этих фирм имеется ещё один способ получения нужной информации. Дело в том, что пользователи, регистрируясь на сайтах интернет-магазинов, обычно указывают свои IP-адреса с точностью до города, а иногда даже и до улицы и дома. И грех не воспользоваться подобным кладезем информации! Заключается договор с интернет-магазином, и по прошествии некоторого времени в распоряжении фирмы оказывается достоверная географическая информация, сообщенная самими пользователями, с привязкой к IP-адресам этих пользователей.Дополнительно к этому используются разнообразные комбинации из предыдущих методов для уточнения и корректировки. Например, проанализировав базу MaxMind GeoLiteCity, можно с точностью заявить, что для России использовался анализ базы RIPE.

    Большинство таких фирм имеет онлайн-утилиты для бесплатного поиска в своих базах данных. Назову лишь некоторые из них:

    Однако не стоит доверять и этим сервисам. Возможно, они и попадают иногда в правильный город (а для стран результаты в большинстве случаев корерктные), но дальше Америки и мировых центров (Москва, Париж, Берлин) дело не идет и чем дальше от столиц, тем больше процент ошибок. Ну какое американцам дело до того, что Новгород и Нижний Новгород — это разные города и находятся соответственно в северной и центральной частях России, а Питер, Петербург и Санкт-Петербург — один и тот же город?! Да и на сайтах обычно заявлено, что вне США и Канады точность определения города в лучшем случае достигает 40%.

Ссылки по теме:

Сравнительный анализ точности определения соответствия IP-адресов географическому местонахождению ожидайте в следующей заметке на bappoy.pp.ru

«
»

0 комментариев

Write a comment - TrackBack - RSS Comments

Write comment

Я не робот.