Jump to content

ARP

From Haidhi Wiki
Revision as of 10:17, 27 June 2026 by SanzSkuy (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

ARP (Address Resolution Protocol) adalah protokol yang memetakan IP address (Layer 3) ke MAC address (Layer 2) dalam satu jaringan lokal (LAN). ARP didefinisikan dalam RFC 826 (1982) dan digunakan pada jaringan IPv4 di atas media seperti Ethernet.

Singkatnya: sebuah host tahu IP tujuan yang ingin dihubungi, tetapi untuk benar-benar mengirim frame di Layer 2 ia membutuhkan MAC address tujuan. ARP-lah yang menjawab pertanyaan: "Siapa pemilik IP ini? Tolong beri tahu MAC address-mu."

Ringkasan ARP
Atribut Nilai
Nama Address Resolution Protocol
RFC RFC 826 (1982)
Layer (OSI) 2 / 2.5 (lihat di bawah)
Fungsi IP → MAC (IPv4)
EtherType 0x0806
Pengganti di IPv6 NDP (Neighbor Discovery)

Mengapa ARP diperlukan

Komunikasi di jaringan melibatkan dua jenis pengalamatan:

  • IP address (Layer 3) — alamat logis, bersifat end-to-end, dipakai untuk routing antar jaringan.
  • MAC address (Layer 2) — alamat fisik perangkat keras, bersifat lokal hop-to-hop, dipakai untuk mengirim frame di dalam satu segmen.

Saat host A ingin mengirim data ke host B di subnet yang sama, A sudah tahu IP B (mis. dari DNS), tetapi belum tahu MAC B. Karena frame Ethernet membutuhkan MAC tujuan di header-nya, A harus "menerjemahkan" IP B menjadi MAC B terlebih dahulu — inilah tugas ARP.

Posisi dalam model layer

ARP sering dianggap berada di antara Layer 2 dan Layer 3 (kadang disebut "Layer 2.5"). Alasannya: ARP beroperasi pada Layer 2 (dikirim langsung dalam frame Ethernet, bukan dibungkus IP), tetapi tugasnya melayani Layer 3 dengan menyediakan resolusi alamat. Pesan ARP tidak memiliki header IP — ia diidentifikasi melalui EtherType 0x0806 pada frame Ethernet.

Cara kerja

Resolusi ARP terjadi dalam dua langkah utama:

  1. ARP Request — Host A mengirim broadcast ke seluruh segmen (MAC tujuan FF:FF:FF:FF:FF:FF) yang isinya: "Siapa yang punya IP 192.168.1.10? Beri tahu 192.168.1.5." Semua host di segmen menerima pesan ini.
  2. ARP Reply — Hanya host pemilik IP tersebut (host B) yang menjawab, dan jawabannya dikirim secara unicast langsung ke A: "192.168.1.10 ada di MAC bb:bb:bb:bb:bb:bb."

Setelah itu, host A menyimpan pasangan IP↔MAC tersebut di ARP cache agar tidak perlu bertanya lagi untuk setiap paket.

Contoh transaksi

Host A (192.168.1.5, aa:aa:aa:aa:aa:aa) ingin menghubungi 192.168.1.10

1. REQUEST  (broadcast)
   Dari : aa:aa:aa:aa:aa:aa
   Ke   : ff:ff:ff:ff:ff:ff
   Isi  : "Who has 192.168.1.10? Tell 192.168.1.5"

2. REPLY    (unicast)
   Dari : bb:bb:bb:bb:bb:bb
   Ke   : aa:aa:aa:aa:aa:aa
   Isi  : "192.168.1.10 is at bb:bb:bb:bb:bb:bb"

3. Host A menyimpan: 192.168.1.10 -> bb:bb:bb:bb:bb:bb (ke ARP cache)

Struktur paket ARP

Paket ARP untuk Ethernet/IPv4 memiliki field berikut:

Field paket ARP (Ethernet/IPv4)
Field Ukuran Keterangan
Hardware Type (HTYPE) 2 byte Jenis media; 1 = Ethernet
Protocol Type (PTYPE) 2 byte Protokol L3; 0x0800 = IPv4
Hardware Addr Length (HLEN) 1 byte Panjang MAC; 6 byte
Protocol Addr Length (PLEN) 1 byte Panjang IP; 4 byte
Operation (OPER) 2 byte 1 = request, 2 = reply
Sender Hardware Addr (SHA) 6 byte MAC pengirim
Sender Protocol Addr (SPA) 4 byte IP pengirim
Target Hardware Addr (THA) 6 byte MAC tujuan (kosong di request)
Target Protocol Addr (TPA) 4 byte IP tujuan

ARP cache

ARP cache (atau tabel ARP) adalah penyimpanan sementara pasangan IP↔MAC pada tiap host. Entri memiliki masa berlaku (timeout) dan akan kedaluwarsa jika tidak dipakai, memaksa resolusi ulang. Cache mengurangi lalu lintas broadcast karena host tidak perlu bertanya untuk setiap frame.

Entri bisa bersifat:

  • Dinamis — dipelajari otomatis lewat ARP, punya timeout.
  • Statis — dikonfigurasi manual, tidak kedaluwarsa (berguna untuk keamanan/perangkat penting).

Variasi ARP

Jenis-jenis ARP
Jenis Fungsi
Gratuitous ARP Host mengumumkan IP-nya sendiri tanpa diminta (mengisi SPA = TPA). Dipakai untuk deteksi IP konflik, memperbarui cache tetangga, dan failover.
Proxy ARP Sebuah router menjawab ARP request atas nama host lain (di subnet berbeda), seolah-olah dirinya pemilik IP itu. Memungkinkan host berkomunikasi tanpa tahu adanya pemisahan subnet.
RARP (Reverse ARP) Kebalikan ARP: MAC → IP. Dipakai perangkat diskless lama untuk menemukan IP-nya sendiri. Kini usang, digantikan BOOTP/DHCP.
InARP (Inverse ARP) Menemukan IP dari alamat L2 yang sudah diketahui; umum di jaringan Frame Relay/ATM.

ARP pada IPv4 vs IPv6

ARP hanya berlaku untuk IPv4. Pada IPv6, fungsi resolusi alamat digantikan oleh NDP (Neighbor Discovery Protocol, RFC 4861), yang berjalan di atas ICMPv6 dan menggunakan pesan Neighbor Solicitation / Neighbor Advertisement alih-alih broadcast ARP.

Keamanan: ARP spoofing

ARP tidak memiliki mekanisme autentikasi — host akan mempercayai ARP reply apa pun yang diterimanya. Kelemahan ini dieksploitasi oleh ARP spoofing (atau ARP poisoning):

  • Penyerang mengirim ARP reply palsu yang mengklaim MAC penyerang sebagai pemilik IP gateway (atau host korban).
  • Korban memperbarui cache-nya dengan informasi palsu, sehingga lalu lintas korban dialihkan melewati penyerang.
  • Ini memungkinkan serangan Man-in-the-Middle (MITM), penyadapan, atau denial of service.

Mitigasi

  • Dynamic ARP Inspection (DAI) — fitur switch yang memvalidasi ARP terhadap tabel DHCP snooping.
  • Static ARP entries — mengunci pasangan IP↔MAC penting secara manual.
  • Port security pada switch — membatasi MAC per port.
  • Enkripsi end-to-end (TLS/IPsec) — tidak mencegah spoofing tetapi melindungi isi data.

Perintah praktis (Linux)

Perintah terkait ARP
Tujuan Perintah (modern iproute2) Perintah lama
Lihat tabel ARP/tetangga ip neigh show arp -a
Tambah entri statis ip neigh add 192.168.1.10 lladdr bb:bb:bb:bb:bb:bb dev eth0 nud permanent arp -s 192.168.1.10 bb:bb:...
Hapus entri ip neigh del 192.168.1.10 dev eth0 arp -d 192.168.1.10
Kirim/cek dengan tetangga arping 192.168.1.10 —

Troubleshooting

  • Entri INCOMPLETE / FAILED (ip neigh) — host tujuan tidak menjawab; cek apakah host hidup, ada di subnet yang sama, dan tidak diblokir firewall L2.
  • IP konflik — dua host mengklaim IP sama; gratuitous ARP biasanya memicu peringatan konflik.
  • MAC tetangga sering berubah — bisa indikasi ARP spoofing atau misconfiguration (mis. dua perangkat dengan MAC sama).
  • Tidak bisa menjangkau gateway — pastikan entri ARP gateway benar dan cocok dengan MAC perangkat gateway sebenarnya.

Lihat pula

Pranala luar