Neighbor Discovery Protocol (NDP) je klíčový protokol rodiny TCP/IP používaný v sítích IPv6. Pracuje na síťové vrstvě (L3) a nahrazuje nebo rozšiřuje funkce, které v IPv4 zajišťovaly protokoly ARP, ICMP Router Discovery a ICMP Redirect.
NDP využívá pro svou komunikaci zprávy protokolu ICMPv6 (typy 133 až 137).
* Address Resolution: Zjišťování linkové adresy (MAC) souseda na základě jeho IPv6 adresy (náhrada za ARP). * Router Discovery: Automatické vyhledávání směrovačů v lokální síti. * Prefix Discovery: Zjišťování prefixů sítě pro automatickou konfiguraci adres (SLAAC). * Neighbor Unreachability Detection (NUD): Ověřování, zda je soused stále dostupný. * Duplicate Address Detection (DAD): Ověřování, zda zvolená IPv6 adresa již není v síti používána.
V rámci NDP definujeme 5 základních typů ICMPv6 zpráv:
Tuto zprávu odesílá hostitel (počítač) ihned po připojení k síti. Ptá se: „Je tu nějaký směrovač? Potřebuji konfigurační údaje.“
* Cíl: Všechny směrovače (multicast adresa ff02::2).
Směrovač odpovídá na RS nebo posílá tuto zprávu periodicky. Obsahuje informace o:
* Prefixu sítě a délce masky.
* Výchozí bráně.
* Tom, zda se má použít DHCPv6 (příznaky M a O).
* Cíl: Všichni hostitelé (multicast ff02::1) nebo konkrétní žadatel.
Obdoba dotazu ARP Request. Uzel se ptá: „Jaká je MAC adresa vlastníka IPv6 adresy X?“ Používá se také pro DAD (detekci duplicit). * Cíl: Multicastová adresa typu Solicited-Node.
Odpověď na NS. Uzel říká: „Já jsem vlastník adresy X a moje MAC adresa je Y.“ Může být vyslána i nevyžádaně (např. při změně MAC karty).
Směrovač informuje hostitele, že existuje lepší (kratší) cesta k cíli přes jiný směrovač na stejném segmentu sítě.
| Funkce | IPv4 Protokol | IPv6 (NDP) |
|---|---|---|
| Převod IP na MAC | ARP | Neighbor Solicitation / Advertisement |
| Hledání routeru | ICMP Router Discovery | Router Solicitation / Advertisement |
| Přesměrování | ICMP Redirect | NDP Redirect |
| Detekce duplicit IP | Gratuitous ARP | Duplicate Address Detection (DAD) |
Bezpečnostní poznámka: Protože NDP standardně neobsahuje autentizaci, je náchylný k útokům typu Spoofing. K zabezpečení se doporučuje používat SEND (SEcure Neighbor Discovery) nebo na switchích funkci IPv6 Snooping.