Provided by: manpages-fr_4.26.0-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 quel 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 cela é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 ajoutent, suppriment et consultent 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 publiée            │
              ├─────────────────┼───────────────────────────┤
              │ ATF_USETRAILERS │ Demande de trailer        │
              ├─────────────────┼───────────────────────────┤
              │ ATF_NETMASK     │ Utiliser un 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é.

   /proc interfaces
       ARP  prend  en charge une série d'interfaces /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   de   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 de 30 000 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 de 5 secondes.

       gc_interval (depuis Linux 2.2)
              Fréquence d'exécution du ramasse-miettes des entrées de voisinage. La valeur  par  défaut  est  de
              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 de 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 de 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 de 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 de 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  de
              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
              de 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.  Cela  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), arpd(8)

       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.

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier    <barbier@debian.org>,    David     Prévot
       <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                             arp(7)