5 poin oleh GN⁺ 2023-09-15 | 1 komentar | Bagikan ke WhatsApp
  • Basis data geolokasi IP menghubungkan rentang IP ke negara, kota, kode pos, zona waktu, dan koordinat, dan ipapi.is menyediakan basis data gratis dalam format CSV serta basis data komersial dalam format CSV/MMDB
  • Edisi gratis tidak mencakup seluruh ruang IPv4 dan IPv6 serta akurasinya lebih rendah, tetapi edisi komersial adalah basis data lengkap yang digunakan pada field location di API dan diperbarui setidaknya dua kali seminggu
  • Jika ingin membangunnya sendiri, Anda perlu memanfaatkan geoloc dan geofeed dari WHOIS, inferensi lokasi dari alamat dan field deskripsi WHOIS, serta proyek publik seperti RIPE IPmap, geofeed-finder, dan OpenGeoFeed secara bersama-sama
  • Akurasi bisa goyah jika jaringan tersebar di beberapa wilayah atau IP dialokasikan ulang maupun disewakan; per Juli 2023, cakupan geoloc di RIPE NCC berada di 2,3%, sedangkan cakupan URL geofeed berada di 0,17%
  • Data yang dikumpulkan memerlukan pengayaan dan normalisasi seperti mencari koordinat dari kota dan negara, atau mencari kota terdekat dari koordinat, dan ipapi.is memanfaatkan file informasi kode pos, kota, dan negara dari GeoNames

Struktur basis data geolokasi IP

  • IP to Geolocation Database adalah basis data yang menyimpan informasi geolokasi untuk setiap rentang IP
  • Alamat IP dapat diberi geolokasi dengan informasi berikut
    • negara, kota, provinsi, kode pos
    • zona waktu
    • lintang, bujur
  • Basis data ipapi.is dibagi menjadi edisi gratis dan komersial
    • Edisi gratis dapat diunduh dalam format CSV
    • Edisi komersial tersedia dalam format CSV dan MMDB
    • Edisi komersial mencakup seluruh ruang IPv4 dan IPv6
    • Edisi gratis hanya mencakup sebagian ruang IPv4 dan IPv6
  • Basis data komersial diperbarui setidaknya dua kali seminggu

Perbedaan antara edisi gratis dan komersial

  • Basis data geolokasi IP gratis memiliki lebih sedikit entri dibanding edisi komersial dan tidak mencakup seluruh ruang alamat IPv4 maupun IPv6
  • Edisi gratis memiliki akurasi geolokasi yang lebih rendah
  • Sumber utama edisi gratis adalah data WHOIS dan RFC 8805 Geofeeds
  • Basis data komersial adalah basis data lengkap yang digunakan pada field location di API ipapi.is
  • Edisi komersial menghitung lokasi dengan menggabungkan berbagai sumber
    • catatan WHOIS
    • pengukuran latensi aktif berbasis ping dan traceroute
    • RFC 8805 Geofeeds
    • lookup DNS balik

Format basis data dan field akurasi

  • File basis data tersedia dalam format CSV atau MMDB
  • Field utama memuat rentang IP, lokasi, koordinat, dan akurasi
    • ip_version: IPv4 adalah 4, IPv6 adalah 6
    • start_ip, end_ip: IP awal dan akhir dari rentang jaringan
    • continent, country_code, country, state, city, zip
    • timezone, latitude, longitude
    • accuracy
  • accuracy menunjukkan estimasi ketepatan informasi geolokasi dalam skala 1 sampai 5
    • 1: akurasi sangat tinggi, biasanya dapat dipercaya pada tingkat kota
    • 2: akurasi tinggi, umumnya dapat dipercaya pada tingkat kota
    • 3: akurasi sedang, sulit dipercaya pada tingkat kota
    • 4: akurasi rendah, biasanya akurat pada tingkat negara
    • 5: akurasi sangat rendah, hanya diharapkan akurat pada tingkat negara

Cara memeriksa sampel MMDB

Pemanfaatan dan keterbatasan geolokasi IP

  • Geolokasi IP adalah proses memetakan alamat IP ke lokasi geografis yang ditentukan oleh lintang dan bujur
  • Bisnis online dan penyedia layanan memanfaatkan informasi geolokasi untuk berbagai keperluan
    • iklan tertarget
    • deteksi dan pencegahan penipuan
    • pelokalan konten
    • DRM dan kepatuhan regulasi
    • keamanan jaringan
    • analitik dan insight
  • Ada alasan struktural mengapa geolokasi IP tidak selalu akurat
    • jaringan IPv4 atau IPv6 yang telah dialokasikan bisa tersebar secara geografis
    • ada jaringan yang dirancang melintasi banyak wilayah, seperti jaringan seluler atau satelit
    • lokasi dapat berubah jika Regional Internet Registry atau perusahaan penyewaan IP mengalokasikan ulang atau menetapkan ulang jaringan IP
  • Geolokasi alamat IP memang kompleks, tetapi tetap dapat memberikan akurasi yang sulit diabaikan dalam API alamat IP

Pekerjaan yang dibutuhkan jika membangun dari nol

  • Setiap alamat IP di internet dimiliki atau dikelola oleh organisasi tertentu
  • Regional Internet Registry (RIR) seperti ARIN dan APNIC menyimpan informasi kepemilikan di basis data WHOIS
  • Catatan WHOIS tidak selalu memuat informasi geolokasi untuk jaringan yang dialokasikan
  • Organisasi pemilik jaringan dapat menggunakan IP di lokasi geografis mana pun yang diinginkan, dan juga dapat mengalokasikannya ke pihak ketiga atau menyewakan blok IP
  • Pengumpulan informasi geolokasi secara umum terbagi menjadi tiga jalur besar
    • mengekstrak data geolokasi langsung seperti geoloc dan geofeed dari catatan WHOIS
    • melakukan inferensi lokasi tidak langsung dari alamat pos, deskripsi, dan informasi negara di WHOIS
    • memanfaatkan proyek publik seperti RIPE IPmap, geofeed-finder, dan OpenGeoFeed

Data geolokasi langsung per RIR

  • RIPE NCC

    • Objek inetnum dan inet6num di RIPE NCC mengalokasikan jaringan IP ke organisasi
    • Informasi geolokasi dapat disediakan melalui dua atribut: geoloc dan geofeed
    • geoloc menyimpan lintang dan bujur sebagai string
    • Contoh: 47.855374 12.132041
    • Per Juli 2023, basis data RIPE NCC memiliki 4.190.644 objek inetnum dan 819.381 objek inet6num
    • Di antaranya, 114.389 objek memiliki atribut geoloc, dengan cakupan total 2,3%
    • geofeed berisi URL file CSV dalam format RFC 8805
    • URL geofeed dapat dicatat dalam atribut geofeed khusus atau dalam format Geofeed {URL} di atribut remarks
    • Per Juli 2023, RIPE NCC memiliki 6.643 URL geofeed di atribut remarks dan 2.035 catatan WHOIS dengan atribut geofeed
    • Cakupan URL geofeed hanya 0,17%, tetapi angka ini bisa menyesatkan karena satu file geofeed dapat mencakup banyak jaringan
  • ARIN

    • ARIN menyediakan informasi geolokasi dengan menaruh URL geofeed di atribut Comment pada objek NetRange
    • Ada permintaan untuk menambahkan atribut geofeed khusus, tetapi ditolak dengan alasan atribut Comment atau Remark sudah memadai
    • Berbeda dari RIPE NCC, basis data ARIN tidak menggunakan atribut geoloc
  • LACNIC

    • LACNIC lebih proaktif dalam dukungan geolokasi dibanding ARIN
    • LACNIC menjalankan Geofeed Service yang memungkinkan anggota menyediakan informasi geolokasi untuk alamat IP yang mereka miliki
    • Data publik tersedia di milacnic.lacnic.net/lacnic/geofeeds
    • Basis data WHOIS LACNIC pada dasarnya menyediakan informasi geolokasi sampai tingkat kota
    • Basis data LACNIC dapat diunduh dari server FTP ftp.lacnic.net/lacnic/dbase/
  • AFRINIC dan APNIC

    • AFRINIC menyatakan tidak menyediakan layanan geolokasi dan juga tidak memiliki hubungan resmi maupun operasional dengan penyedia geolokasi
    • Mirip RIPE NCC, AFRINIC mendukung penggunaan URL geofeed di atribut remarks
    • APNIC mendukung geolokasi pada tingkat yang hampir sama dengan RIPE NCC
      • atribut geoloc
      • URL geofeed di atribut remarks
    • APNIC tampak terbuka untuk meningkatkan dukungan geolokasi

Cara menginferensikan lokasi dari WHOIS

  • Tujuan utama WHOIS adalah menyediakan informasi pendaftar organisasi pemilik nomor internet seperti alamat IP atau nomor AS
  • WHOIS sering memuat alamat pos dan negara dari kantor pusat atau lokasi administratif organisasi
  • Kadang alamat pos organisasi cocok dengan lokasi penggunaan alamat IP, tetapi tidak selalu demikian
  • Untuk organisasi besar, alamat administratif bisa jadi tidak sesuai dengan lokasi semua alamat IP milik organisasi tersebut
  • Inferensi di RIPE NCC

    • Pada objek inetnum dan inet6num RIPE NCC, atribut yang dapat dimanfaatkan adalah sebagai berikut
      • country: hanya memberikan akurasi tingkat negara
      • descr: deskripsi jaringan yang dapat berisi informasi lokasi atau alamat
      • netname: sulit diparse dan reliabilitasnya rendah
      • address: secara ketat adalah atribut dari objek role, dan berisi alamat pos
    • Atribut country mengidentifikasi kode negara huruf ISO 3166-2, tetapi tidak menyatakan apakah negara tersebut adalah lokasi kantor pusat, pusat data, atau pengguna akhir
    • Atribut descr bersifat bebas, tetapi berguna untuk inferensi geolokasi karena organisasi kadang memasukkan lokasi jaringan dan informasi alamat di sana
    • address dapat memberi akurasi tinggi, tetapi asumsi bahwa alamat pos pada objek role sama dengan lokasi penggunaan alamat IP dapat menyebabkan kesalahan
  • Inferensi di ARIN

    • Di ARIN, atribut WHOIS berikut relatif dapat dipercaya untuk organisasi kecil atau organisasi yang terkonsentrasi di satu lokasi
      • Address
      • City
      • StateProv
      • PostalCode
      • Country
    • Organisasi seperti universitas, rumah sakit, atau instansi pemerintah kadang menggunakan alamat IP pada lokasi yang sama dengan alamat pos administratif pada objek NetRange
    • Untuk perusahaan besar atau organisasi berskala nasional yang memiliki banyak NetRange, alamat pos administratif bisa tidak sesuai dengan lokasi penggunaan IP yang sebenarnya
    • Pada contoh Google Fiber, jika memakai alamat WHOIS maka lokasinya terdeteksi sebagai Mountain View, California, tetapi sebagian besar penyedia geolokasi menempatkan IP tersebut di San Antonio, Texas
  • LACNIC, AFRINIC, APNIC

    • Karena LACNIC menyediakan geolokasi dalam basis data WHOIS, inferensi terpisah tidak diperlukan
    • AFRINIC menggunakan format basis data WHOIS yang sama dengan RIPE NCC, sehingga prinsip yang sama dapat diterapkan
      • country, descr
      • address pada objek role
    • APNIC juga menggunakan format basis data WHOIS yang sama dengan RIPE NCC, sehingga prinsip yang sama berlaku

Proyek geolokasi publik

  • RIPE IPmap

    • RIPE IPmap adalah API yang menyediakan data geolokasi untuk infrastruktur internet inti
    • Tampaknya proyek ini tidak lagi dipelihara, dan terlihat tidak ada kontribusi baru sejak 2019
    • RIPE IPmap menginferensikan geolokasi alamat IP dengan beberapa mesin
    • Mesin latency dan single-radius menggunakan hasil pengukuran RIPE Atlas untuk memberikan radius latensi bagi alamat IP
    • Nilai RTT minimum memberikan batas atas jarak maksimum yang mungkin, karena kecepatan cahaya dalam media serat optik
    • Mesin reverse-dns mengekstrak geolokasi tingkat kota dari nama host pada catatan PTR
    • Basis data RIPE IPmap dapat diunduh dari https://ftp.ripe.net/ripe/ipmap/
    • Menurut situs web mantan pemeliharanya, akurasi dan cakupan proyek ini telah menurun cukup besar
  • geofeed-finder

    • geofeed-finder adalah alat open source untuk menemukan dan mengambil file geofeed dari data WHOIS
    • Alat ini juga melakukan verifikasi kepemilikan prefix, pengelolaan cache, dan validasi kode ISO
    • Sesuai RFC 9092, geofeed dapat diekstrak dari data WHOIS
    • Karena cakupan informasi geofeed di seluruh jaringan sangat rendah, kegunaan praktisnya terbatas
  • LACNIC Geofeeds Service dan OpenGeoFeed

    • LACNIC Geofeeds Service menyediakan informasi geolokasi untuk cukup banyak anggota LACNIC
    • Datanya tersedia untuk diunduh secara publik di milacnic.lacnic.net/lacnic/geofeeds
    • Ini adalah proyek penting karena memungkinkan pengumpulan informasi geolokasi pada tingkat RIR
    • OpenGeoFeed adalah proyek open source yang mengumpulkan geofeed publik mandiri sesuai RFC 9092
    • OpenGeoFeed menyediakan satu file berisi geofeed publik yang diketahui: opengeofeed.org/feed/public.csv
    • OpenGeoFeed menjanjikan, tetapi cakupan geofeed tampaknya tidak mutakhir dan sumber datanya kecil kemungkinan sering diperbarui

Pengayaan dan normalisasi data

  • Data geolokasi mentah yang dikumpulkan dari berbagai sumber bisa tidak lengkap atau tidak konsisten
  • Bisa muncul catatan yang memiliki informasi negara dan kota tetapi tidak punya koordinat, dan ada juga yang punya koordinat tetapi tidak punya informasi negara dan kota
  • Jika catatan mentah hanya memuat negara, akurasinya sulit melampaui tingkat negara
  • Data yang dikumpulkan perlu diperkaya dan ditransformasikan ke format yang seragam
  • Pengayaan data dilakukan menggunakan basis data geografi open source
  • Pekerjaan pengayaan terbagi menjadi dua kasus
    • mencari lintang dan bujur dari pasangan kota dan negara
    • mencari kota dan negara terdekat dari lintang dan bujur
  • ipapi.is menggunakan basis data berikut untuk pengayaan informasi geolokasi

1 komentar

 
GN⁺ 2023-09-15
Komentar Hacker News
  • Saya sudah menikmati tulisan-tulisannya bahkan sebelum bergabung dengan IPinfo, dan di IPinfo kami menyediakan layanan data geolokasi IP
    Kami memakai metodologi yang lebih diperluas daripada cara yang dijelaskan di sini; sebagian dataset publik juga dimanfaatkan, tetapi data lokasi inti berasal dari pengukuran berbasis ping
    Kami mengirim ping ke alamat IP dari berbagai server di seluruh dunia, lalu mengidentifikasi lokasi dengan multilaterasi (multilateration). Ping dari satu server hanya memberi informasi satu dimensi bahwa lokasinya berada di suatu tempat dalam radius tertentu, tetapi jika diulang dari banyak server, lokasinya makin lama makin presisi
    Dengan pengukuran yang cukup, presisinya bisa mendekati tingkat kode pos, dan saat ini kami memiliki lebih dari 600 server deteksi di seluruh dunia serta terus menambahnya
    Data publik sudah usang atau jarang diperbarui, umumnya tidak cukup presisi untuk berguna, dan sering kali hanya menyediakan lokasi untuk rentang IP besar atau tingkat organisasi
    Selain itu, dataset publik tidak memiliki proses verifikasi. Seiring meningkatnya transaksi IPv4 dan layanan VPN, kami pernah melihat kasus informasi yang tidak akurat disuntikkan; karena itu kami dengan senang hati menerima laporan koreksi lokasi IP, tetapi selalu memverifikasinya
    Dari pengalaman menjalankan jaringan deteksi, membeli server di New York jauh lebih mudah dan murah daripada di negara mana pun di Afrika Tengah. Lokasi sebuah alamat IP sangat memengaruhi nilai yang bisa diberikan IP tersebut
    Kami juga menyediakan database IP-to-Country ASN gratis yang bisa digunakan untuk proyek: https://ipinfo.io/developers/ip-to-country-asn-database

    • Saya penasaran tulisan mana yang Anda maksud. Apakah tulisan di https://incolumitas.com/, atau tulisan di [https://ipapi.is/](https://ipapi.is/?
      Ide triangulasi latensi bagus. Saya sudah menggunakan informasi latensi untuk berbagai keperluan seperti deteksi VPN dan proxy, tetapi tidak terpikir bahwa lokasi yang seakurat itu bisa diperoleh dengan cara tersebut
      Dengan 600 server, triangulasi latensi tampaknya bisa menghasilkan perkiraan yang cukup baik, dan itu mengesankan
      Namun ada beberapa hal yang membuat saya penasaran. Sebagian ISP menangani traffic ICMP dengan prioritas rendah atau menurunkan performanya; bagaimana cara mengatasinya? Untuk melakukan geolokasi semua IPv4, Anda harus terus mengirim ping ke miliaran alamat; apakah Anda hanya mengukur satu IP acak dari tiap inetnum/NetRange yang dialokasikan? Karena sebagian besar alamat IP tidak merespons ICMP, apakah Anda mencari router di depan target dan menentukan lokasi router tersebut?
    • Alamat anycast sulit ditentukan “lokasinya” dari waktu respons ICMP, dan sebagian di antaranya terhubung dengan lokasi logis tersendiri. Contohnya bisa dilihat di https://blog.cloudflare.com/icloud-private-relay/
    • Sebagai penggemar sekaligus pelanggan IPinfo, kami menggunakan API-nya untuk menaruh kalimat seperti “Anda baru saja login dari Berlin, Jerman. Jika ini bukan Anda, klik di sini” pada email notifikasi login
      Kami juga memakainya untuk menyediakan data negara pada log audit pelanggan, serta untuk pencegahan spam dan deteksi fraud
    • Saya penasaran apakah Anda pernah mempertimbangkan agar database bisa diunduh dalam format Parquet
      Dengan begitu file bisa disalin ke S3, Google Cloud, dan sebagainya lalu langsung di-query dengan berbagai tool. Memang bisa juga dengan CSV, tetapi tidak semulus itu
    • Saya dulu penasaran bagaimana lokasi alamat IP diketahui ketika tidak ada sumber informasi yang sudah ada; penjelasan ini persis hal yang ingin saya ketahui, jadi sangat menarik
  • Jika tidak ingin mengimplementasikannya sendiri, Anda bisa membuat Cloudflare melakukannya secara gratis dengan Cloudflare Worker sederhana. Semua request Cloudflare berisi informasi lokasi IP secara kasar
    Anda juga bisa mengirim request ke URL ini yang dijalankan dengan Cloudflare Worker. Latensinya akan rendah secara global: https://www.edenmaps.net/iplocation
    Untuk aplikasi kecil, boleh saja dipakai; hanya saja jangan mengirim 10 juta request per hari

    • Lebih baik mengunduh dan memakai database IP daripada membagikan kepada pihak ketiga alamat IP mana saja yang kemungkinan mengakses layanan
    • Katanya lokasi saya 100 km lepas pantai Somalia, padahal sebenarnya saya berada di Brussel, Belgia. Terima kasih atas perlindungan privasinya :D
    • Saya penasaran apakah ada yang tahu seberapa akurat geolokasi Cloudflare pada request Worker
    • Bagus sekali. Kalau memungkinkan, saya penasaran apakah kodenya bisa dipublikasikan sebagai open source
    • Saya berada di München, tetapi Cloudflare menunjuk ke hutan acak 730 km ke arah utara
  • Karena saya tinggal di negara yang bahasa resminya bukan bahasa ibu saya, saya sangat membenci situs web yang menebak bahasa dari lokasi IP lalu memaksakannya
    Padahal browser mengirim header bahasa dengan sangat jelas, tetapi mereka mengabaikannya dan menentukan bahasa berdasarkan asumsi malas

    • Saya bekerja di layanan geolokasi IP, tetapi saya juga membenci hal ini
      Di industri, ini disebut “personalisasi pengalaman web”, tetapi caranya menyebalkan. Saya tidak pernah merekomendasikan siapa pun untuk melakukannya
      Jika ingin mempersonalisasi situs web dengan geolokasi IP, yang terbaik paling-paling untuk hal seperti pajak, ongkos kirim, atau menaruh negara pengguna di posisi paling atas pada dropdown pemilihan negara
      Selain itu, hampir tidak ada yang terpikir. Terjemahan biasanya tidak berjalan baik dan hanya mengganggu. Sekalipun situs web punya niat baik, membuat versi bahasa lokal dengan Google Translate bukanlah ide bagus
    • Saya tinggal di AS, tetapi geolokasi IP di semua perangkat saya menunjuk ke wilayah yang salah
      Jarang ada teknologi yang merusak pengalaman internet sehari-hari sebesar database seperti ini
      Saya berharap teknologi ini hilang saja
      Daripada situs web selalu menebak dengan salah dan menyembunyikan alur koreksi di balik banyak tautan serta pemuatan halaman, lebih baik minta kode pos pada pemuatan pertama
      Selain itu, tidak ada cara untuk memperbaiki database agar menjadi “jawaban benar” atau “jawaban yang lebih baik”. Sebab hampir tidak pernah situs web benar-benar ingin memakai lokasi saat ini
      Biasanya orang mengecek stok toko di tempat yang akan mereka datangi nanti. Seluruh bidang ini pada dasarnya mencoba memecahkan masalah yang salah didefinisikan
    • Rasa frustrasi yang sama begitu besar sampai saya menulis artikel terkait: https://www.fer.xyz/2021/04/i18n
  • Tergantung pada kegunaan dan tingkat akurasi yang dibutuhkan
    Cara terbaik untuk membuat layanan geolokasi adalah memiliki 1 miliar perangkat yang melaporkan lokasi dan IP mereka secara bersamaan. Praktisnya, Apple dan Google berada di posisi ini
    Karena mereka menerima pembaruan IP dan lokasi secara terus-menerus, mereka memiliki basis data geolokasi terbaik di dunia
    Kuncinya adalah membuat aplikasi yang membuat orang secara sukarela memberikan lokasi mereka, lalu membuat banyak orang memakai aplikasi itu. Itu sebabnya sekarang semua aplikasi meminta izin lokasi
    Foursquare sudah menuju arah yang benar, tetapi terlalu cepat masuk pasar

    • Bahkan 10 tahun lalu, kebijakan privasi internal Apple mencegah Apple mengumpulkan lintang/bujur yang presisi
      Untuk menentukan endpoint mana yang optimal bagi IP atau subnet tertentu, kami harus memakai telemetri sesi HTTP, dan hasilnya kami membangun basis data mirip GeoIP sendiri berdasarkan kondisi nyata
      Meski begitu, karena alasan privasi, data itu harus dipertahankan sesementara mungkin. Hasil reverse geocoding dari Apple Maps tidak boleh digunakan atau dicatat di luar konteks permintaan pengguna real-time seperti mencari restoran terdekat
  • Sedikit terkait, Google Maps bisa mempelajari lokasi IP berdasarkan lokasi mana yang Anda jelajahi di peta
    Jika Anda melihat lokasi tertentu cukup sering, meski semua cookie dihapus, saat membuka Google Maps lokasi itu akan dipakai sebagai lokasi default
    Saya menyadarinya saat memakai Google Maps, dan mengingat beberapa orang bisa berbagi alamat IP yang sama, aspek privasinya agak mengkhawatirkan

    • Kemungkinan besar justru sebaliknya. Sepertinya Google memiliki basis data geolokasi IP yang sangat bagus, dan menggunakannya untuk lokasi penjelajahan ketika tidak ada informasi lain
    • Jadi kadang saya ditampilkan berada di sungai tempat saya sering mendayung, dan kadang di lokasi rumah musim panas saya
    • Ini juga digunakan untuk Google Workspace dan lokalisasi data, serta menentukan yurisdiksi lembaga penegak hukum
  • Menarik, tetapi saya rasa penentuan geolokasi sebenarnya tidak dilakukan seperti ini
    Data ARIN/RIPE tidak cukup akurat di luar tingkat negara, sehingga tidak terlalu berguna
    Geolokasi komersial mengorelasikan IP klien dengan lokasi fisik yang diketahui. Misalnya informasi AP WiFi atau paket yang dikirim ke pengguna. Setidaknya begitulah yang saya dengar selama puluhan tahun

    • Saya bekerja di bidang teknologi iklan, dan begitulah kami menangani geolokasi
      Ada juga geolokasi perangkat, tetapi jika pengguna tidak menyetujui berbagi data GPS, untuk targeting kami hanya memakai alamat IP. Penyedia yang umum adalah MaxMind, yang mendistribusikan basis data untuk di-host secara lokal dan di-query
  • Komentar-komentarnya cukup sinis, tetapi secara pribadi saya merasa ini sangat menarik
    Ini mengingatkan saya pada pekerjaan pertama saya, saat menambahkan PostGIS dan pencarian berbasis lokasi ke basis data. Waktu itu berbasis alamat dan kode pos

    • Di MySQL juga bisa dilakukan relatif sederhana. Salah satu triknya adalah memakai persegi alih-alih lingkaran, sehingga banyak perhitungan matematika bisa dihindari
  • Cukup lama lalu saya membuat http://www.hostip.info. Itu adalah layanan yang mengumpulkan lokasi alamat IP secara komunitas, dengan pendekatan seperti “Apakah perkiraan ini salah? Tolong perbaiki”
    Terakhir kali saya memeriksanya mungkin sekitar 10 tahun lalu; negaranya hampir sempurna, wilayahnya belum lengkap, dan kotanya lebih baik daripada tebak-tebakan koin. Semua datanya gratis
    Saya tidak tahu apakah masih ada di situsnya, tetapi dulu ada kubus 3D berputar untuk menampilkan alamat yang diketahui atau kueri terbaru. x, y, z adalah tiga oktet pertama alamat, dan warnanya dibedakan berdasarkan grup seperti negara dan benua
    Karena sudah sangat lama, itu ditulis sebagai applet Java. Kalau membuatnya lagi, saya rasa akan memakai WebGL
    Saya menjualnya lama sekali, tetapi memberi syarat bahwa datanya harus selalu tetap gratis. Awalnya saya tidak percaya karena tawaran lewat email tampak seperti penipuan, tetapi semuanya berjalan lancar lewat escrow.com, dan saya rasa kedua pihak berakhir puas. Itu sekarang sudah hampir 20 tahun lalu

  • Ini tampak seperti versi modern dari GeoIP berbasis ping yang disebutkan sebelumnya: https://github.com/Ne00n/yammdb

    • Karena hanya ditautkan sebagai file mmdb yang sudah dikompilasi, jika implementasinya tidak dipublikasikan, tidak ada hal terkait yang membuat apa pun layak disebut implementasi “modern”
  • Saya penasaran dengan usulan tentang cara melakukan geolokasi IP pusat data meski hanya secara sangat kasar
    Saya sedang menganalisis data traceroute dan mengetahui lokasi awal serta akhir, tetapi yang menarik adalah segmen di tengah
    Misalnya, sebagian informasi bisa diinferensikan dari kode bandara yang ada di nama host node
    Dengan asumsi kondisi node tertentu tidak buruk, sepertinya lokasi juga bisa diinferensikan dari rata-rata waktu RTT
    Contoh IP yang merepotkan adalah 193.142.125.129, 129.250.6.113, dan 129.250.3.250. IP-IP itu muncul di traceroute Inggris dan saya menganggapnya berada di London, tetapi hasil geolokasinya tersebar ke seluruh dunia

    • IP-IP tersebut dimiliki Google dan NTT, dan keduanya mengoperasikan jaringan internasional besar, sehingga jika mau mereka bisa memindahkan IP ke seluruh dunia. Karena itu geolokasi berbasis pencarian tidak stabil, seperti yang sudah Anda lihat
      Traceroute ke IP-IP itu tampak seolah jaringannya menuju London
      IP Google tidak merespons ping, tetapi pihak NTT/Verio merespons. Jika diping dari hosting berbasis London, besar kemungkinan responsnya satu digit milidetik, dan itu bisa memberi batas atas jarak dari London
      Dengan melakukan ping juga dari hosting lain di Inggris dan dari seberang Selat, Anda bisa memastikan apakah ping terendah memang berasal dari hosting London. Namun bisa saja konektivitasnya hanya melalui London sementara lokasi sebenarnya di tempat lain, jadi tidak bisa diketahui sepenuhnya
      Perlu juga dicek dari titik observasi lain untuk melihat apakah ini anycast atau bukan. Saat mem-ping 8.8.8.8 dari sebagian besar jaringan di seluruh dunia, hasilnya mengarah ke lokasi terdekat, tetapi traceroute ke IP-IP ini dari wilayah Seattle pun menuju London, jadi setidaknya saat ini kemungkinan besar bukan anycast
      Jika tidak punya hosting di seluruh dunia, Anda bisa mencari looking glass publik dari jaringan yang terhubung dengan baik untuk sesekali melakukan ping seperti ini
    • TULIP terlihat menjanjikan
      Disebutkan bahwa “tujuan TULIP adalah menemukan lokasi host target yang diidentifikasi dengan nama atau alamat IP, menggunakan pengukuran latensi ping RTT dari host landmark acuan yang lokasinya diketahui dengan baik ke target”
      https://tulip.slac.stanford.edu/
      Namun endpoint tujuan publikasinya tampaknya sudah mati
    • Ada beberapa ide di https://ensa.fi/papers/geolocation_imc17.pdf
      Cara mendapatkan RTT dari probe RIPE Atlas yang lokasinya diketahui ke IP tersebut mirip dengan ide yang disebutkan, dan bagaimanapun kemungkinan besar itu metode terbaik
    • Jika menjalankan aplikasi populer atau layanan web, Anda akan memiliki nomor AS sendiri, lalu membeli beberapa blok IP di bawah AS tersebut dan mengiklankan alamat-alamat itu dari berbagai pusat data milik sendiri atau sewaan di seluruh dunia
      Iklan BGP semacam ini akan keluar ke ISP upstream yang berbeda-beda di berbagai lokasi
      Jika upstream dari iklan yang berasal dari lokasi tertentu adalah ISP regional, Anda bisa memperkirakan sampai batas tertentu bahwa pusat data tersebut berada di wilayah itu. Namun jika upstream-nya adalah ISP Tier 1 yang menyediakan koneksi langsung global, bahkan perkiraan itu pun sulit
      Relasi BGP bisa dilihat di alat looking glass seperti bgp.tools: https://bgp.tools/prefix/193.142.125.0/24#connectivity
      Jika Anda bisa menjalankan traceroute dari banyak probe dengan lokasi diketahui yang tersebar di seluruh dunia, Anda bisa melakukan triangulasi dengan melihat IP tetap pada antarmuka router perantara
      Namun jika memakai CDN seperti Cloudflare untuk mengiklankan blok IP Anda dari 200 lebih PoP, lalu mengarahkan trafik melalui jaringan privat mereka ke pusat data di seluruh dunia, metode ini juga akan gagal