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
NAME描 述
IOCTLS
SYSCTLS
BUGS
版 本
另 見
[中 文 版 維 護 人 ]
[中 文 版 最 新 更 新 ]
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
NAME
arp - Linux的 ARP核 心 模 組
描 述
這 個 核 心 協 議 模 組 實 現 RFC826中 定 義 的 Address Resolution Protocol [譯 註 : 即 TCP/IP的 第 三 層 到 第 一 層 的 地 址 轉 換 協 議 ], 用 於 在 直 接 相 連 的 網 路 中 換 第 二 層 硬 體 地 址 和 Ipv4 協 議 地 址 之 間 的 轉 換 。 使 用 者 除 非 想 對 其 進 行 配 置 , 否 則 一 般 不 會 直 接 操 作 這 個 模 組 。
實 際 上 , 它 提 供 對 核 心 中 其 它 協 議 的 服 務 。
使 用 者 程 序 可 以 使 用 packet (7) 的 sockets, 收 到 ARP 包 ( 譯 註 : 一 譯 分 組 ) 。 還 有 一 種 機 制 是 使 用 netlink (7) sockets, 在 使 用 者 空 間 管 理 ARP 快 取 的 機 制 。 我 們 也 可 以 透 過 ioctl (2) 控 制 任 意 PF_INET socket上 的 ARP 表
ARP 模 組 維 護 一 個 硬 體 地 址 到 協 議 地 址 對 映 的 快 取 。 這 個 快 取 有 大 小 限 制 , 所 以 不 常 用 的 和 舊 的 記 錄 ( Entry) 將 被 垃 圾 收 集 器 清 除 ( garbage-collected) , 垃 圾 收 集 器 永 遠 不 能 刪 除 標 為 永 久 的 記 錄 。 我 們 可 以 使 用 ioctls直 接 操 縱 緩 衝 , 並 且 其 性 狀 可 以 用 下 面 定 義 的 sysctl 調 節 。
如 果 在 限 定 的 時 間 ( 見 下 面 的 sysctl) 內 , 一 條 現 存 對 映 沒 有 肯 定 反 饋 時 , 則 認 為 相 鄰 層 的 快 取 記 錄 失 效 。 為 了 再 次 向 目 標 傳 送 資 料 , ARP將 首 先 試 著 詢 問 本 地 arp程 序 app_solicit 次 , 獲 取 更 新 了 的 MAC( 介 質 訪 問 控 制 ) 地 址 。 如 果 失 敗 , 並 且 舊 的 MAC地 址 是 已 知 的 , 則 傳 送 ucast_solicit 次 的 unicast probe。 如 果 仍 然 失 敗 , 則 將 向 網 路 廣 播 一 個 新 的 ARP請 求 ,此 時 要 有 待 發 送 資 料 的 佇 列
如 果 Linux 接 到 一 個 地 址 請 求 , 而 且 該 地 址 指 向 Linux 轉 發 的 地 址 , 並 且 接 收 介 面 打 開 了 代 理 arp 時 , Linux 將 自 動 新 增 一 條 非 永 久 的 代 理 arp 記 錄 ; 如 果 存 在 拒 絕 到 目 標 的 路 由 , 則 不 新 增 代 理 arp 記 錄 。
IOCTLS
有 三 個 ioctl 可 以 用 於 所 有 PF_INET 的 sockets 中 。 它 們 以 一 個 指 向 struct arpreq 的 指 標 作 為 它 們 的 引 數 。
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];
};
SIOCSARP , SIOCDARP 和 SIOCGARP 可 分 貝 設 定 、 刪 除 和 獲 取 ARP 對 映 。 設 定 和 刪 除 ARP 對 映 是 特 許 操 作 , 只 有 擁 有 CAP_NET_ADMIN 許 可 權 的 程 序 或 有 效 UID為 0的 程 序 可 以 執 行 。
arp_pa 必 須 是 AF_INET socket, 並 且 arp_ha 必 須 有 和 arp_dev . 指 定 的 裝 置 相 同 的 型 別 。 arp_dev 是 個 以 null結 束 的 裝 置 名 字 串 。
如 果 設 定 了 ATF_NETMASK 標 誌 , 那 麼 arp_netmask 必 須 有 效 。 Linux 2.2 不 支 援 代 理 網 路 ARP 記 錄 , 因 此 , 要 設 成 0xffffffff或 者 0, 以 刪 除 現 存 代 理 arp記 錄 。 這 裡 不 使 用 現 存 代 理 arp記 錄 。 ATF_USETRAILERS 已 經 過 時 了 , 不 應 該 繼 續 使 用 。
SYSCTLS
ARP 支
援 一 個 sysctl 介 面 ,
可 以 用 以 配 置
全 域 性 引 數 或
逐 個 網 路 介 面
地 進 行 配 製 。
該 sysctl 可 以 透 過
/proc/sys/net/ipv4/neigh/*/*
檔 案
或 者 使 用
sysctl
(2)
介 面 來 訪 問 。
系 統 中 每 個 介
面 都 在 /proc/sys/net/ipv4/neigh/.
中 有 自 己 的 目
錄 。 ‘default’目 錄
中 的 設 定 用 於
所 有 新 建 的 裝
置 。 sysctl 相 關 的 時
間 是 以 秒 為 單
位 , 除 非 特 別
宣 告 過 .
anycast_delay
對 IPv6 相 鄰 請 求 資 訊 的 回 覆 的 最 大 延 遲 時 間 ; 目 前 還 不 支 援 anycast。 預 設 值 為 1秒 。
app_solicit
這 是 在 使 用 多 路 廣 播 探 測 (multicast probe)前 , 經 過 網 路 連 線 送 到 使 用 者 間 隙 ARP埠 監 控 程 式 的 探 測 ( probe) 最 大 數 目 (見 mcast_solicit )。 預 設 值 為 0。
base_reachable_time
一 旦 發 現 相 鄰 記 錄 , 至 少 在 一 段 介 於 base_reachable_time /2和 3* base_reachable_time /2 之 間 的 隨 機 時 間 內 , 該 記 錄 是 有 效 的 。 如 果 收 到 上 層 協 議 的 肯 定 反 饋 , 那 麼 記 錄 的 有 效 期 將 延 長 。 預 設 值 是 30秒 。
delay_first_probe_time
發 現 某 個 相 鄰 層 記 錄 無 效 (stale)後 , 發 出 第 一 個 探 測 要 等 待 的 時 間 。 預 設 值 是 5秒 。
gc_interval
收 集 相 鄰 層 記 錄 的 無 用 記 錄 的 垃 圾 收 集 程 式 的 執 行 週 期 , 預 設 為 30秒 。
gc_stale_time
決 定 檢 查 一 次 相 鄰 層 記 錄 的 有 效 性 的 週 期 。 當 相 鄰 層 記 錄 失 效 時 , 將 在 給 它 傳 送 資 料 前 , 再 解 析 一 次 。 預 設 值 是 60秒 。
gc_thresh1
存 在 於 ARP快 取 記 憶 體 中 的 最 少 層 數 , 如 果 少 於 這 個 數 , 垃 圾 收 集 器 將 不 會 執 行 。 預 設 值 是 128。
gc_thresh2
儲 存 在 ARP 快 取 記 憶 體 中 的 最 多 的 記 錄 軟 限 制 。 垃 圾 收 集 器 在 開 始 收 集 前 , 允 許 記 錄 數 超 過 這 個 數 字 5 秒 。 預 設 值 是 512。
gc_thresh3
儲 存 在 ARP 快 取 記 憶 體 中 的 最 多 記 錄 的 硬 限 制 , 一 旦 快 取 記 憶 體 中 的 數 目 高 於 此 , 垃 圾 收 集 器 將 馬 上 執 行 。 預 設 值 是 1024。
locktime
ARP 記 錄 儲 存 在 快 取 記 憶 體 內 的 最 短 時 間 ( jiffy數 ) , 以 防 止 存 在 多 個 可 能 的 對 映 (potential mapping)時 , ARP 快 取 記 憶 體 系 統 的 顛 簸 (經 常 是 由 於 網 路 的 錯 誤 配 置 而 引 起 )。 預 設 值 是 1 秒 。
mcast_solicit
在 把 記 錄 標 記 為 不 可 抵 達 的 之 前 , 用 多 路 廣 播 /廣 播 ( multicast/broadcast) 方 式 解 析 地 址 的 最 大 次 數 。 預 設 值 是 3。
proxy_delay
當 接 收 到 有 一 個 請 求 已 知 的 代 理 ARP 地 址 的 ARP 請 求 時 , 在 回 應 前 可 以 延 遲 的 jiffy( 時 間 單 位 , 見 BUG) 數 目 。 這 樣 , 以 防 止 網 路 風 暴 。 預 設 值 是 0.8秒 。
proxy_qlen
能 放 入 代 理 ARP 地 址 佇 列 (proxy-ARP addresses)的 資 料 包 最 大 數 目 。 預 設 值 是 64。
retrans_time
重 發 一 個 請 求 前 的 等 待 jiffy( 時 間 單 位 , 見 BUG) 的 數 目 。 預 設 值 是 1秒 。
ucast_solicit
詢 問 ARP埠 監 控 程 式 前 , 試 圖 傳 送 單 探 測 ( unicast probe) 的 次 數 。 (見 app_solicit ). 預 設 值 是 3秒 。
unres_qlen
每 個 沒 有 被 其 它 網 路 層 解 析 的 地 址 , 在 佇 列 中 可 存 放 包 的 最 大 數 目 。 預 設 值 是 3.
BUGS
時 鐘 設 定 的 時 間 單 位 jiffy, 跟 硬 體 體 系 有 關 。 在 Alpha 上 , 一 個 jiffy 是 1/1024 秒 , 而 在 其 它 機 器 上 , 是 1/100 秒 。
目 前 還 沒 有 辦 法 從 使 用 者 空 間 傳 送 肯 定 反 饋 。 這 意 味 著 在 使 用 者 空 間 實 現 的 面 向 連 線 的 協 議 ( connection oriented protocols) 將 產 生 大 量 的 ARP 通 訊 。 因 為 ndisc將 重 新 探 測 MAC地 址 。 核 心 NFS 的 實 現 也 存 在 同 樣 的 問 題 。
這 個 手 冊 頁 主 要 講 IPv4 規 範 並 且 共 享 IPv4 和 IPv6 的 功 能 .
版 本
Linux 2.0中 的 struct arpreq, 添 加 了 arp_dev , 同 時 ioctl 數 目 也 改 變 了 。 在 Linux 2.2 中 將 不 再 支 援 舊 的 ioctl。
在 Linux 2.2 中 , 取 消 了 對 網 路 代 理 arp 記 錄 (網 路 掩 碼 不 是 0xffffffff)的 支 援 。 這 個 功 能 被 核 心 設 定 的 一 個 自 動 代 理 arp 取 代 , 這 個 自 動 代 理 arp 用 於 所 有 位 於 其 它 接 上 的 可 到 達 的 主 機 ( 如 果 該 介 面 的 轉 發 和 代 理 arp 打 開 了 ) 。
另 見
ip (7)
RFC826 瞭
解 ARP 描 述 .
RFC2461 描 述 了 IPv6使 用
的 近 鄰 查 詢 以
及 基 本 演 算 法
[中 文 版 維 護 人 ]
Alan Yao <Alan_Yao@163.net>
[中 文 版 最 新 更 新 ]
2000/10/23
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
http://cmpp.linuxforum.net
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh