File: arp.7

package info (click to toggle)
manpages-pt 20011020-2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 3,052 kB
  • ctags: 5
  • sloc: makefile: 49
file content (260 lines) | stat: -rw-r--r-- 8,951 bytes parent folder | download | duplicates (6)
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
.\" -*- nroff -*-
.\" 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.
.\" Modified June 1999 Andi Kleen
.\" $Id: arp.7,v 1.1 2000/10/20 13:05:11 ricardo Exp $
.TH ARP 7 "3/06/1999" "Pgina do Manual do Linux" "Manual do Programador Linux" 
.SH NOME
arp \- mdulo de kernel para ARP em Linux. 
.SH DESCRIO
Este mdulo de protocolo de kernel implementa o Protocolo de Resoluo de
Endereos (Address Resolution Protocol) definido na RFC 826.
Ele  usado para converter o endereo de hardware da camada 2 para
endereos do protocolo IPv4 em redes diretamente conectadas.
Normalmente o usurio no interage diretamente com este mdulo, exceto
para configur-lo; em vez disso, ele prov um servio para outros
protocolos no kernel.

Um processo de usurio pode receber pacotes ARP atravs do uso de sockets do tipo
.BR packet (7) .
H tambm um mecanisco de gerenciamento do cache ARP no espao de usurio,
atravs do uso de sockets do tipo
.BR netlink (7) .
A tabela ARP tambm pode ser controlada via
.B ioctl (2) 
ou qualquer socket do tipo
.B PF_INET
.

O mdulo ARP matm um cache de mapeamento entre endereos de hardware e
endereos de protocolo. O cache tem um tamanho limitado pois h uma "coleta de lixo"
entre entradas mais antigas e usadas com menos freqncia. Entradas que so marcadas
como permanentes nunca so apagadas pelo coletor de lixo. O cache pode ser
manipulado diretamente pelo uso de ioctls, e seu comportamento pode ser
ajustado pelos sysctls definidos abaixo.

Quando no h feedback positiva para um mapeamento existente depois de um
certo tempo (veja os sysctls abaixo), uma entrada de cache vizinha  considerada travada.
Para enviar dados para o destino novamente,
o ARP primeiro tenta pedir ao daemon arp local um endereo MAC atualizado por
.B app_solicit 
vezes.
Se falhar, e um endereo MAC antigo  conhecido, um teste de unicast  enviado
.B ucast_solicit
vezes. Se falhar tambm, ele far um broadcast de um novo pedido de ARP
na rede. Pedidos so enviados apenas quando h dado enfileirado para 
envio.

O Linux acrescentar automaticamete uma entrada no permanente de arp proxy
quando receber um pedido de um endereo para encaminhamento, e o
arp proxy  habilitado na interface de recepo. Quando houver uma rota
rejeitada para o destino, nenhuma entrada de arp proxy  acrescentada.

.SH IOCTLS
Esses ioctls so disponveis em todos os sockets 
.B PF_INET
.
Eles pegam um ponteiro para um
.B struct arpreq
como parmetro.

.nf
.ta 4 20 33
struct arpreq
{
	struct sockaddr	arp_pa;	/* endereo de protocolo */
	struct sockaddr	arp_ha;	/* endereo de hardware */
	int	arp_flags;	/* flags */
	struct sockaddr	arp_netmask;	/* mscara de rede do endereo de protocolo */
	char	arp_dev[16];
};
.fi

.BR SIOCSARP ", " SIOCDARP " e " SIOCGARP
respectivamente seta, deleta e obtm um mapeamento ARP.
Setar e deletar mapas ARP so operaes privilegiadas e s podem ser
realizadas por um processo com a capabilidade
.B CAP_NET_ADMIN
ou com um UID efetivo igual a 0.

.I arp_pa
deve ser um socket
.B AF_INET
e
.I arp_ha
deve ter o mesmo tipo que o dispositivo especificado em 
.IR arp_dev .
.I arp_dev
 uma string terminada em zero que nomeia um dispositivo.

.TS
tab(:) allbox;
c s
l l.
\fIarp_flags\fR
flag:significado
ATF_COM:Busca completada
ATF_PERM:Mantm entrada
ATF_PUBL:Publica entrada
ATF_USETRAILERS:Trailers requeridos
ATF_NETMASK:Usa uma mscara de rede
ATF_DONTPUB:No responde
.TE

.PP

Se o flag
.B ATF_NETMASK
 selecionado, ento
.I arp_netmask
deveria ser vlido.  
O Linux 2.2 no suporta entradas entradas ARP de rede proxy, ento deveria
ser setado para 0xffffffff, ou 0 para remover uma entrada de proxy arp existente. 
.B ATF_USETRAILERS
 obsoleto e no deveria ser usado.

.SH SYSCTLS
O ARP suporta uma interface de sysctl para configurar parmetros em uma
base global ou por interface.
Os sysctls podem ser acessados por leitura ou escrita dos arquivos 
.B /proc/sys/net/ipv4/neigh/*/*
ou com a interface 
.BR sysctl (2)
. Cada interface no sistema tem seu prprio diretrio em
/proc/sys/net/ipv4/neigh/.
A configurao no diretrio `default'  usada por todos os dispositivos recm-criados.
A menos que se especifique o contrrio, sysctls relacionados a tempo so especificados em segundos.
.TP
.B anycast_delay
O nmero mximo de jiffies para atraso antes de uma resposta a uma
mensagem de solicitao de vizinhana IPv6.
Suporte a anycast ainda no foi implementado.
O padro  1 segundo.
.TP
.B app_solicit
O nmero mximo de testes para envio ao daemon ARP do espao de usurio,
via netlink, antes de voltar aos testes de multicast (veja
.IR mcast_solicit ).
O padro  0.
.TP
.B base_reachable_time
Uma vez que um vizinho foi encontrado, a entrada  considerada vlida pelo
menos por um valor aleatrio entre
.IR base_reachable_time "/2 e 3*" base_reachable_time /2.
Uma validao da entrada ser estendida se ele receber feedback positivo
de protocolos de nvel mais alto.
O padro  de 30 segundos.
.TP
.B delay_first_probe_time
Atraso antes do primeiro teste, depois que ele decidiu que um vizinho est
travado.
O padro  de 5 segundos. 
.TP
.B gc_interval
Quo freqentemente o coletor de lixo para entradas vizinhas deveria
tentar rodar.
O padro  de 30 segundos.
.TP
.B gc_stale_time
Determina a freqncia da checagem por entradas de vizinhos travados.
Quando uma entrada de vizinho  considerada travada,  resolvido
novamente antes de enviar dados para ele.
O padro  de 60 segundos.
.TP
.B gc_thresh1
O nmero mnimo de entradas a serem mantidas no cache ARP.
O coletor de lixo no rodar se houver menos do que este nmero de
entradas no cache.
O padro  de 128.
.TP
.B gc_thresh2
O nmero mximo flexvel de entradas a serem mantidas no cache ARP. O
coletor de lixo permitir que o nmero de entradas exceda este nmero por
5 segundos antes que a coleta seja realizada.
O padro  de 512.
.TP
.B gc_thresh3
O nmero mximo rgido de entradas a serem mantidas no cache ARP. O
coletor de lixo sempre rodar se houver mais que este nmero de entradas
no cache.
O padro  de 1024.
.TP
.B locktime
O nmero mnimo de jiffies a manter uma entrada ARP no cache. Isto previne
o esmagamento do cache ARP se houver mais que um mapeamento potencial
(geralmente devido a desconfigurao de rede).
O padro  de 1 segundo.
.TP
.B mcast_solicit
O nmero mximo de tentativas para resolver um endereo por multicast/broadcast 
antes de marcar a entrada como no alcanvel.
O padro  de 3.
.TP
.B proxy_delay
Quando  recebido um pedido ARP de um endereo proxy-ARP conhecido, atrasa at 
.I proxy_delay
jiffies antes de responder.
Isto  usado para prevenir flooding (enxurrada) na rede em alguns casos.
O padro  de 0.8 segundos.
.TP
.B proxy_qlen
O nmero mximo de pacotes que podem ser enfileirados em endereos proxy-ARP.
O padro  de 64.
.TP
.B retrans_time
O nmero de jiffies de atraso antes de se retransmitir um pedido.
O padro  de 1 segundo.
.TP
.B ucast_solicit
O nmero mximo de tentativas de enviar testes de unicast antes de
perguntar ao daemon ARP (veja
.IR app_solicit ).
O padro  3.
.TP
.B unres_qlen
O nmero mximo de pacotes que podem ser enfileirados para cada endereo
no resolvido por outras camadas da rede.
O padro  de 3.

.SH PROBLEMAS
Algumas configuraes de temporizao so especficos em jiffies, que so 
relacionados com a arquitetura. No Alpha, um jiffy  1/1024 segundo, em 
muitas outras arquiteturas  1/100s.

No h maneira de sinalizar feedback positivo a partir do espao do usurio. Isto significa
que protocolos orientados a conexo implementados no espao de usurio geraro
um trfego ARP excessivo, porque ndisc retestar regularmente o endereo MAC.
O mesmo problema se aplica para a implementao do NFS no kernel.

Esta pgina de manual busca tanto a funcionalidade especfica para
IPv4 quanto a compartilhada entre IPv4 e IPv6.

.SH VERSES

O
.B struct arpreq
mudou no Linux 2.0 para incluir o membro
.I arp_dev
e os nmeros de ioctl mudaram ao mesmo tempo.
O suporte aos ioctls antigos foi tirado do Linux 2.2.

O suporte a entradas de arp proxy para redes (mscara de rede diferente de 0xffffffff)
foi eliminado no Linux 2.2. Ele  substitudo pela configurao automtica
pelo kernel do arp proxy para todos os hosts alcancveis em outras interfaces (quando o repasse e o
arp proxy estiverem habilitados para a interface).



.SH VEJA TAMBM
.BR ip (7)
.PP
RFC826 para uma descrio do ARP.
.br
RFC2461 para uma descrio da descoberta de vizinhos IPv6 e os algoritmos-base
usados.
.SH TRADUZIDO POR LDP-BR em 21/08/2000.
\&\fR\&\f(CWRubens de Jesus Nogueira <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWAndr L. Fassone Canova <lonelywolf@blv.com.br> (reviso)\fR