OSDN Git Service

0f91709d9a9547d1d5dc9fa402f3d85354f650f7
[linuxjm/LDP_man-pages.git] / draft / man7 / icmp.7
1 .\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
2 .\" Permission is granted to distribute possibly modified copies
3 .\" of this page provided the header is included verbatim,
4 .\" and in case of nontrivial modification author and date
5 .\" of the modification is added to the header.
6 .\" $Id: icmp.7,v 1.8 2001/01/14 05:30:41 hanataka Exp $
7 .\"
8 .\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
9 .\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
10 .\" Updated 2008-12-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.14
11 .\"
12 .\"WORD         destination route       行き先経路
13 .\"WORD         token packet filter     トークン・パケット・フィルタ
14 .\"
15 .TH ICMP 7 2010-02-25 "Linux" "Linux Programmer's Manual"
16 .\"O .SH NAME
17 .\"O icmp, IPPROTO_ICMP \- Linux IPv4 ICMP kernel module.
18 .SH 名前
19 icmp, IPPROTO_ICMP \- Linux IPv4 ICMP カーネルモジュール
20 .\"O .SH DESCRIPTION
21 .SH 説明
22 .\"O This kernel protocol module implements the Internet Control
23 .\"O Message Protocol defined in RFC\ 792.
24 .\"O It is used to signal error conditions and for diagnosis.
25 .\"O The user doesn't interact directly with this module;
26 .\"O instead it communicates with the other protocols in the kernel
27 .\"O and these pass the ICMP errors to the application layers.
28 .\"O The kernel ICMP module also answers ICMP requests.
29 このカーネルモジュールは RFC\ 792 で定義されている Internet
30 Control Message Protocol を実装したものである。
31 このプロトコルはエラー状況を知らせたり診断を行うために用いられる。
32 ユーザーはこのモジュールとは直接には通信できない。
33 このモジュールはカーネルの他のプロトコルと通信し、
34 それらのプロトコルが ICMP エラーをアプリケーションレイヤに渡す。
35 カーネルの ICMP モジュールは ICMP リクエストに対する応答も行う。
36 .PP
37 .\"O A user protocol may receive ICMP packets for all local sockets by opening
38 .\"O a raw socket with the protocol
39 .\"O .BR IPPROTO_ICMP .
40 .\"O See
41 .\"O .BR raw (7)
42 .\"O for more information.
43 .\"O The types of ICMP packets passed to the socket can be filtered using the
44 .\"O .B ICMP_FILTER
45 .\"O socket option.
46 .\"O ICMP packets are always processed by the kernel too, even
47 .\"O when passed to a user socket.
48 raw ソケットをプロトコル
49 .B IPPROTO_ICMP
50 でオープンすれば、
51 ユーザープロトコルはローカルなソケット全てに対する
52 ICMP パケットを受信することができる。
53 詳細は
54 .BR raw (7)
55 を参照のこと。
56 ソケットに渡される ICMP パケットのタイプは
57 .B ICMP_FILTER
58 オプションによってフィルターできる。
59 ICMP パケットは (たとえユーザーソケットに渡される場合でも)、
60 常にカーネルによって (も) 処理される。
61 .LP
62 .\"O Linux limits the rate of ICMP error packets to each destination.
63 .\"O .B ICMP_REDIRECT
64 .\"O and
65 .\"O .B ICMP_DEST_UNREACH
66 .\"O are also limited by the destination route of the incoming packets.
67 Linux では ICMP エラーパケットのレートをそれぞれの送り先に対して
68 制限している。
69 .B ICMP_REDIRECT
70
71 .B ICMP_DEST_UNREACH
72 も到着したパケットの行き先経路 (destination route) を制限する。
73 .\"O .SS /proc interfaces
74 .SS /proc インタフェース
75 .\"O ICMP supports a set of
76 .\"O .I /proc
77 .\"O interfaces to configure some global IP parameters.
78 .\"O The parameters can be accessed by reading or writing files in the directory
79 .\"O .IR /proc/sys/net/ipv4/ .
80 .\"O Most of these parameters are rate limitations for specific ICMP types.
81 .\"O Linux 2.2 uses a token bucket filter to limit ICMPs.
82 .\"O .\" FIXME better description needed
83 .\"O The value is the timeout in seconds until the token bucket filter is
84 .\"O cleared after a burst.
85 .\"O A jiffy is a system dependent unit, usually 10ms on i386 and
86 .\"O about 1ms on alpha and ia64.
87 ICMP では、いくつかのグローバルパラメータを設定するための
88 .I /proc
89 ファイル群が用意されている。
90 これらのパラメータには、
91 .I /proc/sys/net/ipv4/
92 ディレクトリ内のファイルの読み書きでアクセスできる。
93 これらのパラメータのほとんどは特定の ICMP タイプに対するレート制限
94 (rate limitation) である。
95 Linux 2.2 は ICMP の制限にトークン・バケット・フィルタ
96 (token bucket filter) を用いる。
97 .\" FIXME better description needed
98 それぞれの値は、バーストの後にトークン・バケット・フィルタがクリア
99 されるまでのタイムアウトを秒単位で表したものである。最小単位(jiffy)は
100 システム依存の単位で i386 システムは通常 10ms、alpha や ia64 では
101 1ms である。
102 .TP
103 .\"O .IR icmp_destunreach_rate " (Linux 2.2 to 2.4.9)"
104 .IR icmp_destunreach_rate " (Linux 2.2 から 2.4.9 まで)"
105 .\" Precisely: from 2.1.102
106 .\"O Maximum rate to send ICMP Destination Unreachable packets.
107 .\"O This limits the rate at which packets are sent to any individual
108 .\"O route or destination.
109 .\"O The limit does not affect sending of
110 .\"O .B ICMP_FRAG_NEEDED
111 .\"O packets needed for path MTU discovery.
112 ICMP 不達パケット (Destination Unreachable packet) を送る最大レート。
113 これは特定のルートまたは行き先にパケットを送信するレートを制限する。
114 この制限は、
115 path MTU discovery に必要な
116 .B ICMP_FRAG_NEEDED
117 パケットの送信には影響しない。
118 .TP
119 .\"O .IR icmp_echo_ignore_all " (since Linux 2.2)"
120 .IR icmp_echo_ignore_all " (Linux 2.2 以降)"
121 .\" Precisely: 2.1.68
122 .\"O If this value is nonzero, Linux will ignore all
123 .\"O .B ICMP_ECHO
124 .\"O requests.
125 この値が非ゼロの場合は、 Linux はすべての
126 .B ICMP_ECHO
127 要求を無視する。
128 .TP
129 .\"O .IR icmp_echo_ignore_broadcasts " (since Linux 2.2)"
130 .IR icmp_echo_ignore_broadcasts " (Linux 2.2 以降)"
131 .\" Precisely: from 2.1.68
132 .\"O If this value is nonzero, Linux will ignore all
133 .\"O .B ICMP_ECHO
134 .\"O packets sent to broadcast addresses.
135 この値が非ゼロの場合は、 Linux はブロードキャストアドレスに送られたすべての
136 .B ICMP_ECHO
137 要求を無視する。
138 .TP
139 .\"O .IR icmp_echoreply_rate " (Linux 2.2 to 2.4.9)"
140 .IR icmp_echoreply_rate " (Linux 2.2 から 2.4.9 まで)"
141 .\" Precisely: from 2.1.102
142 .\"O Maximum rate for sending
143 .\"O .B ICMP_ECHOREPLY
144 .\"O packets in response to
145 .\"O .B ICMP_ECHOREQUEST
146 .\"O packets.
147 .B ICMP_ECHOREQUEST
148 パケットに応答する
149 .B ICMP_ECHOREPLY
150 パケットの最大送信レート。
151 .TP
152 .\"O .IR icmp_errors_use_inbound_ifaddr " (Boolean; default: disabled; since Linux 2.6.12)"
153 .IR icmp_errors_use_inbound_ifaddr " (Boolean; default: disabled; Linux 2.6.12 以降)"
154 .\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
155 .\"O If disabled, ICMP error messages are sent with the primary address of
156 .\"O the exiting interface.
157 これを無効にすると、ICMP エラーメッセージは、
158 出力インタフェースのプライマリアドレスで送信される。
159
160 .\"O If enabled, the message will be sent with the primary address of
161 .\"O the interface that received the packet that caused the ICMP error.
162 .\"O This is the behavior that many network administrators will expect from
163 .\"O a router.
164 .\"O And it can make debugging complicated network layouts much easier.
165 これを有効にすると、エラーメッセージは ICMP エラーの原因となったパケットを
166 受信したインタフェースのプライマアドレスで送信される。
167 この動作は、多くのネットワーク管理者がルータに対して期待しているものであり、
168 これにより複雑なネットワークレイアウトのデバッグがより容易になる。
169
170 .\"O Note that if no primary address exists for the interface selected,
171 .\"O then the primary address of the first non-loopback interface that
172 .\"O has one will be used regardless of this setting.
173 選択されたインタフェースでプライマリアドレスが存在しない場合は、
174 この設定に関わらず、最初のループバック以外のインタフェースで、
175 プライマリアドレスを持つインタフェースのプライマリアドレスが使用される点に
176 注意すること。
177 .TP
178 .\"O .IR icmp_ignore_bogus_error_responses " (Boolean; default: disabled; since Linux 2.2)"
179 .IR icmp_ignore_bogus_error_responses " (Boolean; default: disabled; Linux 2.2 以降)"
180 .\" precisely: since 2.1.32
181 .\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
182 .\"O Some routers violate RFC1122 by sending bogus responses to broadcast frames.
183 .\"O Such violations are normally logged via a kernel warning.
184 .\"O If this parameter is enabled, the kernel will not give such warnings,
185 .\"O which will avoid log file clutter.
186 ルータの中には、RFC1122 に違反し、ブロードキャストフレームに対して
187 偽の応答を送信するものがある。
188 このような違反は通常カーネルの警告としてログに記録される。
189 このパラメータを有効にすると、カーネルはこのような警告を出さなくなり、
190 ログファイルに雑音のような情報が記録されるのを避けることができる。
191 .TP
192 .\"O .IR icmp_paramprob_rate " (Linux 2.2 to 2.4.9)"
193 .IR icmp_paramprob_rate " (Linux 2.2 から 2.4.9 まで)"
194 .\" Precisely: from 2.1.102
195 .\"O Maximum rate for sending
196 .\"O .B ICMP_PARAMETERPROB
197 .\"O packets.
198 .\"O These packets are sent when a packet arrives with an invalid IP header.
199 .B ICMP_PARAMETERPROB
200 パケットの最大送信レート。
201 これらのパケットは不正な IP ヘッダを持つパケットが到着した場合に
202 送信される。
203 .TP
204 .\"O .IR icmp_ratelimit " (integer; default: 1000; since Linux 2.4.10)"
205 .IR icmp_ratelimit " (integer; default: 1000; Linux 2.4.10 以降)"
206 .\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
207 .\"O Limit the maximum rates for sending ICMP packets whose type matches
208 .\"O .IR icmp_ratemask
209 .\"O (see below) to specific targets.
210 .\"O 0 to disable any limiting,
211 .\"O otherwise the minimum space between responses in milliseconds.
212 種別が
213 .I icmp_ratemask
214 (下記参照) にマッチした ICMP パケットの、
215 特定の送信先への送信レートの最大値を制限する。
216 0 はレート制限を無効にすることを、
217 0 以外の値は応答間の最小間隔 (ミリ秒単位) を示す。
218 .TP
219 .\"O .IR icmp_ratemask " (integer; default: see below; since Linux 2.4.10)"
220 .IR icmp_ratemask " (integer; default: 下記参照; Linux 2.4.10 以降)"
221 .\" The following taken from 2.6.28-rc4 Documentation/networking/ip-sysctl.txt
222 .\"O Mask made of ICMP types for which rates are being limited.
223 レート制限を行う ICMP タイプを決めるマスク。
224
225 .\"O Significant bits: IHGFEDCBA9876543210
226 .\"O .br
227 .\"O Default mask:     0000001100000011000 (0x1818)
228 有効ビット:       IHGFEDCBA9876543210
229 .br
230 デフォルトマスク: 0000001100000011000 (0x1818)
231
232 .\"O Bit definitions (see the kernel source file
233 .\"O .IR include/linux/icmp.h ):
234 ビット定義 (カーネルソースファイル
235 .I include/linux/icmp.h
236 を参照):
237
238 .in +4n
239 .nf
240 0 Echo Reply
241 3 Destination Unreachable *
242 4 Source Quench *
243 5 Redirect
244 8 Echo Request
245 B Time Exceeded *
246 C Parameter Problem *
247 D Timestamp Request
248 E Timestamp Reply
249 F Info Request
250 G Info Reply
251 H Address Mask Request
252 I Address Mask Reply
253 .fi
254 .in
255
256 .\"O The bits marked with an asterisk are rate limited by default
257 .\"O (see the default mask above).
258 アスタリスク印が付いたビットは、デフォルトでレート制限が有効に
259 なっている (上記のマスクのデフォルトも参照)。
260 .TP
261 .\"O .IR icmp_timeexceed_rate " (Linux 2.2 to 2.4.9)"
262 .IR icmp_timeexceed_rate " (Linux 2.2 から 2.4.9 まで)"
263 .\"O Maximum rate for sending
264 .\"O .B ICMP_TIME_EXCEEDED
265 .\"O packets.
266 .\"O These packets are
267 .\"O sent to prevent loops when a packet has crossed too many hops.
268 .B ICMP_TIME_EXCEEDED
269 パケットの最大送信レート。
270 これらのパケットはパケットがあまりに多くの hop を通過した場合に、
271 ループを防ぐために送られる。
272 .\"O .SH VERSIONS
273 .SH バージョン
274 .\"O Support for the
275 .\"O .B ICMP_ADDRESS
276 .\"O request was removed in 2.2.
277 .B ICMP_ADDRESS
278 要求に対するサポートは 2.2 で削除された。
279 .PP
280 .\"O Support for
281 .\"O .B ICMP_SOURCE_QUENCH
282 .\"O was removed in Linux 2.2.
283 .B ICMP_SOURCE_QUENCH
284 は Linux 2.2 で削除された。
285 .\"O .SH NOTES
286 .SH 注意
287 .\"O As many other implementations don't support
288 .\"O .B IPPROTO_ICMP
289 .\"O raw sockets, this feature
290 .\"O should not be relied on in portable programs.
291 他の多くの実装では、
292 .B IPPROTO_ICMP
293 raw ソケットがサポートされていない。
294 この機能は移植性が必要なプログラムでは用いるべきでない。
295 .\" not really true ATM
296 .\" .PP
297 .\" Linux ICMP should be compliant to RFC 1122.
298 .PP
299 .\"O .B ICMP_REDIRECT
300 .\"O packets are not sent when Linux is not acting as a router.
301 .\"O They are also only accepted from the old gateway defined in the
302 .\"O routing table and the redirect routes are expired after some time.
303 Linux がルーターとして動作していないときには、
304 .B ICMP_REDIRECT
305 パケットは送信されない。
306 またこれらが受け取られるのも、発信元がルーティングテーブルに定義されている
307 古いゲートウェイで、リダイレクト・ルート (redirect route) が
308 適当な時間の後に期限切れになっている場合に限られる。
309 .PP
310 .\"O The 64-bit timestamp returned by
311 .\"O .B ICMP_TIMESTAMP
312 .\"O is in milliseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
313 .B ICMP_TIMESTAMP
314 から返される 64 ビットのタイムスタンプは、
315 紀元 (Epoch) である 1970-01-01 00:00:00 +0000 (UTC)
316 からの経過時間をミリ秒単位で表したものである。
317 .PP
318 .\"O Linux ICMP internally uses a raw socket to send ICMPs.
319 .\"O This raw socket may appear in
320 .\"O .BR netstat (8)
321 .\"O output with a zero inode.
322 Linux ICMP は ICMP を送るために内部で raw ソケットを用いる。
323 raw ソケットは
324 .BR netstat (8)
325 の出力に 0 inode として出力される。
326 .\"O .SH SEE ALSO
327 .SH 関連項目
328 .BR ip (7)
329 .PP
330 .\"O RFC\ 792 for a description of the ICMP protocol.
331 .BR RFC\ 792 :
332 ICMP プロトコルの説明