Provided by: manpages-fr_3.57d1p1-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 AF_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
       interfaces /proc décrites plus bas.

       Lorsqu'il  n'y a pas de retour positif pour une correspondance existante après un certain temps (voir les
       interfaces /proc 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 ça échoue, et si une ancienne adresse MAC est connue, une  tentative  unicast  est
       envoyée ucast_solicit fois. Si cela é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 pour la cible.

   Ioctls
       Trois ioctls sont disponibles pour les sockets AF_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 adresse 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 valable. Linux 2.2  ne  prend
       pas  en  charge  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é.

   Interfaces /proc
       ARP prend en charge une série d'interface /proc pour configurer les paramètres sur une  base  globale  ou
       interface  par  interface.  Les  interfaces  sont  accessibles en lisant ou en écrivant dans les fichiers
       /proc/sys/net/ipv4/neigh/*/*.  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 (depuis Linux 2.2)
              Le nombre maximal de jiffies à attendre avant de répondre à un message de  sollicitation  IPv6  du
              voisinage.  La  prise  en  charge  anycast  n'est pas encore implémentée. Par défaut, le délai est
              1 seconde.

       app_solicit (depuis Linux 2.2)
              Le nombre maximal d'essais d'envoi au démon ARP de  l'espace  utilisateur  par  netlink  avant  de
              basculer en tentatives multicast (consultez mcast_solicit). La valeur par défaut est 0.

       base_reachable_time (depuis Linux 2.2)
              Une  fois  qu'un voisin a été trouvé, l'entrée est considérée comme valable 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  un  retour  positif  est reçu des protocoles de plus haut niveau. La valeur par
              défaut est 30 secondes. Ce fichier est maintenant obsolète et remplacé par base_reachable_time_ms.

       base_reachable_time_ms (depuis Linux 2.6.12)
              Comme pour base_reachable_time, mais le temps est mesuré en millisecondes. La  valeur  par  défaut
              est 30000 millisecondes.

       delay_first_probe_time (depuis Linux 2.2)
              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 (depuis Linux 2.2)
              Fréquence de vérification les entrées valables. La valeur par défaut est 30 secondes.

       gc_stale_time (depuis Linux 2.2)
              Fréquence  de  vérification  d’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 (depuis Linux 2.2)
              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 (depuis Linux 2.2)
              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 (depuis Linux 2.2)
              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 (depuis Linux 2.2)
              Le nombre minimal de jiffies pendant lesquels une entrée ARP est conservée  dans  le  cache.  Cela
              é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 (depuis Linux 2.2)
              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 (depuis Linux 2.2)
              Lorsqu'une  requête arrive pour une adresse proxy-ARP, proxy_delay jiffies sont attendues avant de
              répondre. Cela permet d'éviter des saturations du réseau dans certains cas. La valeur  par  défaut
              est 0,8 secondes.

       proxy_qlen (depuis Linux 2.2)
              Le  nombre  maximal  de  paquets  qui  peuvent  être  gardés  en  file d’attente pour des adresses
              proxy-ARP. La valeur par défaut est 64.

       retrans_time (depuis Linux 2.2)
              Le nombre de jiffies à attendre avant de retransmettre une  requête.  La  valeur  par  défaut  est
              1 seconde. Ce fichier est maintenant obsolète et remplacé par retrans_time_ms.

       retrans_time_ms (depuis Linux 2.6.12)
              Le nombre de millisecondes à attendre avant de retransmettre une requête. La valeur par défaut est
              1000 millisecondes.

       ucast_solicit (depuis Linux 2.2)
              Le nombre maximal de tentatives  d'envoi  unicast  avant  d'interroger  le  démon  ARP  (consultez
              app_solicit). La valeur par défaut est 3.

       unres_qlen (depuis Linux 2.2)
              Le  nombre  maximal  de  paquets qui peuvent être gardés en file d’attente 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. La prise en charge pour les anciens ioctl a été abandonnée dans Linux 2.2.

       La  prise  en charge pour les entrées proxy ARP concernant des réseaux (netmask différent de 0xFFFFFFF) a
       été supprimée de Linux 2.2. Elle est remplacée par une configuration proxy ARP automatique dans le  noyau
       pour  tous  les  hôtes  accessibles sur les autres interfaces (en faisant du forwarding avec le proxy ARP
       activé sur l'interface).

       Les interfaces 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 ; consultez time(7).

       Il  n'y  a  pas  de  moyen  d'envoyer  une  réponse positive de l'espace utilisateur. Ça 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 fonctionnalités spécifiques à IPv4 et  les  fonctionnalités  communes  à
       IPv4 et IPv6.

VOIR AUSSI

       capabilities(7), ip(7)

       RFC 826  pour  une description d'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  version  ultérieures  utilise  l'algorithme
       IPv6 lorsque c'est possible.

COLOPHON

       Cette page fait partie de la publication 3.57 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

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction de
       Debian (2006-2009).

       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> ».