Man page - arp(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr pt_BR es pl ja ru zh_TW zh_CNManual
arp
NOMDESCRIPTION
Ioctls
/proc interfaces
VERSIONS
BOGUES
VOIR AUSSI
TRADUCTION
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 ioctl s 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.
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 .