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:3fmilik 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:
- ARP request: laptop mengirim frame broadcast ke
ff:ff:ff:ff:ff:ffberisi pertanyaan “siapa yang punya 192.168.1.1, tolong jawab ke 192.168.1.50”. Semua perangkat di jaringan lokal menerimanya. - 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”.
- 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
Artikel Lainnya di Kategori Jaringan Komputer
Jaringan Komputer 7 Agustus 2026
Cara Kerja Internet: Perjalanan Paket Saat Membuka Website
Ikuti perjalanan paket data dari laptop sampai server website, lalu praktikkan ping dan traceroute di Linux untuk membaca latency, TTL, dan hop.
Baca Artikel
Jaringan Komputer 19 Agustus 2026
Model OSI dan TCP/IP Dipahami Tanpa Hafalan
Pahami perbedaan OSI dan TCP/IP lewat analogi paket ekspedisi, tabel pemetaan 7 vs 4 layer, dan praktik ping, traceroute, curl di Ubuntu 24.04.
Baca Artikel
Jaringan Komputer 13 Agustus 2026
Perangkat Jaringan Komputer: Switch, Router, dan Topologi
Bedah fungsi switch, router, access point, dan modem, topologi yang benar-benar dipakai, plus praktik memetakan jaringan rumah dengan ip neigh di Linux.
Baca ArtikelIngin Membaca Artikel Lainnya?
Temukan lebih banyak insight dan tips tentang teknologi dan bisnis digital.
Lihat Semua Artikel