Automatic Private Internet Protocol Addressing

APIPA (Automatic Private Internet Protocol Addressing) est le nom donné par Microsoft au protocole IPv4LL (adresses IPv4 de portée couche liaison / Link Layer). Ce protocole, créé par le groupe de travail Zeroconf de l'Internet Engineering Task Force, permet de configurer automatiquement des adresses IP de portée lien (link-local).

Contexte modifier

APIPA permet de configurer des adresses IP automatiquement et permettre aux machines Windows d'un même réseau informatique (par exemple un lien local Ethernet) de communiquer, même s'il n'existe aucune configuration manuelle ni automatique (DHCP). La plage d'adresse IP 169.254.0.0/16 (que l'on peut également noter 169.254.0.0/255.255.0.0), c'est-à-dire la plage dont les adresses vont de 169.254.0.0 à169.254.255.255,est réservée à cet usage auprès de l’Internet Assigned Numbers Authority.

Le principe général du protocole est qu'en absence d'une configuration IPv4 fonctionnelle, la machine va choisir une adresse pseudo-aléatoire (pouvant être construite à partie de l'adresse MAC par exemple pour assurer la persistance) dans cette plage puis vérifier par ARP qu'aucune autre machine ne l'utilise sur le même lien. Les adresses IP ainsi configurées permettent aux machines du même lien de communiquer sur la couche réseau. Il n'est toutefois pas prévu de sortir de la portée lien via un routeur.

En IPv6, le concept est similaire et utilise les adresses de portée lien type fe80::/10, cependant la portée des adresses va au-delà du lien local. En effet, plusieurs adresses IPv6 identiques de portée link-local peuvent être configurées sur la même machine tant qu'elles sont sur des liens différents, grâce à un identificateur de portée. Par exemple, fe80::1%eth0 et fe80::1%eth1 sont deux adresses identiques mais qui sont uniques dans leur portée de lien respective eth0 et eth1.

Protocole pour les systèmes de type Unix modifier

Le daemon Avahi est l’implémentation la plus fréquente de Zeroconf pour les systèmes de type Unix, si on exclut MacOS qui utilise par défaut Bonjour.

Il existe aussi dans certaines distributions, par exemple openSUSE, la possibilité de spécifier ou non, au niveau de /etc/sysconfig/network pour une interface réseau donnée (disons eth0) dans le fichier ifcfg-eth0 pour la directive BOOTPROTO (voir man ifcfg-eth0):

  • dhcp+autoip, pour activer la configuration automatique de la pile IP ;
  • dhcp, pour ne pas l'activer.

Protocole sous macOS modifier

macOS implémente le protocole Bonjour, qui l’utilise par défaut si aucun serveur DHCP ne peut être trouvé, à moins que le protocole DHCP ait été désactivé.

Protocole sous Microsoft Windows modifier

L'implémentation sous cette plateforme spécifique Microsoft s'appelle APIPA et nécessite une modification de la base de registre telle que :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{000000ID-00DE-VOTRE-0000-000CARTE0RZO}

IPAutoconfigurationEnabled = 1

(Type REG_DWORD)

Voir aussi modifier

Articles connexes modifier

Lien externe modifier

  • RFC 3927[1]
  • RFC 3330[2], obsolète par RFC 5735[3]

Notes et références modifier