.\" This man page is Copyright (C) 1999 Andi Kleen . .\" 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. .\" 中文版 Copyright (c) 2000 LetBright, BitBIRD 和 www.linuxforum.net .TH ICMP 7 "27 Apr 1999" "Linux Man Page" "Linux Programmer's Manual" .SH NAME 名稱 icmp, IPPROTO_ICMP \- Linux IPv4 ICMP 核心模塊. .SH DESCRIPTION 描述 本網絡核心協議模塊實現了基於 RFC792 協議中定義的《互聯網控制報文協議》 。它針對網絡主機間通訊出錯的情況作出迴應並給出診斷信息。 用戶不能直接使用本模塊。相反本模塊需與核心中的其他協議進行通訊,而這 些協議將 ICMP 出錯信息返回到網絡協議的應用層。ICMP 核心模塊也迴應 ICMP 請求。 .PP 如果用 IPPROTP_ICMP 打開原始套接字(raw socket)時, 用戶協議有可以收到任意本地套接字 ICMP 包。 .BR IPPROTO_ICMP . 請參閱 .BR raw (7) 傳遞到套接字的 ICMP 包可以用 .BR ICMP_FILTER 套接字選項進行過濾。核心會處理所有 ICMP 包,包括傳遞到用戶的套接字去的。 Linux 對可以到達每個目標主機出錯信息包的比率設立了限制。 .BR ICMP_REDIRECT 及 .BR ICMP_DEST_UNREACH 也受進入包的目標路由的限制。 .SH SYSCTLS ICMP 支持通過 sysctl 接口來設置一些全局 IP 參數。對 Sysctl 的訪問可以通過讀、寫 .BR /proc/sys/net/ipv4/* 下的文件通過 .BR sysctl (2) 接口進行. 大多數這些 sysctls 對特定 ICMP 類型的數據包數量進行了限制。 Linux 2.2 使用記號單元過濾器對 ICMP 包進行限制。 .\" XXX better description needed 此值表示超時錯誤,以秒計,直到到頂後記號單元過濾器被清除爲止。 .TP .BR icmp_destunreach_rate 發送目的地不可到達 ICMP 消息包的最大數據包比率。這限制了發送到任意一個 路由或目的地的數據包的比率。 這個限制不影響發送用來發現數據鏈路最大傳送單位(MTU)的 .BR ICMP_FRAG_NEEDED 包 數據包。 .TP .BR icmp_echo_ignore_all 如果該值不爲零,Linux將忽略所有的 .BR ICMP_ECHO 請求。 .TP .BR icmp_echo_ignore_broadcasts 如果該值不爲零,Linux將忽略所有發送到廣播地址的 .BR ICMP_ECHO 數據包。 .TP .BR icmp_echoreply_rate 發送響應 .BR ICMP_ECHOREQUEST 請求的 .BR ICMP_ECHOREPLY 數據包比率的最大值。 .TP .BR icmp_paramprob_rate 發送 .BR ICMP_PARAMETERPROB 數據包比率的最大值。當一個具有非法 IP 報頭數據包到達時將發送這些包。 .TP .BR icmp_timeexceed_rate 發送 .BR ICMP_TIME_EXCEEDED 包比率的最大值。當一個數據包通過太多網段時,這些包用作防止路由迴環。 .SH NOTES 由於在許多其他實現中不支持 .B IPPROTO_ICMP 原始套接字(raw socket),可移植程序不能依靠這一特性。 .\" not really true ATM .\" .PP .\" Linux ICMP 將遵從RFC1122協議. .PP .\" XXX: 這已列入修正計劃,將加入對Alexey無用網關檢測的補丁. 當Linux不作爲路由器時,將不被髮送 .BR ICMP_REDIRECT 包。內核也只有在路由表中的舊網關和路由重新定向超時時才接受這些包。 .PP .BR ICMP_TIMESTAMP 返回的 64 位毫秒爲單位的時間戳是自1970年1月1日以來的時間. .PP Linux 的 ICMP 在內部使用原始套接字(raw socket)來發送ICMP包。 這個原始套接字可能在 .BR netstat (8) 消息輸出中出現,帶着一個“zero inode”信息。 .PP .SH VERSIONS 在2.2版本中將再不支持 .BR ICMP_ADDRESS 請求。 .PP 在2.2版本中將不再支持 .BR ICMP_SOURCE_QUENCH .SH 參見 .BR ip (7) .PP RFC792 對ICMP協議進行了詳細的敘述。 .SH "[中文版維護人]" .B LetBright .SH "[中文版最新更新]" .B 2000/10/30 .SH "《中國linux論壇man手冊頁翻譯計劃》:" .BI http://cmpp.linuxforum.net .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR