Monday, December 29, 2014

Sekilas Tentang Address Resolution Protocol (ARP)

Address Resolution Protocol (ARP) adalah protocol yang digunakan untuk menerjemahkan IP address menjadi MAC Address dalam suatu jaringan. Contohnya ketika suatu packet data masuk/datang kesuatu gateway, maka gateway tersebut menggunakan protocol ARP untuk menentukan ke MAC Address mana packet tersebut akan diteruskan. ARP menggunakan routing table untuk menerjemahkan IP ke MAC Address. Jika ternyata ARP tidak menemukan MAC address yang cocok untuk IP data, maka ARP akan mengirimkan broadcast message ke seluruh komputer yang ada dalam suatu jaringan lokal. Broadcast message ini berisi 1 resolution request atau response. Ukuran message tersebut juga bergantung pada ukuran alamat layer atas dan bawah dari ARP. Ukuran alamat layer atas dan bawah dapat diketahui dari header yang digunakan oleh packet ARP seperti terlihat di bawah :


Hardware Type (HTYPE). Pada gambar di atas HTYPE ini adalah 2 byte dan mementukan type dari network protocol. Contoh untuk Ethernet, HTYPE ini bernilai 1.

Protocol Type (PTYPE). PTYPE ini juga 2 byte, berguna untuk menentukan protocol internetwork dimana ARP request ditujukan. Untuk IPv4, PTYPE = 0x0800. Nilai-nilai yang lain dapat dilihat di EtherType.

Hardware Length (HLEN), menunjukkan panjang alamat hardware.

Protocol Length (PLEN), menunjukkan panjang address yang digunakan oleh protocol layer atasnya.

Operation, menunjukkan operasi apa yang dilakukan pengirim. Operasinya bisa request atau reply.

Sender Hardware Address (SHA). Pada ARP request field ini digunakan untuk menunjukkan alamat komputer yang mengirim ARP request. Pada ARP reply, field ini menunjukkan alamat komputer ARP request ini ditujukan (Alamat komputer yang mac Addressnya g' diketahui wkwkw...).

Target Hardware Address (THA). Pada ARP request (broadcast) field ini kosong/ignore. Pada ARP reply, field ini menunjukkan alamat pengirim ARP request.

Ilustrasi yang lebih jelas untuk penggunaan ARP bisa dilihat pada gambar di bawah :

Terlihat pada, Sender mempunyai data yang akan dikirim ke alamat IP 10.199.64.105. Tetapi sender tidak mengetahui MAC address dari IP tersebut, sehingga sender mengirimkan ARP broadcast ke semua komputer yang berada dalam jaringan lokalnya (agk mubasyir yah...). Komputer-komputer lain yang menerima ARP broadcast tersebut mengecek, jika ternyata bukan untuk dirinya maka ARP tersebut dibuang saja, tetap jika ARP tersebut ditujukan untuk dirinya, maka dia akan membalas dengan MAC Address yang dia miliki. Setelah itu routing table akan diupgrade pada masing-masing komputer dan komunikasi data selanjutnya dapat dilakukan.

Ok, berikutnya kita akan mencoba-coba perintah "arp" ini pada bacth programming. Jadi silahkan buka command prompt pada windows. perintah pertama adalah "arp -a", seperti terlihat :


arp -a ini berguna untuk menunjukkan semua entry cached arp (mkn boleh dibilang routing tabel apa yah...? :D) pada komputer yang kita miliki, baik itu yang berupa static ataupun yang dinamic. Jika arp -a diatas dieksekusi (tekan enter aja), hasilnya :


Nah dari situ kita dapat mengetahui komputer kita terhubung(dapat terhubung) ke komputer mana saja dalam jaringan lokal. Kemudian Physical(MAC) Addressnya juga dapat diketahui. Jika ditambahkan IP address dibelakang -a, maka yang ditampilkan hanya MAC address dari IP address tersebut, contoh :

Kemudian, "arp -g" nah command ini sama persis dengan "arp -a". Kemudian "arp -d" digunakan untuk mendelete entry ARP. Caranya "arp -d IP". Next, "arp -s" digunakan untuk menambah entry baru pada cached ARP,

Kemudian, beberapa command lagi seperti arp -v, arp -n, dsb yang saya belum tau sendiri hohoho... :D


1 comment: