Геолокация с IPv6?
Я работаю над библиотекой геолокации IP, которая использует первые три октета IPv4-адреса для определения страны, города, lat, lon и т. д. Работает как заклинание.
Но он не обрабатывает IPv6-адреса, и я бы хотел, чтобы это было так.
Есть ли способ преобразовать IPv6-адрес, чтобы получить эквивалент первых трех октетов IPv4-адреса, или они находятся на совершенно другой схеме нумерации, требующей совершенно другого отображения ipgeo?
8 ответов:
Типичное распределение IPv6 - это a / 32 (четыре октета) для Интернета провайдер (который может быть многонациональной компанией), то / 48 (шесть октетов) на конечный сайт (как правило, клиентскую организацию). Вы можете получить начальная точка в списке делегированных блоковIANA .
Это только для регистрации найдены в базах данных Рир. Задание до конца пользователи обычно не записываются так, мой текущий адрес,
2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b
скажу вам только, что мой штаб-квартира провайдера находятся в Париже (так как это национальная компания, клиенты могут быть в любой точке Франции).Другим исключением являются Пи (независимые от поставщика) назначения, которые как правило /48.
Кроме того, существует множество баз данных геолокации для IPv4 и, на мой взгляд, для IPv4. знание, нет для IPv6. Вам придется все делать самому.
К резюме: больше работы, чем вы, по-видимому, полагаете.
Дружественная поправка к комментарию Ноя (3 июня в 7: 57) --
В отделе обслуживания клиентов MaxMind (выделено мной): "IPv6 в настоящее время не поддерживается. В какой-то момент в будущем мы планируем его реализовать, но на данный момент у нас нет даты."
IPv6 использует совершенно иную схему адресации по сравнению с IPv4. Невозможно сопоставить IPv6-адреса с IPv4-адресами, за одним исключением. Если вы видите IPv6-адреса, которые начинаются с 2002 года: тогда адрес является адресом 6to4. Вероятно, вы не увидите много тех, которые используются, и они устарели, но эти сопоставимы с IPv4.
Каждый пользователь публичного IPv4-адреса может использовать /48 (65536 подсетей) пространства IPv6. Эти адреса всегда начинаются с 2002 года: следующие два шестнадцатеричных числа-это IPv4-адрес. Итак, 2002:5389: 1164: соответствует IPv4-адресу моего собственного веб-сервера (83.137.17.100):
0x53 = 83 0x89 = 137 0x11 = 17 0x64 = 100
Но все "нормальные" IPv6-адреса совершенно не связаны с любыми IPv4-адресами. По крайней мере, в стандартном смысле. Интернет-провайдер может определить связь между адресами IPv4 и IPv6 при развертывании IPv6 для своих клиентов. Но вы не будете знать об этих отношениях, так что это будет бесполезно для вас...
Maxmind.com Службы геолокации и библиотеки обрабатывают IPv6 нормально. Может быть, их вещи-это вариант для вас. (У меня нет никакой связи с ними.)
Поскольку пока не существует простого способа сделать это, возможно, мы получим возможность сделать то, что не было сделано в случае IPv4 (*)
Мы могли бы остановиться и спросить себя, хорошая ли это идея.
(*) или если это было сделано, это не сработало!
Геолокация плохая, ммкей? интернет является агностиком местоположения, и я никогда не видел, чтобы геолокация использовалась для чего-то нетривиального-не-зла. то есть, единственные хорошие приложения, которые я видел (выбор языка), были тривиальными (так же легко могут быть выпадающими). существует много злых приложений (это видео недоступно в вашей стране, таргетинг на мое физическое местоположение для рекламы и отслеживания) мы не можем препятствовать тому, чтобы что-то подобное существовало, но мы должны настаивать на том, чтобы сделать это незаконным или хотя бы наименее социально неприемлемо для использования.
Если вы прочитаете ряд ipv6, адресов и механизмов перехода на wiki, вы найдете несколько шаблонов IPv6-адресов, которые могут выводить ipv4 (siit, IPv4-mapped ipv6, nat64, the 2002: * thing written above и т. д.). Один из них для начала: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms
Я бы не рассчитывал на то, что эти схемы будут достаточно популярны, чтобы делать обычные гео отчеты, защиту от мошенничества или обнаружение инцидентов, но я определенно отдал бы приоритет гео ipv4 поиск таких предполагаемых ipv4-адресов по гео-запросу ipv6 (при условии, что база данных ipv4 является более полной).
Моя проблема с геоинформацией ipv6-это невероятно большое количество подсетей. Базы данных станут больше (больше диапазонов ip), что ожидается, но для того же количества терминальной геоинформации базы данных будут разрежены, а более глубокое дерево также будет дольше итерацией (для реализации, которая использует двоичные или радиксовые деревья), что подразумевает некоторую стоимость производительности. Использование гео баз данных sql-таблицы с IP-диапазонами, вероятно, также пострадают, поскольку у нас нет большого-большого числа 128 бит, о котором я знаю, чтобы использовать арифметику.
Еще одна проблема-мобильные телефоны: ipv6 предназначен для облегчения роуминга, если я не ошибаюсь. Вы можете сменить вышки сотовой связи и сохранить свой IP. может быть, даже при смене города, региона или страны. Я несколько сомневаюсь, что с тех пор сильное сродство адресов было целью MAC-адреса. Ip-адреса существуют именно для целей маршрутизации, но я думаю, что это так справедливо отметить, что они могут стать достаточно инвариантными, чтобы исказить точность геолокации, очевидно.
Я чувствую, что сотрудничество агентов пользователей / браузеров на уровне приложений (например, некоторые заголовки геолокации), вероятно, в будущем, даже если это может быть сфальсифицировано озорными людьми.
Существует протокол Referral Whois, который позволяет провайдерам публиковать информацию о геолокации IP и другим пользователям получать ее.
Например, мой текущий IP 2001:470: b4ea: babe:d57:15c8:97b: 60c9 принадлежит компании Hurricane Electric в США. Фактический сервер, где заканчивается туннель IPv4-IPv6, который я использую, находится в Швейцарии, но я нахожусь в Австрии. Он публикует все это, поэтому, если вы введете IP в инструмент, поддерживающий RWhois, как this, вы найдете контактные данные Он и где-то рядом внизу вы видитеКонтакт: Имя: Частный Клиент-Hurricane Electric
Контакт: Улица-Адрес: Частная Резиденция
Контакт: код страны: AT
Это мое местоположение.
Не многие провайдеры публикуют это, и не многие инструменты геолокации поддерживают его, но, по крайней мере, он существует.
Большинство провайдеров геолокации IP (из тех, кто поддерживает IPv6, некоторые до сих пор не делают этого) помещают этот IP в Швейцарию, некоторые даже в США. США.