2009-07-22 22 views
18

Sto lavorando su una libreria di geolocalizzazione IP che utilizza i primi tre ottetti di un indirizzo IPv4 per determinare il paese, la città, il lat, il lon, ecc. Di un utente. Funziona come un incantesimo.Geolocalizzazione con IPv6?

Ma non gestisce gli indirizzi IPv6 e mi piacerebbe farlo.

C'è un modo per trasformare un indirizzo IPv6 per ottenere l'equivalente dei primi tre ottetti di un indirizzo IPv4 oppure si trovano su uno schema di numerazione completamente diverso, che richiede una mappatura ipgeo completamente diversa?

+0

Puoi dirmi quale parte delle specifiche IPv6 ti ha portato a credere che ci sia una corrispondenza tra l'indirizzo IPv6 e la posizione geografica? –

+0

Si potrebbe voler vedere quanto segue, almeno per quanto riguarda Mobile IPv6: http://www.rfc-editor.org/rfc/rfc4882.txt –

+0

Hmmmmmmmm ... Beh, non c'è nulla di inerente alla specifica IPv4 che implica qualsiasi informazione sulla posizione geografica. È una coincidenza conveniente (o scomoda, se non vuoi che le persone sappiano in che città ti trovi) che la geolocalizzazione può essere realizzata con IPv4, basandosi solo sul fatto che i blocchi di indirizzi IP tendono ad essere assegnati agli ISP regionali. E in realtà, non stavo chiedendo una funzionalità di geolocalizzazione intrinseca in IPv6, solo per una trasformazione da un indirizzo IPv6 ai primi tre-ottetti equivalenti di un indirizzo IPv4, se tale mappatura esiste. – benjismith

risposta

16

Il typical IPv6 allocation è A/32 (quattro ottetti) ad un provider Internet (che può essere una multinazionale), poi /48 (six octets) ad un sito fine (tipicamente un'organizzazione cliente). È possibile ottenere un punto di partenza nello IANA list of delegated blocks.

Questo è solo per le registrazioni trovate nei database del RIR. In genere l'assegnazione per la fine degli utenti non viene registrata, il mio indirizzo attuale, 2a01:e35:8bd9:8bb0:92b:8628:5ca5:5f2b indicherà solo che la sede del mio provider è a Parigi (poiché è un'azienda nazionale, i clienti possono essere ovunque in Francia).

Un'altra eccezione è rappresentata dalle assegnazioni PI (Provider Independent), che in genere sono /48.

Inoltre, esistono molti database di geolocalizzazione per IPv4 e, per la mia conoscenza di , nessuno per IPv6. Dovrai fare tutto da solo.

In sintesi: più lavoro di quanto tu creda apparentemente.

+2

Esattamente le informazioni che mi servono. La soluzione al mio problema, quindi, è questa: non implementare la geolocalizzazione per gli indirizzi IPv6. – benjismith

0

Dal momento non sembra essere un modo semplice per farlo ancora, forse, avremo l'opportunità di fare qualcosa che non è stato fatto nel caso di IPv4 (*)

Potremmo fermarci e chiederci se questa è una buona idea.


(*) O se è stato fatto, non ha funzionato!

1

I servizi e le librerie di geolocalizzazione di maxmind.com gestiscono IPv6 OK. Forse la loro roba è un'opzione per te. (Non ho alcuna affiliazione con loro.)

+0

il collegamento a MaxMind ipv6 è [qui] (http://www.maxmind.com/app/faq#ipv6) – Jehiah

2

amichevole correzione al commento di Noah (3 giugno alle 7:57) -

di Per MaxMind servizi client reparto (sottolineatura mia): "IPv6 non è al momento supportato. A un certo momento, in futuro, prevediamo di implementarlo ma al momento non abbiamo una data. "

+3

[MaxMind] (http://www.maxmind.com/app/faq#ipv6) supporta ipv6 now – Jehiah

1

geolocalizzazione è male, mmkay? Internet è indipendente dall'ubicazione geografica, e io ho mai visto la geolocalizzazione usata per qualcosa di non banale-non-malvagio. cioè, le uniche buone applicazioni che ho visto (selezione della lingua) sono state banali (potrebbero facilmente essere un dropdown). esistono molte applicazioni malvagie (questo video non è disponibile nel tuo paese, targeting per la mia posizione fisica per annunci e tracciamento) non possiamo scoraggiare qualcosa di simile dall'esistere, ma dovremmo spingere a renderlo illegale o almeno socialmente inaccettabile da usare.

+10

Sono completamente in disaccordo. La geolocalizzazione è estremamente preziosa per le aziende per molte ragioni. Un semplice esempio è la prevenzione delle frodi. – snurre

+4

Uso la geolocalizzazione per precentrare una mappa di google più vicina a dove si trova l'utente. Rende l'applicazione più intuitiva e facile da usare. Qual è il grosso problema? – thoughtpunch

+2

La geolocalizzazione sceglie sempre la mia casa come in un luogo a circa 100 miglia da dove vivo. E quando vado in siti web che lo usano dal lavoro, tutti pensano che io sia a New York quando sono a Londra. È peggio che inutile nel mio caso. – jcoder

2

IPv6 utilizza uno schema di indirizzamento completamente diverso rispetto a IPv4.Non è possibile mappare gli indirizzi IPv6 agli indirizzi IPv4, con un'eccezione. Se vedi gli indirizzi IPv6 che iniziano con 2002: allora l'indirizzo è un indirizzo 6to4. Probabilmente non vedrai molti di quelli in uso e sono deprecati, ma quelli sono mappabili a IPv4.

Ogni utente di un indirizzo IPv4 pubblico può utilizzare un/48 (65536 sottoreti) di spazio IPv6. Questi indirizzi iniziano sempre con il 2002: i successivi due numeri esadecimali sono l'indirizzo IPv4. Quindi 2002: 5389: 1164: corrisponde a indirizzo IPv4 di mia webserver (83.137.17.100):

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

Ma tutte le 'normali' indirizzi IPv6 sono completamente estranei a qualsiasi indirizzo IPv4. Almeno in un modo standard. Un ISP potrebbe definire una relazione tra gli indirizzi IPv4 e IPv6 quando distribuisce IPv6 ai propri clienti. Ma non saprai di questa relazione quindi sarà inutile per te ...

0

Se leggi un numero di ipv6, indirizzo e meccanismo di transizione su wiki, troverai alcuni schemi di indirizzi IPv6 che potrebbero dedurre un ipv4 (siit, ipv6-mapped ipv6, nat64, 2002: * cosa scritta sopra, ecc.). Uno di loro per iniziare: http://en.wikipedia.org/wiki/IPv6_transition_mechanisms

io non ci conterei questi schemi di essere abbastanza popolare per fare i soliti rapporti geo, protezione contro le frodi, o rilevamento degli incidenti, ma avrei sicuramente dare la precedenza ad una ricerca geo ipv4 per tale indirizzi IPv4 inferti su una ricerca di indirizzi IPv6 (supponendo che il db ipv4 sia più completo).

La mia preoccupazione per le informazioni geografiche di ipv6 è il numero incredibilmente elevato di sottoreti. I database diventeranno più grandi (più intervalli di ip), che è previsto ma per la stessa quantità di informazioni geografiche del terminale, i database saranno più rari e l'albero più profondo è anche più lungo per iterare (per l'implementazione che utilizza alberi binari o radix) che implica alcuni costo delle prestazioni. Probabilmente anche i database geografici che utilizzano tabelle sql con intervalli ip risentiranno, dal momento che non disponiamo di big-bigint di 128 bit, che io sappia, per usare l'aritmetica.

Un'altra preoccupazione è il cellulare: ipv6 è progettato per facilitare il roaming, se non sto sbagliando. Potresti cambiare le celle e mantenere il tuo IP. forse anche cambiando città, regione o paese. In qualche modo dubito che dal momento che una forte affinità di indirizzo fosse lo scopo di un indirizzo MAC. Gli indirizzi IP esistono esattamente per lo scopo del routing, ma penso che sia giusto menzionare che potrebbero diventare abbastanza invarianti per paralizzare l'accuratezza della posizione geografica, ovviamente.

Ritengo che la collaborazione di agenti utente/browser a livello di applicazione (ad esempio, un'intestazione di località geografiche) sia probabile il futuro, anche se questo può essere falsificato da persone dispettose.

0

C'è un protocollo chiamato Referral Whois che consente ai provider di pubblicare le informazioni di geolocalizzazione IP e altri per recuperarlo.

Ad esempio, il mio IP corrente 2001: 470: b4ea: babe: d57: 15c8: 97b: 60c9 appartiene a Hurricane Electric negli Stati Uniti. Il server attuale in cui termina il tunnel IPv4-IPv6 che uso è in Svizzera, ma io sono in Austria. Pubblica tutto questo, quindi se si immette l'indirizzo IP in uno strumento di supporto RWhois come this, troverete i dati di contatto di HE e somwhere vicino alla parte inferiore che si vede

contatto: Nome: cliente privato - Hurricane elettrico

contatto: Street-Indirizzo: Private Residence

contatto: Paese-Codice: AT

che è la mia posizione.

Non molti provider lo pubblicano, e non molti strumenti di geolocalizzazione lo supportano, ma almeno esiste.

La maggior parte dei provider di geolocalizzazione IP (di quelli che supportano IPv6, alcuni ancora non lo fanno) metta questo IP in Svizzera, alcuni anche negli Stati Uniti.