ARP — IPv4 lokal tarmog‘ida IP manzilga mos MAC manzilni aniqlaydigan protokol. Uning to‘liq nomi Address Resolution Protocol hisoblanadi.
Kompyuter IP paketni bir xil Ethernet segmentidagi boshqa qurilmaga yuborishi uchun destination qurilmaning MAC manzilini bilishi kerak. Ilova odatda IP manzil bilan ishlaydi, Ethernet esa lokal uzatishda MAC manzildan foydalanadi. ARP shu ikki manzil turi orasidagi moslikni topadi.
ARP faqat lokal broadcast domen ichida ishlaydi. Router ARP broadcastini odatda boshqa subnetga uzatmaydi.
IP va MAC manzil munosabati
IP manzil mantiqiy tarmoq manzili bo‘lib, routing uchun ishlatiladi. MAC manzil esa lokal Ethernet segmentida kadrni kerakli interfeysga yetkazishga xizmat qiladi.
Bir subnetdagi ikki qurilma aloqa qilganda:
- jo‘natuvchi destination IP o‘z subnetida ekanini aniqlaydi;
- ARP orqali destination MAC manzilni topadi;
- IP paketni Ethernet frame ichiga joylaydi;
- frame destination MAC manzilga yuboriladi.
Boshqa subnetdagi manzil uchun jo‘natuvchi uzoq serverning MAC manzilini qidirmaydi. U default gateway interfeysining MAC manzilini ARP orqali aniqlaydi. IP packet destination manzili uzoq server bo‘lib qoladi, Ethernet frame esa gateway MAC manziliga yo‘naltiriladi.
ARP Request
Qurilma ARP jadvalida kerakli IP manzilga mos yozuv topmasa, ARP Request yuboradi.
ARP Request Ethernet broadcast sifatida uzatiladi:
Destination MAC: ff:ff:ff:ff:ff:ff
Savol: 192.168.1.20 manzili kimda?
Javobni 192.168.1.10 manziliga yuboring.
VLAN ichidagi barcha qurilmalar broadcast frameni qabul qiladi. Faqat so‘ralgan IP manzilga ega qurilma javob beradi.
ARP Request tarkibida jo‘natuvchining IP va MAC manzili ham bo‘ladi. Boshqa qurilmalar bu ma’lumotni o‘z ARP keshiga yozishi mumkin.
ARP Reply
So‘ralgan IP manzil egasi ARP Reply yuboradi. Javob odatda unicast ko‘rinishida bevosita so‘rov yuborgan qurilmaga qaytadi.
Javob mazmuni:
192.168.1.20 manzili aa:bb:cc:dd:ee:ff MAC manzilida.
Jo‘natuvchi IP–MAC mosligini ARP keshiga yozadi va keyingi paketlarda shu MAC manzildan foydalanadi.
ARP Ethernet frame ichida tashiladi, IP yoki UDP ustida ishlamaydi. Ethernet EtherType qiymati ARP uchun odatda 0x0806 bo‘ladi.
ARP xabari maydonlari
ARP paketi turli kanal va tarmoq protokollarini ifodalashga mos tuzilgan.
Asosiy maydonlar:
| Maydon | Mazmuni |
|---|---|
| Hardware Type | Kanal texnologiyasi, masalan Ethernet |
| Protocol Type | Tarmoq protokoli, masalan IPv4 |
| Hardware Length | MAC manzil uzunligi |
| Protocol Length | IP manzil uzunligi |
| Operation | Request yoki Reply |
| Sender Hardware Address | Jo‘natuvchi MAC manzili |
| Sender Protocol Address | Jo‘natuvchi IP manzili |
| Target Hardware Address | Qabul qiluvchi MAC manzili |
| Target Protocol Address | Qidirilayotgan IP manzil |
Request xabarida target MAC manzili hali noma’lum bo‘ladi.
ARP keshi
Har qurilma yaqinda o‘rganilgan IP–MAC mosliklarini ARP cache yoki ARP tableda saqlaydi.
Misol:
192.168.1.1 00:11:22:33:44:55 dynamic
192.168.1.20 aa:bb:cc:dd:ee:ff dynamic
192.168.1.50 10:20:30:40:50:60 static
ARP yozuvlari ikki asosiy turga bo‘linadi:
- Dynamic — ARP almashinuvi orqali avtomatik o‘rganiladi va vaqt o‘tishi bilan eskiradi;
- Static — administrator tomonidan qo‘lda belgilanadi va avtomatik yangilanmaydi.
Kesh har paket oldidan qayta ARP yuborishni kamaytiradi. Yozuvning amal qilish muddati operatsion tizim va holatga qarab farq qiladi.
ARP holatlari
Zamonaviy operatsion tizimlar neighbor jadvalida yozuvni faqat mavjud yoki mavjud emas ko‘rinishida saqlamasligi mumkin. Yozuv quyidagi holatlardan o‘tadi:
- incomplete;
- reachable;
- stale;
- delay;
- probe;
- failed.
Masalan, stale yozuv darhol o‘chirilmasligi mumkin. Qurilma undan foydalanib ko‘radi va kerak bo‘lsa qayta tekshiradi.
Gratuitous ARP
Gratuitous ARP — qurilmaning hech kim so‘ramagan bo‘lsa ham o‘z IP–MAC mosligini e’lon qilishi.
U quyidagi vazifalarda ishlatiladi:
- IP manzil takrorlanganini aniqlash;
- yangi MAC manzilni tarmoqqa bildirish;
- failoverdan keyin keshlarni yangilash;
- virtual IP boshqa routerga o‘tganda yangi egani ko‘rsatish;
- switch MAC jadvalini yangilash.
Masalan, VRRP faol routeri o‘zgarganda yangi router virtual IP uchun Gratuitous ARP yuboradi. Hostlar gateway IP manzilini yangi virtual MAC yoki fizik port bilan bog‘laydi.
Duplicate Address Detection
IPv4 qurilma yangi IP manzilni ishlatishdan oldin shu manzil tarmoqda band emasligini ARP orqali tekshirishi mumkin.
Qurilma sender IP sifatida 0.0.0.0 qiymati bilan ARP Probe yuboradi. Agar boshqa qurilmadan javob kelsa, manzil to‘qnashuvi aniqlanadi.
DHCP server ham manzilni berishdan oldin ping yoki ARP tekshiruvi bajarishi mumkin, lekin bu barcha implementatsiyada majburiy emas.
Proxy ARP
Proxy ARP holatida router yoki boshqa qurilma boshqa IP manzil nomidan ARP Reply beradi.
Host destination manzilni lokal subnetda deb hisoblaydi va ARP so‘rovi yuboradi. Router o‘z MAC manzilini javobda ko‘rsatadi, paketni qabul qilib, haqiqiy destinationga yo‘naltiradi.
Proxy ARP eski yoki maxsus tarmoqlarda subnet chegarasini yashirish uchun ishlatilgan. U noto‘g‘ri rejalashtirilsa:
- broadcast hajmini oshiradi;
- tarmoq tuzilishini tushunishni qiyinlashtiradi;
- noto‘g‘ri subnet maskani yashiradi;
- xavfsizlik siyosatini murakkablashtiradi.
ARP spoofing
ARP protokolining oddiy shaklida javobning haqiqiyligini kriptografik tekshirish mavjud emas. Qurilma so‘rov yubormagan bo‘lsa ham ARP Replyni qabul qilishi mumkin.
Hujumchi gateway IP manzilini o‘z MAC manzili bilan e’lon qilsa, hostlar trafikni hujumchiga yuborishi mumkin. Bu ARP spoofing yoki ARP poisoning deb ataladi.
Natijalar:
- man-in-the-middle;
- trafikni kuzatish;
- paketlarni o‘zgartirish;
- ulanishni to‘xtatish;
- DNS yoki boshqa protokolni soxtalashtirish.
Hujumchi ikki tomonga ham noto‘g‘ri ARP javoblarini yuborib, gateway va host orasidagi trafikni o‘zidan o‘tkazishi mumkin.
ARP himoyasi
Boshqariladigan tarmoqlarda bir nechta himoya mexanizmi ishlatiladi.
DHCP snooping
Switch DHCP orqali berilgan IP, MAC, VLAN va port mosliklarini jadvalda saqlaydi.
Dynamic ARP Inspection
DAI ARP paketdagi IP–MAC ma’lumotini DHCP snooping jadvali yoki statik binding bilan solishtiradi. Noto‘g‘ri ARP javoblari bloklanadi.
Port security
Switch portda ruxsat etilgan MAC manzillar soni yoki aniq manzillar cheklanadi.
Static ARP
Muhim kichik tarmoqda ayrim IP–MAC mosliklari statik yozilishi mumkin. Katta va dinamik muhitda uni boshqarish qiyin.
Segmentatsiya
VLAN va subnet broadcast domenni kichraytiradi. Bir VLANdagi hujumchi boshqa VLAN hostlariga to‘g‘ridan-to‘g‘ri ARP yubora olmaydi.
ARP va switch
Switch ARP jadvali bilan bir xil bo‘lmagan MAC address table saqlaydi.
Farqi:
| Jadval | Saqlanadigan moslik |
|---|---|
| ARP table | IP manzil → MAC manzil |
| Switch MAC table | MAC manzil → switch porti va VLAN |
| Routing table | IP prefiks → next hop va interfeys |
Host ARP orqali MAC manzilni topadi. Switch esa frame source MAC manzilidan qaysi portda qaysi qurilma borligini o‘rganadi.
ARP diagnostikasi
Bir subnetdagi qurilmalar aloqa qilmasa, quyidagilar tekshiriladi:
- subnet maska;
- VLAN;
- ARP jadvali;
- incomplete yoki failed yozuvlar;
- duplicate IP;
- switch MAC jadvali;
- port security;
- DAI loglari;
- firewall;
- qurilmaning fizik ulanishi.
Noto‘g‘ri ARP yozuvini vaqtincha tozalash yangi so‘rov yuborilishiga sabab bo‘ladi. Muammo qayta paydo bo‘lsa, faqat keshni tozalash emas, noto‘g‘ri javob manbasi aniqlanadi.
IPv6dagi o‘rni
IPv6 ARPdan foydalanmaydi. IP manzilga mos kanal manzilini aniqlash vazifasini Neighbor Discovery Protocol bajaradi.
NDP ICMPv6 asosida ishlaydi va quyidagi imkoniyatlarni birlashtiradi:
- neighbor address resolution;
- router discovery;
- prefix discovery;
- duplicate address detection;
- neighbor reachability;
- redirect.
IPv6da umumiy broadcast o‘rniga multicast guruhlardan foydalaniladi.
Bog‘liq tushunchalar
IPv4, MAC address, Ethernet, Broadcast, ARP cache, Gratuitous ARP, Proxy ARP, ARP spoofing, DHCP snooping, Dynamic ARP Inspection, Neighbor Discovery