Jika jaringan kita menggunakan IPv4, Address Resolution Protocol atau ARP sangat diperlukan untuk memetakan alamat IPv4 ke alamat MAC. Setiap perangkat IP di jaringan internet memiliki alamat MAC yang unik. Ketika sebuah perangkat mengirim frame Ethernet Layer 2, frame tersebut berisi dua alamat berikut:
Gambar di bawah ini mengilustrasikan saat host akan mengirim frame ke host lain di jaringan IPv4 yang sama.
Untuk mengirimkan paket ke host lain di jaringan IPv4 yang sama, host terlebih dahulu harus mengetahui alamat IPv4 dan alamat MAC tujuan. Setelah mengetahui alamat IPv4 tujuan selanjutnya untuk mengetahui MAC addressnya harus menggunakan ARP.
Perangkat menggunakan Address Resolution Protocol untuk menentukan alamat MAC tujuan perangkat lokal ketika telah mengetahui alamat IPv4nya.
ARP memiliki 2 fungsi dasar, yaitu:
Section Artikel
Ketika sebuah paket dikirim ke Layer Data Link untuk dienkapsulasi ke dalam frame Ethernet, perangkat akan menggunakan tabel ARP dalam memorinya untuk menemukan alamat MAC yang dipetakan ke alamat IPv4. Tabel ini disimpan menggunakan RAM dan disebut tabel ARP atau cache ARP.
Perangkat penngirim akan mencari tabel ARP untuk alamt IPv4 tujuan dan alamat MACnya.
Setiap baris pada tabel ARP berisikan Alamat IPv4 dan alamat MAC serta tipe dari alamat tersebut yakni dinamik atau static. Pada sistem operasi Windows untuk menampilkan tabel ARP dapat menggunakan perintah arp -a seperti yang ditunjukkan pada gambar berikut.
Permintaan ARP dikirim saat perangkat perlu menentukan alamat MAC yang terkait dengan alamat IPv4 dan tidak memiliki entri alamat IPv4 di tabel ARPnya. Pesan ARP dienkapsulasi langsung di dalam frame Ethernet menggunakan informasi header berikut:
Karena request tersebut dikirim secara broadcast maka akan membanjiri semua port switch kecuali port penerima. Nah, setiap perangkat harus memproses permintaan ARP tersebut untuk memeriksa apakah alamat IPv4 target cocok dengan yang dimiliki.
Router tidak akan meneruskan ARP request tersebut ke interface yang lain dan hanya satu perangkat LAN yang memiliki IPv4 yang cocok dengan ARP request tersebut sehingga perangkat lainnya tidak akan membalas pesan ARP.
Hanya perangkat yang awalnnya mengirim permintaan ARP yang akan menerima ARP balasan unicast. Setelah balasan ARP diterima, perangkat akan menambahkan alamat IPv4 dan alamat MAC yang sesuai ke tabel ARPnya. Paket yang ditujukan untuk alamat IPv4 tersebut sekarang dapat dienkapsulasi dalam frame menggunakan alamat MAC yang sesuai. Namun jika tidak ada perangkat yang menanggapi ARP Request, paket tersebut akan dihapus karena frame tidak dapat dibuat.
Entri dalam tabel ARP diberi time-to-live. Jika perangkat tidak menerima frame dari perangkat tertentu hingga waktu berakhir maka entri untuk perangkat tersebut dihapus dari tabel ARP. Selain itu, terdapat entri pada tabel ARP yang bersifat statis dan tidak akan kedaluwarsa seiring waktu sehingga untuk menghapusnya dilakukan secara manual.
Sebagai broadcast frame, ARP request diterima dan diproses oleh tiap perangkat jaringan lokal. Pada jaringan kecil mungkin dampak broadcast ini tidak terlalu signifikan. Namun jika di jaringan yang cukup besar dan sejumlah besar perangkat dihidupkan serta mengakses jaringan di waktu yang sama, akan ada penurunkan trafik atau overload trafik untuk beberapa waktu.
Dalam beberapa kasus, penggunaan ARP dapat menimbulkan masalah keamanan. Aktor ancaman dapat menggunakan metode spoofing ARP untuk melakukan ARP poisoning attack. ARP spoofing adalah teknik untuk membalas ARP request dengan menggunakan alamat IPv4 perangkat lain. Seperti yang ditunjukkan pada gambar di bawah ini.
Pelaku ancaman mengirimkan balasan ARP dengan alamt MACnya sendiri yang kemudian penerima akan menambahkan MAC tersebut ke dalam tabel ARPnya dan selanjutkan mengirimkan paket ke pelaku ancaman.