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
|
'\" t
.\" ȨУ1999 Matthew WilcoxκĿʱ˴ԭģ
.\" ˺ڣ
.\" İȨ Alian Yao, BitBIRD www.linuxforum.net 2000
.\" 1June 1999 Andi Kleen
.\" $Id: arp.7,v 1.1.1.1 2000/12/27 12:24:49 BitBIRD Exp $
.TH ARP 7 "3 Jun 1999" "Linux Man Page" "Linux Աֲ"
.SH
arp \- LinuxARPģ
.SH
ЭģʵRFC826ж Address Resolution Protocol
[עTCP/IPĵ㵽һĵַתЭ]
ֱлڶӲַ Ipv4 Эַ֮ת
ûãһ㲻ֱӲģ顣
ʵϣṩԺЭķ
û̿ʹ
.BR packet (7)
socketsյ ARP עһ飩
һֻʹ
.BR netlink (7)
socketsûռ ARP Ļơ
Ҳͨ
.B ioctl (2)
.B PF_INET
socketϵ
ARP
ARP ģάһӲַЭַӳĻ档дСƣ
õĺ;ɵļ¼Entryռgarbage-collected
ռԶɾΪõļ¼ǿʹioctlsֱӲݻ壬
״涨 sysctl ڡ
ʱ䣨sysctlڣһִӳûп϶ʱ
ΪڲϼʧЧ
ΪٴĿ귢ݣARPѯʱarp
.B app_solicit
Σȡ˵ MACʷʿƣַ
ʧܣҾɵMACַ֪ģ
.B ucast_solicit
ε unicast probeȻʧܣ㲥һµARP,ʱҪ
дݵĶ
Linux ӵһַҸõַָ Linux תĵַ
ҽսӿڴ˴ arp ʱLinux Զһõ
arp ¼ھܾĿ·ɣӴ arp ¼
.SH IOCTLS
ioctl
.B PF_INET
sockets Сһָ
.B struct arpreq
ָΪǵIJ
.nf
.ta 4 20 33
struct arpreq
{
struct sockaddr arp_pa; /* Эַ(protocol address)*/
struct sockaddr arp_ha; /* Ӳַ(hardware address) */
int arp_flags; /* ־(flags) */
struct sockaddr arp_netmask;
/* Эַ(netmask of protocol address)*/
char arp_dev[16];
};
.fi
.BR SIOCSARP ", " SIOCDARP " " SIOCGARP
ɷֱáɾͻȡ ARP ӳ䡣úɾ ARP ӳ
ֻӵ
.B CAP_NET_ADMIN
ȨĽ̻ЧUIDΪ0Ľִ̿С
.I arp_pa
.B AF_INET
socket
.I arp_ha
к
.IR arp_dev .
ָ豸ͬ͡
.I arp_dev
Ǹnull豸ַ
.TS
tab(:) allbox;
c s
l l.
\fIarp_flags\fR
־(flag):(meaning)
ATF_COM:(Lookup complete)
ATF_PERM:ü¼(Permanent entry)
ATF_PUBL:¼(Publish entry)
ATF_USETRAILERS:Ҫʹú(Trailers requested)
ATF_NETMASK:ʹ(Use a netmask)
ATF_DONTPUB:ظ(Don't answer)
.TE
.PP
.B ATF_NETMASK
־ô
.I arp_netmask
Ч
Linux 2.2 ִ֧ ARP ¼ˣҪ0xffffffff0
ɾִarp¼ﲻʹ
ִarp¼
.B ATF_USETRAILERS
ѾʱˣӦüʹá
.SH SYSCTLS
ARP ֧һ sysctl ӿڣȫֲӿڵؽơ
sysctl ͨ
.B /proc/sys/net/ipv4/neigh/*/*
ļʹ
.BR sysctl (2)
ӿʡϵͳÿӿڶ
/proc/sys/net/ipv4/neigh/.
ԼĿ¼`default'Ŀ¼е½豸
sysctl صʱΪλر
.TP
.B anycast_delay
IPv6 ϢĻظӳʱ䣻
Ŀǰ֧ anycastȱʡֵΪ1롣
.TP
.B app_solicit
ʹö·㲥̽(multicast probe)ǰ
͵û϶ARP˿ڼس̽⣨probe
Ŀ(
.IR mcast_solicit
)
ȱʡֵΪ0
.TP
.B base_reachable_time
һڼ¼һν
.IR base_reachable_time "/23*" base_reachable_time /2
֮ʱڣü¼ЧġյϲЭĿ϶
ô¼Чڽӳ
ȱʡֵ30롣
.TP
.B delay_first_probe_time
ijڲ¼Ч(stale)һ̽Ҫȴʱ䡣 ȱʡֵ5롣
.TP
.B gc_interval
ռڲ¼ü¼ռڣȱʡΪ30롣
.TP
.B gc_stale_time
һڲ¼ЧԵڡ
ڲ¼ʧЧʱڸǰٽһΡ
ȱʡֵ60롣
.TP
.B gc_thresh1
ARPٻеٲ
ռСȱʡֵ128
.TP
.B gc_thresh2
ARP ٻеļ¼ơ
ռڿʼռǰ¼ 5 롣
ȱʡֵ 512
.TP
.B gc_thresh3
ARP ٻе¼Ӳƣ
һٻеĿڴˣ
ռСȱʡֵ1024
.TP
.B locktime
ARP ¼ڸٻڵʱ䣨jiffy
Էֹڶܵӳ(potential mapping)ʱ
ARP ٻϵͳĵ (Ĵö)
ȱʡֵ 1 롣
.TP
.B mcast_solicit
ڰѼ¼Ϊɵִ֮ǰ
ö·㲥/㲥multicast/broadcastʽַ
ȱʡֵ3
.TP
.B proxy_delay
յһ֪Ĵ ARP ַ ARP ʱ
ڻӦǰӳٵ jiffyʱ䵥λBUGĿ
Էֹ籩ȱʡֵ0.8롣
.TP
.B proxy_qlen
ܷ ARP ַ(proxy-ARP addresses)ݰĿȱʡֵ64
.TP
.B retrans_time
طһǰĵȴ jiffyʱ䵥λBUGĿȱʡֵ1롣
.TP
.B ucast_solicit
ѯARP˿ڼسǰͼ͵̽⣨unicast probeĴ (
.IR app_solicit ).
ȱʡֵ3롣
.TP
.B unres_qlen
ÿûбĵַڶпɴŰĿȱʡֵ3.
.SH BUGS
ʱõʱ䵥λ jiffyӲϵйء
Alpha ϣһ jiffy 1/1024 룬ϣ 1/100 롣
Ŀǰûа취ûռ䷢Ϳ϶
ζûռʵֵӵЭ
connection oriented protocols ARP ͨѶ
Ϊndisc̽MACַں NFS ʵҲͬ⡣
ֲҳҪ IPv4 淶ҹ IPv4 IPv6 Ĺܣ
.SH 汾
Linux 2.0е
.B struct arpreq
.I arp_dev
ͬʱ ioctl ĿҲıˡ Linux 2.2 н֧־ɵioctl
Linux 2.2 Уȡ˶ arp ¼(벻0xffffffff)֧֡
ܱںõһԶ arp ȡԶ arp λ
ϵĿɵýӿڵתʹ arp ˣ
.SH
.BR ip (7)
.PP
RFC826 ˽ ARP
.br
RFC2461 IPv6ʹõĽڲԼ㷨
.SH "[İά]"
Alan Yao E-mail:Alan_Yao@163.net
.SH "[ݸ]"
2000/10/23
.br
.Bй Linux ̳ man ֲҳƻ : www.cmpp.net/
|