arp(7) Miscellaneous Information Manual arp(7) arp - Linux ARP Address Resolution Protocol ( ), RFC 826. (Layer2) IPv4 . , , -- . ARP packet(7). , ARP netlink(7). ARP ioctl (2) AF_INET. ARP . , . , , . , ioctl-. /proc, . When there is no positive feedback for an existing mapping after some time (see the /proc interfaces below), a neighbor cache entry is considered stale. Positive feedback can be gotten from a higher layer; for example, from a successful TCP ACK. Other protocols can signal forward progress using the MSG_CONFIRM flag to sendmsg(2). When there is no forward progress, ARP tries to reprobe. It first tries to ask a local arp daemon app_solicit times for an updated MAC address. If that fails and an old MAC address is known, a unicast probe is sent ucast_solicit times. If that fails too, it will broadcast a new ARP request to the network. Requests are sent only when there is data queued for sending. Linux proxy arp, , proxy arp . (reject route) proxy arp . ioctl AF_INET ioctl-. struct arpreq. struct arpreq { struct sockaddr arp_pa; /* */ struct sockaddr arp_ha; /* */ int arp_flags; /* */ struct sockaddr arp_netmask; /* */ char arp_dev[16]; }; SIOCSARP, SIOCDARP and SIOCGARP respectively set, delete, and get an ARP mapping. Setting and deleting ARP maps are privileged operations and may be performed only by a process with the CAP_NET_ADMIN capability or an effective UID of 0. arp_pa AF_INET, arp_ha , , arp_dev. arp_dev -- , . +------------------------------------------------------------------------------------+ | arp_flags | +----------------+-------------------------------------------------------------------+ | | | +----------------+-------------------------------------------------------------------+ |ATF_COM | | +----------------+-------------------------------------------------------------------+ |ATF_PERM | | +----------------+-------------------------------------------------------------------+ |ATF_PUBL | | +----------------+-------------------------------------------------------------------+ |ATF_USETRAILERS | | +----------------+-------------------------------------------------------------------+ |ATF_NETMASK | | +----------------+-------------------------------------------------------------------+ |ATF_DONTPUB | | +----------------+-------------------------------------------------------------------+ ATF_NETMASK, arp_netmask. Linux 2.2 proxy ARP, proxy arp 0xffffffff 0. ATF_USETRAILERS . /proc ARP /proc . /proc/sys/net/ipv4/neigh/*/*. /proc/sys/net/ipv4/neigh/. <> . , , . anycast_delay ( Linux 2.2) (jiffies) (neighbor solicitation message) IPv6. anycast . -- 1 . app_solicit ( Linux 2.2) (netlink) ARP- (. mcast_solicit). -- 0. base_reachable_time ( Linux 2.2) , base_reachable_time/2 3*base_reachable_time/2 . , . -- 30 . base_reachable_time_ms ( Linux 2.6.12) , base_reachable_time, . -- 30000 . delay_first_probe_time ( Linux 2.2) , . -- 5 . gc_interval ( Linux 2.2) . -- 30 . gc_stale_time ( Linux 2.2) . , , , . -- 60 . gc_thresh1 ( Linux 2.2) , ARP. , . -- 128. gc_thresh2 ( Linux 2.2) ARP. , 5 , . -- 512. gc_thresh3 ( Linux 2.2) ARP. , . -- 1024. locktime ( Linux 2.2) . ( , - ). -- 1 . mcast_solicit ( Linux 2.2) / . , . -- 3. proxy_delay ( Linux 2.2) proxy_delay ARP- proxy ARP- . . -- 0.8 . proxy_qlen ( Linux 2.2) proxy ARP, . -- 64. retrans_time ( Linux 2.2) . -- 1 . , retrans_time_ms. retrans_time_ms ( Linux 2.6.12) . -- 1000 . ucast_solicit ( Linux 2.2) ARP (. app_solicit). -- 3. unres_qlen ( Linux 2.2) , . -- 3. Linux 2.0 struct arpreq arp_dev ioctl. ioctl Linux 2.2. proxy arp ( 0xffffffff) Linux 2.2. ( proxy arp). neigh/* Linux 2.2. , ; time(7). . , , , ARP-, ndisc MAC-. (, NFS UDP). IPv4, IPv4 IPv6. capabilities(7), ip(7), arpd(8) ARP RFC 826. IPv6 RFC 2461. Linux 2.2+ IPv4 ARP IPv6 ( ). () Dmitry Bolkhovskikh Yuri Kozlov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () . Linux man-pages 6.18 8 2026 . arp(7)