Category: Jaringan Komputer

  • MAC Address dan ARP: Cara Perangkat Saling Mengenal

    MAC Address dan ARP: Cara Perangkat Saling Mengenal

    MAC address adalah alamat fisik yang tertanam di kartu jaringan setiap perangkat, dipakai untuk saling mengenal di jaringan lokal. Sementara ARP adalah protokol yang menjembatani dua dunia: dunia IP address yang dipakai aplikasi, dan dunia MAC address yang dipakai kabel serta WiFi. Tanpa ARP, komputer Anda tahu alamat IP tujuan tapi tidak tahu harus mengirim data ke perangkat fisik yang mana.

    Artikel ini bagian kelima dari seri Belajar Jaringan Komputer dari Nol. Kita akan bedah format MAC address, cara mengeceknya dengan ip link, cara kerja ARP, lalu praktik langsung mengamati ARP cache di Linux. Di akhir ada daftar error yang paling sering bikin pemula bingung, termasuk kasus host yang terlihat mati padahal nyala.

    Prasyarat Sebelum Mulai

    Anda cukup punya satu komputer Linux yang terhubung ke jaringan, entah lewat kabel atau WiFi. Semua contoh di sini dijalankan di Ubuntu 24.04 LTS dengan iproute2 versi 6.1 bawaan sistem. Distro lain juga bisa selama perintah ip tersedia, dan itu standar di hampir semua Linux modern.

    Kalau Anda belum paham konsep layer, baca dulu bagian sebelumnya: Model OSI dan TCP/IP Dipahami Tanpa Hafalan. MAC address hidup di layer 2 (data link), IP address hidup di layer 3 (network). Pemisahan dua layer inilah yang membuat ARP diperlukan.

    MAC Address Adalah Alamat Layer 2: Format dan Cara Membacanya

    MAC (Media Access Control) address adalah deretan 48 bit yang ditulis sebagai 6 pasang angka heksadesimal, misalnya 3c:7c:3f:1a:2b:9d. Alamat ini ditanam oleh pabrik ke dalam kartu jaringan (NIC), jadi sering disebut alamat fisik atau hardware address.

    Formatnya punya struktur:

    • 3 byte pertama disebut OUI (Organizationally Unique Identifier). Ini kode vendor. Misalnya 3c:7c:3f milik ASUSTek. Anda bisa menebak merek perangkat orang lain di jaringan hanya dari 3 byte ini.
    • 3 byte terakhir adalah nomor seri yang ditentukan vendor, unik per kartu.

    Ada satu alamat spesial yang wajib diingat: ff:ff:ff:ff:ff:ff, yaitu alamat broadcast. Frame yang dikirim ke alamat ini diterima oleh semua perangkat di jaringan lokal. ARP sangat bergantung pada alamat ini, kita bahas sebentar lagi.

    Cek MAC Address Sendiri dengan ip link

    Jalankan perintah ini di terminal:

    ip link show

    Output yang diharapkan kurang lebih seperti ini:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
        link/ether 3c:7c:3f:1a:2b:9d brd ff:ff:ff:ff:ff:ff

    MAC address ada di baris link/ether. Pada contoh di atas, interface kabel enp3s0 punya MAC 3c:7c:3f:1a:2b:9d. Perhatikan juga brd ff:ff:ff:ff:ff:ff, itu alamat broadcast yang tadi disebut. Interface lo (loopback) tidak punya MAC sungguhan karena tidak pernah menyentuh jaringan fisik.

    Nama interface Anda bisa berbeda: eth0, wlp2s0, ens18, dan sebagainya. Catat nama interface aktif Anda karena akan dipakai di bagian praktik.

    Ethernet Frame: Kenapa MAC Tidak Ikut Menyeberang Router

    Setiap data yang lewat kabel atau WiFi dibungkus dalam unit bernama Ethernet frame. Strukturnya sederhana:

    Field Ukuran Isi
    Destination MAC 6 byte Alamat tujuan di jaringan lokal
    Source MAC 6 byte Alamat pengirim
    EtherType 2 byte Jenis isi, misal 0x0800 untuk IPv4, 0x0806 untuk ARP
    Payload 46 sampai 1500 byte Paket IP atau pesan ARP
    FCS 4 byte Checksum untuk deteksi frame rusak

    Poin penting yang sering bikin pemula salah paham: MAC address hanya berlaku dalam satu jaringan lokal. Saat paket Anda menuju server di internet, IP address tujuan tetap sama dari awal sampai akhir, tapi MAC address di frame berganti di setiap hop.

    Begini alurnya. Laptop Anda mau kirim data ke server Google. Laptop tahu IP tujuan ada di luar jaringan lokal, jadi frame dikirim dengan destination MAC milik router Anda, bukan milik server Google. Router menerima frame itu, membuang bungkus Ethernet-nya, membaca paket IP di dalamnya, lalu membungkus ulang dengan frame baru bermac-address hop berikutnya. Begitu terus sampai tujuan.

    Analoginya seperti paket kiriman antar kota. Alamat rumah tujuan (IP address) tertulis tetap di paketnya. Tapi label sopir yang membawanya (MAC address) berganti setiap kali paket pindah tangan: kurir pertama, truk antar kota, kurir terakhir. Karena itulah MAC address perangkat Anda tidak pernah terlihat oleh server di internet.

    Cara Kerja ARP: Memanggil Nama di Satu Ruangan

    Sekarang masalahnya: laptop Anda tahu router beralamat IP 192.168.1.1, tapi untuk mengirim frame ke router, laptop butuh MAC address-nya. Dari mana dapatnya. Di sinilah ARP (Address Resolution Protocol) bekerja.

    Bayangkan satu ruangan berisi banyak orang yang belum saling kenal wajah, tapi masing-masing tahu namanya sendiri. Anda perlu menyerahkan dokumen ke orang bernama Budi. Cara paling masuk akal: berteriak ke seluruh ruangan, “Budi yang mana ya, angkat tangan.” Semua orang mendengar, tapi hanya Budi yang merespons, “Saya di sini, yang pakai kemeja biru.” Sejak itu Anda hafal wajahnya dan tidak perlu berteriak lagi.

    ARP persis seperti itu:

    1. ARP request: laptop mengirim frame broadcast ke ff:ff:ff:ff:ff:ff berisi pertanyaan “siapa yang punya 192.168.1.1, tolong jawab ke 192.168.1.50”. Semua perangkat di jaringan lokal menerimanya.
    2. ARP reply: hanya perangkat yang merasa memiliki IP itu yang menjawab, langsung ke laptop Anda (unicast), “192.168.1.1 ada di MAC a4:91:b1:xx:yy:zz”.
    3. Caching: laptop menyimpan pasangan IP dan MAC itu di ARP cache (di Linux disebut neighbor table) supaya tidak perlu bertanya ulang setiap kali kirim data.

    Cache ini punya umur. Entri yang lama tidak dipakai akan ditandai basi lalu diverifikasi ulang. Mekanisme lengkapnya didefinisikan di RFC 826, salah satu RFC tertua yang masih dipakai sampai sekarang.

    Praktik: Mengamati ARP Cache dengan ip neigh show

    Sekarang kita buktikan semuanya di terminal. Pertama, lihat isi neighbor table saat ini:

    ip neigh show

    Kalau komputer baru dinyalakan dan belum berkomunikasi dengan siapa pun, outputnya bisa kosong atau hanya berisi router:

    192.168.1.1 dev enp3s0 lladdr a4:91:b1:5c:8e:02 STALE

    Sekarang ping perangkat lain di jaringan lokal Anda. Bisa HP yang tersambung ke WiFi yang sama, printer, atau komputer lain. Cek dulu IP-nya, lalu:

    ping -c 3 192.168.1.20

    Output yang diharapkan:

    PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
    64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=2.31 ms
    64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=1.87 ms
    64 bytes from 192.168.1.20: icmp_seq=3 ttl=64 time=1.92 ms

    Di balik layar, sebelum ICMP pertama terkirim, laptop Anda melakukan ARP request dan mendapat reply. Buktikan dengan melihat neighbor table lagi:

    ip neigh show
    192.168.1.20 dev enp3s0 lladdr 8e:12:4f:aa:03:c7 REACHABLE
    192.168.1.1 dev enp3s0 lladdr a4:91:b1:5c:8e:02 REACHABLE

    Entri baru muncul untuk 192.168.1.20 lengkap dengan MAC address-nya. Arti status di kolom terakhir:

    • REACHABLE: entri masih segar, baru saja terkonfirmasi.
    • STALE: entri lama, masih boleh dipakai tapi akan diverifikasi ulang saat digunakan. Ini normal, bukan error.
    • FAILED: ARP request tidak dijawab. Perangkat tujuan mati, salah IP, atau beda jaringan.
    • PERMANENT: entri statis yang ditambahkan manual, tidak pernah kedaluwarsa.

    Satu eksperimen lagi yang menarik: ping IP yang tidak dipakai siapa pun, misalnya ping -c 2 192.168.1.230. Ping akan gagal dengan pesan Destination Host Unreachable, dan di ip neigh show muncul entri berstatus FAILED. Itu tanda ARP request Anda berteriak ke seluruh ruangan tapi tidak ada yang mengaku.

    Error Umum Seputar MAC Address dan ARP

    Empat masalah ini paling sering muncul saat praktik. Kami cukup sering menemui pola yang sama saat menelusuri gangguan jaringan di server klien, jadi pola diagnosisnya layak Anda hafal.

    1. Duplicate IP: Dua Perangkat Memakai IP yang Sama

    Gejala: koneksi ke satu host putus nyambung secara acak. Kadang ping jalan, kadang timeout, dan MAC address di ip neigh show untuk IP itu berubah-ubah antara dua nilai.

    Penyebab: ada dua perangkat mengklaim IP yang sama, biasanya karena satu perangkat diberi IP statis yang ternyata masih masuk rentang DHCP. Kedua perangkat sama-sama menjawab ARP request, dan jawaban yang datang terakhir yang menang.

    Solusi: deteksi dulu dengan arping dari paket iputils-arping (sudo apt install iputils-arping):

    sudo arping -D -I enp3s0 -c 3 192.168.1.50

    Opsi -D adalah mode duplicate address detection. Kalau ada perangkat lain yang menjawab, alamat itu sedang dipakai. Setelah ketahuan, ganti IP statis salah satu perangkat atau keluarkan alamat itu dari rentang DHCP di router.

    2. ARP Cache Basi: Host Terlihat Mati Padahal Nyala

    Gejala: perangkat baru saja ganti kartu jaringan, ganti IP, atau di lab virtual Anda baru clone sebuah VM. Perangkat jelas nyala dan bisa akses internet, tapi komputer Anda tetap tidak bisa mengaksesnya, ping timeout terus.

    Penyebab: ARP cache komputer Anda masih menyimpan MAC address lama untuk IP itu. Frame terus dikirim ke alamat fisik yang sudah tidak ada.

    Solusi: hapus entri yang basi, lalu biarkan ARP bertanya ulang:

    sudo ip neigh flush dev enp3s0

    Setelah flush, ping lagi. Entri baru dengan MAC yang benar akan terbentuk otomatis. Masalah yang sama juga bisa terjadi di arah sebaliknya, cache router yang basi, dan biasanya sembuh sendiri dalam hitungan menit atau setelah router di-restart.

    3. Destination Host Unreachable Saat Ping Tetangga Sendiri

    Gejala: ping ke perangkat di jaringan yang sama langsung dibalas Destination Host Unreachable oleh komputer sendiri.

    Penyebab: ini pesan kegagalan ARP. Kemungkinannya: perangkat tujuan benar-benar mati, salah ketik IP, subnet mask Anda salah sehingga komputer mengira tujuan ada di jaringan lain, atau ada isolasi client (AP isolation) di access point yang melarang antar client saling melihat.

    Solusi: cek IP dan subnet Anda dengan ip addr show, pastikan kedua perangkat satu subnet. Kalau lewat WiFi, cek pengaturan AP isolation di router. Fitur ini sering aktif diam-diam di WiFi tamu.

    4. Panik Melihat Status STALE di ip neigh

    Gejala: pemula melihat hampir semua entri berstatus STALE dan mengira jaringannya bermasalah.

    Penyebab: tidak ada masalah sama sekali. STALE hanya berarti entri belum dipakai beberapa saat. Kernel sengaja menandainya agar bisa diverifikasi ulang saat dipakai lagi, ini perilaku normal yang menghemat traffic ARP.

    Solusi: tidak perlu tindakan. Kirim traffic ke host itu dan statusnya akan kembali REACHABLE dengan sendirinya.

    Rangkuman dan Lanjut ke Bagian Berikutnya

    Tiga hal yang layak menempel di kepala dari bagian ini. Pertama, MAC address adalah identitas layer 2 yang hanya berlaku di jaringan lokal dan berganti di setiap hop router. Kedua, ARP menjembatani IP ke MAC lewat mekanisme broadcast tanya, unicast jawab, lalu disimpan di cache. Ketiga, ip link dan ip neigh show adalah dua perintah andalan untuk melihat semuanya secara langsung.

    Selama ini kita menyebut IP address berkali-kali tanpa membedahnya. Itu jatah bagian berikutnya: “Mengenal IP Address: IPv4, IP Private vs Public”. Artikelnya terbit menyusul, pantau daftar lengkapnya di halaman hub seri Belajar Jaringan Komputer.

    Referensi

  • Model OSI dan TCP/IP Dipahami Tanpa Hafalan

    Model OSI dan TCP/IP Dipahami Tanpa Hafalan

    Perbedaan OSI dan TCP/IP sebenarnya sederhana. OSI adalah model referensi 7 lapisan yang dipakai untuk belajar, berdiskusi, dan menamai masalah. TCP/IP adalah model 4 lapisan yang benar-benar dijalankan internet sampai hari ini. Keduanya tidak bersaing. OSI itu peta belajarnya, TCP/IP itu jalan aslinya. Kalau kamu paham fungsi tiap lapisan, kamu tidak perlu menghafal urutannya sama sekali.

    Artikel ini bagian keempat dari seri Belajar Jaringan Komputer dari Nol. Di bagian ini kita akan memetakan hal-hal yang sudah kamu pakai di bagian sebelumnya, seperti ping, traceroute, dan browser, ke lapisannya masing-masing. Jadi modelnya nempel ke pengalaman nyata, bukan ke hafalan.

    Prasyarat Sebelum Mulai

    Kamu sebaiknya sudah menyelesaikan bagian sebelumnya, Perangkat Jaringan Komputer: Switch, Router, dan Topologi. Di sana kita sudah kenal switch dan router. Dua perangkat itu akan sering disebut di sini karena masing-masing bekerja di lapisan yang berbeda.

    Untuk bagian praktik, siapkan terminal Linux. Semua perintah di artikel ini diuji di Ubuntu 24.04 LTS dan bisa dijalankan apa adanya.

    Kenapa Jaringan Dibagi Berlapis: Analogi Kirim Barang Lewat Ekspedisi

    Bayangkan kamu jual keramik dan mau kirim satu vas ke pembeli di kota lain. Prosesnya kira-kira begini:

    1. Isi paket. Vas keramik itu sendiri. Ini barang yang benar-benar ingin diterima pembeli.
    2. Kardus dan bubble wrap. Vas dibungkus supaya sampai utuh. Kalau pecah di jalan, pembeli minta kirim ulang.
    3. Label alamat. Kardus ditempeli alamat tujuan dan alamat pengirim supaya bisa diantar lintas kota.
    4. Kurir dan kendaraan. Paket berpindah tangan dari motor, ke truk antar kota, lalu ke motor lagi di kota tujuan.

    Perhatikan satu hal penting. Kurir tidak peduli isi kardus. Bagian packing tidak peduli truknya lewat jalan mana. Kamu sebagai penjual tidak peduli truk ekspedisinya merek apa. Setiap pihak hanya mengurus tugasnya sendiri, lalu menyerahkan ke pihak berikutnya.

    Jaringan komputer dibagi berlapis dengan alasan yang sama. Browser tidak perlu tahu datanya lewat WiFi atau kabel. Aplikasi chat tidak perlu ditulis ulang saat kamu ganti provider internet. Setiap lapisan punya tugas jelas dan hanya bicara dengan lapisan di atas dan di bawahnya. Ini yang membuat internet bisa berkembang: lapisan bawah boleh berubah teknologinya tanpa merusak lapisan atas.

    Perbedaan OSI dan TCP/IP: 7 Layer vs 4 Layer

    Model OSI dibuat oleh ISO pada era 1980-an sebagai standar teori yang rapi. Model TCP/IP lahir dari praktik, dari protokol yang memang dipakai jaringan ARPANET lalu internet. Hasilnya, OSI lebih detail dengan 7 lapisan, TCP/IP lebih ringkas dengan 4 lapisan, tapi keduanya menggambarkan proses yang sama.

    Tabel ini memetakan keduanya ke hal yang sudah kamu pakai sehari-hari:

    OSI (7 layer) TCP/IP (4 layer) Contoh nyata yang sudah kamu pakai
    7. Application Application Browser, HTTP, DNS, aplikasi chat
    6. Presentation
    5. Session
    4. Transport Transport TCP dan UDP, nomor port
    3. Network Internet IP address, router, ping
    2. Data Link Link (Network Access) MAC address, switch, WiFi, kabel LAN
    1. Physical

    Cara membacanya dengan analogi ekspedisi tadi:

    • Application adalah isi paketnya, vas keramik itu sendiri. Data asli yang ingin sampai: halaman web, pesan chat, file.
    • Transport adalah kardus dan bubble wrap. TCP memastikan barang sampai utuh dan berurutan, kalau hilang dikirim ulang. UDP kirim tanpa asuransi, cepat tapi tidak ada jaminan.
    • Internet (Network) adalah label alamat lintas kota. IP address menentukan paket harus diantar ke jaringan mana, dan router yang membaca label ini.
    • Link dan Physical adalah kurir dan kendaraannya. Kabel, WiFi, MAC address, dan switch bekerja di sini, mengantar antar perangkat yang bersebelahan langsung.

    Lalu kenapa OSI memecah bagian atas jadi tiga lapisan (Session, Presentation, Application)? Karena secara teori urusan membuka sesi komunikasi, format data, dan logika aplikasi memang bisa dipisah. Di dunia nyata, ketiganya hampir selalu digarap sekaligus oleh aplikasi dan protokolnya. Makanya TCP/IP cukup menyebut semuanya Application layer, dan praktisi jaringan jarang sekali membahas layer 5 dan 6 secara terpisah.

    Satu kebiasaan yang perlu kamu tahu: meskipun internet berjalan di model TCP/IP, orang tetap memakai nomor layer OSI saat bicara. Switch disebut perangkat layer 2, router disebut perangkat layer 3, load balancer aplikasi disebut layer 7. Jadi kamu perlu paham keduanya bukan untuk ujian, tapi supaya nyambung saat baca dokumentasi atau diskusi.

    Enkapsulasi: Bedanya Data, Segment, Packet, dan Frame

    Saat data turun dari aplikasi menuju kabel, setiap lapisan menambahkan headernya sendiri. Prosesnya disebut enkapsulasi, persis seperti vas yang dibungkus bubble wrap, dimasukkan kardus, lalu ditempeli label. Yang sering bikin pemula bingung, nama bungkusannya berubah di tiap lapisan:

    Istilah Lapisan Isi tambahannya
    Data Application Isi asli, misalnya request HTTP
    Segment Transport Data + header TCP (port asal, port tujuan, nomor urut)
    Packet Internet Segment + header IP (IP asal, IP tujuan, TTL)
    Frame Link Packet + header MAC (MAC asal, MAC tujuan) + trailer pengecek error

    Urutannya gampang diingat karena mengikuti proses packing: data dibungkus jadi segment, segment diberi alamat jadi packet, packet diserahkan ke kurir jadi frame. Di sisi penerima prosesnya dibalik, lapis demi lapis dibuka sampai tinggal data asli. Ini disebut dekapsulasi.

    Empat istilah ini akan terus muncul di sepanjang seri. Saat nanti kita pakai tcpdump dan Wireshark, kamu akan melihat langsung frame berisi packet, packet berisi segment, dan segment berisi data. Kalau ada yang menyebut “packet loss”, sekarang kamu tahu itu masalah di lapisan Internet ke bawah. Kalau ada yang bilang “framenya corrupt”, itu urusan lapisan Link.

    Praktik: Memetakan Tools yang Sudah Kamu Pakai ke Layernya

    Sekarang kita buktikan di terminal bahwa tools dari bagian 1 dan 2 seri ini masing-masing hidup di lapisan berbeda.

    ip link: Melihat Layer 2 dan Layer 1

    ip link show

    Output yang diharapkan kira-kira seperti ini:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
        link/ether a4:bb:6d:3e:12:9f brd ff:ff:ff:ff:ff:ff

    Perintah ini tidak menampilkan IP address sama sekali. Yang tampil adalah MAC address (link/ether) dan status UP atau DOWN. Ini murni informasi layer 1 dan 2: apakah kabel atau WiFi tersambung, dan siapa identitas kartu jaringanmu di level link.

    ping: Menguji Layer 3

    ping -c 3 1.1.1.1

    Output yang diharapkan:

    PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
    64 bytes from 1.1.1.1: icmp_seq=1 ttl=57 time=18.2 ms
    64 bytes from 1.1.1.1: icmp_seq=2 ttl=57 time=17.9 ms
    64 bytes from 1.1.1.1: icmp_seq=3 ttl=57 time=18.4 ms
    
    --- 1.1.1.1 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms

    ping memakai protokol ICMP yang menempel langsung di lapisan Internet. Tidak ada nomor port, tidak ada TCP, tidak ada aplikasi. Kalau ping sukses, artinya layer 3 ke bawah sehat: alamat IP bisa dicapai. Tapi ping sukses tidak menjamin website bisa dibuka, karena urusan port dan HTTP ada di lapisan yang lebih atas.

    traceroute: Memanfaatkan TTL di Header IP

    traceroute belum terpasang default di Ubuntu 24.04, jadi pasang dulu:

    sudo apt install traceroute
    traceroute -n 1.1.1.1

    Output yang diharapkan kira-kira:

    traceroute to 1.1.1.1 (1.1.1.1), 30 hops max, 60 byte packets
     1  192.168.1.1  1.245 ms  1.198 ms  1.176 ms
     2  10.20.0.1  8.431 ms  8.402 ms  8.377 ms
     3  103.28.113.1  17.850 ms  17.822 ms  17.799 ms
     ...

    Ingat field TTL di header IP pada tabel enkapsulasi tadi? traceroute sengaja mengirim packet dengan TTL 1, lalu 2, lalu 3, dan seterusnya. Setiap router yang menghabiskan TTL akan melapor balik, sehingga rute per hop kelihatan. Jadi traceroute adalah tool layer 3 yang cerdik memanfaatkan satu field kecil di header packet.

    curl: Bicara di Layer 7

    curl -I https://example.com

    Output yang diharapkan (curl 8.5.0 bawaan Ubuntu 24.04):

    HTTP/2 200
    content-type: text/html
    cache-control: max-age=86400
    ...

    Yang kamu lihat di sini adalah percakapan HTTP, murni lapisan Application. Di balik layar, curl menumpang TCP (transport), TCP menumpang IP (internet), dan IP menumpang WiFi atau kabelmu (link). Empat lapisan bekerja sekaligus hanya untuk satu perintah ini, dan browser melakukan hal yang persis sama setiap kali kamu membuka website.

    Jebakan Umum: Menghafal Urutan Layer Tanpa Paham Fungsinya

    Kesalahan paling sering di topik ini adalah menghafal jembatan keledai urutan layer untuk ujian, lalu tetap kosong saat ditanya “kalau WiFi nyambung tapi internet mati, masalahnya di lapisan mana”. Hafalan urutan tidak pernah dipakai di dunia kerja. Yang dipakai setiap hari adalah kemampuan melokalisasi masalah per lapisan.

    Cara melatihnya, biasakan bertanya “masalahnya di lapisan mana” lalu uji dari bawah ke atas:

    1. Kabel dicabut atau WiFi disconnect, ip link menunjukkan state DOWN. Masalah layer 1 atau 2.
    2. ping 1.1.1.1 gagal padahal link UP. Masalah layer 3, bisa salah IP, salah gateway, atau routing.
    3. ping 1.1.1.1 sukses tapi ping google.com gagal. Layer 3 sehat, yang bermasalah resolusi nama alias DNS di lapisan aplikasi.
    4. DNS jalan tapi website tetap tidak terbuka. Kemungkinan port diblokir atau service-nya mati, urusan layer 4 sampai 7.

    Pola pikir ini juga yang kami pakai sehari-hari di Arrazy saat menelusuri gangguan pada sistem aplikasi klien di server. Sebelum menyalahkan kode backend, kami cek dulu dari lapisan bawah: link server, konektivitas IP, DNS, baru masuk ke aplikasi. Urutan sederhana ini memangkas waktu debugging jauh lebih banyak daripada hafalan tujuh nama layer manapun.

    Troubleshooting: Error yang Sering Dialami Pemula

    ping google.com gagal padahal ping 1.1.1.1 sukses

    Pesan errornya biasanya ping: google.com: Temporary failure in name resolution. Ini bukan masalah koneksi, tapi DNS. Layer 3 kamu sehat karena ping ke IP langsung jalan. Solusinya cek isi resolver dengan resolvectl status, atau uji pakai DNS publik: resolvectl query google.com. Detail DNS akan dibahas tuntas di bagian 11 seri ini.

    traceroute: command not found

    Ubuntu 24.04 tidak memasang traceroute secara default. Pasang dengan sudo apt install traceroute. Alternatifnya pakai tracepath 1.1.1.1 yang sudah tersedia bawaan dari paket iputils dan tidak butuh akses root.

    traceroute hanya menampilkan tanda bintang * * *

    Ini normal dan bukan berarti koneksi putus. Banyak router dan firewall sengaja tidak membalas probe traceroute demi keamanan. Selama hop terakhir tercapai atau ping ke tujuan tetap sukses, jalur kamu sehat. Coba juga traceroute -I 1.1.1.1 (mode ICMP, butuh sudo) karena sebagian router lebih mau membalas ICMP daripada probe UDP.

    Bingung karena penomoran layer di tools tidak konsisten

    Wireshark menampilkan Ethernet sebagai Layer 2 dan IP sebagai Layer 3 mengikuti OSI, sementara buku TCP/IP menyebut IP ada di lapisan kedua dari empat lapisan. Dua-duanya benar, hanya beda model rujukan. Konvensi praktis di industri: kalau orang menyebut angka (layer 2, layer 3, layer 7), hampir pasti maksudnya nomor OSI.

    Rangkuman dan Lanjut ke Bagian Berikutnya

    Perbedaan OSI dan TCP/IP bukan soal mana yang benar. OSI memberi bahasa yang rapi untuk menunjuk lokasi masalah, TCP/IP memberi gambaran jujur tentang cara internet benar-benar bekerja. Kamu sudah bisa memetakan tools nyata ke lapisannya: ip link di layer 1 dan 2, ping dan traceroute di layer 3, curl dan browser di layer 7. Kamu juga sudah pegang empat istilah yang akan terus muncul: data, segment, packet, frame.

    Di bagian berikutnya kita turun ke lapisan 2 dan membedah MAC Address dan ARP: Cara Perangkat Saling Mengenal. Di sana kamu akan lihat bagaimana frame benar-benar menemukan perangkat tujuannya di jaringan lokal. Artikelnya terbit menyusul, pantau daftarnya di halaman hub Belajar Jaringan Komputer dari Nol.

    Referensi

  • Perangkat Jaringan Komputer: Switch, Router, dan Topologi

    Perangkat Jaringan Komputer: Switch, Router, dan Topologi

    Perbedaan router dan switch sebenarnya sederhana. Switch menghubungkan banyak perangkat di dalam satu jaringan lokal yang sama, dan dia bekerja dengan MAC address. Router menghubungkan jaringan yang berbeda, misalnya jaringan rumah kamu dengan internet, dan dia bekerja dengan IP address. Kalau switch itu seperti resepsionis satu gedung yang tahu semua penghuni, router itu petugas pos yang tahu jalan ke gedung lain.

    Artikel ini bagian ketiga dari seri Belajar Jaringan Komputer dari Nol. Kita bahas fungsi tiap perangkat jaringan, topologi yang benar-benar dipakai di dunia nyata, batas antara LAN dan WAN, lalu ditutup praktik memetakan jaringan rumah kamu sendiri dengan perintah ip neigh di Linux.

    Prasyarat Sebelum Mulai

    Sebaiknya kamu sudah baca bagian sebelumnya, Cara Kerja Internet: Perjalanan Paket Saat Membuka Website. Di sana kita sudah lihat paket data berpindah dari laptop sampai server. Sekarang kita zoom ke perangkat yang dilewati paket itu.

    Untuk praktik, kamu butuh Linux dengan paket iproute2. Saya pakai Ubuntu 24.04 dengan iproute2 versi 6.8.0. Cek versi kamu dengan:

    ip -V

    Output yang diharapkan:

    ip utility, iproute2-6.8.0, libbpf 1.3.0

    Fungsi Switch, Router, Access Point, dan Modem

    Empat perangkat ini yang paling sering muncul, dan paling sering ketukar juga. Kita bedah satu per satu.

    Switch: Menghubungkan Perangkat dalam Satu Jaringan Lokal

    Switch punya banyak port ethernet, biasanya 5, 8, 24, atau 48 port. Semua perangkat yang dicolok ke switch berada di jaringan lokal yang sama. Tugas switch cuma satu: meneruskan frame ke port yang benar berdasarkan MAC address tujuan.

    Switch belajar sendiri. Setiap ada frame masuk, dia catat MAC address pengirim dan dari port mana frame itu datang. Lama-lama dia punya tabel lengkap, jadi frame untuk komputer A hanya dikirim ke port komputer A, bukan disebar ke semua port. Ini yang membedakan switch dari hub jadul yang membanjiri semua port.

    Router: Menghubungkan Jaringan yang Berbeda

    Router bekerja satu tingkat di atas switch. Dia melihat IP address tujuan, lalu memutuskan paket harus diteruskan ke jaringan mana. Router di rumah kamu punya dua sisi: satu sisi menghadap jaringan lokal (LAN), satu sisi menghadap ISP (WAN). Setiap paket yang keluar dari rumah pasti lewat router.

    Keputusan “paket ini lewat mana” diambil dari tabel routing. Kita akan bedah tabel ini lebih dalam di bagian 12 seri ini. Untuk sekarang cukup pahami perannya: router adalah gerbang antar jaringan.

    Perbedaan Router dan Switch dalam Satu Tabel

    Aspek Switch Router
    Tugas utama Menghubungkan perangkat dalam satu jaringan Menghubungkan jaringan yang berbeda
    Alamat yang dipakai MAC address IP address
    Layer (model OSI) Layer 2, data link Layer 3, network
    Data yang diproses Frame Paket
    Contoh keputusan “Frame ini untuk MAC aa:bb:cc, keluar lewat port 3” “Paket ini untuk 8.8.8.8, teruskan ke gateway ISP”
    Bisa jadi batas internet? Tidak Ya, ini gerbang keluar jaringan

    Kalau ditanya di kampus atau interview, jawaban singkatnya: switch bekerja di layer 2 dengan MAC address untuk komunikasi dalam satu jaringan, router bekerja di layer 3 dengan IP address untuk komunikasi antar jaringan.

    Access Point: Pintu Masuk Nirkabel

    Access point (AP) mengubah sinyal WiFi menjadi lalu lintas kabel dan sebaliknya. AP tidak mengatur IP dan tidak mengambil keputusan routing. Dia cuma jembatan antara perangkat nirkabel dan jaringan kabel. Di kantor besar biasanya ada banyak AP yang tersebar di tiap lantai, semuanya terhubung kabel ke switch.

    Modem: Penerjemah Sinyal ISP

    Modem menerjemahkan sinyal dari media ISP menjadi ethernet yang dimengerti perangkat kamu. Kalau ISP kamu pakai fiber, perangkatnya bernama ONT atau ONU yang mengubah sinyal cahaya jadi sinyal listrik. Kalau pakai kabel telepon lama, namanya modem DSL. Tanpa modem, router kamu tidak bisa bicara dengan jaringan ISP karena medianya beda.

    Topologi Star, Bus, dan Mesh: Mana yang Dipakai di Dunia Nyata

    Topologi itu pola bagaimana perangkat saling terhubung. Buku teks biasanya menyebut lima sampai enam jenis, tapi di lapangan ceritanya lebih pendek.

    Topologi Star: Standar de Facto Jaringan Lokal

    Semua perangkat terhubung ke satu titik pusat, yaitu switch. Ini yang dipakai hampir semua LAN modern, dari rumah sampai data center. Kelebihannya jelas: kabel satu perangkat putus, yang lain tetap jalan. Kelemahannya, kalau switch pusatnya mati, semua ikut mati. Makanya jaringan serius pakai switch cadangan.

    Topologi Bus: Tinggal Sejarah

    Semua komputer nempel di satu kabel coaxial panjang. Ini teknologi ethernet era 1980-an. Satu kabel putus, seluruh jaringan lumpuh, dan semua perangkat rebutan media yang sama. Kamu hampir pasti tidak akan pernah menemukannya lagi, tapi tetap muncul di soal ujian, jadi cukup tahu konsepnya.

    Topologi Mesh: Antar Router dan WiFi Rumah Modern

    Setiap node terhubung ke beberapa node lain, jadi ada banyak jalur alternatif. Full mesh mahal karena jumlah koneksi meledak, jadi yang umum adalah partial mesh. Dua tempat kamu ketemu mesh di dunia nyata: backbone internet antar router ISP, dan sistem WiFi mesh rumahan seperti unit yang saling menyambung tanpa kabel untuk memperluas jangkauan.

    Praktisnya begini: LAN kabel memakai star, backbone dan WiFi rumah modern memakai mesh, dan bus sudah pensiun.

    LAN, WAN, dan Internet: Di Mana Batasnya

    LAN (Local Area Network) adalah jaringan yang kamu kelola sendiri di satu lokasi: rumah, kantor, lab kampus. Semua perangkat di LAN bisa saling bicara langsung lewat switch tanpa keluar gedung.

    WAN (Wide Area Network) menghubungkan LAN yang berjauhan. Kabel dari router rumah kamu ke ISP itu sudah masuk wilayah WAN. Perusahaan dengan kantor di dua kota biasanya menyewa jalur WAN dari ISP untuk menghubungkan dua LAN mereka.

    Internet adalah WAN terbesar: kumpulan puluhan ribu jaringan milik ISP, perusahaan, dan universitas yang sepakat saling terhubung. Peran ISP di sini jadi jelas. ISP adalah pihak yang punya infrastruktur WAN dan koneksi ke jaringan lain, lalu menyewakan akses itu ke kamu. Batas antara LAN kamu dan dunia luar selalu ada di satu titik: port WAN di router.

    Pemahaman batas ini kepakai terus di kerjaan nyata. Waktu tim Arrazy men-deploy sistem aplikasi untuk klien, hal pertama yang dicek sering kali bukan kodenya, tapi posisi server di jaringan: apakah dia di LAN kantor yang sama dengan pengguna, atau harus diakses lewat internet publik. Salah menempatkan, aplikasi terasa lambat atau malah tidak bisa diakses sama sekali.

    Praktik: Petakan Jaringan Rumah dengan ip neigh

    Sekarang kita buktikan teorinya. Kita akan cari tahu IP laptop kamu, alamat router, lalu daftar perangkat tetangga di jaringan yang sama.

    Langkah 1: Cek Alamat IP Laptop Sendiri

    ip -br addr

    Output yang diharapkan kira-kira seperti ini:

    lo               UNKNOWN        127.0.0.1/8 ::1/128
    wlp3s0           UP             192.168.1.7/24 fe80::a1b2:c3d4:e5f6:1234/64

    Interface wlp3s0 adalah WiFi saya dengan IP 192.168.1.7. Nama interface kamu bisa beda, misalnya wlan0 atau eth0.

    Langkah 2: Temukan Router (Gateway)

    ip route show default

    Output yang diharapkan:

    default via 192.168.1.1 dev wlp3s0 proto dhcp metric 600

    Artinya semua paket keluar jaringan dikirim ke 192.168.1.1. Itulah router kamu, si penjaga batas LAN dan WAN yang kita bahas di atas.

    Langkah 3: Lihat Perangkat Tetangga dengan ip neigh

    Tabel neighbour hanya terisi kalau laptop kamu pernah berkomunikasi dengan perangkat itu. Supaya ada isinya, ping dulu router dan satu perangkat lain kalau kamu tahu IP-nya, misalnya HP sendiri:

    ping -c 2 192.168.1.1
    ip neigh show

    Output yang diharapkan:

    192.168.1.1 dev wlp3s0 lladdr a4:91:b1:2f:88:c0 REACHABLE
    192.168.1.15 dev wlp3s0 lladdr 5c:e9:1e:aa:41:07 STALE
    192.168.1.22 dev wlp3s0 lladdr 8c:85:90:1b:cd:33 STALE

    Tiap baris adalah satu perangkat tetangga: IP-nya, interface tempat dia terlihat, MAC address-nya (kolom lladdr), dan status komunikasinya. REACHABLE berarti baru saja terkonfirmasi aktif, STALE berarti pernah terlihat tapi sudah agak lama tidak dicek ulang.

    Langkah 4: Gambar Peta Jaringan Kamu

    Dari tiga perintah tadi kamu sudah bisa menggambar peta sederhana di kertas:

    1. Kotak paling atas: internet, punya ISP.
    2. Di bawahnya: router kamu (192.168.1.1), batas LAN dan WAN.
    3. Di bawah router: semua perangkat dari ip neigh, termasuk laptop kamu sendiri.

    Kalau kamu di kantor dengan switch dan AP terpisah, tambahkan kotak switch di antara router dan perangkat. Latihan menggambar ini terlihat remeh, tapi ini kebiasaan yang sama yang dipakai network engineer saat masuk ke jaringan baru: petakan dulu, baru utak-atik.

    Salah Kaprah: Router WiFi Rumahan Itu Empat Perangkat Jadi Satu

    Kotak dari ISP yang kamu sebut “router WiFi” sebenarnya gabungan empat perangkat yang barusan kita bahas:

    • Modem/ONT: port yang tersambung ke kabel fiber atau telepon, menerjemahkan sinyal ISP.
    • Router: memutuskan paket mana keluar ke internet, menjalankan NAT dan DHCP.
    • Switch: empat port LAN kuning di belakang, itu switch kecil.
    • Access point: pemancar WiFi-nya.

    Ini penting bukan cuma buat gaya-gayaan istilah. Saat kamu menyalakan “mode bridge” atau “mode AP” di pengaturan, yang kamu lakukan sebenarnya mematikan fungsi router-nya dan menyisakan switch plus AP. Paham komposisi kotak ini bikin kamu tidak bingung waktu troubleshooting atau pasang router kedua di rumah.

    Troubleshooting: Masalah yang Sering Dialami Pemula

    Output ip neigh Kosong atau Cuma Satu Baris

    Ini normal. Tabel neighbour bukan hasil scanning, melainkan catatan perangkat yang pernah diajak bicara. Solusinya, picu komunikasi dulu: ping router, buka website, atau ping IP perangkat lain di jaringan, lalu jalankan ip neigh show lagi. Entri lama juga otomatis dihapus kernel setelah beberapa menit tidak ada komunikasi.

    Banyak Entri Berstatus FAILED

    Status FAILED artinya laptop kamu mencoba menanyakan MAC address IP tersebut tapi tidak ada yang menjawab. Biasanya perangkatnya memang sudah mati atau sudah pindah jaringan. Entri ini akan hilang sendiri. Kalau IP yang FAILED itu router kamu, itu masalah serius: cek kabel atau koneksi WiFi kamu.

    Perangkat Lain Tidak Pernah Muncul Padahal Aktif

    Banyak router WiFi punya fitur bernama AP isolation atau client isolation yang memblokir komunikasi antar perangkat WiFi. Kalau fitur ini aktif, HP kamu tidak akan pernah muncul di ip neigh laptop meskipun sama-sama tersambung. Masuk ke halaman admin router (biasanya di 192.168.1.1) dan matikan opsi tersebut kalau memang ingin perangkat saling terlihat.

    IP Laptop 192.168.0.x tapi Router Kedua 192.168.1.x

    Ini gejala double NAT: router kedua di rumah kamu masih berjalan sebagai router penuh, padahal sudah ada router utama dari ISP. Akibatnya rumah kamu punya dua LAN terpisah dan perangkat di keduanya susah saling akses. Solusi paling bersih: ubah router kedua ke mode AP atau bridge, sesuai penjelasan di bagian salah kaprah tadi.

    Rangkuman dan Bagian Berikutnya

    Kamu sekarang bisa membedakan empat perangkat inti: switch menghubungkan perangkat dalam satu LAN pakai MAC address, router menghubungkan antar jaringan pakai IP address, AP menjembatani nirkabel ke kabel, dan modem menerjemahkan sinyal ISP. Topologi star menguasai LAN, mesh dipakai di backbone dan WiFi modern, dan kamu sudah memetakan jaringan sendiri dengan ip -br addr, ip route, dan ip neigh.

    Di bagian tadi kita beberapa kali menyinggung istilah layer 2 dan layer 3. Bagian berikutnya, “Model OSI dan TCP/IP Dipahami Tanpa Hafalan”, akan membereskan konsep layer ini sampai tuntas tanpa perlu menghafal singkatan. Artikelnya terbit menyusul, pantau daftar lengkapnya di halaman hub Belajar Jaringan Komputer dari Nol.

    Referensi

  • Cara Kerja Internet: Perjalanan Paket Saat Membuka Website

    Cara Kerja Internet: Perjalanan Paket Saat Membuka Website

    Cara kerja internet paling mudah dipahami lewat satu skenario nyata: kamu mengetik alamat website di browser, menekan Enter, dan halaman muncul kurang dari satu detik kemudian. Di balik layar, data dipotong menjadi paket-paket kecil, dikirim dari laptop ke router rumah, diteruskan ke jaringan ISP, lalu melompat dari router ke router lintas kota dan lintas negara sampai tiba di server tujuan. Server membalas dengan paket berisi konten halaman, dan browser merakitnya kembali menjadi tampilan yang kamu lihat.

    Artikel ini bagian kedua dari seri Belajar Jaringan Komputer dari Nol. Kita tidak berhenti di teori. Kamu akan membuktikan sendiri rute perjalanan paket itu memakai dua perintah klasik di Linux: ping dan traceroute.

    Prasyarat Sebelum Praktik

    Kalau kamu belum tahu apa itu jaringan, IP, atau belum punya terminal Linux yang siap dipakai, baca dulu bagian pertama: Apa itu Jaringan Komputer + Setup Lab Praktik di Linux. Praktik di artikel ini memakai Ubuntu 24.04 dengan ping dari paket iputils (versi 20240117) dan traceroute versi 2.1.5. Distro lain juga bisa, perintahnya sama, hanya nomor versinya yang mungkin beda. Yang penting kamu punya koneksi internet aktif.

    Perjalanan Data Saat Membuka Website

    Anggap kamu membuka detik.com dari laptop yang terhubung WiFi rumah. Ini yang terjadi, urut dari awal:

    1. Browser mencari alamat server. Komputer tidak mengerti nama seperti detik.com. Nama itu harus diterjemahkan dulu menjadi alamat numerik (IP address). Proses penerjemahan ini namanya DNS. Kita bahas tuntas di bagian 11 seri ini, sekarang cukup tahu bahwa langkah ini terjadi paling awal.
    2. Data dipecah menjadi paket. Permintaan “kirim halaman utama” tidak dikirim sebagai satu bongkahan besar. Ia dipotong menjadi paket-paket kecil, masing-masing membawa alamat pengirim dan alamat tujuan, mirip amplop surat.
    3. Paket keluar lewat router rumah. Laptop mengirim paket lewat WiFi ke router di rumahmu. Router ini gerbang tunggal: semua perangkat di rumah menitipkan paketnya ke sini untuk diteruskan keluar.
    4. Router rumah meneruskan ke ISP. Dari rumah, paket berjalan lewat kabel fiber atau jaringan seluler menuju perangkat milik ISP (Indihome, Biznet, First Media, dan sebagainya). ISP punya jaringan router besar yang saling terhubung dengan ISP lain.
    5. Paket melompat antar router sampai ke server. Tidak ada kabel langsung dari rumahmu ke server detik.com. Paket berpindah tangan dari router ke router, kadang belasan kali. Setiap router membaca alamat tujuan lalu memutuskan lompatan berikutnya. Satu lompatan ini disebut hop. Kalau servernya di luar negeri, paket ikut lewat kabel bawah laut.
    6. Server membalas. Server menerima permintaan, menyiapkan konten halaman, memotongnya jadi paket, lalu mengirim balik lewat rute yang bisa jadi berbeda. Browser di laptopmu menyusun paket-paket itu kembali menjadi halaman utuh.

    Semua ini terjadi dalam hitungan puluhan sampai ratusan milidetik. Sekarang kita ukur.

    Praktik ping: Mengukur Latency, Packet Loss, dan TTL

    ping mengirim paket kecil ke tujuan dan menghitung berapa lama balasannya kembali. Jalankan ini di terminal:

    ping -c 5 detik.com

    Opsi -c 5 artinya kirim 5 paket lalu berhenti. Tanpa opsi ini, ping jalan terus sampai kamu tekan Ctrl+C. Contoh output:

    PING detik.com (203.190.242.69) 56(84) bytes of data.
    64 bytes from 203.190.242.69: icmp_seq=1 ttl=55 time=21.4 ms
    64 bytes from 203.190.242.69: icmp_seq=2 ttl=55 time=20.8 ms
    64 bytes from 203.190.242.69: icmp_seq=3 ttl=55 time=23.1 ms
    64 bytes from 203.190.242.69: icmp_seq=4 ttl=55 time=21.0 ms
    64 bytes from 203.190.242.69: icmp_seq=5 ttl=55 time=22.6 ms
    
    --- detik.com ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4006ms
    rtt min/avg/max/mdev = 20.812/21.780/23.104/0.902 ms

    Angka di outputmu pasti berbeda, tergantung ISP dan lokasi. Yang penting kamu bisa membaca tiga hal ini:

    Membaca latency (time dalam ms)

    time=21.4 ms artinya paket butuh 21,4 milidetik untuk pergi ke server dan kembali lagi. Ini disebut round trip time, dan istilah sehari-harinya latency. Patokan kasar: di bawah 30 ms terasa instan, 50 sampai 100 ms masih nyaman untuk browsing, di atas 200 ms mulai terasa lambat, terutama untuk video call dan game online. Server di Indonesia biasanya memberi latency lebih kecil daripada server di Amerika atau Eropa, karena jarak fisiknya memang lebih dekat.

    Membaca packet loss

    Baris 0% packet loss artinya semua paket yang dikirim mendapat balasan. Kalau angkanya 20%, berarti 1 dari 5 paket hilang di jalan. Packet loss yang konsisten di atas 1 sampai 2% biasanya menandakan masalah: sinyal WiFi jelek, kabel bermasalah, atau jaringan ISP sedang padat. Gejalanya di dunia nyata: video call patah-patah dan halaman kadang gagal dimuat.

    Membaca TTL

    ttl=55 singkatan dari Time To Live. Setiap paket lahir dengan nilai TTL awal, umumnya 64 di server Linux dan 128 di Windows. Setiap kali paket melewati satu router, nilainya dikurangi satu. Kalau TTL sampai nol, paket dibuang. Ini mencegah paket nyasar berputar-putar selamanya di internet. Dari TTL kamu bisa menebak jumlah hop: nilai 55 dengan asumsi awal 64 berarti paket melewati sekitar 9 router untuk sampai ke kamu.

    Kebiasaan cek latency ini kepakai terus di kerjaan nyata. Saat sistem aplikasi yang tim Arrazy bangun untuk klien terasa lambat, ping dan traceroute selalu jadi pemeriksaan pertama. Sering kali masalahnya di jaringan atau lokasi server, bukan di kode backend-nya.

    Praktik traceroute: Melihat Rute Hop demi Hop

    Kalau ping hanya memberi tahu total waktu tempuh, traceroute membongkar rutenya: router mana saja yang dilewati paket. Install dulu karena Ubuntu tidak menyertakannya secara default:

    sudo apt update
    sudo apt install traceroute

    Lalu coba ke situs dalam negeri:

    traceroute detik.com

    Contoh output (dipersingkat):

    traceroute to detik.com (203.190.242.69), 30 hops max, 60 byte packets
     1  _gateway (192.168.1.1)  1.213 ms  1.105 ms  1.087 ms
     2  180.252.x.x (180.252.x.x)  4.891 ms  4.702 ms  4.655 ms
     3  * * *
     4  180.240.204.75 (180.240.204.75)  12.480 ms  12.331 ms  12.279 ms
     5  180.240.191.14 (180.240.191.14)  15.702 ms  14.988 ms  15.213 ms
     6  203.190.242.69 (203.190.242.69)  21.145 ms  20.897 ms  21.033 ms

    Cara membacanya baris per baris:

    • Hop 1 selalu router rumahmu sendiri. Alamat 192.168.1.1 adalah alamat lokal yang umum dipakai router. Waktunya kecil, sekitar 1 ms, karena jaraknya cuma beberapa meter.
    • Hop 2 sampai beberapa hop berikutnya adalah jaringan ISP: perangkat di kompleksmu, lalu router agregasi di kota, lalu backbone antar kota.
    • Hop terakhir adalah server tujuan. Tiga angka waktu di tiap baris muncul karena traceroute mengetes tiap hop tiga kali.

    Sekarang bandingkan dengan situs yang servernya di luar negeri:

    traceroute one.one.one.one
    traceroute github.com

    Perhatikan dua hal. Pertama, one.one.one.one (layanan DNS Cloudflare) biasanya selesai dalam sedikit hop dengan latency kecil, karena Cloudflare menaruh server di Jakarta. Kedua, github.com biasanya butuh hop lebih banyak dengan lonjakan latency yang jelas di tengah rute, misalnya dari belasan ms tiba-tiba jadi 150 sampai 200 ms. Lonjakan itu momen paket menyeberangi kabel bawah laut ke Singapura lalu ke Amerika. Kamu sedang melihat geografi bumi lewat terminal.

    Bandwidth vs Latency vs Throughput: Analogi Jalan Tol

    Tiga istilah ini sering tertukar padahal artinya beda. Bayangkan jalan tol antar kota:

    • Bandwidth = jumlah lajur tol. Tol 8 lajur bisa menampung lebih banyak mobil per jam daripada tol 2 lajur. Bandwidth adalah kapasitas maksimum, diukur dalam Mbps.
    • Latency = waktu tempuh satu mobil dari gerbang masuk ke gerbang keluar. Mau lajurnya 100 pun, kalau jaraknya 500 km ya tetap butuh berjam-jam. Diukur dalam ms.
    • Throughput = jumlah mobil yang benar-benar sampai tujuan per jam. Ini angka nyata setelah kena macet, kecelakaan, dan gerbang tol yang antre. Throughput selalu lebih kecil atau sama dengan bandwidth.
    Istilah Analogi tol Satuan Cara mengukur
    Bandwidth Jumlah lajur Mbps Paket langganan ISP
    Latency Waktu tempuh ms ping
    Throughput Mobil yang sampai per jam Mbps Speedtest, kecepatan download nyata

    Ini menjelaskan kenapa langganan internet 100 Mbps tetap terasa lambat saat main game dengan server di luar negeri. Game online butuh latency kecil, bukan bandwidth besar, karena data yang dikirim per detik sebenarnya kecil tapi harus bolak-balik cepat. Sebaliknya, download file besar butuh bandwidth, dan latency 200 ms hampir tidak terasa.

    Troubleshooting: Error yang Sering Dialami Pemula

    traceroute menampilkan * * * di beberapa hop

    Baris seperti 3 * * * bukan berarti jaringan putus. Artinya router di hop itu memilih tidak membalas paket pemeriksaan (ICMP), biasanya karena alasan keamanan atau karena membalas ICMP bukan prioritasnya. Selama hop setelahnya tetap muncul dan hop terakhir tercapai, rute kamu sehat. Kalau semua hop setelah titik tertentu jadi * * * sampai habis 30 hop, baru itu tanda paket diblokir atau tujuan tidak membalas. Coba mode lain: sudo traceroute -I detik.com (pakai ICMP echo seperti ping) atau sudo traceroute -T detik.com (pakai TCP, lebih jarang diblokir).

    ping 100% packet loss padahal website-nya bisa dibuka

    Banyak server sengaja memblokir ping. Contoh yang terkenal, ping microsoft.com tidak pernah dibalas padahal situsnya jelas hidup. Jadi ping gagal tidak otomatis berarti server mati. Verifikasi dengan cara lain, misalnya curl -I https://www.microsoft.com. Kalau curl mendapat respons berisi HTTP/2 200, server hidup dan hanya menutup ICMP.

    ping: detik.com: Temporary failure in name resolution

    Komputer gagal menerjemahkan nama ke alamat IP. Dua kemungkinan: koneksi internetmu memang putus, atau pengaturan DNS bermasalah. Tes dengan ping -c 3 ke 1.1.1.1. Kalau ping ke angka berhasil tapi ke nama gagal, masalahnya di DNS, bukan koneksi. Solusi cepat: restart koneksi, atau ganti DNS di pengaturan jaringan ke 1.1.1.1.

    traceroute: command not found

    Ubuntu dan Debian tidak memasang traceroute secara bawaan. Install dengan sudo apt install traceroute. Alternatifnya, tracepath detik.com sudah tersedia tanpa install dan fungsinya mirip, hanya opsinya lebih sedikit.

    Lanjut ke Bagian Berikutnya

    Kamu sekarang paham rute yang ditempuh paket dari laptop sampai server, dan bisa mengukurnya sendiri dengan ping dan traceroute. Pertanyaan berikutnya wajar muncul: perangkat apa saja sebenarnya yang dilewati paket itu, dan apa beda switch dengan router? Itu materi bagian ketiga, “Perangkat Jaringan Komputer: Switch, Router, dan Topologi”, yang terbit menyusul. Pantau daftar lengkapnya di halaman hub seri Belajar Jaringan Komputer dari Nol.

    Referensi

  • Apa itu Jaringan Komputer + Setup Lab Praktik di Linux

    Apa itu Jaringan Komputer + Setup Lab Praktik di Linux

    Jaringan komputer adalah kumpulan dua perangkat atau lebih yang saling terhubung supaya bisa bertukar data. Terhubungnya bisa lewat kabel, bisa lewat WiFi. Laptop kamu yang tersambung ke router rumah itu sudah jaringan komputer. HP dan smart TV yang nonton YouTube lewat WiFi yang sama juga bagian dari jaringan itu. Internet sendiri pada dasarnya jaringan raksasa yang menghubungkan jutaan jaringan kecil di seluruh dunia.

    Artikel ini bagian pertama dari seri Belajar Jaringan Komputer dari Nol. Di bagian ini kita bahas apa itu jaringan komputer dengan contoh yang dekat dengan keseharian, lalu langsung praktik: menyiapkan lab di Linux dan menjalankan perintah jaringan pertama kamu. Tidak ada teori panjang dulu. Konsep seperti IP address, DNS, dan routing akan dikupas satu per satu di bagian-bagian berikutnya.

    Apa Itu Jaringan Komputer, dari LAN Rumah sampai Internet

    Biar tidak abstrak, kita lihat tiga contoh nyata dengan skala yang makin besar.

    Contoh 1: LAN di rumah

    Di rumah kamu ada satu router WiFi. Laptop, HP, printer, dan smart TV terhubung ke router itu. Semua perangkat ini membentuk satu LAN (Local Area Network), jaringan lokal dengan cakupan kecil. Karena satu jaringan, laptop bisa mengirim dokumen ke printer tanpa lewat internet sama sekali. Router bertugas jadi penghubung antar perangkat sekaligus gerbang keluar menuju internet.

    Contoh 2: Warnet atau lab kampus

    Warnet dan lab komputer kampus juga LAN, hanya skalanya lebih besar. Puluhan PC terhubung lewat kabel ke satu perangkat bernama switch, lalu switch tersambung ke router. Kalau kamu pernah main game multiplayer antar PC di warnet tanpa internet, itu bukti bahwa komunikasi antar komputer dalam LAN tidak butuh internet. Datanya cukup berputar di dalam jaringan lokal.

    Contoh 3: Internet

    Sekarang bayangkan LAN rumah kamu, LAN warnet, jaringan kantor, dan jaringan data center saling dihubungkan lewat jaringan milik ISP (penyedia internet), lalu ISP di seluruh dunia saling terhubung juga. Itulah internet: jaringan dari banyak jaringan. Saat kamu membuka sebuah website, data berjalan dari server di suatu data center, melompat lewat banyak router, sampai akhirnya tiba di laptop kamu. Perjalanan paket ini akan kita bedah tuntas di bagian 2 seri ini.

    Kenapa developer dan pengelola server wajib paham jaringan

    Kalau kamu cuma pakai komputer untuk browsing, pengetahuan jaringan memang jarang terasa perlu. Tapi begitu kamu menulis kode atau memegang server, ceritanya beda. Beberapa situasi yang pasti kamu temui:

    • API yang kamu panggil timeout. Masalahnya di kode, di DNS, di firewall, atau servernya memang mati? Tanpa dasar jaringan, kamu cuma bisa menebak.
    • Aplikasi jalan di laptop tapi tidak bisa diakses dari HP di WiFi yang sama. Ini soal IP dan port, bukan soal kode.
    • Website klien tiba-tiba tidak bisa dibuka. Kamu perlu tahu cara memastikan apakah masalahnya di DNS, di server, atau di jaringan pengunjung.
    • Deploy aplikasi dengan Docker, lalu container tidak bisa saling komunikasi. Docker punya lapisan jaringan sendiri yang perlu dipahami.

    Tim kami di Arrazy merasakan ini langsung. Saat membangun dan memelihara sistem aplikasi untuk klien, sebagian besar masalah produksi yang kami tangani ujungnya bukan bug di kode, tapi urusan jaringan: DNS yang belum propagasi, port yang tertutup firewall, atau konfigurasi reverse proxy. Developer yang paham dasar jaringan menyelesaikan masalah seperti ini dalam hitungan menit, bukan jam.

    Persiapan Lab: Linux dan Terminal

    Seri ini praktik di Linux karena hampir semua server di dunia berjalan di Linux, dan tool jaringan terbaik tersedia natif di sana. Yang kamu butuhkan:

    • Ubuntu 24.04 LTS atau turunannya seperti Linux Mint. Ubuntu 22.04 juga aman, perintahnya sama.
    • Pengguna Windows bisa pakai WSL 2 (Windows Subsystem for Linux) dengan distro Ubuntu. Sebagian besar praktik seri ini jalan di WSL, dengan beberapa catatan yang saya tulis di bagian troubleshooting.
    • Akses sudo untuk install paket.

    Kamu tidak perlu jago terminal, tapi minimal harus nyaman berpindah direktori, menjalankan perintah, dan membaca output. Kalau perintah seperti cd, ls, dan sudo masih terasa asing, selesaikan dulu beberapa bagian awal seri Belajar Linux dari Nol. Seri jaringan ini menganggap kamu sudah bisa hal-hal dasar itu.

    Install Toolkit Jaringan di Linux via apt

    Sekarang kita pasang semua tool yang dipakai sepanjang 26 bagian seri ini. Sekali install, beres untuk seterusnya. Buka terminal, lalu jalankan:

    sudo apt update
    sudo apt install -y iputils-ping traceroute dnsutils curl iproute2 tcpdump wireshark

    Saat instalasi Wireshark, akan muncul dialog biru bertanya “Should non-superusers be able to capture packets?”. Pilih Yes supaya nanti kamu bisa capture paket tanpa harus jadi root. Kalau terlanjur pilih No, ada cara memperbaikinya di bagian troubleshooting.

    Ini fungsi tiap paket, biar kamu tahu apa yang barusan dipasang:

    Paket Perintah utama Kegunaan
    iputils-ping ping Mengecek apakah sebuah host bisa dijangkau
    traceroute traceroute Melihat rute yang dilewati paket menuju tujuan
    dnsutils dig, nslookup Query DNS, menerjemahkan nama domain ke IP
    curl curl Mengirim request HTTP dari terminal
    iproute2 ip, ss Melihat IP address, tabel routing, dan port terbuka
    tcpdump tcpdump Menangkap paket jaringan lewat terminal
    wireshark wireshark Analisis paket dengan tampilan grafis

    Di Ubuntu 24.04, iproute2 dan curl biasanya sudah terpasang bawaan, tapi tidak masalah ikut ditulis di perintah install. apt akan melewatinya kalau sudah ada.

    Verifikasi instalasi dengan mengecek versi beberapa tool:

    ping -V
    dig -v
    tcpdump --version

    Output yang diharapkan kurang lebih seperti ini (angka versi bisa sedikit beda tergantung distro):

    ping from iputils 20240117
    DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu
    tcpdump version 4.99.4
    libpcap version 1.10.4 (with TPACKET_V3)

    Kalau semua perintah di atas mengeluarkan versi dan bukan error, lab kamu siap.

    Praktik Pertama: Kenali Jaringan Kamu Sendiri

    Dua perintah ini adalah perintah jaringan yang paling sering kamu pakai seumur hidup sebagai developer. Kita jalankan sekarang, penjelasan mendalamnya menyusul di bagian-bagian berikutnya.

    Melihat IP address dengan ip addr

    ip addr

    Outputnya kira-kira seperti ini (punya kamu pasti beda di detailnya):

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN ...
        inet 127.0.0.1/8 scope host lo
    2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP ...
        link/ether a4:6b:b6:3e:12:9f brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.7/24 brd 192.168.1.255 scope global dynamic wlp3s0

    Tiga hal yang cukup kamu kenali dulu:

    • lo adalah loopback, alamat internal komputer kamu sendiri. IP-nya selalu 127.0.0.1.
    • wlp3s0 (atau eth0, enp2s0, tergantung perangkat) adalah interface jaringan yang aktif. Baris inet 192.168.1.7/24 artinya komputer kamu punya IP 192.168.1.7 di jaringan lokal.
    • Baris link/ether berisi MAC address, alamat fisik perangkat jaringan kamu.

    Apa arti /24, kenapa IP-nya mulai dengan 192.168, dan apa bedanya dengan IP publik, semua dibahas di bagian 6 dan 7 seri ini. Sekarang cukup tahu bahwa komputer kamu punya alamat di jaringan lokal.

    Mengecek koneksi dengan ping

    ping -c 4 google.com

    Opsi -c 4 artinya kirim 4 kali lalu berhenti. Tanpa opsi ini, ping di Linux jalan terus sampai kamu tekan Ctrl+C. Output yang diharapkan:

    PING google.com (142.251.10.101) 56(84) bytes of data.
    64 bytes from 142.251.10.101: icmp_seq=1 ttl=115 time=24.3 ms
    64 bytes from 142.251.10.101: icmp_seq=2 ttl=115 time=23.8 ms
    64 bytes from 142.251.10.101: icmp_seq=3 ttl=115 time=25.1 ms
    64 bytes from 142.251.10.101: icmp_seq=4 ttl=115 time=24.0 ms
    
    --- google.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3005ms
    rtt min/avg/max/mdev = 23.812/24.300/25.104/0.492 ms

    Baca hasilnya begini: komputer kamu mengirim paket kecil ke server Google, dan server membalas dalam waktu sekitar 24 milidetik. 0% packet loss artinya semua paket sampai dan dibalas, koneksi kamu sehat. Perhatikan juga baris pertama: kamu mengetik google.com, tapi sistem menerjemahkannya jadi IP 142.251.10.101. Penerjemah itu namanya DNS, dan dia dapat bagian khusus di seri ini.

    Kalau dua perintah ini jalan, selamat, lab kamu berfungsi dan kamu baru saja melakukan diagnosis jaringan pertama.

    Error Umum Saat Setup Lab dan Solusinya

    Command not found saat menjalankan ping, dig, atau traceroute

    Contoh pesannya: Command 'traceroute' not found, but can be installed with: sudo apt install traceroute. Penyebabnya jelas, paketnya belum terinstall. Image minimal seperti container Docker atau VPS baru sering tidak menyertakan tool dasar sekalipun. Solusinya jalankan ulang perintah install di atas. Kalau apt-nya sendiri yang error, jalankan sudo apt update dulu untuk menyegarkan daftar paket.

    Wireshark tidak bisa capture: You don’t have permission to capture on that device

    Ini muncul kalau saat instalasi kamu menjawab No pada dialog non-superuser, atau user kamu belum masuk group wireshark. Perbaiki dengan:

    sudo dpkg-reconfigure wireshark-common
    sudo usermod -aG wireshark $USER

    Pada dialog yang muncul, pilih Yes. Setelah itu logout lalu login lagi (atau restart) supaya keanggotaan group aktif. Cek dengan perintah groups, pastikan kata wireshark muncul di daftarnya.

    ping: Temporary failure in name resolution

    Artinya komputer kamu gagal menerjemahkan google.com jadi IP. Coba ping -c 4 8.8.8.8. Kalau ping ke angka ini berhasil tapi ke google.com gagal, masalahnya di DNS, bukan koneksi. Di WSL, kasus ini sering beres dengan restart WSL: tutup terminal, jalankan wsl --shutdown di PowerShell, lalu buka lagi. Kalau ping ke 8.8.8.8 juga gagal, cek dulu apakah WiFi atau kabel kamu memang tersambung.

    Catatan khusus pengguna WSL

    WSL 2 menjalankan Linux di dalam mesin virtual, jadi ada beberapa perbedaan yang wajar kamu temui:

    • ip addr menampilkan interface eth0 dengan IP virtual (misalnya 172.x.x.x), bukan IP WiFi laptop kamu. Ini normal, WSL punya jaringan virtual sendiri di belakang Windows.
    • Wireshark versi GUI butuh WSLg (bawaan Windows 11). Alternatifnya, capture pakai tcpdump di WSL lalu buka file hasilnya di Wireshark versi Windows.
    • Beberapa praktik lanjutan seperti sniffing interface WiFi langsung tidak bisa dilakukan dari dalam WSL. Untuk 80 persen materi seri ini, WSL tetap cukup.

    Lanjut ke Bagian 2: Perjalanan Paket di Internet

    Hari ini kamu sudah paham apa itu jaringan komputer, dari LAN rumah sampai internet, dan lab praktik kamu sudah siap dengan toolkit lengkap. Dua perintah pertama juga sudah jalan: ip addr untuk melihat alamat sendiri dan ping untuk mengecek koneksi.

    Bagian berikutnya berjudul “Cara Kerja Internet: Perjalanan Paket Saat Membuka Website”. Di sana kita ikuti langkah demi langkah apa yang terjadi sejak kamu menekan Enter di address bar sampai halaman muncul, lengkap dengan praktik traceroute untuk melihat rute paketnya. Artikelnya terbit menyusul, pantau daftar lengkapnya di halaman hub seri Belajar Jaringan Komputer.

    Referensi