Provided by: manpages-es_1.55-10_all bug

NOMBRE

       arp - Modulo ARP del nucleo de Linux.

DESCRIPCI'ON

       Este  modulo  de  protocolo  del  nucleo  implementa  el  protocolo  de
       resolucion 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 interactua directamente con
       este modulo salvo para configurarlo. En cambio, proporciona un servicio
       para otros protocolos dentro del nucleo.

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

       El  modulo  ARP  mantiene  una  cache de asociaciones entre direcciones
       hardware y direcciones de protocolo. La cache tiene un tamano  limitado
       por  lo  que  las  entradas  antiguas y menos frecuentemente usadas son
       elminadas por un recolector  de  basura.  Las  entradas  marcadas  como
       permanentes  nunca son eliminadas por el recolector de basura. La cache
       se puede manipular directamente mediante ioctls y su comportamiento  se
       puede ajustar mediante las sysctls definidas mas abajo.

       Una  entrada  de  la  cache  de vecinos se considerara caduca cuando no
       exista una retroalimentacion positiva despues de algun tiempo para  una
       asociacion existente (vea las sysctls mas abajo).  La retroalimentacion
       positiva puede ser obtenida de una capa superior; por  ejemplo  de  una
       confirmacion  positiva  (ACK) de TCP. Otros protocolos pueden senalizar
       la progresion del reenvio usando la opcion MSG_CONFIRM  en  sendmsg(2).
       Cuando  no  hay progresion de reenvio ARP vuelve a intentarlo.  Primero
       intenta consultar a un demonio arp local app_solicit  veces.   Si  esto
       falla  y  se  conoce  la  antigua  direccion  MAC,  se  envia un sondeo
       unidestino durante ucast_solicit  veces.  Si  esto  tambien  falla,  se
       realizara  la  difusion  de  una  nueva  peticion  ARP  a  la  red. Las
       peticiones solo se envian cuando hay datos encolados para ser enviados.

       Linux automaticamente anadira  una  entrada  proxy  arp  no  permanente
       cuando  reciba  una  peticion  de  una  direccion a la que el reenvia y
       cuando el proxy arp este activo en la interfaz receptora. Cuando existe
       una ruta de rechazo para un destino, no se anade ninguna entrada arp.

IOCTLS

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

       struct arpreq
       {
           struct sockaddr arp_pa;      /* direccion del protocolo */
           struct sockaddr arp_ha;      /* direccion hardware */
           int             arp_flags;   /* opciones */
           struct sockaddr arp_netmask; /* mascara de red de la direccion
                                           de protocolo */
           char            arp_dev[16];
       };

       SIOCSARP,  SIOCDARP  y  SIOCGARP  establecen,  borran  u  obtienen  una
       asociacion  ARP, respectivamente.  Establecer y borrar asociaciones ARP
       son operaciones privilegiadas y  solo  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 especifica en arp_dev.  arp_dev es una cadena
       terminada en cero que da el nombre de un dispositivo.

       +----------------------------------------------+
       |                  arp_flags                   |
       +----------------+-----------------------------+
       |Bandera         | Significado                 |
       +----------------+-----------------------------+
       |ATF_COM         | Busqueda completa           |
       +----------------+-----------------------------+
       |ATF_PERM        | Entrada permanente          |
       +----------------+-----------------------------+
       |ATF_PUBL        | Publicar entrada            |
       +----------------+-----------------------------+
       |ATF_USETRAILERS | Son necesarios terminadores |
       +----------------+-----------------------------+
       |ATF_NETMASK     | Usar una mascara de red     |
       +----------------+-----------------------------+
       |ATF_DONTPUB     | No responder                |
       +----------------+-----------------------------+

       Si  se  activa la bandera ATF_NETMASK, arp_netmask debe ser valida.  La
       version 2.2 de Linux no soporta entradas de proxy arp de  red,  por  lo
       que deberia asignar a arp_netmask el valor 0xffffffff o 0 para eliminar
       una entrada  proxy  arp  existente.   La  opcion  ATF_USETRAILERS  esta
       obsoleta y no deberia usarse.

SYSCTLS

       El  modulo  ARP  soporta una interfaz sysctl para configurar parametros
       globales o especificos de una interfaz.  Se puede acceder a las sysctls
       leyendo  o  escribiendo los ficheros /proc/sys/net/ipv4/neigh/*/* o con
       la interfaz sysctl(2).  Cada  interfaz  del  sistema  tiene  su  propio
       directorio   en   /proc/sys/net/ipv4/neigh/.    La   configuracion  del
       directorio `por defecto' se usa  para  todos  los  dispositivos  recien
       creados. A menos que se indique otra cosa, las sysctls relacionadas con
       el tiempo se especifican en segundos.

       anycast_delay
              Numero maximo de unidades de tiempo (jiffies) a esperar antes de
              contestar a un mensaje IPv6 de solicitud de vecinos.  El soporte
              "cualquier direccion" (anycast) todavia  no  esta  implementado.
              El valor por defecto es de 1 segundo.

       app_solicit
              El  numero  maximo  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
              Una  vez que se ha encontrado un vecino, la entrada se considera
              valida   durante,   al   menos,   un   valor   aleatorio   entre
              base_reachable_time/2  y 3*base_reachable_time/2.  La validez de
              una entrada se ampliara  si  recibe  retroalimentacion  positiva
              desde  los  protocolos  de  los niveles mas altos.  El valor por
              defecto es de 30 segundos.

       delay_first_probe_time
              Tiempo de espera antes del primer sondeo despues de que se  haya
              decidido que un vecino esta caduco. Por defecto es 5 segundos.

       gc_interval
              Periodo  con el que el recolector de basura para las entradas de
              vecinos deberia  intentar  ejecutarse.  Por  defecto  es  de  30
              segundos.

       gc_stale_time
              Determina la frecuencia con la que se comprueban las entradas en
              busca de vecinos caducos. Cuando la  entrada  de  un  vecino  se
              considera  caduca, se resuelve de nuevo antes de enviarle datos.
              El valor por defecto es de 60 segundos.

       gc_thresh1
              Numero minimo  de  entradas  a  guardar  en  la  cache  ARP.  El
              recolector de basura no se ejecutara si hay menos entradas en la
              cache que el numero indicado.  Por defecto vale 128.

       gc_thresh2
              Numero maximo flexible de entradas a guardar en la cache ARP. El
              recolector  de basura permitira que el numero de entradas exceda
              este  limite  durante  5  segundos   antes   de   realizar   una
              recoleccion. El valor por defecto es de 512 entradas.

       gc_thresh3
              Numero maximo estricto de entradas a guardar en la cache ARP. El
              recolector de basura se ejecutara siempre si hay mas entradas en
              la cache que el numero indicado. Por defecto vale 1024.

       locktime
              Numero  minimo  de  unidades  de  tiempo que debe permanecer una
              entrada ARP en la cache. Esto evita la modificacion continua  de
              la  cache  ARP  si  hay mas de una asociacion potencial (debido,
              generalmente, a una mala configuracion de la red).  Por  defecto
              es 1 segundo.

       mcast_solicit
              Numero  maximo  de intentos para resolver una direccion mediante
              multidestino/difusion  antes   de   marcar   la   entrada   como
              inalcanzable. El valor por defecto es 3.

       proxy_delay
              Cuando  se recibe una solicitud ARP para una direccion 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
              Numero maximo de paquetes que se pueden encolar para direcciones
              proxy-ARP.  Por defecto vale 64.

       retrans_time
              Numero de unidades de tiempo a esperar antes de retransmitir una
              peticion.  El valor por defecto es 1 segundo.

       ucast_solicit
              Numero maximo de intentos para enviar sondeos  unidestino  antes
              de  preguntar  al demonio ARP (vea app_solicit).  Por defecto es
              3.

       unres_qlen
              Numero maximo de paquetes que otras capas de red pueden  encolar
              para cada direccion sin resolver. Por defecto vale 3.

FALLOS

       Algunos  valores  del  cronometro  se especifican en unidades de tiempo
       (jiffies), cuyo valor dependen de la arquitectura.  En  los  Alpha  una
       unidad de tiempo es 1/1024 segundos y en la mayoria de arquitecturas es
       1/100 segundos.

       No hay forma de indicar una retroalimentacion positiva desde el espacio
       de  usuario.  Esto  significa  que los protocolos orientados a conexion
       implementados en  el  espacio  de  usuario  generaran  un  trafico  ARP
       excesivo,  debido  a  que  ndisc  volvera  regularmente  a  sondear las
       direcciones MAC.  El mismo problema es aplicable a  algunos  protocolos
       del nucleo (p.e. NFS sobre UDP).

       Esta  pagina  de  manual  mezcla  funcionalidad  especifica  de  IPv4 y
       comportida entre IPv4 e IPv6.

VERSIONES

       La estructura struct arpreq cambio en la  version  2.0  de  Linux  para
       incluir  el  miembro arp_dev y los numeros de las ioctls cambiaron a la
       misma vez.  El soporte para  las  antiguas  ioctls  se  elimino  en  la
       version 2.2 de Linux.

       El  soporte  para entradas proxy arp de red (mascara de red distinta de
       0xffffffff) se elimino en la version 2.2 de Linux. Se reemplazo por una
       configuracion  proxy  arp automatica realizada por el nucleo para todos
       los anfitriones  (hosts)  alcanzables  a  traves  de  otras  interfaces
       (cuando estan activos el reenvio y el proxy arp en la interfaz).

       Los  sysctls  del  tipo  neigh/*  no  existian  en  versiones  de Linux
       anteriores a la 2.2.

V'EASE TAMBI'EN

       ip(7)

       RFC826 para una descripcion de ARP.
       RFC2461 para una descripcion del descubrimiento de vecinos  de  IPv6  y
       los algoritmos base utilizados.

       La implementacion IPv4 ARP de Linux 2.2+ usa los algoritmos IPv6 cuando
       estos son aplicables.

Pagina man de Linux              3 junio 1999                           ARP(7)