- Halaman interaktif yang memvisualisasikan secara real-time jalur yang ditempuh paket pengguna melalui internet hingga mencapai server situs web
- Program traceroute buatan sendiri,
ktr, mengumpulkan informasi tiap hop jaringan dengan memanfaatkan nilai TTL dari paket ICMP
- Situs web ini tetap berfungsi tanpa JavaScript, dan server mencerminkan hasil traceroute ke dalam HTML dalam bentuk streaming
- Untuk analisis jalur, situs ini menggunakan data WHOIS dan PeeringDB untuk menampilkan Autonomous System (AS) serta informasi perusahaan yang terkait dengan tiap IP
- Dengan menggabungkan traceroute dan struktur internet berbasis BGP, situs ini menunjukkan bahwa internet adalah sekumpulan jaringan yang tersusun dari hubungan peering antarperusahaan
Perjalanan Paket Anda
- Traceroute di bagian atas halaman menunjukkan jalur perpindahan paket dari komputer pengguna ke server
- Secara berurutan melewati jaringan seperti router, ISP, Amazon, NTT Global IP Network, dan Hetzner
- Beberapa bagian ditandai sebagai “(no response)”, yang berarti server di titik tersebut tidak memberikan respons
- Di dalam jaringan Hetzner, paket melewati beberapa router sebelum mencapai server tujuan
- Alamat IP
213.239.252.10 ditampilkan sebagai core0.fra.hetzner.com melalui reverse DNS lookup
Behind the Scenes
- Saat situs web menerima permintaan dari pengguna, server menjalankan traceroute dan mengirimkan hasilnya secara real-time
- Traceroute menggunakan protokol ICMP dan mengumpulkan respons dari tiap hop dengan menaikkan nilai TTL (Time To Live) satu per satu
- Ketika TTL menjadi 0, router terkait mengembalikan pesan galat, sehingga jalur yang dilalui paket dapat dilacak
ktr melakukan streaming hasil traceroute sambil secara bersamaan menelusuri informasi IP, ASN, dan jaringan pemilik untuk tiap hop
Frontend Fun
- Tetap berfungsi tanpa JavaScript, dan browser hanya mengenalinya sebagai halaman yang memuat dengan lambat
- Server mempertahankan koneksi HTTP sambil menyisipkan hasil traceroute ke dalam HTML secara berurutan
- Pada setiap pembaruan, efek pembaruan real-time dibuat dengan menyisipkan blok CSS untuk menyembunyikan hasil sebelumnya
Front to Back, Back to Front
- Sebenarnya, server menjalankan traceroute ke IP pengguna lalu menampilkan hasilnya dalam urutan terbalik
- Ini adalah bentuk “reverse traceroute”; meski jalur dua arah tidak selalu sepenuhnya sama, hasilnya umumnya menunjukkan jalur yang mirip
Jaringan dan Autonomous System (AS)
- Internet adalah jaringan antarjaringan milik perusahaan yang disebut Autonomous System (AS)
- Setiap AS memiliki ASN (Autonomous System Number) yang unik dan saling bertukar trafik melalui peering
- Internet adalah kumpulan jaringan yang dimiliki perusahaan, bukan individu, dan koneksinya ditentukan oleh kontrak finansial serta proses administratif
- ASN dapat diajukan melalui salah satu dari 5 Regional Internet Registry (RIR)
WHOIS dan PeeringDB
- Untuk menemukan AS tempat tiap IP pada traceroute berada, digunakan protokol WHOIS dan basis data PeeringDB
- WHOIS memiliki struktur sederhana: setelah koneksi TCP dibuat dan kueri dikirim, server mengembalikan informasi
- Karena nama field dan format berbeda-beda di tiap server, parser diimplementasikan sebagai simulator sederhana yang mendekati cara baca manusia
- PeeringDB menyediakan informasi perusahaan untuk sekitar sepertiga dari seluruh AS
BGP (Border Gateway Protocol)
- BGP adalah protokol inti yang menentukan bentuk internet, dengan menukar informasi rute antar-AS
- Border router mempertahankan tabel routing BGP yang menyimpan daftar ASN untuk setiap rute
- Ketika dua AS melakukan peering, router mereka membentuk sesi BGP dan bertukar route advertisement
- Di antara beberapa rute, router memilih rute terpendek atau yang memiliki preferensi lebih tinggi untuk meneruskan paket
Sejarah BGP
- Eksperimen jaringan yang dimulai dari ARPANET pada 1969 berlanjut ke RFC 1105 oleh Cisco dan IBM pada 1989, yang melahirkan BGP v1
- Setelah itu, BGP v2 (1990) dan v4 (1994) dirilis, dan v4 masih digunakan hingga sekarang
- BGP kemudian menjadi protokol standar untuk menentukan jalur konektivitas antarsemua jaringan di internet
Hubungan antara Traceroute dan BGP
- Contoh jalur: AS16509 → AS2914 → AS24940
- Amazon (AS16509) → NTT Global IP Network (AS2914) → Hetzner (AS24940)
- Bahkan dalam ASN yang sama pun bisa ada beberapa hop, yang ditangani oleh protokol routing internal atau rute statis
- Hubungan peering antar-AS menentukan keterjangkauan nyata di internet
Ringkasan
- Situs web menjalankan traceroute ke IP pengguna dan mengirimkan hasilnya sebagai stream HTTP
- Traceroute menggunakan TTL dari paket ICMP untuk memvisualisasikan jalur antar-router
- Setiap router termasuk dalam Autonomous System (AS) dan saling terhubung melalui BGP
- Hubungan peering menentukan keterjangkauan dan struktur internet
Epilog
- Penulis merasa pemahamannya tentang struktur internet masih kurang, lalu membuat tulisan interaktif edukatif yang berfokus pada protokol
- Alih-alih menunggu proyek besar yang benar-benar sempurna, ia memilih merilis sesuatu meski dalam bentuk kecil
- Proyek ini selesai berkat dorongan dari komunitas Hack Club, serta memanfaatkan program traceroute open source
- Dengan pesan bahwa “yang kecil tapi selesai itu lebih baik”, penulis berharap ini bisa tetap hidup sebagai konten web yang berkelanjutan
Belum ada komentar.