Особенности национальной географии
Опубликовано 17.10.2007
В производственных целях скачал и поизучал БД соответствия IP-адресов городам и странам в формате CSV. Без слёз пополам со смехом на «русскую» часть этой базы смотреть невозможно.
Во-первых, там присутствует масса «городов», которые называются «Nogina», «Pionerskaya», «Sovetskaya», «Vpered», «KorolКva», «Kononenko» и даже просто «Ivan» и «Anton». Это части имен/фамилий/названий фирм/адресов/еще-каких-нибудь-атрибутов владельцев мелких IP-сетей, которые в базе присутствуют наравне с нормальными городами. Такие объекты, по самым скромным прикидкам, занимают как минимум половину объёма всей базы.
Во-вторых, город-герой Москва присутствует в списке в следующих вариациях:
«Moscow»
«Moskau»
«Moskva»
«Moscou»
и даже — «Moska»
Санкт-Петербург:
«Saint Petersburg»
«Sankt-Peterburg»
«Sankt Petersburg»
«Leningrad»
ну и просто «Piter»
В-третьих, уже упоминавшаяся проблема с путаницей Н.Новгород — Новгород: Волгателеком с кисами АДС’ом целиком и полностью располагаются в Новгороде, Сенди, к счастью, находятся в НН, но имеют в Новгороде филиал, и т.д. и т.п. Подобная проблема актуальна для многих составных географических названий, части которых совпадают с другими географическими названиями.
Все эти проблемы, похоже, имеют один корень: база geoip автоматически составлялась на основе базы ripe, не имеющей специального поля для указания точного географического местоположения; названия городов угадывались роботом на основе данных об организации/персоне, на которых зарегистрирован блок IP-адресов, и в ряде случаев он попадал пальцем в небо, а иногда и угадывал.
Поэтому приходится искать альтернативные источники информации о географической принадлежности IP-адресов: например, вот или частично вот.