Provided by: manpages-es_4.27.0-1_all bug

NOMBRE

       arp - Módulo ARP del núcleo de Linux.

DESCRIPCIÓN

       Este  módulo  de  protocolo  del  núcleo  implementa  el  protocolo de resolución de direcciones (Address
       Resolution Protocol, ARP) definido en RFC 826. Se usa para convertir direcciones hardware de la Capa 2  a
       direcciones  del  protocolo IPv4 y viceversa, en redes conectadas directamente. El usuario normalmente no
       interactúa directamente con este módulo salvo para configurarlo. En cambio, proporciona un servicio  para
       otros protocolos dentro del núcleo.

       Un proceso de usuario puede recibir paquetes ARP usando conectores packet(7). También existe un mecanismo
       para  gestionar  la cache ARP en el espacio de usuario usando conectores netlink(7). La tabla ARP también
       se puede controlar aplicando la llamada ioctl(2) a cualquier conector AF_INET.

       El módulo ARP mantiene una cache de asociaciones entre direcciones hardware y direcciones  de  protocolo.
       La  cache  tiene  un  tamaño  limitado por lo que las entradas antiguas y menos frecuentemente usadas son
       eliminadas por una suerte de limpiador. Las entradas marcadas como permanentes nunca son  eliminadas  por
       dicho  limpiador.  La  caché se puede manipular directamente mediante ioctls y su comportamiento se puede
       ajustar mediante la interfaz /proc definida más adelante.

       Una  entrada  de  la  cache  de  equipos  próximos  se  considerará  caducada  cuando   no   exista   una
       retroalimentación positiva después de algún tiempo (consulte /proc más adelante). Dicha retroalimentación
       positiva  puede ser obtenida de una capa superior; por ejemplo de una confirmación positiva (ACK) de TCP.
       Otros protocolos pueden señalizar la progresión del reenvío usando la opción MSG_CONFIRM  en  sendmsg(2).
       Cuando  no  hay progresión de reenvío ARP vuelve a intentarlo. Primero intenta consultar a un proceso arp
       local app_solicit veces. Si esto falla y  se  conoce  la  antigua  dirección  MAC,  se  envía  un  sondeo
       unidestino  durante  ucast_solicit  veces.  Si  esto también falla, se realizará la difusión de una nueva
       petición ARP a la red. Las peticiones sólo se envían cuando hay datos en cola para ser enviados.

       Linux automáticamente añadirá una entrada proxy arp no permanente  cuando  reciba  una  petición  de  una
       dirección  a  la que él reenvía y cuando el proxy arp esté activo en la interfaz receptora. Cuando existe
       una ruta de rechazo para un destino, no se añade ninguna entrada arp.

   Ioctls
       Existen tres ioctls disponibles en todos los conectores AF_INET. Toman un puntero a una estructura struct
       arpreq como argumento.

           struct arpreq {
               struct sockaddr arp_pa;      /* dirección del protocolo */
               struct sockaddr arp_ha;      /* diección de hardware */
               int             arp_flags;   /* opciones */
               struct sockaddr arp_netmask; /* máscara de red o dir. de protocolo */
               char            arp_dev[16];
           };

       SIOCSARP,   SIOCDARP   y   SIOCGARP   establecen,    borran    u    obtienen    una    asociación    ARP,
       respectivamente.Establecer  y  borrar  asociaciones  ARP  son operaciones privilegiadas y sólo pueden ser
       realizadas por un proceso con la capacidad CAP_NET_ADMIN o con un UID efectivo 0.

       arp_pa debe ser un conector AF_INET y arp_ha debe tener el mismo tipo que el dispositivo que se define en
       arp_dev. arp_dev es una cadena terminada en cero que da nombre a un dispositivo.
              ┌───────────────────────────────────────────────┐
              │                   arp_flags                   │
              ├─────────────────┬─────────────────────────────┤
              │ flag            │ Significado                 │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_COM         │ Búsqueda completa           │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_PERM        │ Entrada permanente          │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_PUBL        │ Publicar entrada            │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_USETRAILERS │ Son necesarios terminadores │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_NETMASK     │ Usar una máscara de red     │
              ├─────────────────┼─────────────────────────────┤
              │ ATF_DONTPUB     │ No responder                │
              └─────────────────┴─────────────────────────────┘

       Si se activa la bandera ATF_NETMASK, arp_netmask debe ser válida. La versión  2.2  de  Linux  no  soporta
       entradas  de  proxy  arp  de  red,  por lo que debería asignar a arp_netmask el valor 0xffffffff o 0 para
       eliminar una entrada proxy arp existente. La opción ATF_USETRAILERS está obsoleta y no debería usarse.

   Interfaces /proc
       El módulo ARP implementa un intervalo de interfaces /proc configurar parámetros globales o específicos de
       una interfaz. Se puede acceder a esto leyendo o escribiendo  los  ficheros  /proc/sys/net/ipv4/neigh/*/*.
       Cada  interfaz  del sistema tiene su propio directorio en /proc/sys/net/ipv4/neigh/. La configuración del
       directorio 'por defecto' se usa para todos los dispositivos recién creados. A menos que se  indique  otra
       cosa, las interfaces relacionadas con el tiempo se especifican en segundos.

       anycast_delay (desde Linux 2.2)
              Número  máximo  de  unidades de tiempo (jiffies) a esperar antes de contestar a un mensaje IPv6 de
              solicitud de equipos  próximos.  El  soporte  "cualquier  dirección"  (anycast)  todavía  no  está
              implementado. El valor por defecto es de 1 segundo.

       app_solicit (desde Linux 2.2)
              El  número  máximo  de sondeos a enviar a un demonio ARP en el espacio de usuario mediante netlink
              antes de recurrir a sondeos multidestino (vea mcast_solicit). Por defecto es 0.

       base_reachable_time (desde Linux 2.2)
              Una vez que se ha encontrado un equipo próximo, la entrada se considera válida durante, al  menos,
              un  valor  aleatorio  entre  base_reachable_time/2  y  3*base_reachable_time/2.  La validez de una
              entrada se ampliará si recibe retroalimentación positiva desde los protocolos de los  niveles  más
              altos.  El  valor  por  defecto  es de 30 segundos. Este archivo está obsoleto, actualmente se usa
              base_reachable_time_ms.

       base_reachable_time_ms (desde Linux 2.6.12)
              Igual que para base_reachable_time, pero midiendo el tiempo  en  milisegundos.  Por  defecto  toma
              30000 milisegundos.

       delay_first_probe_time (desde Linux 2.2)
              Tiempo  de espera antes del primer sondeo después de que se haya decidido que un equipo ya no está
              activo en la red. Por defecto es 5 segundos.

       gc_interval (desde Linux 2.2)
              Periodo con el que el limpiador para las entradas de equipos próximos debería intentar ejecutarse.
              Por defecto es de 30 segundos.

       gc_stale_time (desde Linux 2.2)
              Determina la frecuencia con la que se comprueban las entradas en busca de equipos próximos que  ya
              no  están.  Cuando  se  considera  que un equipo vecino ya no está en la red, se resuelve de nuevo
              antes de enviarle datos. El valor por defecto es de 60 segundos.

       gc_thresh1 (desde Linux 2.2)
              Número mínimo de entradas a guardar en la cache ARP. El recolector de basura no  se  ejecutará  si
              hay menos entradas en la cache que el número indicado. Por defecto vale 128.

       gc_thresh2 (desde Linux 2.2)
              Número  máximo  flexible  de entradas a guardar en la cache ARP. El recolector de basura permitirá
              que el número de entradas exceda éste límite durante 5 segundos antes de realizar una recolección.
              El valor por defecto es de 512 entradas.

       gc_thresh3 (desde Linux 2.2)
              Número máximo estricto de entradas a guardar en la cache ARP. El recolector de basura se ejecutará
              siempre si hay más entradas en la caché que el número indicado. Por defecto vale 1024.

       locktime (desde Linux 2.2)
              Número mínimo de unidades de tiempo que debe permanecer una entrada ARP en la cache. Esto evita la
              modificación  continua  de  la  cache  ARP  si  hay  más  de  una  asociación  potencial  (debido,
              generalmente, a una mala configuración de la red). Por defecto es 1 segundo.

       mcast_solicit (desde Linux 2.2)
              Número  máximo  de  intentos  para  resolver una dirección mediante multidestino/difusión antes de
              marcar la entrada como inalcanzable. El valor por defecto es 3.

       proxy_delay (desde Linux 2.2)
              Cuando se  recibe  una  solicitud  ARP  para  una  dirección  proxy-ARP  conocida,  esperar  hasta
              proxy_delay  unidades  de tiempo antes de responder. Esto se utiliza para evitar inundar la red en
              algunos casos. Por defecto vale 0,8 segundos.

       proxy_qlen (desde Linux 2.2)
              Número máximo de paquetes que se pueden encolar para direcciones proxy-ARP. Por defecto vale 64.

       retrans_time (desde Linux 2.2)
              Número de unidades de tiempo a esperar antes de retransmitir una petición. El valor por defecto es
              1 segundo. Este archivo está obsoleto, actualmentes se usa retrans_time_ms.

       retrans_time_ms (desde Linux 2.6.12)
              Número de unidades de milisegundos a esperar antes de retransmitir  una  petición.  El  valor  por
              defecto es 1 segundo.

       ucast_solicit (desde Linux 2.2)
              Número  máximo  de  intentos para enviar sondeos unidestino antes de preguntar al demonio ARP (vea
              app_solicit). Por defecto es 3.

       unres_qlen (desde Linux 2.2)
              Número máximo de paquetes que otras capas de red pueden encolar para cada dirección sin  resolver.
              Por defecto vale 3.

VERSIONES

       La  estructura  struct  arpreq  cambió  en  la versión 2.0 de Linux para incluir el miembro arp_dev y los
       números de las ioctls cambiaron a la misma vez. El soporte para las antiguas  ioctls  se  eliminó  en  la
       versión 2.2 de Linux.

       El  soporte  para  entradas  proxy  arp  de  red (máscara de red distinta de 0xffffffff) se eliminó en la
       versión 2.2 de Linux. Se reemplazó por una configuración proxy arp automática  realizada  por  el  núcleo
       para  todos  los  anfitriones  (hosts)  alcanzables a través de otras interfaces (cuando están activos el
       reenvío y el proxy arp en la interfaz).

       Las interfaces del tipo neigh/* no existían en versiones de Linux anteriores a la 2.2.

ERRORES

       Algunos valores del cronómetro se especifican en unidades de tiempo (jiffies), cuyo valor dependen de  la
       arquitectura y de la versión del núcleo. Consulte time(7).

       No  hay  forma  de indicar una retroalimentación positiva desde el espacio de usuario. Esto significa que
       los protocolos orientados a conexión implementados en el espacio de  usuario  generarán  un  tráfico  ARP
       excesivo,  debido  a  que  ndisc volverá regularmente a sondear las direcciones MAC. El mismo problema es
       aplicable a algunos protocolos del núcleo (p.e. NFS sobre UDP).

       Esta página de manual mezcla funcionalidad específica de IPv4 y compartida entre IPv4 e IPv6.

VÉASE TAMBIÉN

       capabilities(7), ip(7), arpd(8)

       RFC 826 para una descripción de ARP. RFC 2461 para una descripción del descubrimiento de equipos de  IPv6
       y los algoritmos base utilizados. La implementación IPv4 ARP de Linux 2.2+ usa los algoritmos IPv6 cuando
       éstos son aplicables.

TRADUCCIÓN

       La  traducción  al  español de esta página del manual fue creada por Juan Piernas <piernas@ditec.um.es> y
       Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre;  lea  la  GNU General Public License Version 3  o  posterior  con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org.

Páginas de Manual de Linux 6.9.1                   2 Mayo 2024                                            arp(7)