Automatic Private Internet Protocol Addressing
APIPA (Automatic Private Internet Protocol Addressing) est le nom donné par Microsoft au protocole IPv4LL, qui, au sein du protocole Zeroconf de l'IETF permet d'obtenir des adresses de portée lien automatiquement.
Contexte: configuration automatique d'adresses IPv4 de portée lien
Comment configurer des adresses IP automatiquement, pour permettre aux machines d'un même lien (p.ex. LAN Ethernet) de communiquer, même si aucune configuration manuelle ni automatique (DHCP ) n'existe? 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’IANA.
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 (par exemple d'un LAN Ethernet) de communiquer en couche 3 IP. Il n'est toutefois pas prévu de sortir de la portée lien via un routeur.
C'est très similaire au concept d'adresses de portée lien (link-local) fe80::/10 en IPv6, avec une différence notable avec IPv4: la portée des adresses est réellement lien en IPv6! En effet, plusieurs adresses IPv6 identiques de portée link-local peuvent être configurées sur la même machine tant qu'elle sont sur des liens différents, grâce à l'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 lien respective eth0 et eth1.
Le protocole IPv4LL (adresses IPv4 de portée couche liaison / Link Layer) n'est qu'une partie du protocole Zeroconf, qui traite aussi des aspects de services de noms notamment. Microsoft, quant à lui, parle d'APIPA (Automatic Private Internet Protocol Addressing) pour la partie IPv4LL de Zeroconf.
Protocole pour les systèmes de type Unix
Le daemon Avahi est l’implémentation la plus fréquente de Zeroconf pour UNIX, si on exclut MacOS qui utilise par défaut Bonjour. Il suffit de le retirer des run-levels sous Linux pour désactiver cette possibilité.
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
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
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
Articles connexes
- Zeroconf
- Apple Bonjour
- Avahi, une implémentation libre du protocole Zeroconf.
- Réseau privé. Les tranches d'adresse ipv4 réservées pour des réseaux privés.
- Addresses de portée lien (Wikipedia EN)
Notes et références
- Portail d’Internet
- Portail des télécommunications