oracular (7) arp.7.gz

Provided by: manpages-fr_4.23.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 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   ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.