Address Resolution Protocol disingkat ARP adalah sebuah protokol dalam TCP/IP Protocol Suite yang bertanggungjawab dalam melakukan resolusi alamat IP ke dalam alamat Media Access Control (MAC Address). ARP didefinisikan di dalam RFC 826.
Ketika sebuah aplikasi yang mendukung teknologi protokol jaringan TCP/IP mencoba untuk mengakses sebuah host TCP/IP dengan menggunakan alamat IP, maka alamat IP yang dimiliki oleh host yang dituju harus diterjemahkan terlebih dahulu ke dalam MAC Address agar frame-frame data dapat diteruskan ke tujuan dan diletakkan di atas media transmisi (kabel, radio, atau cahaya), setelah diproses terlebih dahulu oleh Network Interface Card (NIC). Hal ini dikarenakan NIC beroperasi dalam lapisan fisik dan lapisan data-link pada tujuh lapis model referensi OSI dan menggunakan alamat fisik daripada menggunakan alamat logis (seperti halnya alamat IP atau nama NetBIOS) untuk melakukan komunikasi data dalam jaringan.
Jika memang alamat yang dituju berada di luar jaringan lokal, maka ARP akan mencoba untuk mendapatkan MAC address dari antarmuka router lokal yang menghubungkan jaringan lokal ke luar jaringan (di mana komputer yang dituju berada)

IP dan MAC (Media Access Control) address merupakan elemen dalam protokol ARP yang digunakan untuk pengalamatan dalam jaringan komputer. Ketika satu komputer masuk ke dalam jaringan, ia akan mengumumkan kehadirannya kepada semua komputer dalam jaringan (melakukan broadcast) melalui nomor IP dan MAC address-nya, atau sering disebut dengan istilah hardware address.
Address Resolution Protocol
Informasi tentang MAC address akan disimpan dalam keping RAM (Random Access Memory) dan sifatnya temporer dengan umurnya yang hanya dua menit, namun dapat diperbarui. Ruang simpan dalam RAM ini disebut ARP (Address Resolution Protocol) cache. ARP akan selalu memeriksa ARP cache. Jika ARP berhasil menemukan nomor IP tetapi tidak menemukan MAC address pasangannya, maka ARP akan mengirim request ke jaringan.
Prinsip dari ARP adalah tidak boleh ada lebih dari satu nomor IP memakai satu MAC address yang sama. Jadi, kita tidak bisa menggunakan nomor IP yang sedang dipakai oleh komputer lain, dan tidak bisa menggunakan MAC address yang telah dipasangkan dengan IP lain.
Protokol ARP bersifat stateless, ia akan mengirim request MAC address dan mengirimkan pemberitahuan kepada komputer anggota jaringan jika terjadi ketidakberesan dalam pengalamatan, walaupun tidak ada komputer di jaringan yang memintanya. Protokol ARP juga bersifat non-routable, ia hanya bekerja pada satu segmen jaringan lokal.
ARP Spoofing
Ancaman keamanan muncul ketika ada upaya manipulasi terhadap pengalamatan nomor IP dan MAC address. Proses ini biasa disebut dengan istilah ARP spoofing atau ARP poisoning, bertujuan untuk mencari mana saja komputer yang terhubung dengan koneksi terbuka (saling percaya). Misalnya, komputer B dengan alamat hardware BB:BB percaya terhadap komputer C yang beralamat hardware CC:CC. Komputer penyerang ada di komputer A dengan MAC address AA:AA. Maka, penyerang akan berupaya mengirimkan pemberitahuan kepada komputer B bahwa MAC address komputer C adalah AA:AA.
Salah satu contoh aplikasi yang dapat digunakan untuk memanipulasi MAC address adalah WinArpSpoof. Sebelum mengistalnya, terlebih dulu kita harus menginstal paket WinCap untuk menangkap paket data di jaringan.
Payahnya, sistem operasi selalu mengecek ARP cache dan akan mengirim request pengalamatan jika terjadi perubahan, atau jika ia mendeteksi adanya lebih dari satu IP dengan MAC address yang sama dalam ARP cache. Untuk menghentikan proses ini, biasanya cracker akan membuat program untuk menjawab bahwa tidak ada perubahan dalam ARP cache.
Dengan ARP spoofing, penyerang dapat mengatur lalu lintas data pada jaringan. Paket data yang dikirim target B ke target C akan berbelok dahulu ke komputer penyerang (komputer A). Setelah mengetahui isi data, bisa saja si penyerang mengirim pesan palsu ke komputer C, seakan-akan berasal dari komputer B. Model serangan semacam ini dikenal dengan istilah “man the middle attack”. Lain jadinya, jika penyerang memasangkan MAC address yang tidak dikenal di dalam jaringan kepada komputer target. Ini akan menyebabkan komputer target tidak dikenali oleh jaringan dan akan mengalami penolakan saat mengirim request layanan, istilahnya “denial of service (DoS)”.
Untuk mengetahui terjadinya upaya spoofing, kita bisa mengecek isi routing table menggunakan protokol Reverse ARP (RARP). Jika ada lebih dari satu alamat IP menggunakan MAC address yang sama, kemungkinan terjadi sesuatu yang tidak beres. Jika tidak ada yang salah dengan routing table, kita bisa mengirim paket ICMP (Internet Control Message Control) atau yang dikenal dengan ping ke komputer. Jika muncul pesan error (unreachable), kita harus curiga dan segera menyelidiki sistem.
Protokol ARP dapat dimanipulasi untuk tujuan jahat, namun juga dapat dimanfaatkan untuk tujuan yang baik. Contohnya untuk mengecek keanggotaan dalam suatu fasilitas akses internet. Sekarang banyak orang mengakses internet melalui jaringan Wi-Fi yang memanfaatkan gelombang radio. Di jaringan tersebut, protokol ARP bisa digunakan untuk mengecek MAC address komputer-komputer yang terhubung dengan internet.
2.Internet Control Message Protocol
IP software menyediakan layanan pengiriman datagram yang unreliable, connectionless dengan mengandalkan router-router untuk membawa datagram ke final destination. Jika router tidak dapat mengirimkan datagram atau mendeteksi adanya kondisi yang mempengaruhi kemampuannya membawa datagram (mis. kongesti), router harus memberi tahu original source agar mengambil tindakan untuk mengatasi masalah yang timbul.
Physical-based networks dapat melaporkan error melalui perangkat keras. Software-based networks (the Internet) tidak dapat melakukan hal di atas sehingga memerlukan mekanisme untuk pengendalian kesalahan. Agar router mampu mengirimkan pesan error atau pesan pengendali (control) ke router atau host yang lain, ditambahkanlah protokol Internet Control Message Protocol (ICMP).
ICMP adalah mekanisme pelaporan error (error reporting mechanisme). ICMP hanya digunakan untuk melaporkan error ke original source. Jika error terjadi akibat masalah pada suatu router, ICMP tidak bisa digunakan untuk memberi tahu router tersebut tentang error yang timbul. Original source tidak bertanggung jawab atas pengendalian router-router yang bermasalah, bahkan sebenarnya original source tidak mampu menentukan router yang menimbulkan masalah tersebut.
Mengapa ICMP hanya digunakan untuk berkomunikasi dengan original source? Karena pada datagram IP hanya tercantum IP address orignal source dan final destination. Tidak ada informasi tentang router-router yang dilalui oleh datagram (kecuali untuk kasus tertentu ketika record route option diaktifkan). Karena router dapat membuat dan mengganti tabel ruting sendiri-sendiri maka tidak ada informasi global mengenai rute-rute yang ditempuh. Jika suatu datagram sampai ke suatu router, maka tidaklah mungkin untuk mengetahui rute yang sudah ditempuh datagram tersebut. Jika suatu router mendeteksi adanya masalah, dia tidak dapat mengetahui router-router yang sudah dilalui datagram tersebut sehingga tidak mampu memberitahukan masalah ke router-router tsb. Jadi ICMP hanya memberi tahu original source mengenai error yang muncul dengan harapan network administrator akan memperbaiki kesalahan yang ada.
Ketika melaporkan error, ICMP message menyertakan keseluruhan header dan 64 bit pertama datagram IP yang menyebabkan masalah. Sehingga, pada TCP/IP, protokol-protokol layer yang lebih atas dirancang untuk menangani informasi kritis yang ada pada 64 bit pertama dari datagram.
3.Hub vs Switch


Gambar: Sebuah hub hanya mengulang semua trafik ke semua port, sementara switch akan membuat sambungan sementara antara port yang membutuhkan komunikasi.
Hub dianggap perangkat yang sederhana, karena hub secara tidak efisien membroadcast semua trafik ke setiap port. Kesederhanaan ini menyebabkan penalty dari sisi kinerja maupun keamanan. Secara keseluruhan kinerja menjadi lebih lambat, karena bandwidth yang tersedia harus dibagi antara semua port. Karena semua lalu lintas terlihat oleh semua port, semua host di jaringan dapat dengan mudah memantau seluruh lalu lintas jaringan.
Hub bekerja pada layer 1 OSI yang berfungsi untuk memperluas distribusi media (dalam hal ini Ethernet) dari hanya satu kabel menjadi beberapa kabel untuk didistribusikan. Semua peralatan yang tersambung dengan hub berarti dalam satu collision domain dan satu broadcast domain. Semua peralatan yang tersambung dengan hub saling berbagi bandwidth. Semakin banyak host yang terhubung, maka semakin besar terjadinya collision (tabrakan) untuk itu perlu diterapkan teknologi CSMA/CD (Carrier Sense Multiple Access/Collision Detector)
Sebuah hub dapat digunakan jika dibutuhkan pengulangan traffik ke semua port; misalnya, bila anda ingin sebuah mesin melakukan pemantauan untuk melihat semua lalu lintas pada jaringan. Kebanyakan switch menyediakan fungsi untuk memonitor port yang memungkinkan pengulangan traffik dari sebuah port tertentu yang ditugaskan secara khusus untuk tujuan ini.
Hub lebih murah daripada switch. Namun, harga akan berkurang secara drastis di tahun-tahun belakangan ini. Oleh karena itu, jaringan yang menggunakan hub lama sebaiknya diganti dengan switch yang baru jika memungkinkan.
Switch membuat sambungan virtual antara port penerima dan pengirim. Ini menghasilkan kinerja yang lebih baik karena banyak sambungan virtual dapat dibangun secara bersamaan. Switch yang lebih mahal dapat men-switch trafik dengan menginspeksi paket di tingkat yang lebih tinggi (di lapisan aplikasi atau lapisan transport), memungkinkan pembuatan VLAN, melaksanakan dan fitur tingkat lanjutan lainnya.
Switch adalah peralatan layer 2 OSI yang digunakan sebagai Frame Forwarder. Switch mempunyai fungsi yang sama dengan Bridge. Switch dapat disebut sebagai pengembangan dan penerus Bridge. Tugas utama dari Bridge adalah menerima frame dari port asal (incoming/source) dan meneruskannya ke tujuan (destination port).
Bridge menyiapkan MAC Address Table yang membantu Bridge untuk mengetahui ke port mana frame tersebut harus diteruskan. Pada saat dihidupkan, tabel Mac ini kosong. Setelah menyiapkan tabel pada Content Addressable Memory (CAM), Bridge mulai mendengar (listen) frame yang masuk pda port.
Hub dan switch mungkin menawarkan layanan yang dikelola (managed servis). Beberapa dari layanan ini meliputi kemampuan untuk mengatur kecepatan link (10baseT, 100baseT, 1000baseT, full duplex atau half duplex) per port, memungkinkan untuk memperhatikan kejadian di jaringan (seperti perubahan alamat MAC atau paket yang tidak baik / salah), dan biasanya termasuk penghitung trafik pada port untuk memudahkan bandwidth akunting. Sebuah managed switch yang menyediakan perhitungan upload dan download byte untuk setiap port fisik sehingga dapat sangat menyederhanakan pemantauan jaringan. Layanan ini biasanya tersedia melalui SNMP, atau dapat diakses melalui telnet, ssh, interface web, atau alat konfigurasi khusus.