IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

NOTA: Aquest article fa referència al protocol NDP associat a IPv6. hi ha altres protocol amb nom similar. Consulteu CDP (Cisco Discovery Protocol) o MNDP (Mikrotik Neighbour Discovery Protocol)

El protocol Neighbor Discovery Protocol ( aka NDP) és un protocol que forma part de l'anomenat Internet Protocol Suite. S'utilitza només amb la versió 6 del protocol IP (vegeu IPv6) i és una de les novetats que inclou aquesta versió del protocol IP. Opera en la capa Link Layer.

IMPORTANT: Fixeu-vos que a IPv6 no existeix el protocol ARP. De fet moltes de les funcions que feia el protocol ARP les fa ara el protocol ND. També fa funcions que en IPv4 són pròpies de DHCP, tot i que també existeix DHCPv6

Conceptes previs

Tipus de nodes

Cal tenir en compte la definició de node que es fa a IPv6

  • Node: és un dispositiu que implementa IPv6. Hi ha dos tipus:
  • Routers: un node que encamina paquets que no estan explícitament dirigits a ell mateix.
  • Hosts: un node que no és un encaminador.

IMPORTANT: Els ruters i els hosts estan estrictament separats, un router no pot ser host i viceversa (al mateix temps)

Recursos:

Tipus d'autoconfiguracions

Stateless address autoconfiguration

Hi ha els següents tipus d'autoconfiguracions:

  • Stateless address autoconfiguration (stateless): la configuració de les adreces IPv6 es realitza per missatges Router Advertisement. Aquests missatges inclouen els prefixs de xarxa. Es requereix que el host no estigui utilitzant un protocol stateful
  • stateful: La configuració es fa amb estat ("base de dades") en un servidor de DHCPv6. s'utilitza quan els missatges RA no inclouen el prefix de xarxa.
  • both: Els missatges RA porten els prefix de xarxa i el host requereix una configuració d'aquest tipus de forma explícita.

Amb IPv6 es poden fer autoconfiguracions d'adreces IPv6 sense necessitat de disposar d'un servidor DHCP

NOTA: la autoconfiguració d'adreces només es pot realitzar en interfícies que suportin multicast

S'anomena configuració sense estat per que no cal gestionar l'estat al costa del router. Es tracta d'un sistema simple, robust i efectiu.

Normalment en dispositius Linux el dimoni encarregat de generar els missatges RA és RADVD (Router ADVertisement Daemon). El missatges RA porten la següent informació:

Un cop un host ("estació de treball") rep el pque RA es configura l'adreça IPv6 i el gateway per defecte. La IP IPv6 de tipus global es genera a partir del prefix de xarxa anunciat (advertised subnet prefix) i l'adreça EUI-64 de la interfície que rep el missatge.

Opcionalment els hosts poden demanar/forçar l'enviament d'un RA per part del router enviant un missatge ICMPv6 de tipus router solicitation. A Linux la utilitat rtsol transmet aquest paquet. Si estem utilitzant un node mòbil ens interessarà transmetre paquets RS de forma periòdica.

IMPORTANT: degut a restriccions definides pel protocol IPv6 no es possible obterni adreces autoconfigurades en routers IPv6 és obligatori la configuració manual.

Estat de les adreces IP

Els estats d'una adreça auto configurada són:

  • tentative: en aquest estat el hosts està verificant mitjantçant el procediment DAD si la ip autoconfigurada és única.
  • preferred: ja s'ha verificat que la IP és única i el node pot enviar i rebre paquets unicast utilitzant aquest adreça IP. El període de temps en aquest estat s'indica al missatge RA.
  • deprecated: l'adreça encara és vàlida però no s'utilitza per a noves connexions
  • invalid: el node no pot enviar ni rebre més trànsit unicast utilitzant aquesta adreça. Una adreça entra en auqest estat un cop el temps de vida a expirat.

Funcions

Les funcions són "similars" a les realitzades per Address Resolution Protocol (ARP) i Internet Control Message Protocol (ICMP) en IPv4

NOTA: Router Discovery and Router Redirect protocol per a IPv4

Cal tenir en compte però que implementa moltes millores respecte al seu antecesor com per exemple Neighbor Unreachability Detection (NUD).

La següents és la relació de funcions del protocol:

  • Configuració de les adreces de xarxa dels nodes IPv6 de forma automàtica (address autoconfiguration)
  • Descobrir altres nodes de la capa d'enllaç
  • Determinar les adreces d'altres nodes que es troben a un sol salt
  • Detectar duplicació d'adreces
  • Descobrir els routers i els Domain Name System (DNS) servers
  • Address prefix discovery
  • Maintaining reachability information about the paths to other active neighbor nodes (RFC 4861)

Paquets ICMPv6

El protocol NDP defineix 5 paquets ICMPv6 diferents (RFC 4861):

  • Router Solicitation: l'utilitzen els nodes de tipus host per tal de demanar als nodes de tipus routers que generin paquets de tipus Router Advertisements de forma inmediata sense esperar a que aquests per si sols enviin el paquet el següent cop que ho tinguin planificat.
  • Router Advertisement: utilitzat pels nodes de tipus router per "advertir" de la seva preseǹcia. El paquet també conté múltiples paràmetres del link i d'Internet. El paquet es pot generar per una sol·licitud explícita o de forma períodica.
  • Neighbor Solicitation: utilitzat pels nodes per tal de determinar l'adreça d'un veí (link-layer address of a neighbor) o per verificar que un veí encara està disponible (reachable) a trabvés d'una adreça cache (cached link-layer address)
  • Neighbor Advertisement: utilitzat pels nodes per respondre al missatge anterior.
  • Redirect: utilitzat pels routers per indicar a un hosts que tenen un router millor com a first hop per a una certa destinació.

Amb aquests paquets es poden implementar les següents funcionalitats:

Implementacions

Linux

Vegeu:

routerOS

RouterOS utilitza RADVD.

TODO.to periodically advertise information about the link to all nodes on the same link. The information is carried by ICMPv6 "router advertisement" packet, and includes following fields:

   IPv6 subnet prefix
   Default router link local address
   Other parameters that may be optional: link MTU, default hoplimit, and router lifetime. 

Then host catches the advertisement, and configures the global IPv6 address and the default router. Global IPv6 address is generated from advertised subnet prefix and EUI-64 interface identifier.

Optionally, the host can ask for an advertisement from the router by sending an ICMPv6 "router solicitation" packet. On linux rtsol utility transmits the router solicitation packet. If you are running a mobile node, you may want to transmit router solicitations periodically.

Vegeu també

Enllaços externs