Question

Je travaille sur une bibliothèque de géolocalisation IP qui utilise les trois premiers octets d'une adresse IPv4 pour déterminer le pays, la ville, latitude, d'un utilisateur lon, etc. Fonctionne comme un charme.

Mais il ne gère pas les adresses IPv6, et je voudrais à le faire.

Est-il possible de transformer une adresse IPv6 pour obtenir l'équivalent des trois premiers octets d'une adresse IPv4, ou sont-ils sur un schéma de numérotation tout à fait différent, ce qui nécessite une cartographie ipgeo complètement différent?

Était-ce utile?

La solution

typique d'allocation IPv6 est un / 32 (quatre octets) à un l'Internet fournisseur (qui peut être une société multinationale), puis / 48 (six octets) à un site final (généralement une organisation cliente). Vous pouvez obtenir un le point de départ dans le liste de blocs IANA délégués .

Ceci est seulement pour inscriptions trouvées dans les bases de données du RIR. Affectation à la fin les utilisateurs sont généralement pas enregistrés, mon adresse actuelle, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b vous dira seulement que mon Le siège social du fournisseur sont à Paris (puisqu'il est une société nationale, les clients peuvent être partout en France).

Une autre exception est le assignements PI (Provider-indépendant), qui sont généralement / 48.

En outre, il existe de nombreuses bases de données de géolocalisation pour IPv4 et, à mon connaissance, aucun pour IPv6. Vous devrez tout faire vous-même.

Pour résumé:. Plus de travail que vous croyez apparemment

Autres conseils

Correction amical au commentaire de Noah (3 juin à 07h57) -

Par service à la clientèle de MaxMind département (mine de l'accent): «. IPv6 est pas pris en charge à un moment donné dans l'avenir, nous prévoyons de mettre en œuvre, mais nous ne disposons pas d'une date à ce moment »

IPv6 utilise un schéma d'adressage complètement différent par rapport à IPv4. Il n'y a aucun moyen que vous pouvez mapper des adresses IPv6 à des adresses IPv4, à une exception près. Si vous voyez les adresses IPv6 commençant par 2002: alors l'adresse est une adresse 6to4. Vous ne verrez pas beaucoup de ceux utilisés probablement et ils sont dépréciés, mais les sont mappable à IPv4.

Chaque utilisateur d'une adresse IPv4 publique peut utiliser un / 48 (65536) de l'espace sous-réseaux IPv6. Ces adresses commencent toujours avec 2002: et les deux nombres hexadécimaux sont l'adresse IPv4. Ainsi, 2002: 5389: 1164: correspond à ma propre adresse IPv4 de serveur Web (83.137.17.100):

0x53 = 83
0x89 = 137
0x11 = 17
0x64 = 100

Mais toutes les adresses IPv6 « normales » sont sans aucun rapport avec les adresses IPv4. Au moins d'une manière standard. Un FAI peut définir une relation entre les adresses IPv4 et IPv6 lors du déploiement IPv6 à ses clients. Mais vous ne saurez pas sur cette relation il sera inutile de vous ...

maxmind.com de services de géolocalisation et les bibliothèques gèrent IPv6 OK. Peut-être que leur truc est une option pour vous. (Je n'ai aucune affiliation avec eux.)

Comme il ne semble pas être un moyen facile de le faire encore, peut-être que nous avons l'occasion de faire quelque chose qui n'a pas été fait dans le cas d'IPv4 (*)

Nous pourrions arrêter et nous demander si cela est une bonne idée.


(*) Ou si cela a été fait, il ne fonctionne pas!

Si vous avez lu un certain nombre de ipv6, l'adresse et le mécanisme de transition sur le wiki, vous trouverez quelques adresses IPv6 modèles qui peuvent déduire un ipv4 (SIIT, ipv6 cartographié ipv4, NAT64, 2002: * chose écrite ci-dessus, etc. .). L'un d'entre eux pour commencer: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

Je ne compterais pas sur ces systèmes d'être assez populaire pour faire les rapports géo habituels, protection contre la fraude ou la détection des incidents, mais je serais certainement donner la priorité à une recherche géo ipv4 pour de telles inférées adresses IPv4 sur une recherche géo ipv6 ( en supposant que le ipv4 db est plus complet).

Ce qui me préoccupe des informations géo ipv6 est le nombre incroyablement élevé de sous-réseaux. Les bases de données une augmentation du volume (plus plages d'adresses IP), qui est prévu, mais pour la même quantité d'informations géo terminal, les bases de données seront clairsemés et l'arbre plus profond est également plus à itérer (pour la mise en œuvre qui utilise des arbres binaires ou radix) ce qui implique un certain coût de performance. bases de données géographiques en utilisant des tables SQL avec plages d'adresses IP souffrira probablement aussi, puisque nous n'avons pas grand-bigint de 128bits, que je sache, d'utiliser l'arithmétique.

Une autre préoccupation est les mobiles: ipv6 est conçu pour faciliter l'itinérance, si je ne suis pas confondais. Vous pouvez changer les tours cellulaires et garder votre IP. peut-être même en changeant la ville, la région ou du pays. Je doute un peu que, depuis qu'une affinité d'adresse forte était l'objet d'une adresse MAC. Les adresses IP existent précisément pour but de routage, mais je pense qu'il est juste de mentionner qu'ils pourraient devenir assez invariant pour paralyser la précision de la localisation géographique, évidemment.

Je sens la collaboration des agents utilisateurs / navigateurs à la couche d'application (certains d'en-tête de l'emplacement géographique par exemple) est probablement l'avenir, même si cela peut être usurpée par des gens malfaisants.

Il y a un protocole appelé référence whois qui permet aux fournisseurs de publier la géolocalisation IP l'information et d'autres pour le récupérer.

Par exemple, mon IP actuelle 2001: 470: b4ea: babe: D57: 15c8: 97b: 60c9 appartient à Hurricane Electric aux Etats-Unis. Le serveur réel où le tunnel IPv4-IPv6 J'utilise termine est en Suisse, mais je suis en Autriche. Il publie tout cela, donc si vous entrez l'adresse IP dans un outil de soutien RWhois comme cette , vous trouveront les données de contact de HE et somwhere près du fond que vous voyez

  

Contact: Nom: Particulier - Hurricane Electric

     

Contact: Rue-Adresse: Résidence privée

     

Contact: Pays-Code: AT

qui est ma position.

Peu de fournisseurs publient des qui, et pas beaucoup d'outils de géolocalisation prennent en charge, mais au moins il existe.

La plupart des fournisseurs de géolocalisation IP (de ceux qui soutiennent IPv6, certains ne toujours pas) mettre cette adresse IP en Suisse, certains même aux États-Unis.

est mauvais Geolocalisation, mmkay? Internet est l'emplacement agnostique, et j'ai jamais vu utilisé pour quelque chose geolocation non trivial-non-mal. à savoir, les seules bonnes applications que j'ai vu (sélection de la langue) étaient trivial (pourrait tout aussi bien être un menu déroulant). de nombreuses applications existent mal (cette vidéo pas disponible dans votre pays, en ciblant mon emplacement physique pour les annonces et suivi) nous ne pouvons pas décourager quelque chose comme ça d'exister, mais nous devons pousser pour le rendre illégal ou au moins socialement inacceptable d'utiliser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top