Ini adalah pertanyaan yang sangat lama, tetapi saya memiliki banyak pertanyaan yang sama dalam mencari tahu bagaimana Internet bekerja . Seperti jawaban lainnya, buku-buku jaringan memberikan gambaran umum tentang BGP dan DNS tetapi masih membuat saya bingung. Sebagai contoh, a.root-servers.net melalui m.root-servers.net diberikan sebagai root server, tetapi bagaimana layanan DNS tahu di mana menemukan server-server itu jika mereka tidak dapat menggunakan DNS sendiri.
Dasar-dasar IP, subnetting, DNS, dll. Diasumsikan diketahui oleh jawaban ini. Saya membahas "celah" yang saya miliki, dan mungkin si penanya, tentang cara kerja Internet. Bukan berarti saya seorang ahli, tetapi ini adalah pemahaman saya tentang kesenjangan.
Alamat IP
Hal pertama yang perlu diperhatikan adalah bahwa ketika Internet dimulai sebagai ARPANET, semua orang tahu semua orang dan tabel perutean untuk alamat IP dikodekan dengan tangan. Saya menganggap proses penugasan untuk IP dilakukan melalui telepon. Ketika Internet menjadi terlalu besar, BGP digunakan oleh beberapa jaringan (AS) untuk mengiklankan mereka memiliki IP publik atau bisa mendapatkan IP publik melalui AS mereka ke AS lain. Kepercayaan ada di sana bahwa AS tidak akan mengiklankan IP yang tidak mereka miliki.
Hari ini, tidak ada kepercayaan sama sekali. Sebaliknya, ISP dapat mengunduh dan mengotentikasi alokasi IP untuk setiap AS dari IANA dan otoritas regional. Unduhan ini sekarang diautentikasi melalui kriptografi kunci publik. Jadi ketika IANA "memberikan alamat IP," mereka mengubah catatan mereka (atau benar-benar otoritas regional mengubah catatan mereka). Semua AS lainnya dapat mengunduh dan mengotentikasi catatan mereka.
Catatan-catatan ini penting karena ISP tidak dapat mengambil kata dari ISP lain bahwa mereka memiliki alamat IP. ISP dapat membandingkan iklan BGP dengan catatan IP yang diautentikasi. Jika ada iklan BGP yang menunjukkan AS terakhir sebagai AS selain apa yang ada dalam catatan terotentikasi IANA dan RIR, iklan BGP tidak mengubah perutean mereka sendiri.
Lebih umum, ISP atau AS yang nakal dapat mengiklankan bahwa mereka memiliki rute melalui SA yang tidak mereka miliki. AS1 memiliki IP yang terdaftar dan AS5 saat ini menggunakan AS5 -> AS4 -> AS3 -> AS1 -> IP. AS2 mengiklankan ke AS5 rute AS5 -> AS2 -> AS1 -> IP. Kecuali AS2 sebenarnya tidak memiliki koneksi dengan AS1. Itu hanya bisa kehilangan paket, mungkin untuk menggagalkan pelanggan hosting AS1. Atau AS2 dapat berupa jaringan perusahaan kecil dengan pengaturan multihomed dengan AS5 dan AS1. Perute mereka salah konfigurasi dan mengiklankan jalur melalui jaringan perusahaan kecil. Hampir semua ISP membuang iklan pelanggan BGP mereka dan hanya menghentikan iklan BGP.
Kemungkinan besar, Anda memiliki kasus Pakistan yang mencoba mematikan Youtube di Pakistan melalui pembajakan IP semacam itu, dan mematikan Youtube di luar Pakistan juga karena AS di luar Pakistan menganggap iklan BGP mereka benar.
Pada akhirnya, tidak ada pertahanan yang sempurna terhadap pembajakan IP semacam itu. Di sebagian besar negara seperti AS, penyalahgunaan BGP seperti itu dapat dihukum sebagai pelanggaran kontrak dan ISP lain akan mematikan koneksi mengintip dengan AS jika mereka harus. ISP juga dapat mengabaikan seluruh perangkat IANA dan RIR dan mengarahkan alamat IP ke server mereka sendiri. Itu tidak akan berfungsi untuk situs https apa pun, dengan asumsi ISP tidak memiliki kunci pribadi untuk CA apa pun. Sangat sedikit yang bisa diraih secara ekonomis. Ini hanya terjadi dengan pemerintah otoriter, seperti Mesir baru-baru ini mematikan semua iklan BGP ke ISP mereka dari luar negeri.
Server DNS
DNS agak lebih sederhana setelah tabel IP benar. Root server semua alamat IP hardcorded dalam kode server DNS. a.root-servers.net adalah 198.41.0.4 dan alamat IP disiarkan dalam satu AS. Dalam kasus a.root-servers.net, AS adalah Verisign dan ada lima situs yang berbeda. Di AS, kedua situs tersebut adalah New York dan LA. Anycasting seperti jika Anda memiliki alamat 123 Main Street dan Anda berkata, "Tidak masalah di kota mana Anda berada, pergi ke 123 Main Street dan Anda akan menemukan salah satu bisnis saya." 123 Main Street di NY dan LA akan memberikan jawaban yang sama untuk semua domain tingkat atas. AS, dalam hal ini Verisign, mengetahui secara internal server mana yang memiliki hop paling sedikit melalui OSPF, BGP internal, dan protokol perutean lainnya. Jadi router di Denver dapat pergi ke LA sedangkan router di Chicago pergi ke New York.
Salah satu server root memberikan alamat IP mana untuk domain tingkat atas com. Kemudian domain itu memberikan domain untuk yoursite.com Anda. Pendaftar benar-benar memiliki kontrak dengan siapa pun yang menjalankan domain tingkat atas. Jadi, jika domain tingkat atas saat ini tidak memiliki catatan untuk yoursite.com, ia memiliki akses untuk menambahkan catatan dengan server siapa mereka. Kemudian, dengan akses pendaftar memberi Anda ke catatan DNS yoursite.com, Anda mengubah catatan di server DNS mereka untuk pergi ke alamat IP Anda.
Karena DNS semua tergantung pada beberapa alamat IP yang menuju ke tempat yang tepat, Anda memiliki masalah yang sama seperti sebelumnya dengan AS mengotentikasi registri IP dan kemudian penugasan BGP. Itu adalah bagian penting untuk situs web http. Https memiliki perlindungan sertifikat tambahan. Jadi, ISP tidak dapat mengalihkan permintaan untuk root server dan server domain tingkat atas untuk memberikan IP sendiri untuk, katakanlah, citibank.com. Jika mereka melakukannya, alamat IP yang diberikan kepada pengguna akan menjadi alamat IP yang berbeda, tetapi server mereka tidak akan memiliki kunci pribadi Citibank.