Provided by: manpages-fr_2.80.1-1_all bug

NOM

       arp - Module ARP du noyau Linux

DESCRIPTION

       Ce  module du noyau implémente le protocole de résolution d’adresse ARP
       tel qu’il est décrit dans le document RFC 826. Il sert à la  conversion
       entre les adresses matérielles de niveau 2 et les adresses du protocole
       IPv4 sur les réseaux connectés en direct. L’utilisateur n’a normalement
       pas  d’interactions avec ce module sauf pour le configurer. En fait, ce
       module fournit des services aux autres protocoles du noyau.

       Un processus utilisateur peut recevoir les paquets ARP en utilisant les
       sockets  de  type  packet(7).  Il  y a aussi un mécanisme pour gérer le
       cache ARP dans l’espace utilisateur avec  des  sockets  netlink(7).  La
       table  ARP peut être contrôlée par le biais d’un ioctl(2) sur n’importe
       quelle socket PF_INET.

       Le module ARP maintient un cache des correspondances entre les adresses
       matérielles  et  les  adresses logiques. Le cache a une taille limitée,
       ainsi  les  entrées  anciennes  et  utilisées  moins  fréquemment  sont
       récupérées.  Les  entrées  qui  sont marquées comme permanentes ne sont
       jamais  effacées.  Le  cache  peut  être   manipulé   directement   par
       l’intermédiaire  des  ioctls  et  son  comportement  peut être ajusté à
       l’aide des sysctls décrits plus bas.

       Lorsqu’il n’y a pas de retour positif pour une correspondance existante
       après  un  certain  temps  (voir  les sysctls ci-dessous), l’entrée est
       considérée comme gelée. Un retour positif peut être obtenu d’un  niveau
       supérieur,  par  exemple un ACK TCP réussi. D’autres protocoles peuvent
       signaler  des  avancées  en   utilisant   l’attribut   MSG_CONFIRM   de
       sendmsg(2).  Pour  envoyer  à  nouveau des données à cette cible, l’ARP
       essaye d’abord d’interroger un démon arp local au  maximum  app_solicit
       fois,  afin d’obtenir une adresse MAC à jour. Si ceci échoue, et si une
       ancienne adresse MAC est connue,  une  tentative  unicast  est  envoyée
       ucast_solicit  fois. Si on échoue encore, il enverra une requête ARP en
       broadcast sur le réseau. Les requêtes ne sont envoyées que s’il y a des
       données en attente d’émission.

       Linux  ajoutera  automatiquement  une  entrée  arp proxy non permanente
       lorsqu’il reçoit une requête pour une adresse à laquelle il envoie  des
       données,  si le proxy arp est validé sur l’interface réceptrice. Aucune
       entrée n’est ajoutée s’il y a une route de rejet.

   Ioctls
       Trois ioctls sont disponibles pour les sockets PF_INET. Elles  prennent
       un pointeur sur une struct arpreq comme paramètre.

           struct arpreq {
               struct sockaddr arp_pa;      /* adresse protocole */
               struct sockaddr arp_ha;      /* adresse matérielle */
               int             arp_flags;   /* attributs */
               struct sockaddr arp_netmask; /* masque réseau du protocole */
               char            arp_dev[16];
           };

       SIOCSARP,   SIOCDARP   et   SIOCGARP   ajoute,  supprime,  et  consulte
       respectivement une correspondance ARP. L’ajout  et  la  suppression  de
       correspondance  ARP  sont  des  opérations privilégiées ne pouvant être
       réalisées que par un processus avec la capacité CAP_NET_ADMIN ou un UID
       effectif nul.

       arp_pa  doit  être  une socket AF_INET et arp_ha doit être du même type
       que le périphérique  indiqué  dans  arp_dev.  arp_dev  est  une  chaîne
       terminée par un caractère nul, contenant le nom d’un périphérique.

              +--------------------------------------------+
              |                 arp_flags                  |
              +----------------+---------------------------+
              |attribut        | signification             |
              +----------------+---------------------------+
              |ATF_COM         | Recherche complète        |
              +----------------+---------------------------+
              |ATF_PERM        | Entrée permanente         |
              +----------------+---------------------------+
              |ATF_PUBL        | Entrée publique           |
              +----------------+---------------------------+
              |ATF_USETRAILERS | Demande trailer           |
              +----------------+---------------------------+
              |ATF_NETMASK     | Utiliser le masque réseau |
              +----------------+---------------------------+
              |ATF_DONTPUB     | Ne pas répondre           |
              +----------------+---------------------------+

       Si  l’attribut ATF_NETMASK est activé, alors le membre arp_netmask doit
       être valide. Linux 2.2 ne supporte pas les entrées  ARP  proxy  réseau.
       Ainsi,  il  doit être configuré avec 0xFFFFFFFF ou 0 pour supprimer une
       entrée arp proxy existante. ATF_USETRAILERS est obsolète et ne doit pas
       être utilisé.

   Sysctls
       ARP  supporte  une  interface sysctl pour configurer les paramètres sur
       une  base  globale  ou  interface  par  interface.  Les  sysctls   sont
       accessibles    en   lisant   ou   en   écrivant   dans   les   fichiers
       /proc/sys/net/ipv4/neigh/*/* ou  en  utilisant  l’interface  sysctl(2).
       Chaque   interface  dans  le  système  a  son  propre  répertoire  dans
       /proc/sys/net/ipv4/neigh/.  La   configuration   dans   le   répertoire
       « default »  sert  pour  tous  les nouveaux périphériques. Sauf mention
       contraire, les durées sont en secondes.

       anycast_delay
              Le nombre maximum de jiffies à attendre avant de répondre  à  un
              message  de  sollicitation IPv6 du voisinage. Le support Anycast
              n’est pas encore implémenté. Par défaut, le délai est 1 seconde.

       app_solicit
              Le  nombre  maximum  d’essai  d’envoi  au  démon ARP de l’espace
              utilisateur  par  netlink  avant  de  basculer   en   tentatives
              multicast (voir mcast_solicit). La valeur par défaut est 0.

       base_reachable_time
              Une  fois  qu’un  voisin  a  été trouvé, l’entrée est considérée
              comme valide  pendant,  au  moins,  une  durée  aléatoire  entre
              base_reachable_time/2  et  3*base_reachable_time/2.  La validité
              d’une entrée sera étendue si on reçoit  un  retour  positif  des
              protocoles  de  plus  haut  niveau.  La valeur par défaut est 30
              secondes.

       delay_first_probe_time
              Délai avant la première tentative multicast après  avoir  décidé
              qu’un voisin est gelé. La valeur par défaut est 5 secondes.

       gc_interval
              Fréquence  avec  laquelle  on  vérifie  les  entrées valides. La
              valeur par défaut est 30 secondes.

       gc_stale_time
              Fréquence avec laquelle  on  vérifie  une  entrée  de  voisinage
              gelée.  Lorsqu’une  correspondance  est  considérée comme gelée,
              elle sera à nouveau redéterminée avant d’y envoyer des  données.
              La valeur par défaut est 60 secondes.

       gc_thresh1
              Le  nombre  minimal  d’entrées à conserver dans le cache ARP. Le
              récupérateur ne sera pas déclenché s’il y a moins d’entrées  que
              cette valeur. La valeur par défaut est 128.

       gc_thresh2
              La  limite  maximale  souple d’entrées à conserver dans le cache
              ARP. Le récupérateur autorisera un dépassement de  cette  valeur
              pendant  5  secondes avant de lancer une véritable récupération.
              La valeur par défaut est 512 entrées.

       gc_thresh3
              La limite maximale d’entrées à conserver dans le cache  ARP.  Le
              récupérateur  sera  immédiatement  déclenché si cette valeur est
              dépassée. La valeur par défaut est 1024.

       locktime
              Le nombre minimum de jiffies pendant lesquels  on  conserve  une
              entrée  ARP  dans  le  cache. Ceci évite la dégradation du cache
              s’il y a plusieurs  correspondances  possibles  (généralement  à
              cause  d’une  mauvaise  configuration  du réseau). La valeur par
              défaut est 1 seconde.

       mcast_solicit
              Le nombre maximal de tentatives de résolution d’une adresse  par
              le  multicast  et  le  broadcast avant de marquer l’entrée comme
              inaccessible. La valeur par défaut est 3.

       proxy_delay
              Lorsqu’une requête arrive pour une adresse proxy-ARP, on  attend
              proxy_delay  jiffies avant de répondre. Ceci permet d’éviter des
              saturations du réseau dans certains cas. La  valeur  par  défaut
              est 0,8 secondes.

       proxy_qlen
              Le nombre maximal de paquets qui peuvent être conservés pour des
              adresses proxy-ARP. La valeur par défaut est 64.

       retrans_time
              Le nombre de jiffies  à  attendre  avant  de  retransmettre  une
              requête. La valeur par défaut est 1 seconde.

       ucast_solicit
              Le   nombre   maximal   de   tentatives  d’envoi  unicast  avant
              d’interroger le démon ARP  (voir  app_solicit).  La  valeur  par
              défaut est 3.

       unres_qlen
              Le  nombre  maximal de paquets conservés pour chaque adresse non
              résolue par les autres couches réseau. La valeur par défaut  est
              3.

VERSIONS

       La  structure  arpreq  a  changé  dans Linux 2.0 pour inclure le membre
       arp_dev et les numéros d’ioctl ont changé en  même  temps.  Le  support
       pour les anciens ioctl a été abandonné dans Linux 2.2.

       Le  support  pour les entrées proxy ARP concernant des réseaux (netmask
       différent de 0xFFFFFFF) a été supprimé de Linux 2.2.  Il  est  remplacé
       par une configuration proxy ARP automatique dans le noyau pour tous les
       hôtes accessibles sur les  autres  interfaces  (lorsque  l’on  fait  du
       forwarding et que le proxy ARP est activé sur l’interface).

       Les requêtes sysctl neigh/* n’existaient pas avant Linux 2.2.

BOGUES

       Certaines  temporisations  sont  exprimées en jiffies, qui dépendent de
       l’architecture et de la version du noyau ; voir time(7).

       Il n’y a pas de  moyen  d’envoyer  une  réponse  positive  de  l’espace
       utilisateur.  Ceci  signifie  que  les  protocoles  orientés  connexion
       implémentés  dans  l’espace  utilisateur  engendreront  un  trafic  ARP
       excessif, car ndisc revérifiera régulièrement les adresses MAC. Le même
       problème se pose pour certains protocoles du noyau (par exemple NFS sur
       UDP).

       Cette   page   de   manuel   mélange   les  spécificités  IPv4  et  les
       fonctionnalités communes à IPv4 et IPv6.

VOIR AUSSI

       capabilities(7), ip(7)

       RFC 826 pour une description de l’ARP.
       RFC 2461 pour une description de l’exploration du voisinage IPv6 et des
       algorithmes de base employés.

       L’ARP IPv4 de Linux 2.2 et ultérieurs emploie l’algorithme IPv6 lorsque
       c’est possible.

COLOPHON

       Cette page fait partie de  la  publication  2.80  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».