File: arp.7

package info (click to toggle)
manpages-fr 0.9.3-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 7,052 kB
  • ctags: 4
  • sloc: makefile: 58; sh: 8
file content (262 lines) | stat: -rw-r--r-- 9,551 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
.\" This man page is Copyright (C) 1999 Matthew Wilcox <willy@bofh.ai>.
.\" Permission is granted to distribute possibly modified copies
.\" of this page provided the header is included verbatim,
.\" and in case of nontrivial modification author and date
.\" of the modification is added to the header.
.\" Traduction 04/01/2000 par Christophe Blaess (ccb@club-internet.fr)
.\" LDP-man_pages 1.28
.\" Mise � jour 06/06/2001 - LDP-man-pages-1.36
.TH ARP 7 "6 juin 2001" Linux "Manuel de l'administrateur Linux" 
.SH NOM
arp \- Module ARP du noyau Linux.
.SH 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
.BR packet (7).
Il y a aussi un m�canisment pour g�rer le cache ARP dans l'espace
utilisateur avec des sockets
.BR netlink (7).
La table ARP peut �tre contr�l�e par le biais d'un
.B ioctl (2) 
sur n'importe quelle socket
.BR PF_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 \fBioctl\fPs et
son comportement peut �tre ajust� � l'aide des \fBsysctl\fPs d�crits plus bas.

Lorsqu'il n'y a pas de retour positif pour une correspondance existante apr�s
un certain temps (voir les \fBsysctl\fPs 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 
.B MSG_CONFIRM
de 
.BR sendmsg (2).
Pour envoyer � nouveau des donn�es � cette cible, l'ARP essaye
d'abord d'interroger un d�mon arp local au maximum
.B app_solicit 
fois, afin d'obtenir une adresse MAC � jour. Si ceci �choue, et si une
ancienne adresse MAC est connue, une tentative unicast est envoy�e
.B ucast_solicit
fois. Si on �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, et si
l'arp proxy est valid� sur l'interfa�e r�ceptrice. Aucune entr�e n'est
ajout�e s'il y a une route de rejet.

.SH IOCTLS
Trois ioctls sont disponibles pour les sockets
.BR PF_INET .
Elles prennent un pointeur 
sur une
.B struct arpreq
comme param�tre.

.nf
.ta 4 20 33
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];
};
.fi

Respectivement,
.BR SIOCSARP ", " SIOCDARP " et " SIOCGARP
ajoute, supprime, et consulte une correspondance ARP.
L'ajout et la suppression de correspondance ARP sont des op�rations
privil�gi�es ne pouvant �tre r�alis�s que par un processus avec la capacit�
.B CAP_NET_ADMIN
ou un UID effectif nul.

.I arp_pa
doit �tre une socket
.B AF_INET
et
.I arp_ha
doit �tre du m�me type que le p�riph�rique indiqu� dans
.IR arp_dev .
.I arp_dev
est une cha�ne termin�e par un caract�re nul, contenant le nom d'un p�riph�rique.

.TS
tab(:) allbox;
c s
l l.
\fIarp_flags\fR
attribut:signification
ATF_COM:Recherche compl�te
ATF_PERM:Entr�e permanente
ATF_PUBL:Entr�e publique
ATF_USETRAILERS:Demande trailer
ATF_NETMASK:Utiliser le masque r�seau
ATF_DONTPUB:Ne pas r�pondre
.TE

.PP
Si l'attribut
.B ATF_NETMASK
est activ�, alors le membre
.I arp_netmask
doit �tre valide.
Linux 2.2 ne supporte pas les entr�es ARP proxy r�seau, ainsi il doit
�tre configur� avec 0xFFFFFFFF ou 0 pour supprimer une entr�e arp proxy existante.
.B ATF_USETRAILERS
est obsol�te et ne doit pas �tre utilis�

.SH SYSCTLS
ARP supporte une interface \fBsysctl\fP pour configurer les param�tres
sur une base globale ou interface par interface.
Les sysctls peuvent �tre accessibles en lisant ou en �crivnt dans le fichier
.B /proc/sys/net/ipv4/neigh/*/*
ou en utilisant l'interface
.BR sysctl (2).
Chaque interface dans le syst�me a son propre r�pertoire dans
/proc/sys/net/ipv4/neigh/.
La configuration dans le r�pertoire \fBdefault\fP sert pour tous les
p�riph�riques nouvellement ajout�s.
Sauf mention contraire, les sysctls relatifs au temps sont indiqu� en secondes.
.TP
.B anycast_delay
Le nombre maximum de jiffies � attendre avant de r�pondre � un message de
solicitation IPv6 du voisinage. Le support Anycast n'est pas encore impl�ment�.
Par d�faut, le d�lai est 1 seconde.
.TP
.B app_solicit
Le nombre maximum d'essai d'envoi au d�mon ARP de l'espace utilisateur par
netlink avant de basculer en tentatives multicast (voir
.IR mcast_solicit ).
La valeur par d�faut est 0.
.TP
.B base_reachable_time
Une fois qu'un voisin a �t� trouv�, l'entr�e est consid�r�e comme valide
pendant, au moins, une dur�e al�atoire entre
.IR base_reachable_time "/2 et 3*" base_reachable_time /2.
La validit� d'une entr�e sera �tendue si on re�oit un retour positif
des protocoles de plus haut niveau.
La valeur par d�faut est 30 secondes.
.TP
.B delay_first_probe_time
D�lai avant la premi�re tentative multicast apr�s avoir d�cid� qu'un
voisin est gel�. Par d�faut 5 secondes.
.TP
.B gc_interval
Fr�quence avec laquelle on v�rifie les entr�es valides. Par d�faut
30 secondes.
.TP
.B gc_stale_time
Fr�quence avec laquelle on v�rifie 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. Par d�faut la dur�e est de 60 secondes.
.TP
.B gc_thresh1
Le nombre minimal d'entr�es � conserver dans le cache ARP. Le r�cup�rateur
ne sera pas d�clench� si il y a moins d'entr�es que cette valeur (par d�faut 128).
.TP
.B gc_thresh2
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. Par d�faut 512 entr�es.
.TP
.B gc_thresh3
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 (par d�faut 1024).
.TP
.B locktime
Le nombre minimum de jiffies pendant lesquels on conserve une entr�e ARP
dans le cache. Ceci �vite la d�gradation du cache si il y a plusieurs
correspondances posibles (g�n�ralement � cause d'une mauvaise configuration
du r�seau). Par d�faut 1 seconde.
.TP
.B mcast_solicit
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. Par d�faut 3.
.TP
.B proxy_delay
Lorsqu'une requ�te arrive pour une adresse proxy-ARP, on attend 
.I proxy_delay
jiffies avant de r�pondre.
Ceci permet d'�viter des saturations du r�seau dans certains cas. La
valeur par d�faut correspond � 0.8 secondes.
.TP
.B proxy_qlen
Le nombre maximal de paquets qui peuvent �tre conserv�s pour des adresses
proxy-ARP. Par d�faut 64.
.TP
.B retrans_time
Le nombre de jiffies � attendre avant de retransmettre une requ�te. Par
d�faut 1 seconde.
.TP
.B ucast_solicit
Le nombre maximal de tentatives d'envoi unicaste avant d'interroger le
d�mon ARP (voir
.IR app_solicit ).
Par d�faut 3.
.TP
.B unres_qlen
Le nombre maximal de paquets conserv�s pour chaque adresse non r�solue
par les autres couches r�seau. Par d�faut 3.
.SH BOGUES
Certaines configurations de temporisation sont exprim�s en jiffies qui
d�pendent de l'architecture.
Sur Alpha, un jiffy correspond � 1/1024 seconde, sur la plupart des autres
il correspond � 1/100 seconde.

Il n'y a pas de moyen d'envoyer une r�ponse positive de l'espace utilisateur.
Ceci 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 sp�cificit�s IPv4 et les fonctionnalit�s
communes � IPv4 et IPv6.

.SH VERSIONS

La structure
.B arpreq
a chang� dans Linux 2.0 pour inclure le membre
.I arp_dev
et les num�ros d'ioctl ont chang� en m�me temps.
Le support pour les anciens ioctl a �t� abandonn� dans Linux 2.2.

Le support pour les entr�es proxy ARP concernant des r�seaux
(netmask diff�rent de 0xFFFFFFF) a �t� supprim� de Linux 2.2.
Il est remplac� par une configuration proxy ARP automatique dans le
noyau pour tous les h�tes accessibles sur les autres interfaces
(lorsque l'on fait du forwarding et que le proxy ARP est activ� sur
l'interface).

Les requetes sysctl neigh/* n'existaient pas avant Linux 2.2.

.SH "VOIR AUSSI"
.BR ip (7)
.PP
RFC826 pour une description de l'ARP.
.br
RFC2461 pour une description de l'exploration du voisinage IPv6 et des
algorithmes de base employ�s.
.LP
L'ARP IPv4 de Linux 2.2 et ult�rieurs emploie l'algorithme IPv6 quand
c'est possible.
.SH TRADUCTION
Christophe Blaess, 2000.