Memahami Jaringan dan Internet dari Prinsip Pertama
(fazamhd.com)- Internet mengubah suara, video, dan teks menjadi pola listrik, cahaya, dan gelombang radio, melewatkannya melalui peralatan milik berbagai operator independen, lalu mengirimkan data hanya dengan keputusan lokal di tiap hop tanpa pengendali pusat atau satu pihak yang mengetahui seluruh rute
- Regenerasi digital pada telegraf, circuit switching pada jaringan telepon, packet switching, Ethernet, IP, TCP, DNS, dan TLS bukanlah komponen dari cetak biru yang sudah jadi, melainkan protokol yang terakumulasi sambil mengatasi batasan fisik dan operasional pada tiap zamannya
- IP hanya menangani pengiriman best-effort yang memungkinkan kehilangan, duplikasi, dan perubahan urutan; TCP melakukan retransmisi, pemulihan urutan, dan kontrol kemacetan di endpoint; DNS mengubah nama menjadi alamat; dan TLS menambahkan autentikasi serta enkripsi
- Saat pertama kali membuka halaman web, sebelum transfer konten diperlukan beberapa kali perjalanan pulang-pergi untuk kueri DNS, koneksi TCP, dan handshake TLS, sehingga bandwidth tinggi saja tidak dapat menghilangkan slow start akibat latensi
- Berkat lapisan IP yang sederhana dan standar terbuka, protokol baru seperti HTTP, VPN, WebRTC, dan QUIC dapat diterapkan tanpa izin atau penggantian router yang sudah ada, dan internet terus melengkapi batasan per lapisan setiap kali kebutuhan baru muncul
Dari sinyal fisik menjadi bit
- Komunikasi internet terus-menerus mengubah pesan menjadi gelombang radio Wi-Fi, pulsa listrik pada kabel tembaga, dan cahaya pada serat optik, lalu memulihkannya kembali dalam urutan terbalik di sisi seberang
- Peralatan dan kabel dipakai bersama oleh jutaan percakapan, dan data melewati perangkat milik perusahaan independen di berbagai negara
- Tidak ada komputer pusat yang mengarahkan lalu lintas; tiap perangkat hanya memilih jalur berikutnya
- Internet tidak dirancang sekaligus; packet switching, TCP, DNS, dan TLS ditambahkan belakangan untuk menyelesaikan masalah tertentu pada jaringan yang sudah beroperasi
- Prinsip dasar semua link adalah satu sisi mengubah besaran fisik, lalu sisi lain mengukurnya pada waktu yang telah disepakati
- Tali yang tegang dapat menyampaikan getaran mekanis, tetapi sinyal melemah seiring jarak karena gesekan dan kendur
- Kabel tembaga membawa bit dengan mengubah tegangan, serat optik dengan laser, dan Wi-Fi dengan mengubah bentuk gelombang radio
Komunikasi digital dan protokol yang dibakukan telegraf
- Kata network semula berarti bentuk jaring dari benang atau tali yang saling bersilangan, lalu pada awal abad ke-19 melalui jaringan kanal dan rel kereta, kata itu mulai merujuk pada sistem kabel dan stasiun relai telegraf pada 1840-an
- Pada 1844, Samuel Morse mengirim “What hath God wrought” dari Washington ke Baltimore
- Morse code adalah jaringan digital yang tidak mengirim suara apa adanya, melainkan menyampaikan simbol diskret berupa pulsa listrik pendek dan panjang
- Repeater tidak memperkuat bentuk gelombang yang melemah, tetapi menentukan ada atau tidaknya pulsa lalu menghasilkan pulsa baru yang bersih
- Penguatan sederhana ikut memperbesar noise di setiap segmen, sedangkan regenerasi simbol diskret mencegah degradasi pesan bahkan pada skala benua
- Aturan yang sebelumnya disepakati bersama oleh pengirim dan penerima, seperti pulsa untuk tiap huruf serta prosedur
receiveddanrepeat, disebut protokol- IP, TCP, DNS, dan TLS juga sama dalam arti merupakan aturan yang disepakati secara terbuka mengenai format pesan dan urutan komunikasi
- Pada jaringan telegraf, routing dilakukan oleh manusia
- Operator stasiun relai mencetak pesan ke pita kertas, lalu mengirimkannya ulang ketika sirkuit yang lebih dekat ke tujuan tersedia
- Pada jam sibuk, pesan ditahan dalam kotak penyimpanan; struktur ini kemudian muncul kembali dalam store-and-forward elektronik dan router
- Kabel telegraf transatlantik pertama mulai beroperasi pada Agustus 1858, tetapi rusak setelah tiga minggu akibat kerusakan isolasi dan masalah tegangan berlebih
- Kabel yang berhasil dipasang pada 1866 oleh SS Great Eastern dalam satu bentangan sepanjang sekitar 4.000 km
- Bit adalah satuan informasi terkecil yang menunjukkan salah satu dari dua keadaan,
0atau1- 1 byte yang terdiri dari 8 bit dapat merepresentasikan 256 keadaan dan menampung satu karakter atau angka kecil
Bandwidth dan latensi
- Bandwidth adalah jumlah bit yang dapat dibawa sebuah link per detik, sedangkan latensi adalah waktu yang dibutuhkan satu bit untuk mencapai sisi seberang
- Bandwidth dapat ditingkatkan dengan memperpendek interval pengiriman sinyal atau menggunakan beberapa panjang gelombang secara paralel, tetapi latensi dibatasi oleh jarak dan kecepatan cahaya
- Cahaya bergerak di kaca sekitar 200.000 km per detik, kira-kira dua pertiga dari kecepatannya di ruang hampa
- Untuk rute New York–London, batas bawah fisik satu arah sekitar 28 ms, dan perjalanan pulang-pergi membutuhkan dua kali lipatnya
- Streaming video dapat menoleransi latensi dengan melakukan buffering beberapa detik sebelumnya, tetapi membutuhkan banyak bandwidth
- Panggilan video membutuhkan bandwidth yang relatif lebih kecil, tetapi latensi rendah sangat penting
- Halaman web harus melewati perjalanan pulang-pergi DNS, TCP, dan TLS sebelum menerima konten, sehingga awalnya bisa tetap lambat bahkan pada koneksi gigabit
- Bandwidth berasal dari jadwal pengiriman, sedangkan latensi berasal dari panjang link, sehingga keduanya bukan nilai yang bisa saling dipertukarkan
Circuit switching dan modem
- Setelah 1876, jaringan telepon menggunakan circuit switching, yaitu mencadangkan jalur listrik khusus dari ujung ke ujung untuk setiap panggilan
- Pada masa awal, operator memasang kabel patch secara manual, lalu kemudian relay elektromekanis mengotomatiskannya
- Karena suara mengalir terus-menerus selama panggilan, struktur yang terus memakai sirkuit yang telah dicadangkan memang masuk akal
- Pada 1950–60-an, komputer mau tidak mau harus memanfaatkan jaringan telepon yang ada, sehingga modem (modulator-demodulator) mengubah bit digital menjadi suara analog
- Modem awal 300-baud seperti Bell 103 menggunakan FSK
1direpresentasikan sebagai nada kontinu berfrekuensi tinggi, dan0sebagai nada kontinu berfrekuensi rendah- Modem lawan menentukan frekuensi yang terdengar untuk memulihkan bit
- Sebelum transfer data, perangkat menegosiasikan kecepatan komunikasi, koreksi kesalahan, dan karakteristik saluran
- Setelah Hayes Smartmodem pada 1981, speaker dibiarkan menyala agar manusia dapat memastikan status koneksi, sehingga terdengar nada dial, panggilan, pertukaran kemampuan, negosiasi modulasi, dan pelatihan equalizer
- Handshake sebenarnya melewati beberapa tahap dalam waktu kurang dari 30 detik
- DSL dan kabel menggunakan kembali saluran telepon dan kabel TV yang ada sebagai link digital yang selalu terhubung, sedangkan serat optik rumah sepenuhnya lepas dari kabel jaringan suara
- Lalu lintas komputer bersifat burst, yaitu berhenti sejenak saat membaca atau menghitung setelah sebuah permintaan
- Jika sirkuit dicadangkan, kapasitas menganggur pada sebagian besar waktu dan pengguna lain tidak dapat memakainya
- Karena rute ditetapkan saat panggilan dimulai, putusnya satu link di tengah saja dapat mengakhiri seluruh koneksi
- Pada awal 1960-an, bertambahnya komputer riset, sifat burst pada komputasi interaktif, dan kebutuhan militer AS agar jaringan tetap bertahan meski sebagian segmen hilang memperlihatkan batas circuit switching
Packet switching dan pengiriman best-effort
- Paul Baran secara independen menggagas packet switching demi survivability, sementara Donald Davies menggagasnya untuk berbagi sirkuit; Davies yang menamainya
packet - Pesan dibagi menjadi unit-unit kecil, dan tiap packet terdiri dari header berisi informasi kontrol seperti asal dan tujuan, serta payload yang merupakan data sebenarnya
- Router menerima seluruh packet, membaca tujuannya, lalu melakukan store-and-forward dengan mengirimkannya ke link berikutnya berdasarkan tabelnya sendiri
- Agar skala tetap terjaga, tabel mencatat jaringan berupa rentang alamat, bukan host individual
- Packet dari banyak percakapan memakai sirkuit yang sama secara bergantian dan masing-masing dirutekan secara independen
- Jika router di tengah mati, packet berikutnya dapat menggunakan rute lain
- Sebelum informasi kegagalan menyebar, packet masih dikirim melalui rute lama dan hilang; proses sampai rute baru stabil disebut konvergensi (convergence)
- Perangkat yang memiliki alamat disebut host; pihak yang memulai percakapan disebut client; pihak yang menunggu permintaan di alamat tetap yang dikenal disebut server
- Jika kecepatan input lebih tinggi daripada link output, router menahan packet di memori, dan jika antrean penuh, kelebihannya dibuang
- Jaringan hanya menyediakan pengiriman best-effort yang memungkinkan packet hilang, terduplikasi, atau berubah urutan
- Keputusan untuk menyerahkan keandalan kepada komputer endpoint, bukan pusat jaringan, menjadi dasar yang menjaga internet tetap sederhana dan dapat berkembang ke skala global
ARPANET dan router pertama
- ARPA pada 1969 mendukung ARPANET, jaringan packet switching nyata pertama, untuk menghubungkan komputer riset di universitas
- Karena sulit menyerahkan pekerjaan packet switching kepada mainframe dengan produsen dan sistem operasi yang berbeda-beda, BBN membuat IMP (Interface Message Processor)
- IMP adalah minicomputer khusus yang membagi pesan menjadi packet, melakukan routing, dan merakitnya kembali
- Mainframe di sebuah situs terhubung ke IMP lokal, sementara sesama IMP berkomunikasi melalui saluran telepon sewaan
- Istilah yang membedakan mainframe yang menjalankan komputasi sebagai
Hostdan infrastruktur transmisi sebagai IMP bertahan hingga sekarang - IMP adalah router pertama, dan router nirkabel rumah juga mengikuti pola yang sama: perangkat khusus menangani protokol jaringan atas nama pengguna
- Pada 29 Oktober 1969, Charley Kline dari UCLA sedang mengetik
LOGINke Stanford Research Institute; saat baruLOyang terkirim, sistem penerima mengalami kerusakan - Pada Desember 1969, ARPANET memiliki 4 node, dan pada 1973 meluas hingga Norway dan London
Ethernet dan Jaringan Lokal
- Jaringan jarak jauh seperti ARPANET adalah WAN, sedangkan jaringan yang menghubungkan beberapa perangkat di dalam kantor adalah LAN
- Robert Metcalfe merancang Ethernet di Xerox PARC pada tahun 1973
- Ia mendapatkan ide dari transmisi tanpa izin dan penanganan tabrakan pada ALOHAnet yang menghubungkan Kepulauan Hawaii
- Pada Ethernet awal, semua komputer terhubung ke satu kabel koaksial bersama dan menerima semua frame, tetapi hanya memproses yang ditujukan ke alamatnya sendiri
- Kabel koaksial terdiri dari kawat tembaga inti, lapisan isolasi, pelindung silindris, dan selubung luar
- Pelindung berfungsi sebagai jalur balik sekaligus memblokir gangguan eksternal
- Jika dua perangkat mengirim secara bersamaan pada kabel bersama, terjadi tabrakan
- CSMA/CD mendengarkan media sebelum mengirim, segera berhenti jika mendeteksi tabrakan saat mengirim, lalu mencoba lagi setelah waktu acak
- Exponential backoff, yang menggandakan rentang penundaan saat tabrakan berulang, mencegah tabrakan permanen
- Kantor modern menggunakan kabel twisted-pair khusus dari tiap perangkat ke switch dan konektor RJ-45, bukan kabel koaksial bersama
- Karena tiap port adalah jalur khusus dan full-duplex dengan jalur kirim dan terima terpisah, pada prinsipnya tidak ada tabrakan
- CSMA/CD sudah tidak berguna pada Ethernet kabel modern, tetapi masalah kontensi muncul kembali pada Wi-Fi yang menggunakan udara sebagai media bersama
-
Switch dan alamat MAC
- Nama
switchdalam jaringan memiliki garis keturunan yang sama dengan wesel rel kereta, sakelar listrik yang mengalihkan arus, dan papan sentral telepon - Switch jaringan modern meneruskan frame dengan ASIC yang dibuat dari jutaan switch transistor
- Router menggunakan alamat jaringan global, sedangkan switch menggunakan alamat MAC, yaitu alamat perangkat keras lokal
- Satuan data Ethernet adalah frame
- Alamat MAC ditulis sebagai 6 pasang angka heksadesimal, total 48 bit, seperti
00:1A:2B:3C:4D:5E - Satu digit heksadesimal persis 4 bit, dan dua digit sejajar dengan 1 byte, sehingga cocok untuk menyatakan bit mentah secara ringkas
- Pada alamat MAC tradisional, 3 pasang pertama adalah OUI produsen, dan 3 pasang terakhir adalah nomor seri antarmuka tersebut
- Smartphone juga memiliki alamat masing-masing pada chip Wi-Fi dan Bluetooth
- Untuk mencegah pelacakan di tempat umum menggunakan alamat tetap, sistem operasi modern membuat alamat MAC acak sementara saat pencarian dan koneksi
- Switch secara otomatis mempelajari tabel penerusan dengan mengamati MAC sumber frame dan port tempat frame masuk
- Jika tujuan belum ada, switch melakukan flooding ke semua port lain
- Jika tujuan diketahui, switch meneruskan hanya ke satu port tersebut
- Tabel switch disimpulkan secara pasif dari trafik lokal, sedangkan tabel router diisi melalui konfigurasi manual atau protokol routing
- Alamat MAC hanya bermakna di segmen lokal, sedangkan alamat IP digunakan untuk berpindah antarjaringan
- Nama
IP dan Jaringan dari Jaringan
- Pada 1970-an, berbagai jaringan paket seperti SATNET, PRNET, dan Ethernet memiliki format, alamat, dan ukuran maksimum yang berbeda sehingga tidak bisa berkomunikasi langsung
- Vint Cerf dan Bob Kahn pada 1973 merancang internetwork yang menghubungkan tiap jaringan tanpa menyeragamkan struktur internalnya
- IP adalah lapisan umum tipis yang harus disepakati oleh semua jaringan peserta
- IP mendefinisikan alamat IP universal dan format paket universal
- Tiap jaringan lokal membawa paket IP dengan memasukkannya ke dalam frame miliknya sendiri
- Router tidak mengingat status percakapan dan tidak memulihkan kehilangan paket
- Karena bersifat connectionless, tanpa tahap penyiapan maupun status bersama antar-paket, IP dapat diimplementasikan di mana saja: kabel tembaga, serat optik, nirkabel, maupun satelit
- Berbagai media fisik berada di bawah dan berbagai aplikasi berada di atas, sementara IP di tengah menjadi titik temu sempit; struktur jam pasir inilah yang menciptakan interoperabilitas
-
Alamat IPv4 dan longest prefix match
- Alamat IPv4 terdiri dari 32 bit, yaitu 4 oktet yang ditulis dalam desimal dipisahkan titik seperti
91.198.174.192 /24adalah prefiks jaringan dengan 24 bit pertama yang tetap- Subnet mask
255.255.255.0juga menyatakan bit tetap yang sama dengan cara lain - Router melakukan XOR antara tujuan dan rute, lalu memasking bagian setelah prefiks untuk memeriksa apakah bagian tetap tidak cocok
- Jika beberapa rute cocok, router memilih longest prefix match, yaitu rute dengan bit tetap paling banyak
- Jika tidak ada rute spesifik, rute default
0.0.0.0/0digunakan - Setiap router tidak perlu mengetahui peta seluruh internet; cukup mengetahui tetangga dan arah dasar, lalu keputusan serupa oleh router berikutnya akan membawa paket ke tujuan
- Alamat IPv4 terdiri dari 32 bit, yaitu 4 oktet yang ditulis dalam desimal dipisahkan titik seperti
-
Dari classful addressing ke CIDR
- Classful addressing pada 1981 menetapkan ukuran jaringan ke tiga jenis
- Class A
/8menyediakan 16.777.216 alamat, Class B/16menyediakan 65.536 alamat, dan Class C/24menyediakan 256 alamat - Organisasi yang membutuhkan sekitar 4.000 alamat terpaksa menerima Class B dan membuang sekitar 94%, atau menerima 16 Class C dan membuat 16 rute di semua router inti
- Pada awal 1990-an, ruang alamat dan memori router cepat habis
- CIDR yang diperkenalkan pada 1993 memungkinkan panjang prefiks ditentukan secara bebas
- Satu
/20menyediakan 4.096 alamat dan memungkinkan blok yang berdekatan diagregasikan menjadi satu rute - IANA mengelola seluruh ruang IPv4 dan mengalokasikan blok besar ke 5 registri internet regional
- Registri regional membagi blok yang lebih kecil ke ISP, lalu ISP membaginya lagi ke perusahaan dan rumah tangga
- Delegasi hierarkis, di mana tiap lembaga hanya mengelola areanya sendiri, adalah prinsip penskalaan yang sama seperti DNS
-
TTL, ICMP, ping, traceroute
- TTL pada header IP menyatakan jumlah hop tersisa, bukan waktu, dan berkurang 1 di tiap router
- Saat menjadi 0, paket dibuang agar rute yang salah tidak membuat paket berputar tanpa batas
- Saat TTL kedaluwarsa, router mengirim ICMP
Time Exceededke sumber pingmengukur latensi ke host tertentu berdasarkan waktu pulang-pergi ICMPEcho RequestdanEcho Replytraceroutemenaikkan TTL menjadi 1, 2, 3, dan mengumpulkan responsTime Exceededyang muncul di tiap hop- Fungsi diagnosis rute diturunkan dari TTL yang awalnya dibuat untuk mencegah loop
-
MTU dan fragmentasi
- Tiap link memiliki MTU, yaitu ukuran maksimum yang dapat dibawa sekaligus; pada Ethernet nilainya 1.500 byte
- Router IPv4 tradisional memfragmentasi paket yang lebih besar dari link berikutnya menjadi beberapa potongan dan merakitnya kembali di tujuan
- Ini menambah beban kerja router, dan jika satu potongan saja hilang, seluruh paket asli harus dikirim ulang
- Pendekatan modern menggunakan Path MTU Discovery: menyetel
don’t fragment, lalu router yang tidak dapat meneruskan paket memberi tahu MTU yang diizinkan melalui ICMP - Jika ada link lanjutan yang lebih sempit, pengirim kembali mengurangi ukuran hingga konvergen pada MTU minimum dari rute sebenarnya
- IPv6 menghapus fragmentasi oleh router dan hanya mengizinkan PMTUD di sisi pengirim
-
Unicast, broadcast, ARP, multicast
- Unicast, pengiriman dari satu pengirim ke satu penerima, mendominasi sebagian besar trafik internet
- Subnet adalah tetangga fisik dan numerik yang dapat dijangkau langsung dengan alamat MAC pada kabel atau kanal nirkabel yang sama tanpa router
- Broadcast dikirim ke semua host dalam subnet dan tidak melewati batas router
- DHCP mendistribusikan konfigurasi ke perangkat yang belum memiliki alamat
- ARP mencari alamat MAC yang sesuai dengan alamat IP lokal dengan melakukan broadcast “siapa pemilik IP ini”, dan hanya pemiliknya yang menjawab secara unicast
- Hasilnya disimpan dalam cache selama beberapa menit
- Untuk tujuan di subnet eksternal, yang dicari bukan alamat MAC server jarak jauh, melainkan alamat MAC gateway default
- Multicast mengirim satu paket hanya ke grup yang berlangganan dan digunakan antara lain untuk IPTV serta protokol routing internal
- Sekitar 4,3 miliar alamat IPv4 menjadi tidak mencukupi, dan IPv6 yang menggunakan alamat 128 bit telah diterapkan secara paralel selama sekitar 20 tahun dan kini membawa hampir separuh trafik
Keandalan yang Dibuat oleh TCP
- TCP mengimplementasikan keandalan yang tidak disediakan IP di kedua ujung, sementara router perantara tidak mengetahui status TCP
- Setiap byte diberi nomor, dan penerima memberi tahu byte berikutnya yang diharapkan melalui ACK
- Data yang belum dikonfirmasi akan dikirim ulang
- Data yang urutannya tertukar akan disusun ulang berdasarkan nomornya lalu diserahkan ke aplikasi
- Karena kedua pihak mengingat status percakapan, TCP bersifat connection-oriented serta memiliki awal dan akhir yang eksplisit
- Unit data per lapisan adalah frame Ethernet, paket IP, segmen TCP, dan datagram UDP
-
3-way handshake dan checksum
- 3-way handshake TCP menyinkronkan nomor urut awal kedua pihak
-
- Klien mengirim
SYN, seq=5000
- Klien mengirim
-
- Server merespons dengan
SYN-ACK, seq=9000, ack=5001
- Server merespons dengan
-
- Klien mengirim
ACK, ack=9001
- Klien mengirim
- Checksum dikirim bersama nilai yang dihitung dari byte transmisi, lalu penerima menghitung ulang untuk mendeteksi kerusakan bit yang tidak disengaja
- Paket yang tidak cocok akan dibuang, dan karena tidak ada ACK, prosedur retransmisi yang ada akan memulihkannya
- Ethernet menggunakan frame check sequence berbasis CRC, sedangkan IP·TCP·UDP menggunakan penjumlahan komplemen satu
- Checksum tidak dapat mencegah manipulasi sengaja oleh penyerang yang bisa menghitung ulang checksum; peran itu ditangani oleh TLS
-
Kontrol aliran dan kontrol kemacetan
- Pengirim TCP mempertahankan sliding window yang membatasi data yang belum dikonfirmasi
- Setiap kali ACK tiba, jendela bergerak maju sehingga pengirim cepat tidak membanjiri penerima yang lambat
- Kehilangan ditafsirkan sebagai sinyal bahwa antrean router perantara meluap, sehingga pengirim mengurangi jendela
- Pada Oktober 1986, link 400 m antara Lawrence Berkeley Lab dan UC Berkeley runtuh dari 32.000 bps menjadi 40 bps ketika para pengirim merespons kehilangan dengan lebih banyak retransmisi
- Kontrol kemacetan Van Jacobson mengurangi jumlah transmisi secara multiplikatif saat terjadi kehilangan dan meningkatkannya secara hati-hati saat berhasil
- Miliaran koneksi menerapkan aturan lokal yang sama tanpa koordinasi terpusat untuk mencegah collapse kemacetan pada jaringan bersama
- Jika paket di tengah hilang, penerima mengirim ACK duplikat untuk byte berurutan terakhir, dan pengirim dapat mendeteksi kehilangan sebelum timeout lalu mengirim ulang
-
Port, socket, dan UDP
- Jika alamat IP mengidentifikasi perangkat, port mengidentifikasi program di dalam perangkat tersebut
- Server HTTPS secara konvensi menggunakan port 443
- Kombinasi alamat IP, port, dan protokol merepresentasikan endpoint socket sebuah aplikasi
- Sistem operasi klien meminjam port sementara selama koneksi untuk membedakan tujuan respons yang datang
- UDP hanya menambahkan port ke IP dan tidak menyediakan penyiapan koneksi, retransmisi, atau pemulihan urutan
- TCP cocok untuk data yang membutuhkan kelengkapan, seperti halaman web, email, dan file
- UDP cocok ketika data yang terlambat lebih buruk daripada kehilangan, seperti panggilan video, game multipemain, dan DNS
- TCP/IP menjadi protokol resmi ARPANET pada 1 Januari 1983, dan semua jaringan yang sepakat mengangkut paket IP membentuk Internet
Cara Informasi Routing Dibuat
-
OSPF dan RIP di dalam organisasi
- Di dalam satu organisasi, IGP bertukar status link dan informasi rute
- Protokol link-state seperti OSPF membuat setiap router mem-flood informasi koneksinya sendiri ke seluruh jaringan
- Semua router memiliki peta topologi yang sama dan menghitung rute terpendek secara independen
- Protokol distance-vector seperti RIP hanya memberi tahu tetangga jumlah hop ke tujuan
- Volume pertukaran kecil, tetapi tidak ada peta menyeluruh untuk memverifikasi apakah angka dari tetangga masih benar
- Proses tabel mencerminkan keadaan baru setelah kegagalan disebut konvergensi
- OSPF menyampaikan perubahan topologi nyata sehingga berkonvergensi dengan cepat
- RIP dapat membuat loop ketika dua tetangga saling percaya sebagai rute, dan paket bolak-balik hingga TTL habis
- RIP memperlakukan 16 hop sebagai tidak dapat dijangkau, dan meski ada berbagai mitigasi, konvergensinya lebih lambat daripada OSPF sehingga telah digantikan di sebagian besar jaringan produksi
-
Autonomous system dan BGP
- NSFNET dimulai pada 1985 sebagai backbone yang menghubungkan berbagai jaringan akademik regional
- Awalnya trafik komersial dilarang, lalu pembatasan dicabut pada 1991
- Setelah ditutup pada 1995, peran backbone tersebar ke beberapa operator komersial yang bersaing, sehingga Internet menjadi struktur tanpa pemilik tunggal
- Internet terdiri dari puluhan ribu autonomous system (AS) seperti ISP, universitas, operator telekomunikasi, dan perusahaan cloud
- BGP membuat setiap AS mengumumkan blok alamat yang dapat dijangkau dan jalur AS yang telah dilalui kepada tetangganya
- Pemilihan rute sebenarnya memprioritaskan kebijakan bisnis daripada kecepatan
- Panjang jalur AS adalah kriteria pembeda yang diterapkan setelah kriteria kebijakan seperti local preference dan weight
- Operator kecil membeli transit, yaitu membayar operator hulu untuk koneksi ke seluruh Internet
- Jaringan dengan skala serupa menjalin peering tanpa settlement untuk mengurangi biaya transit
- Di fasilitas switching bersama pada Internet exchange point, ratusan jaringan saling terhubung
- DE-CIX dan AMS-IX menghubungkan sekitar 1.000 jaringan
- Kebijakan BGP umumnya lebih menyukai rute pelanggan yang membayar, lalu rute peer gratis, kemudian rute penyedia yang harus dibayar
- Backbone tier-1 seperti Lumen, Arelion, dan NTT saling melakukan peering dan tidak membayar operator hulu
Kabel Serat Optik Bawah Laut, Anycast, CDN
- Sekitar 600 kabel serat optik bawah laut pada dasarnya membawa seluruh trafik antarbenua
- Pada 1956, TAT-1 menyediakan 36 sirkuit suara melalui kabel tembaga koaksial dan menempatkan amplifier kira-kira setiap 70 km
- Amplifikasi analog memperbesar sinyal sekaligus noise
- Pada 1988, TAT-8 menjadi kabel serat optik trans-Atlantik pertama dan menyediakan kapasitas setara puluhan ribu sirkuit suara dari dua helai serat kaca
- Serat optik memanfaatkan pantulan internal total di batas antara inti berindeks bias tinggi dan cladding yang mengelilinginya
- Berbeda dari cermin biasa, tidak ada kehilangan pantulan di batas tersebut, sehingga cahaya dapat dipandu sekitar 100 km sebelum diamplifikasi
- Wavelength division multiplexing membawa bit stream dari tiap laser pada panjang gelombang berbeda dan menggabungkannya dalam satu helai
- Panjang gelombang berjalan bersama dalam medium linear lalu dipisahkan oleh filter di sisi seberang
- Sistem nyata memasukkan sekitar 100 panjang gelombang ke satu helai, dan satu panjang gelombang baru meningkatkan throughput kaca bawah laut yang ada sebesar satu stream
- Anycast memungkinkan server di berbagai benua menggunakan IP yang sama dan mengiklankan rute yang sama melalui BGP dari setiap lokasi
- Klien mencapai server yang dekat secara topologi tanpa perubahan konfigurasi
- CDN menggunakan Anycast atau DNS sadar lokasi untuk menyajikan konten dari server yang dekat
- Cloudflare dan Akamai menempatkan salinan video, gambar, dan situs web di seluruh dunia
- Cara mengurangi batas bawah latensi yang disebabkan kecepatan cahaya adalah memindahkan data dekat ke pengguna sebelum permintaan terjadi
- BGP pada umumnya mempercayai iklan dari tetangga
- Pada 2008, Pakistan Telecom mengiklankan rute yang lebih spesifik untuk memblokir YouTube di dalam negeri, dan informasi ini menyebar ke dunia sehingga banyak trafik mengalir ke Pakistan lalu menghilang
- RPKI memverifikasi otoritas iklan rute atas blok alamat melalui registry bertanda tangan
Jaringan Privat Rumah dan NAT
- Satu router rumah menggabungkan switch Ethernet, perangkat radio Wi-Fi, DHCP, default gateway, dan fungsi distribusi pengaturan DNS
- Blok IPv4 privat yang tidak dirutekan di Internet dapat digunakan ulang berkali-kali
10.0.0.0/8memiliki 16.777.216 alamat172.16.0.0/12memiliki 1.048.576 alamat192.168.0.0/16memiliki 65.536 alamat
- NAT mempertahankan tabel yang mengubah alamat dan port privat internal menjadi alamat dan port publik router, lalu mengembalikan respons ke percakapan internal semula
192.168.1.5di rumah yang berbeda tidak berbenturan karena paket tidak keluar dari jaringan privat masing-masing
- NAT hanya mencatat percakapan yang dimulai dari dalam, sehingga membuang koneksi eksternal yang tidak diminta
- Untuk menjalankan server di rumah, diperlukan port forwarding yang menghubungkan port eksternal tertentu ke perangkat internal
- Jika ISP mengubah alamat publik, hal itu harus dilacak secara terpisah
- Panggilan video P2P memerlukan teknik NAT traversal, misalnya kedua pihak mengirim paket secara bersamaan
- Solusi sementara atas kekurangan alamat membuat Internet terbagi menjadi server yang menerima permintaan eksternal dan perangkat yang hanya memulai permintaan
127.0.0.0/8adalah alamat loopback; alamat ini tidak sampai ke kartu jaringan dan dikembalikan oleh sistem operasi ke komputer yang sama127.0.0.1secara konvensi adalahlocalhost- Server pengembangan di
127.0.0.1:3000hanya dapat diakses dari komputer tersebut
- Perangkat secara bersamaan memiliki alamat MAC yang mewakili hardware lokal dan alamat IP yang diberikan di jaringan
DNS: Menggunakan nama alih-alih angka
- Pada masa awal ARPANET, kelompok Elizabeth Feinler di Stanford Research Institute mengelola semua nama dan alamat secara manual dalam satu file
HOSTS.TXT- Setiap komputer mengunduh file itu secara berkala, dan perangkat yang tidak terdaftar praktis tidak bisa ditemukan
- Seiring pertumbuhan jaringan, kemampuan penyuntingan satu kantor dan satu titik unduhan menjadi bottleneck
- Paul Mockapetris merancang DNS berbasis delegasi pada 1983
en.wikipedia.orgmengikuti hierarki dari kanan ke kiri: root,org,wikipedia.org,en- Namespace dibagi menjadi zone, dengan tiap organisasi mengelola server otoritatifnya sendiri
- Perangkat menyerahkan kueri ke recursive resolver seperti ISP atau Cloudflare
1.1.1.1- root memberi tahu nameserver
.org .orgmemberi tahu server otoritatif untukwikipedia.org- Server otoritatif Wikipedia menjawab dengan
91.198.174.192dan TTL 3.600 detik
- root memberi tahu nameserver
- TTL pada DNS, berbeda dari jumlah hop IP, adalah masa hidup cache dalam satuan detik
- Browser, sistem operasi, dan recursive resolver meng-cache respons sehingga nama populer bisa langsung diselesaikan dari lokasi terdekat
- Cache menurunkan beban DNS tingkat atas, tetapi menciptakan kelengketan di mana nilai lama tetap ada selama TTL setelah alamat berubah
- Saat membeli domain, registrar mencatat NS record yang menunjuk nameserver otoritatif di zone registry seperti
.com- Zone file domain memiliki A record untuk IPv4, AAAA record untuk IPv6, dan sebagainya
- Cloudflare, Route 53, registrar, atau server yang dioperasikan sendiri dapat menangani DNS otoritatif
- DNS sadar lokasi dapat mengembalikan alamat data center yang berbeda sesuai lokasi kueri
-
Keamanan dan privasi DNS
- DNS awal mempercayai jawaban yang tiba lebih dulu dan cocok dengan kueri
- Pada 2008, Dan Kaminsky mengungkap risiko cache poisoning yang mengeksploitasi 65.536 kemungkinan dari transaction ID 16-bit
- Jika penyerang mengirim respons palsu dengan ID yang cocok serta informasi nameserver berbahaya sebelum jawaban asli tiba, resolver dapat meng-cache informasi palsu selama TTL yang ditentukan penyerang
- DNSSEC membuat tiap zone menempelkan tanda tangan kriptografis pada record, lalu resolver memverifikasi rantai hingga root key yang dipercaya
- Tanda tangan pada jawaban palsu tidak lolos verifikasi sehingga dibuang
- DNSSEC menjamin keaslian dan integritas, tetapi tidak mengenkripsi kueri itu sendiri
- DoT dan DoH memasukkan kueri DNS masing-masing ke dalam TLS atau HTTPS agar pengamat di sepanjang jalur tidak dapat membaca domain yang dicari
Antarmuka pengguna yang ditambahkan Web
- Hingga akhir 1980-an, IP, TCP, Ethernet, dan DNS sudah selesai, tetapi untuk mengakses informasi orang harus mengetahui sistem tujuan dan alat command line
- Tim Berners-Lee mengusulkan sistem berbagi dokumen di CERN pada 1989 dan menjalankan World Wide Web pada 1991
- Web menggunakan tiga komponen sederhana
- HTML menghubungkan kata atau elemen dalam dokumen ke dokumen lain di internet
- URL menunjukkan protokol, server, dan path, seperti
https,en.wikipedia.org,/wiki/Internet- Port default HTTPS adalah 443 dan HTTP adalah 80, sehingga dapat dihilangkan
- HTTP bertukar request dan response seperti
GET /pagedi atas TCP200 OKberarti berhasil,404 Not Foundberarti dokumen tidak ada, dan500 Internal Server Errorberarti kegagalan internal server
- Karena URL dibangun di atas DNS, HTTP di atas TCP, dan TCP di atas IP, tidak perlu mengganti router yang sudah ada untuk Web baru
- IP, TCP, DNS, dan HTTP didefinisikan dalam RFC yang dapat dibaca dan diimplementasikan siapa pun secara gratis
- RFC berawal dari memo para pengembang ARPANET pada 1969 untuk meminta masukan
- IETF menstandardisasi protokol internet sejak 1986
- Port 80 dan 443 juga merupakan konvensi yang didaftarkan RFC ke IANA
- NCSA Mosaic menempatkan gambar di dalam dokumen pada 1993, dan Netscape Navigator dari tim yang sama menyebarkan Web ke rumah-rumah pada 1994
TLS: Bertukar rahasia di jalur publik
- Protokol internet awal mengirim byte dalam plaintext, sehingga router, ISP, dan jaringan perantara dapat membaca atau mengubah isinya
- Kriptografi kunci publik membuat sepasang kunci publik dan kunci privat menggunakan operasi yang mudah dihitung tetapi secara praktis sulit dibalik
- Data yang dienkripsi dengan kunci publik hanya dapat didekripsi dengan kunci privat
- Tanda tangan yang dibuat dengan kunci privat dapat diverifikasi dengan kunci publik
- Tanda tangan sebenarnya menandatangani hash yang dihitung dari semua byte, bukan seluruh pesan, sehingga perubahan juga ikut terikat
- Selain RSA, ECDSA dan Ed25519 juga menyediakan kontrak berupa penandatanganan dengan kunci privat dan verifikasi dengan kunci publik
- Masalah penyerang yang menyamar sebagai bank dan menyajikan kunci publiknya sendiri diselesaikan dengan sertifikat
- Kunci publik milik certificate authority yang sudah disertakan sebelumnya di browser menjamin keterikatan identitas server dengan kunci publik
- Rantai tanda tangan diverifikasi dari sertifikat server, melalui certificate authority perantara, hingga root yang dipercaya
- Jika rantai tidak mencapai root, browser menampilkan peringatan keamanan layar penuh
- Netscape membuat SSL pada 1994 dan kemudian distandardisasi sebagai TLS
- TLS berada di antara TCP dan HTTP
-
Diffie–Hellman dan session key
- Dalam handshake TLS, browser mengirim
ClientHello, cipher suite yang didukung, dan public key share; server menjawab dengan cipher suite yang dipilih, sertifikat, dan key share yang ditandatangani - Dalam contoh kecil, saat menggunakan konstanta publik
g=5,p=23: - Browser menghitung
A=5⁶ mod 23=8dengan nilai rahasiaa=6 - Server menghitung
B=5¹⁵ mod 23=19dengan nilai rahasiab=15 - Browser menghitung
19⁶ mod 23=2dan server menghitung8¹⁵ mod 23=2, sehingga keduanya memperoleh session key yang sama - Penyadap melihat
g,p,A,B, tetapi pada ukuran sebenarnya sulit memperoleh nilai rahasia karena harus memecahkan masalah logaritma diskret - Browser modern menggunakan pertukaran berbasis kurva eliptik yang memberikan keamanan setara dengan bilangan yang lebih kecil
- Operasi kunci publik terlalu lambat untuk diterapkan pada semua byte, sehingga hanya digunakan untuk pertukaran kunci; setelah itu digunakan kunci simetris yang cepat untuk enkripsi dan dekripsi dengan kunci yang sama
- Ikon gembok HTTPS berarti perangkat perantara dapat melihat lawan komunikasi, waktu, dan volume data, tetapi tidak dapat membaca isinya
- Dalam handshake TLS, browser mengirim
Enkapsulasi dan VPN
- Setiap lapisan membungkus data dari lapisan di atasnya dengan header miliknya sendiri
- Request HTTP masuk ke dalam TLS record, di dalam TCP segment, di dalam IP packet, di dalam Ethernet atau Wi-Fi frame
- Switch dan router hanya memproses header luar yang masing-masing mereka perlukan
- VPN mengenkripsi seluruh paket IP, bukan stream aplikasi, lalu memasukkannya sebagai payload paket baru yang beralamat ke server VPN
- ISP hanya melihat traffic terenkripsi yang keluar-masuk server VPN
- Situs yang dikunjungi melihat alamat server VPN, bukan alamat pengguna
- Operator VPN mengambil alih posisi yang sebelumnya dilihat ISP, sehingga VPN memindahkan titik kepercayaan alih-alih secara absolut menambah keamanan
- Kegunaan awal VPN adalah menghubungkan laptop jarak jauh ke jaringan privat perusahaan agar berperilaku seolah-olah tercolok langsung di kantor
Apa yang sebenarnya terjadi saat Anda mengeklik tautan
- Browser mengekstrak nama host dari
https://en.wikipedia.orgdan mencari alamatnya melalui DNS - Browser membuka koneksi TCP ke port 443 pada alamat yang diperoleh dan melakukan 3-way handshake
- Dalam handshake TLS, browser memverifikasi rantai sertifikat dan menyepakati kunci sesi
- Browser mengirim permintaan
GET /wiki/Internetyang terenkripsi - TCP menyusun ulang, mengirim ulang, dan merakit kembali HTML yang datang dalam puluhan paket IP; TLS mendekripsinya; lalu browser menafsirkannya dan menggambarkannya di layar
-
Diagnosis gangguan langkah demi langkah
- Jika tidak ada situs yang bisa dibuka, periksa bagian sebelum DNS seperti Wi-Fi, router, atau tautan ISP
- Anda dapat mengirim
pingke alamat yang dikenal seperti1.1.1.1untuk memastikan apakah jaringan di luar jaringan lokal dapat dijangkau - Jika situs lain bisa dibuka tetapi nama tertentu tidak dapat di-resolve, masalahnya ada pada cache DNS atau record situs tersebut
- Jika DNS berhasil tetapi koneksi TCP time out, itu adalah masalah pada server atau jaringan perantara; periksa hop yang tercapai dengan
traceroute - Peringatan sertifikat layar penuh berarti verifikasi rantai sertifikat TLS gagal
- Jika semua komunikasi berhasil dan Anda menerima HTTP
500, berarti permintaan sudah sampai sepenuhnya ke server tetapi gagal di dalam server - DNS, TCP, dan TLS masing-masing membutuhkan latensi bolak-balik sebelum byte pertama konten, sehingga respons awal bisa lambat meski koneksinya cepat
-
Header paket dan visibilitas per lapisan
- Contoh permintaan memiliki header IPv4 20 byte dan header TCP 20 byte
- Header IP berisi panjang total, flag fragmentasi, TTL, nomor protokol 6 yang berarti TCP, checksum, serta alamat sumber dan tujuan
- Header TCP berisi port sumber sementara
54211, port tujuan443, nomor urut, nomor ACK, flag, ukuran window, dan checksum - Router perantara hanya membaca header IP dan tidak membuka informasi TCP setelah 20 byte maupun payload terenkripsi
- TLS mengenkripsi payload, tetapi tidak mengenkripsi header IP dan TCP yang dibutuhkan untuk pengiriman, sehingga pihak yang berkomunikasi dan jumlah data tetap dapat diamati
Struktur berlapis internet
- Ethernet, Wi-Fi, dan fiber pada lapisan link/fisik memindahkan frame dan bit dalam satu media lokal
- IP pada lapisan jaringan merutekan paket melintasi jaringan-jaringan independen per hop
- TCP dan UDP pada lapisan transport menyediakan pengiriman per program, reliabilitas, atau overhead rendah
- TLS pada lapisan keamanan mengenkripsi koneksi dan mengautentikasi pihak lawan
- HTTP dan DNS pada lapisan aplikasi menyediakan makna bagi pengguna berupa permintaan dokumen dan pencarian nama
- Dari bawah ke atas, setiap lapisan menyembunyikan keterbatasan lapisan tepat di bawahnya
- Lapisan link menyembunyikan masalah fisik pada kabel bersama dan media nirkabel
- IP menyembunyikan batas jaringan yang dimiliki oleh pihak berbeda
- TCP menyembunyikan kehilangan, duplikasi, dan perubahan urutan
- TLS mencegah penyadapan dan manipulasi
- HTTP menyederhanakan seluruh proses menjadi permintaan dan respons
- Model OSI tahun 1984 mendefinisikan 7 lapisan dengan memisahkan fisik dan data link serta membedakan sesi, presentasi, dan aplikasi
- Internet sebenarnya menggunakan struktur TCP/IP yang lebih dulu diterapkan, tetapi istilah OSI seperti switching
layer 2, routinglayer 3, dan pengenalan aplikasilayer 7tetap bertahan di industri
- Internet sebenarnya menggunakan struktur TCP/IP yang lebih dulu diterapkan, tetapi istilah OSI seperti switching
QUIC dan internet yang terus berevolusi
- Karena setiap lapisan hanya bergantung pada antarmuka di bawahnya, aplikasi tidak perlu diubah meskipun kabel tembaga diganti dengan serat optik atau Wi-Fi
- HTTP/3 mengimplementasikan reliabilitas dan enkripsi bersama-sama dengan QUIC di atas UDP, bukan TCP
- Dalam byte stream TCP yang diurutkan secara tunggal, jika satu paket hilang di antara permintaan yang dimultipleks, permintaan yang tidak terkait pun harus menunggu di belakangnya
- QUIC menyediakan stream yang di-ACK secara independen untuk setiap permintaan, sehingga kehilangan hanya menghentikan stream tersebut
- Jika handshake TLS dilakukan berurutan setelah handshake TCP, diperlukan dua kali bolak-balik sebelum data HTTP
- QUIC menggabungkan pengaturan transport dan enkripsi ke dalam satu handshake, dan saat mengunjungi kembali server yang diingat, koneksi dapat dimulai tanpa bolak-balik tambahan
- Koneksi TCP terikat pada kombinasi IP dan port, tetapi QUIC mempertahankan koneksi meski ponsel berpindah dari Wi-Fi ke seluler dan alamatnya berubah
- IP hanya meneruskan payload berdasarkan port dan tidak membatasi protokol di dalamnya
- SSH menggunakan remote shell, SMTP untuk email, MQTT untuk publish-subscribe pada perangkat IoT terbatas, WebRTC untuk audio dan video langsung antarbrowser, dan game engine memakai protokol UDP khusus yang membuang pembaruan posisi lama
- Google menerapkan QUIC secara eksklusif antara Chrome dan servernya sendiri, lalu IETF menstandarkannya sebagai HTTP/3, tanpa perlu mengubah infrastruktur internet yang sudah ada
- Bahkan setelah habisnya alamat IPv4, transisi ke IPv6 masih berlangsung karena biaya penggantian lapisan dasar, sementara video real-time, cloud gaming, dan kolaborasi jarak jauh terus menekan batas latensi
- Satelit orbit rendah bersaing dengan kabel bawah laut dalam latensi bolak-balik, dan protokol masa depan juga akan muncul melalui kompromi baru ketika aplikasi saat ini berbenturan dengan keterbatasan lapisan yang ada
1 komentar
Opini Hacker News
Sebagai perbandingan, tulisan ini juga tersusun dengan sangat baik: https://explained-from-first-principles.com/internet/
Menurut pedoman, mungkin kurang sopan kalau hanya meninggalkan pujian seperti ini, tetapi ini benar-benar tulisan yang luar biasa. Ia menjelaskan bagaimana jaringan muncul dan cara kerjanya dengan informatif dan terstruktur, sekaligus merangkainya menjadi cerita yang menarik
Ada juga tanggapan bahwa tulisan ini ditulis oleh LLM, tetapi sekalipun begitu, tidak masalah. Tulisan bagus tetaplah tulisan bagus
“Kita sudah punya bahasa Klingon dan bahasa Elf. Sekarang ada bahasa LLM.”
Isinya sendiri bisa saja sepenuhnya ditulis oleh penulisnya, tetapi kalau membandingkan gaya teks utama dengan gaya komentar penulis, saya yakin tulisan ini telah melalui penyuntingan tingkat cukup tinggi oleh AI
Itu tidak selalu berarti buruk, tetapi tidak adil juga menyebut orang-orang yang menyadarinya sebagai paranoid
Pesanan besar pertama yang diterima Digital PDP-1 adalah untuk pekerjaan messaging pita berlubang milik ITT: https://www.eejournal.com/article/gordon-bell-1934-2024-gran...
Saya ingin menyeimbangkan reaksi negatif. Saya baru membaca beberapa bagian awal, tetapi tulisan ini menjelaskan dengan sangat baik bagaimana berbagai konsep berkembang dari titik awal yang sederhana
Banyak sekali konsep yang saya pelajari lewat riset serta trial and error selama bekerja sebagai software engineer diringkas dalam satu tulisan. Semoga Faza terus membuat dan membagikan tulisan seperti ini
Saya merasa materi yang sudah ada biasanya terlalu berfokus pada detail teknis, atau terlalu menyederhanakan konsep agar mudah diikuti siapa pun. Jadi saya mencoba membuat penjelasan yang detail tetapi tidak sulit diikuti
Awalnya saya hanya berencana menulis teks dan diagram, tetapi kemudian menyadari bahwa memakai simulasi bisa menjelaskannya jauh lebih baik
Struktur dan ekspresi tulisannya bagus, dan mengingatkan saya pada karya Bartosz Ciechanowski: https://ciechanow.ski
Saya penasaran tech stack yang digunakan untuk elemen interaktif di dalam tulisan ini, dan apakah kalau membuatnya lagi akan memilih teknologi lain
Setelah itu saya mengetahui bahwa Astro mendukung MDX, yang bisa menyisipkan komponen JavaScript kustom. Animasi awal dibuat dengan JavaScript murni, SVG, dan transisi CSS, tetapi ketika simulasi menjadi semakin kompleks, saya mulai menggunakan React untuk manajemen state
Dua komentar yang relatif biasa-biasa saja di sini diberi status
[dead]. Kalau itu komentar bot, saya penasaran apa yang bisa dipakai untuk mengenalinyaSetelah halaman dimuat lalu menyalakan mode pesawat, animasi yang sebelumnya belum masuk ke layar tidak berjalan. Perilaku yang aneh
Sekarang saya sudah memperbaiki dan merilisnya agar semua simulasi diunduh saat halaman dimuat, lalu diputar ketika masuk ke layar
Reaksi di sini terlalu negatif. Saya menelusuri beberapa bagian; animasinya enak dilihat, tulisannya mudah dibaca, dan isinya juga bukan hasil generatif berkualitas rendah
Latar belakang sejarah telegraf menarik, dan perbedaan antara bandwidth serta latensi juga dibahas dengan cermat. Namun tulisannya terlalu panjang, jadi kecil kemungkinan pembaca yang belum terlalu mengenal topik ini akan membacanya sampai akhir