.\" MCAST_JOIN_SOURCE_GROUP (2.4.22 / 2.6)
.\" MCAST_LEAVE_SOURCE_GROUP (2.4.22 / 2.6)
.\" MCAST_MSFILTER (2.4.22 / 2.6)
-.\" IP_MULTICAST_ALL (2.6.31)
-.\" commit f771bef98004d9d141b085d987a77d06669d4f4f
-.\" Author: Nivedita Singhvi <niv@us.ibm.com>
.\" IP_UNICAST_IF (3.4)
.\" commit 76e21053b5bf33a07c76f99d27a74238310e3c71
.\" Author: Erich E. Hoover <ehoover@mines.edu>
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH IP 7 2013\-02\-12 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
+.\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated 2001-02-14, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2001-04-04, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2003-10-16, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2005-01-22, Yuichi SATO
+.\" Updated & Modified 2005-09-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated & Modified 2005-10-06, Akihiro MOTOKI
+.\" Updated 2007-01-05, Akihiro MOTOKI, Catch up to LDP man-pages 2.43
+.\" Updated 2007-05-28, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.48
+.\" Updated 2008-12-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.14
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH IP 7 2013\-09\-17 Linux "Linux Programmer's Manual"
.SH 名前
ip \- Linux IPv4 プロトコルの実装
.SH 書式
されている有効な IANA IP プロトコルを、 割り当てられている番号で指定する
ことができる。
.PP
-When a process wants to receive new incoming packets or connections, it
-should bind a socket to a local interface address using \fBbind\fP(2). In this
-case, only one IP socket may be bound to any given local (address, port)
-pair. When \fBINADDR_ANY\fP is specified in the bind call, the socket will be
-bound to \fIall\fP local interfaces. When \fBlisten\fP(2) is called on an
-unbound socket, the socket is automatically bound to a random free port with
-the local address set to \fBINADDR_ANY\fP. When \fBconnect\fP(2) is called on an
-unbound socket, the socket is automatically bound to a random free port or
-to a usable shared port with the local address set to \fBINADDR_ANY\fP.
+あるプロセスで、やってくるパケットを受信したり 接続要求を受けたりしたい場合には、 そのプロセスはローカルなインターフェースアドレスに、
+\fBbind\fP(2) を用いてソケットをバインドしなければならない。 この場合、 ローカルの「アドレスとポート」のペアに対してバインドできる IP
+ソケットは一つだけである。 \fBbind\fP(2) の呼び出しで \fBINADDR_ANY\fP が指定されていた場合は、 ソケットは \fIすべて\fP
+のローカルインターフェースにバインドされる。 \fBlisten\fP(2) がバインドされていないソケットに対してコールされると、 そのソケットは、
+ローカルポートはランダムに選択された空いているポートで、 ローカルアドレスは \fBINADDR_ANY\fP で自動的にバインドされる。
+\fBconnect\fP(2) がバインドされていないソケットに対してコールされると、 そのソケットは、
+ローカルポートはランダムに選択された空いているポートか未使用の共有ポートで、 ローカルアドレスは \fBINADDR_ANY\fP で自動的にバインドされる。
\fBSO_REUSEADDR\fP フラグがセットされていない場合には、 バインドされていた TCP ローカルソケットアドレスは
クローズされた後しばらくの間使えなくなる。 \fBSO_REUSEADDR\fP フラグを使うと TCP の信頼性を低下させるので、
にはポート番号をネットワークバイトオーダーで指定する。 1024 未満のポート番号は \fI特権ポート (privileged ports)\fP と呼ばれる
(\fI予約ポート (reserved ports)\fP とも時々呼ばれる)。 特権プロセス (\fBCAP_NET_BIND_SERVICE\fP
ケーパビリティを持つプロセス) 以外のプロセスは、これらのポートには \fBbind\fP(2) できない。 IPv4
-プロトコルそのものにはポートに関する概念がない。 ポートは、 \fBtcp\fP(7) や \fBudp\fP(7)
-といった、上位のプロトコルにおいて実装される。
+プロトコルそのものにはポートに関する概念がない。ポートが実装されるのは、 \fBtcp\fP(7) や \fBudp\fP(7)
+といった、上位のプロトコルにおいてのみである。
.PP
\fIsin_addr\fP は IP ホストアドレスである。 \fIstruct in_addr\fP の \fIs_addr\fP
メンバには、ホストのインターフェースアドレスを ネットワークバイトオーダーで
.in
.sp
.\" (i.e., within the 224.0.0.0-239.255.255.255 range)
-\fIimr_multiaddr\fP には、アプリケーションが参加または撤退したい マルチキャストグループのアドレスが入る。
+\fIimr_multiaddr\fP には、アプリケーションが参加または脱退したい マルチキャストグループのアドレスが入る。
指定するアドレスは有効なマルチキャストアドレスでなければならない (さもなければ \fBsetsockopt\fP(2) がエラー \fBEINVAL\fP
で失敗する)。 \fIimr_address\fP はシステムがマルチキャストグループに参加する際に用いる ローカルなインターフェースのアドレスである。
これが \fBINADDR_ANY\fP であった場合には、適切なインターフェースがシステムによって選択される。 \fIimr_ifindex\fP は
-\fIimr_multiaddr\fP グループに参加/撤退するインターフェースの interface index である。
+\fIimr_multiaddr\fP グループに参加/脱退するインターフェースの interface index である。
どのインターフェースでもよい場合は 0 にする。
.IP
.\"
-\fIip_mreqn\fP 構造体は Linux 2.2 以降でのみ利用可能である。互換性のため、
-古い \fIip_mreq\fP 構造体 (Linux 1.2 以降で存在する) もまだサポートされている。
-\fIip_mreqn\fP との違いは、 \fIimr_ifindex\fP フィールドを含まないことだけである。
+\fIip_mreqn\fP 構造体は Linux 2.2 以降でのみ利用可能である。互換性のため、 古い \fIip_mreq\fP 構造体 (Linux 1.2
+以降で存在する) もまだサポートされている。 \fIip_mreqn\fP との違いは、 \fIimr_ifindex\fP フィールドを含まないことだけである。
\fBsetsockopt\fP(2) でのみ使える。
.TP
\fBIP_ADD_SOURCE_MEMBERSHIP\fP (Linux 2.4.22 以降 / 2.5.68 以降)
-Join a multicast group and allow receiving data only from a specified
-source. Argument is an \fIip_mreq_source\fP structure.
+マルチキャストグループに参加、指定された送信元からのデータの受信のみを許可する。 引き数は \fIip_mreq_source\fP 構造体である。
.sp
.in +4n
.nf
.fi
.in
.sp
-The \fIip_mreq_source\fP structure is similar to \fIip_mreqn\fP described under
-\fBIP_ADD_MEMBERSIP\fP. The \fIimr_multiaddr\fP field contains the address of the
-multicast group the application wants to join or leave. The
-\fIimr_interface\fP field is the address of the local interface with which the
-system should join the multicast group. Finally, the \fIimr_sourceaddr\fP
-field contains the address of the source the application wants to receive
-data from.
+\fIip_mreq_source\fP 構造体は \fBIP_ADD_MEMBERSIP\fP の項で説明した \fIip_mreqn\fP に似ている。
+\fIimr_multiaddr\fP フィールドには、アプリケーションが参加または脱退したいマルチキャストグループのアドレスが入る。
+\fIimr_interface\fP フィールドは、 マルチキャストグループに参加する際に システムが使用すべきローカルインターフェースのアドレスである。
+\fIimr_sourceaddr\fP フィールドには、アプリケーションがデータを受信したい送信元のアドレスが入る。
.IP
-This option can be used multiple times to allow receiving data from more
-than one source.
+このオプションを複数回使うことで、 複数の送信元からのデータ受信を許可することができる。
.TP
\fBIP_BLOCK_SOURCE\fP (since Linux 2.4.22 以降 / 2.5.68 以降)
-Stop receiving multicast data from a specific source in a given group. This
-is valid only after the application has subscribed to the multicast group
-using either \fBIP_ADD_MEMBERSHIP\fP or \fBIP_ADD_SOURCE_MEMBERSHIP\fP.
+指定したグループで、指定した送信元からのマルチキャストデータの受信を停止する。 このオプションは、アプリケーションが
+\fBIP_ADD_MEMBERSHIP\fP か \fBIP_ADD_SOURCE_MEMBERSHIP\fP
+のいずれかを使ってマルチキャストグループに参加した後でのみ有効である。
.IP
-Argument is an \fIip_mreq_source\fP structure as described under
-\fBIP_ADD_SOURCE_MEMBERSHIP\fP.
+引き数は \fIip_mreq_source\fP 構造体である。 \fBIP_ADD_SOURCE_MEMBERSHIP\fP の項に説明がある。
.TP
\fBIP_DROP_MEMBERSHIP\fP (Linux 1.2 以降)
マルチキャストグループから抜ける。引き数は \fBIP_ADD_MEMBERSHIP\fP と同様に \fIip_mreqn\fP または \fIip_mreq\fP
構造体である。
.TP
-\fBIP_DROP_SOURCE_MEMBERSHIP\fP (since Linux 2.4.22 / 2.5.68)
-Leave a source\-specific group\(emthat is, stop receiving data from a given
-multicast group that come from a given source. If the application has
-subscribed to multiple sources within the same group, data from the
-remaining sources will still be delivered. To stop receiving data from all
-sources at once, use \fBIP_LEAVE_GROUP\fP.
+\fBIP_DROP_SOURCE_MEMBERSHIP\fP (Linux 2.4.22 以降 / 2.5.68 以降)
+送信元を指定してグループから抜ける。 つまり、 指定したマルチキャストグループの指定された送信元からのデータ受信を停止する。
+アプリケーションは同じマルチキャストグループで複数の送信元を購読 (subscribe) している場合には、
+残りの送信元からのデータの受信は引き続き配信される。 すべての送信元からのデータ受信を一度で停止するには \fBIP_LEAVE_GROUP\fP
+を使うこと。
.IP
-Argument is an \fIip_mreq_source\fP structure as described under
-\fBIP_ADD_SOURCE_MEMBERSHIP\fP.
+引き数は \fIip_mreq_source\fP 構造体である。 \fBIP_ADD_SOURCE_MEMBERSHIP\fP の項に説明がある。
.TP
\fBIP_FREEBIND\fP (Linux 2.4 以降)
.\" Precisely: 2.4.0-test10
有効になっていると、ユーザは IP ヘッダをユーザーデータの前に与える。 \fBSOCK_RAW\fP ソケットでのみ有効である。詳細は \fBraw\fP(7)
を見よ。このフラグが有効になっていると、 \fBIP_OPTIONS\fP, \fBIP_TTL\fP, \fBIP_TOS\fP は無視される。
.TP
-\fBIP_MSFILTER\fP (since Linux 2.4.22 / 2.5.68)
-This option provides access to the advanced full\-state filtering API.
-Argument is an \fIip_msfilter\fP structure.
+\fBIP_MSFILTER\fP (since Linux 2.4.22 以降 / 2.5.68 以降)
+このオプションを使うと、 高度なフィルタリング API へアクセスできる。 この API ではすべての状態にアクセスできる。 引き数は
+\fIip_msfilter\fP 構造体である。
.sp
.in +4n
.nf
.fi
.in
.sp
-There are two macros, \fBMCAST_INCLUDE\fP and \fBMCAST_EXCLUDE\fP, which can be
-used to specify the filtering mode. Additionally, the
-\fBIP_MSFILTER_SIZE\fP(n) macro exists to determine how much memory is needed
-to store \fIip_msfilter\fP structure with \fIn\fP sources in the source list.
+\fBMCAST_INCLUDE\fP と \fBMCAST_EXCLUDE\fP の 2 つのマクロがあり、 フィルタリングモードを指定するのに使用できる。
+また、 \fBIP_MSFILTER_SIZE\fP(n) マクロがあり、 送信元リストに \fIn\fP 個の送信元が入った \fIip_msfilter\fP
+構造体を格納するのに必要なメモリ量を判定することができる。
.IP
-For the full description of multicast source filtering refer to RFC 3376.
+マルチキャスト送信元フィルタリングの全容は RFC\ 3376 を参照のこと。
.TP
\fBIP_MTU\fP (Linux 2.2 以降)
.\" Precisely: 2.1.124
\fBSOCK_RAW\fP のソケットで RFC 4821 の MTU 探索を実装することが可能である。 また、この機能は、 \fBtracepath\fP(8)
のような診断ツールで特に有用である。これらのツールでは、 観測された Path MTU よりも大きな探索パケットを意図的に 送信しようとする。
.TP
+\fBIP_MULTICAST_ALL\fP (Linux 2.6.31 以降)
+このオプションを使って、 マルチキャストメッセージの、 ワイルドカードの \fBINADDR_ANY\fP アドレスにバインドされているソケットへの
+配送ポリシーを変更することができる。 引き数はブート値の整数で、 デフォルト値は 1 である。 このオプションを 1
+に設定されている場合、そのソケットでは、このシステムで参加しているすべてのグループからのメッセージが受信される。 それ以外の場合は、そのソケットでは、
+そのソケットに対して (\fBIP_ADD_MEMBERSHIP\fP などを使って) 明示的に参加が指定されたグループからのメッセージだけが受信される。
+.TP
\fBIP_MULTICAST_IF\fP (Linux 1.2 以降)
-ローカルデバイスをマルチキャストソケットとして設定する。引き数は \fBIP_ADD_MEMBERSHIP\fP と同様に \fIip_mreqn\fP または
-\fIip_mreq\fP 構造体である。
+.\" net: IP_MULTICAST_IF setsockopt now recognizes struct mreq
+.\" Commit: 3a084ddb4bf299a6e898a9a07c89f3917f0713f7
+ローカルデバイスをマルチキャストソケットとして設定する。引き数は \fBIP_ADD_MEMBERSHIP\fP と同様に \fIip_mreqn\fP 構造体か
+\fIip_mreq\fP 構造体 (Linux 3.5 以降) である。
.IP
不正なソケットオプションが渡されると、 \fBENOPROTOOPT\fP が返される。
.TP
\fBIP_TTL\fP (Linux 1.0 以降)
time\-to\-live フィールドの値を設定または取得する。 この値はこのソケットから送信されるすべてのパケットに用いられる。
.TP
-\fBIP_UNBLOCK_SOURCE\fP (since Linux 2.4.22 / 2.5.68)
-Unblock previously blocked multicast source. Returns \fBEADDRNOTAVAIL\fP when
-given source is not being blocked.
+\fBIP_UNBLOCK_SOURCE\fP (Linux 2.4.22 以降 / 2.5.68 以降)
+それ以前はブロックされていたマルチキャストの送信元のブロックを解除する。 指定した送信元がブロックされていない場合は \fBEADDRNOTAVAIL\fP
+を返す。
.IP
-Argument is an \fIip_mreq_source\fP structure as described under
-\fBIP_ADD_SOURCE_MEMBERSHIP\fP.
+引き数は \fIip_mreq_source\fP 構造体である。 \fBIP_ADD_SOURCE_MEMBERSHIP\fP の項に説明がある。
.SS "/proc インタフェース"
.\" FIXME As at 2.6.12, 14 Jun 2005, the following are undocumented:
.\" ip_queue_maxlen
\fBsocket\fP(7), \fBtcp\fP(7), \fBudp\fP(7)
.PP
.\" FIXME autobind INADDR REUSEADDR
-RFC\ 791 for the original IP specification. RFC\ 1122 for the IPv4 host
-requirements. RFC\ 1812 for the IPv4 router requirements.
+RFC\ 791: 元々の IP 仕様。 RFC\ 1122: IPv4 ホストの要件。 RFC\ 1812: IPv4 ルータの要件。
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。