[hitung mundur lagu: 7, 6, 5, 4, 3, 2, 1] Internet: Paket, Perutean, dan Keandalan
Halo, namaku Lynn. Aku teknisi perangkat lunak di Spotify dan aku akan jadi yang pertama mengakui
bahwa aku sering menyepelekan keandalan internet. Jumlah informasi yang
melintas di internet sungguh luar biasa. Tapi bagaimana cara setiap keping data
dikirimkan untukmu dan dapat dipercaya? Anggap saja kau ingin memutar lagu dari Spotify. Tampaknya
komputermu terhubung langsung dengan server Spotify dan Spotify mengirimkan lagu untukmu pada
sambungan langsung dan terdedikasi. Tapi sebenarnya, bukan begitu cara kerja internet. Jika internet
terbuat dari koneksi langsung dan terdedikasi, akan mustahil menjaga semuanya bekerja seiring
bergabungnya jutaan pengguna. Khususnya karena tidak ada jaminan bahwa setiap kawat dan komputer
berfungsi setiap saat, melainkan data melintas di internet dengan cara yang kurang bersifat langsung.
Bertahun-tahun yang lalu, di awal tahun 1970-an, rekanku Bob Kahn dan aku mulai mengerjakan
rancangan dari apa yang kini dikenal sebagai internet. Bob dan aku bertanggungjawab dan
berpeluang untuk merancang protokol internet beserta arsitekturnya. Jadi kami bersikeras untuk
ikut serta dalam pertumbuhan dan evolusi internet selama ini hingga dan
termasuk di masa sekarang. Cara informasi dipindahkan dari satu komputer ke komputer lainnya
cukup menarik. Ia tidak perlu mengikuti jalur tetap. Bahkan, jalurmu dapat berubah
di tengah-tengah percakapan antar komputer. Informasi di internet berpindah dari satu komputer ke
komputer lainnya dalam apa yang kita sebut paket informasi dan sebuah paket sering berpindah dari satu tempat ke
tempat lainnya di internet seperti caramu berpindah dari satu tempat ke tempat lain menggunakan mobil.
Tergantung pada kepadatan lalu lintas atau kondisi jalan, kau dapat memilih atau dipaksa
memilih rute lain untuk mencapai tempat yang sama setiap kali kau bepergian. Dan sama sepertimu yang
dapat memindahkan berbagai jenis barang di dalam mobil, berbagai jenis informasi digital dapat dikirimkan
dengan paket IP, namun ada beberapa batasan. Bagaimana kalau, sebagai contoh, kau harus memindahkan
pesawat ulang alik dari tempat pembuatannya menuju tempat peluncurannya. Pesawat tersebut tidak akan
muat di dalam satu truk, jadi pesawat itu harus dibongkar menjadi kepingan-kepingan kecil, dipindahkan menggunakan armada truk.
Setiap truk dapat mengambil rute yang berbeda dan mungkin sampai di tujuan pada waktu yang berbeda.
Namun setelah semua kepingan sampai di sana, kau dapat menyusun kembali kepingan-kepingan tersebut menjadi pesawat utuh
dan pesawat tersebut akan siap diluncurkan. Dalam internet, detil kinerjanya serupa. Jika kau
punya gambar yang sangat besar yang ingin dikirim ke teman atau mengunggahnya ke situs web,
gambar tersebut mungkin terbuat dari puluhan juta bit yang terdiri dari 1 dan 0, terlalu banyak untuk dikirimkan dalam
satu paket. Karena itu adalah data di dalam komputer, komputer pengirim gambar dapat dengan cepat
memecahnya menjadi ratusan atau bahkan ribuan bagian-bagian kecil yang disebut paket. Tidak seperti mobil
atau truk, paket-paket ini tidak memiliki pengendara dan tidak memilih rutenya sendiri. Setiap paket
memiliki alamat internet tempat asalnya sekaligus tempat tujuannya. Komputer khusus di
internet yang disebut perute berfungsi seperti manajer lalu lintas untuk menjaga paket melintasi
jaringan tanpa hambatan. Jika satu rute terhambat, paket individu dapat melintasi rute berbeda
melalui internet dan dapat sampai di tempat tujuan dalam waktu yang sedikit berbeda atau
bahkan di luar perkiraan. Mari kita bicara mengenai cara kerjanya. Sebagai bagian dari protokol internet,
setiap perute mencatat berbagai jalur untuk pengiriman paket, dan ia memilih jalur termurah
yang tersedia untuk setiap keping data berdasarkan alamat IP tujuan paket tersebut.
Termurah dalam hal ini bukan berarti biaya, namun waktu dan faktor non-teknis seperti politik dan
hubungan antar perusahaan. Seringkali rute terbaik untuk dilalui oleh data bukanlah
yang paling tepat sasaran. Memiliki pilihan jalur membuat jaringan toleran terhadap kesalahan. Artinya
jaringan tersebut dapat terus mengirim paket bahkan jika suatu hal yang sangat buruk terjadi.
Ini adalah dasar untuk prinsip kunci dari internet: keandalan. Sekarang, bagaimana jika kau ingin
meminta beberapa data dan tidak semuanya dikirimkan? Anggap saja kau ingin mendengarkan lagu.
Bagaimana kau bisa yakin 100% semua data akan dikirimkan agar lagu tersebut diputar dengan sempurna?
Memperkenalkan sahabat barumu, TCP (transmission control protocol). TCP mengatur pengiriman dan
penerimaan semua datamu sebagai paket. Anggap ini seperti layanan surat dengan jaminan.
Ketika kau meminta sebuah lagu pada perangkat, Spotify mengirimkan lagu yang dipecah menjadi banyak paket.
Saat paketmu tiba, TCP melakukan pemeriksaan penuh dan mengirim kembali tanda terima dari
tiap paket yang diterima. Jika semua paket lengkap, TCP menandatangani pengirimanmu dan selesai.
(lagu diputar) Jika TCP menemukan beberapa paket menghilang, TCP tidak akan menandatangani, kalau tidak lagumu
tidak akan terdengar merdu atau sebagian lagunya menghilang. Untuk setiap paket yang
hilang atau tidak lengkap, Spotify akan mengirim ulang paketnya. Setelah TCP memastikan pengiriman banyak paket untuk
lagu yang kau minta, lagumu akan mulai diputar. Kelebihan TCP dan
sistem perute adalah mereka berskala. Mereka dapat bekerja dengan 8 atau 8 miliar perangkat. Bahkan,
karena prinsip toleransi kesalahan dan redundansi ini, semakin banyak perute yang kita tambahkan,
internet menjadi semakin dapat diandalkan. Kelebihan lainnya yaitu kita dapat mengembangkan dan mengukur internet
tanpa mengganggu layanan untuk siapa pun yang menggunakannya. Internet terbuat dari ratusan ribu
jaringan dan miliaran komputer dan perangkat yang terhubung secara fisik. Sistem-sistem yang
berbeda inilah yang membuat internet terhubung satu sama lain, berkomunikasi dengan satu sama lain,
dan bekerja sama berkat standar yang disetujui bersama atas cara data dikirim di internet.
Perangkat pengukur, atau perute di sepanjang internet, membantu semua paket menuju tempat
tujuan di mana mereka disusun, jika diperlukan, secara berurutan. Hal ini terjadi miliaran kali
setiap harinya, baik kau dan orang lainnya mengirim surel, mengunjungi halaman web, melakukan
video chat, menggunakan aplikasi seluler, atau saat sensor atau perangkat pada internet berbicara dengan
satu sama lain.