Neighbor Discovery — IPv6 tugunlarining bir linkdagi qo‘shnilar, routerlar, prefixlar va link-layer manzillarni aniqlashi uchun ICMPv6 asosida ishlaydigan protokol to‘plami. NDP IPv4dagi ARP, Router Discovery va ICMP Redirect vazifalarini birlashtiradi. U IPv6 manzil autokonfiguratsiyasi va default gateway tanlashning asosiy qismidir.
Xabar turlari
Neighbor Discovery besh asosiy ICMPv6 xabaridan foydalanadi:
- Router Solicitation hostning router e’lonini tez so‘raydi;
- Router Advertisement prefix, default router va parametrlarni e’lon qiladi;
- Neighbor Solicitation link-layer manzil yoki reachabilityni so‘raydi;
- Neighbor Advertisement NSga javob beradi yoki o‘zgarishni e’lon qiladi;
- Redirect router hostga yaxshiroq first hopni bildiradi.
Bu xabarlar link-local scope va Hop Limit 255 kabi tekshiruvlarga ega. Routerdan o‘tgan paket 255ni saqlay olmagani uchun uzoq manbadan routelangan soxta ND rad etiladi.
Manzilni MACga bog‘lash
Host bir linkdagi IPv6 manzilga paket yubormoqchi bo‘lsa, solicited-node multicast manziliga Neighbor Solicitation jo‘natadi. Maqsad Neighbor Advertisement bilan link-layer manzilini beradi. Multicast ishlatilgani sabab IPv4 ARPdagi barcha hostga broadcastdan ko‘ra torroq guruhga murojaat qilinadi.
Natija neighbor cache’da saqlanadi. Cache entry faqat IP–MAC juftligi emas, reachability holatiga ham ega. INCOMPLETE, REACHABLE, STALE, DELAY va PROBE kabi holatlar Neighbor Unreachability Detection jarayonini ifodalaydi.
Reachability tekshiruvi
Upper-layer acknowledgement, masalan TCP progress, qo‘shni reachable ekanini tasdiqlashi mumkin. Entry ma’lum vaqtdan keyin STALE bo‘ladi; darhol o‘chirilmaydi. Trafik kelganda DELAY, keyin unicast NS probe bosqichiga o‘tadi. Javob bo‘lmasa neighbor unreachable deb topilib, route yoki router tanlovi o‘zgarishi mumkin.
Bu jarayon linkning ikki yo‘nalishli ishlashini tekshiradi. Faqat Ethernet carrier up bo‘lishi gatewayning IPv6 stacki javob berishini kafolatlamaydi.
Router Advertisement va SLAAC
RA router lifetime, on-link prefix, autonomous flag, MTU va boshqa optionlarni beradi. Host SLAAC orqali prefiksdan manzil hosil qilishi mumkin. Default route DHCPv6dan emas, RAdan olinadi. RDNSS optioni DNS serverini ham e’lon qilishi mumkin.
Prefix preferred va valid lifetime manzil hayot siklini boshqaradi. RA muddati tugasa router default ro‘yxatdan chiqadi. Bir linkda bir nechta router preference va reachability asosida tanlanishi mumkin.
Duplicate Address Detection
Yangi tentative manzil ishlatilishidan oldin host source :: bilan NS yuborib, shu manzil allaqachon mavjudligini tekshiradi. Javob yoki qarama-qarshi NS ko‘rilsa duplicate aniqlanadi. DAD barcha parallel race va zararli xabarni kriptografik hal qilmaydi, lekin odatiy konfiguratsion to‘qnashuvni topadi.
Xavfsizlik
Soxta RA gateway yoki prefixni, soxta NA esa IP–MAC bog‘lanishini o‘zgartirishi mumkin. RA Guard switch portlarida router xabarlarini cheklaydi. ND inspection va SAVI manzil bog‘lanishini nazorat qilishi mumkin. SEND kriptografik himoya ko‘zda tutadi, ammo keng joylashtirilmagan.
ICMPv6ni to‘liq bloklash NDni buzadi. Firewall link-local va zarur type/code xabarlarni aniq ruxsat qiladi. Diagnostikada neighbor cache, RA optionlari, multicast a’zoligi va packet capture tekshiriladi.
Proxy Neighbor Discovery
Router Proxy ND orqali boshqa segmentdagi manzil uchun Neighbor Advertisement berib, hostga destination on-linkdek ko‘rinish yaratishi mumkin. Bu ayrim mobile, bridging yoki provider topologiyalarida ishlatiladi. Proxy noto‘g‘ri keng yoqilsa neighbor cache va routing noaniqligi paydo bo‘ladi. Javob bergan router keyin trafikni haqiqiy destinationga route qilishi shart.
Neighbor cache bosimi
Ko‘p tasodifiy IPv6 manzilga trafik yuborish routerda INCOMPLETE entry va NS xabarlarini ko‘paytiradi. Rate limit, queue va control-plane policing neighbor exhaustionni cheklaydi. /64 oralig‘ining kattaligi barcha manzilni scan qilishni qiyinlashtirsa-da, attack gatewayga tasodifiy destinationlar yuborishi mumkin.
Bog‘liq tushunchalar
ICMPv6, SLAAC, Router Advertisement, Neighbor Solicitation, DAD, RA Guard