OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man7 / raw.7
index 20714f2..700d30d 100644 (file)
@@ -1,4 +1,4 @@
-'\" t
+.\" t
 .\" Don't change the first line, it tells man that we need tbl.
 .\" This man page is Copyright (C) 1999 Andi Kleen <ak@muc.de>.
 .\" Permission is granted to distribute possibly modified copies
@@ -6,58 +6,36 @@
 .\" and in case of nontrivial modification author and date
 .\" of the modification is added to the header.
 .\" $Id: raw.7,v 1.6 1999/06/05 10:32:08 freitag Exp $
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
-.\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated 2007-01-05, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD         link level header(s)    リンクレベルヘッダ
-.\"WORD         effective user ID       実効ユーザー ID
-.\"WORD         capability              権限
-.\"WORD         route                   (パケットの) 経路
-.\"
-.TH RAW  7 2008-11-20 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH RAW 7 2008\-11\-20 Linux "Linux Programmer's Manual"
 .SH 名前
 raw, SOCK_RAW \- Linux の IPv4 raw ソケット
 .SH 書式
-.B #include <sys/socket.h>
+\fB#include <sys/socket.h>\fP
 .br
-.B #include <netinet/in.h>
+\fB#include <netinet/in.h>\fP
 .br
-.BI "raw_socket = socket(AF_INET, SOCK_RAW, int " protocol );
+\fBraw_socket = socket(AF_INET, SOCK_RAW, int \fP\fIprotocol\fP\fB);\fP
 .SH 説明
-raw ソケットを使うと、新しい IPv4 プロトコルをユーザ空間で
-実装できるようになる。 raw ソケットは、リンクレベルヘッダを
-含まない raw データグラムの送受信ができる。
+raw ソケットを使うと、新しい IPv4 プロトコルをユーザ空間で 実装できるようになる。 raw ソケットは、リンクレベルヘッダを 含まない raw
+データグラムの送受信ができる。
 
-IPv4 レイヤは、扱っているソケットで
-.B IP_HDRINCL
-ソケットオプションが有効になっていなければ、
-パケットを送信するときに IP ヘッダを生成する。
-.B IP_HDRINCL
-オプションが有効になっているときは、パケットには
-IP ヘッダが含まれていなければならない。
+IPv4 レイヤは、扱っているソケットで \fBIP_HDRINCL\fP ソケットオプションが有効になっていなければ、 パケットを送信するときに IP
+ヘッダを生成する。 \fBIP_HDRINCL\fP オプションが有効になっているときは、パケットには IP ヘッダが含まれていなければならない。
 受信時には、 IP ヘッダは常にパケットに含まれている。
 
-実効ユーザー ID が 0 のプロセスか、
-.B CAP_NET_RAW
-権限を持つプロセスだけが raw ソケットをオープンすることができる。
+実効ユーザー ID が 0 のプロセスか、 \fBCAP_NET_RAW\fP 権限を持つプロセスだけが raw ソケットをオープンすることができる。
 
-この raw ソケットに指定された
-.I protocol
-番号にマッチする全てのパケットとエラーとが、このソケットに渡される。
-許可されているプロトコルのリストは RFC\ 1700 の割り当て番号と
-.BR getprotobyname (3)
-を見よ。
+この raw ソケットに指定された \fIprotocol\fP 番号にマッチする全てのパケットとエラーとが、このソケットに渡される。
+許可されているプロトコルのリストは RFC\ 1700 の割り当て番号と \fBgetprotobyname\fP(3)  を見よ。
 
-.B IPPROTO_RAW
-のプロトコルは暗黙のうちに
-.B IP_HDRINCL
-を有効にするので、
-渡されたヘッダで指定された、あらゆる IP プロトコルを送信できる。
-.B IPPROTO_RAW
-経由でのあらゆる IP プロトコルの受信は、
-raw ソケットを用いては行えない。
+\fBIPPROTO_RAW\fP のプロトコルは暗黙のうちに \fBIP_HDRINCL\fP を有効にするので、 渡されたヘッダで指定された、あらゆる IP
+プロトコルを送信できる。 \fBIPPROTO_RAW\fP 経由でのあらゆる IP プロトコルの受信は、 raw ソケットを用いては行えない。
+.RS
 .TS
 tab(:) allbox;
 c s
@@ -68,230 +46,116 @@ IP チェックサム:常に変更される。
 パケット ID:元の値が 0 の時に変更される。
 全体の長さ:常に埋められる。
 .TE
+.RE
 .sp
 .PP
-.\"NAKANO Aloways filled in. とは?
-.B IP_HERINCL
-が指定されていて、 IP ヘッダに
-0 でない送信先アドレスが記入されていた場合は、
-その送信先アドレスがパケットの経路を決めるのに用いられる。
-.B MSG_DONTROUTE
-が指定されている時には、
-送信先アドレスはローカルなインターフェースを参照するものでなければならない。
-さもないと、ルーティングテーブルの参照はいずれにせよ行われるが、
+\fBIP_HERINCL\fP が指定されていて、 IP ヘッダに 0 でない送信先アドレスが記入されていた場合は、
+その送信先アドレスがパケットの経路を決めるのに用いられる。 \fBMSG_DONTROUTE\fP が指定されている時には、
+送信先アドレスはローカルなインターフェースを参照するものでなければならない。 さもないと、ルーティングテーブルの参照はいずれにせよ行われるが、
 ゲートウェイが必要な経路は無視される。
-.\"NAKANO ローカルなネットなのかインターフェースなのか?
 
-.B IP_HDRINCL
-がセットされていなければ、
-raw ソケットの IP ヘッダオプションを
-.BR setsockopt (2)
-を用いて設定することができる。詳細な情報は
-.BR ip (7)
-を見よ。
+\fBIP_HDRINCL\fP がセットされていなければ、 raw ソケットの IP ヘッダオプションを \fBsetsockopt\fP(2)
+を用いて設定することができる。詳細な情報は \fBip\fP(7)  を見よ。
 
-Linux 2.2 では、 IP ヘッダの全てのフィールドとオプションとを
-IP ソケットオプションによって設定できる。したがって
-raw ソケットが必要になるのは、新しいプロトコルを設計する場合か、
-ユーザーインターフェースを持たないプロトコル (ICMP など) を扱う場合に
-限られる。
+Linux 2.2 では、 IP ヘッダの全てのフィールドとオプションとを IP ソケットオプションによって設定できる。したがって raw
+ソケットが必要になるのは、新しいプロトコルを設計する場合か、 ユーザーインターフェースを持たないプロトコル (ICMP など) を扱う場合に 限られる。
 
-パケットは、受信されるとまずプロトコルにバインドしている
-raw ソケットに渡され、
-その後で他のプロトコルハンドラ (カーネルのプロトコルモジュールなど)
-に渡される。
+パケットは、受信されるとまずプロトコルにバインドしている raw ソケットに渡され、 その後で他のプロトコルハンドラ
+(カーネルのプロトコルモジュールなど)  に渡される。
 .SS アドレスのフォーマット
-raw ソケットは標準の
-.I sockaddr_in
-アドレス構造体を用いる。定義は
-.BR ip (7)
-でなされている。
-.I sin_port
-フィールドを IP プロトコル番号の指定に用いることができるが、
-Linux 2.2 ではこれは送信時には無視され、常に 0 にされる
-(バグ の項を参照)。
-受信パケットに対しては、
-.I sin_port
-はそのパケットのプロトコルにセットされる。
-用いることのできる IP プロトコルは、インクルードファイル
-.I <netinet/in.h>
-を見よ。
+raw ソケットは標準の \fIsockaddr_in\fP アドレス構造体を用いる。定義は \fBip\fP(7)  でなされている。 \fIsin_port\fP
+フィールドを IP プロトコル番号の指定に用いることができるが、 Linux 2.2 ではこれは送信時には無視され、常に 0 にされる (バグ
+の項を参照)。 受信パケットに対しては、 \fIsin_port\fP はそのパケットのプロトコルにセットされる。 用いることのできる IP
+プロトコルは、インクルードファイル \fI<netinet/in.h>\fP を見よ。
 .SS ソケットオプション
-raw ソケットのオプションは、
-.B IPPROTO_RAW
-.\" もしくは Linux では .I SOL_RAW
-ファミリーフラグを与えて
-.BR setsockopt (2)
-を呼べば設定でき、
-.BR getsockopt (2)
-を呼べば取得できる。
-.TP
-.B ICMP_FILTER
-.B IPPROTO_ICMP
-プロトコルにバインドされた raw ソケットのための特殊なフィルタを有効にする。
-この値は ICMP メッセージのタイプそれぞれに対して、どれをフィルターアウト
-するかを表したビットセットである。デフォルトでは
-ICMP メッセージは全くフィルターしない。
+.\" Or SOL_RAW on Linux
+raw ソケットのオプションは、 \fBIPPROTO_RAW\fP ファミリーフラグを与えて \fBsetsockopt\fP(2)  を呼べば設定でき、
+\fBgetsockopt\fP(2)  を呼べば取得できる。
+.TP 
+\fBICMP_FILTER\fP
+\fBIPPROTO_ICMP\fP プロトコルにバインドされた raw ソケットのための特殊なフィルタを有効にする。 この値は ICMP
+メッセージのタイプそれぞれに対して、どれをフィルターアウト するかを表したビットセットである。デフォルトでは ICMP
+メッセージは全くフィルターしない。
 .PP
-さらに、データグラムソケットに使える全ての
-.BR ip (7)
-.B SOL_IP
-ソケットオプションがサポートされている。
+さらに、データグラムソケットに使える全ての \fBip\fP(7)  \fBSOL_IP\fP ソケットオプションがサポートされている。
 .SS エラー処理
-ネットワークで生じたエラーがユーザに渡されるのは、
-ソケットが接続済みの場合か
-.B IP_RECVERR
-フラグが有効になっている場合に限られる。
-接続済みのソケットに対しては、
-.B EMSGSIZE
-および
-.B EPROTO
-だけが渡される (互換性のため)。
-.B IP_RECVERR
+ネットワークで生じたエラーがユーザに渡されるのは、 ソケットが接続済みの場合か \fBIP_RECVERR\fP フラグが有効になっている場合に限られる。
+接続済みのソケットに対しては、 \fBEMSGSIZE\fP および \fBEPROTO\fP だけが渡される (互換性のため)。 \fBIP_RECVERR\fP
 を設定すると、全てのネットワークエラーがエラーキューに保存される。
 .SH エラー
-.TP
-.B EACCES
-ユーザーが broadcast フラグを設定していないソケットを用いて
-ブロードキャストアドレスに送信を行おうとした。
-.TP
-.B EFAULT
+.TP 
+\fBEACCES\fP
+ユーザーが broadcast フラグを設定していないソケットを用いて ブロードキャストアドレスに送信を行おうとした。
+.TP 
+\fBEFAULT\fP
 不正なメモリアドレスが与えられた。
-.TP
-.B EINVAL
-引数が正しくない。
-.TP
-.B EMSGSIZE
-パケットが大きすぎる。 Path MTU Discoverry が有効になっている
-.RB ( IP_MTU_DISCOVER
-ソケットフラグ) か、パケットのサイズが IPv4 で許されている
-パケットサイズの最大値 64KB を越えている。
-.TP
-.B EOPNOTSUPP
-ソケット呼び出しに不正なフラグ
-.RB ( MSG_OOB
-など) が渡された。
-.TP
-.B EPERM
-ユーザーは raw ソケットをオープンする権限を持っていない。
-実行ユーザー ID が 0 のプロセスか、
-.B CAP_NET_RAW
+.TP 
+\fBEINVAL\fP
+引き数が不正。
+.TP 
+\fBEMSGSIZE\fP
+パケットが大きすぎる。 Path MTU Discoverry が有効になっている (\fBIP_MTU_DISCOVER\fP ソケットフラグ)
+か、パケットのサイズが IPv4 で許されている パケットサイズの最大値 64KB を越えている。
+.TP 
+\fBEOPNOTSUPP\fP
+ソケット呼び出しに不正なフラグ (\fBMSG_OOB\fP など) が渡された。
+.TP 
+\fBEPERM\fP
+ユーザーは raw ソケットをオープンする権限を持っていない。 実行ユーザー ID が 0 のプロセスか、 \fBCAP_NET_RAW\fP
 属性を持つプロセスだけがこれを行うことができる。
-.TP
-.B EPROTO
+.TP 
+\fBEPROTO\fP
 パラメータの問題を報告する ICMP エラーを受け取った。
 .SH バージョン
-.B IP_RECVERR
-と
-.B ICMP_FILTER
-は Linux 2.2 で登場した。これらは Linux での拡張であり、
+\fBIP_RECVERR\fP と \fBICMP_FILTER\fP は Linux 2.2 で登場した。これらは Linux での拡張であり、
 移植性の必要なプログラムでは用いるべきでない。
 
-Linux 2.0 では
-.B SO_BSDCOMPAT
-ソケットオプションをセットすると、
-BSD の raw ソケットにあるバグに互換性を取ることができた \(em
-Linux 2.2 以降では、このオプションはもはや効力を持たない。
+Linux 2.0 では \fBSO_BSDCOMPAT\fP ソケットオプションをセットすると、 BSD の raw
+ソケットにあるバグに互換性を取ることができた \(em Linux 2.2 以降では、このオプションはもはや効力を持たない。
 .SH 注意
-デフォルトでは、raw ソケットは Path MTU Discovery を行う。
-つまり、カーネルは特定の宛先 IP アドレスの MTU (Maximum Transmission Unit;
-最大転送単位) を記録し、raw パケットの書き込みが MTU を超えた場合
-.B EMSGSIZE
-を返す。
-.B EMSGSIZE
-を返された場合、アプリケーションはパケットサイズを小さくすべきである。
-ソケットオプション
-.B IP_MTU_DISCOVER
-または
-.I /proc/sys/net/ipv4/ip_no_pmtu_disc
-ファイルを使って Path MTU Discovery を無効にすることもできる
-(詳細は
-.BR ip (7)
-を参照)。
-Path MTU Discovery を無効にした場合は、パケットサイズが
-インタフェースの MTU よりも大きいと raw ソケットはそのパケットを
-フラグメント化して送出する。
-しかしながら、性能と信頼性の理由から Path MTU Discovery を
-無効にするのは推奨できない。
+デフォルトでは、raw ソケットは Path MTU Discovery を行う。 つまり、カーネルは特定の宛先 IP アドレスの MTU
+(Maximum Transmission Unit; 最大転送単位) を記録し、raw パケットの書き込みが MTU を超えた場合
+\fBEMSGSIZE\fP を返す。 \fBEMSGSIZE\fP を返された場合、アプリケーションはパケットサイズを小さくすべきである。 ソケットオプション
+\fBIP_MTU_DISCOVER\fP または \fI/proc/sys/net/ipv4/ip_no_pmtu_disc\fP ファイルを使って Path
+MTU Discovery を無効にすることもできる (詳細は \fBip\fP(7)  を参照)。 Path MTU Discovery
+を無効にした場合は、パケットサイズが インタフェースの MTU よりも大きいと raw ソケットはそのパケットを フラグメント化して送出する。
+しかしながら、性能と信頼性の理由から Path MTU Discovery を 無効にするのは推奨できない。
 
-.BR bind (2)
-システムコールを用いると、
-raw ソケットを
-特定のローカルアドレスにバインドさせることができる。
-このバインドがされていない場合は、指定した IP プロトコルの
-すべてのパケットが受信される。
-さらに、
-.B SO_BINDTODEVICE
-を用いれば raw ソケットを特定のネットワークデバイスに
-バインドさせることもできる。
-.BR socket (7)
-を見よ。
+\fBbind\fP(2)  システムコールを用いると、 raw ソケットを 特定のローカルアドレスにバインドさせることができる。
+このバインドがされていない場合は、指定した IP プロトコルの すべてのパケットが受信される。 さらに、 \fBSO_BINDTODEVICE\fP
+を用いれば raw ソケットを特定のネットワークデバイスに バインドさせることもできる。 \fBsocket\fP(7)  を見よ。
 
-.B IPPROTO_RAW
-ソケットは送信専用である。もしどうしてもすべての IP パケットを
-受信したい場合は、
-.BR packet (7)
-ソケットを
-.B ETH_P_IP
-プロトコルで用いること。
-packet ソケットは raw ソケットのように
-IP フラグメントを再構成しないことに注意。
+\fBIPPROTO_RAW\fP ソケットは送信専用である。もしどうしてもすべての IP パケットを 受信したい場合は、 \fBpacket\fP(7)
+ソケットを \fBETH_P_IP\fP プロトコルで用いること。 packet ソケットは raw ソケットのように IP
+フラグメントを再構成しないことに注意。
 
-datagram ソケットに対するすべての ICMP パケットを受信したい場合は、
-特定のソケットに対して
-.B IP_RECVERR
-を用いるほうが良い場合が多い。
-.BR ip (7)
-を見よ。
+datagram ソケットに対するすべての ICMP パケットを受信したい場合は、 特定のソケットに対して \fBIP_RECVERR\fP
+を用いるほうが良い場合が多い。 \fBip\fP(7)  を見よ。
 
-raw ソケットは、 Linux のすべての IP プロトコルを受信することができる。
-ICMP や TCP のように、カーネル内部にプロトコルモジュールを持つような
-ものも可能である。この場合には、パケットはカーネルモジュールと
-raw ソケットの両方に渡される (raw ソケットが複数あればそれぞれに渡される)。
-移植性の必要なプログラムではこの機能に依存するべきではない。
-他の多くの BSD におけるソケットの実装ではこの点において制限がある。
+raw ソケットは、 Linux のすべての IP プロトコルを受信することができる。 ICMP や TCP
+のように、カーネル内部にプロトコルモジュールを持つような ものも可能である。この場合には、パケットはカーネルモジュールと raw
+ソケットの両方に渡される (raw ソケットが複数あればそれぞれに渡される)。 移植性の必要なプログラムではこの機能に依存するべきではない。 他の多くの
+BSD におけるソケットの実装ではこの点において制限がある。
 
-Linux はユーザーから渡されたヘッダを決して変更しない (ただし
-.B IP_HDRINCL
-の説明にあるように、 0 をいくつか埋める場合を除く)。
-これは他の多くの raw ソケットの実装では異なる。
+Linux はユーザーから渡されたヘッダを決して変更しない (ただし \fBIP_HDRINCL\fP の説明にあるように、 0
+をいくつか埋める場合を除く)。 これは他の多くの raw ソケットの実装では異なる。
 
-一般に raw ソケットは移植性がないことが多いので、
-移植性が必要なプログラムでは避けるべきである。
+一般に raw ソケットは移植性がないことが多いので、 移植性が必要なプログラムでは避けるべきである。
 
-raw ソケットへの送信では、 IP プロトコルを
-.I sin_port
-から取得できなければならない。この機能は Linux 2.2 では使えなくなった。
-.B IP_HDRINCL
-を用いれば同様のことが実現できる。
+raw ソケットへの送信では、 IP プロトコルを \fIsin_port\fP から取得できなければならない。この機能は Linux 2.2
+では使えなくなった。 \fBIP_HDRINCL\fP を用いれば同様のことが実現できる。
 .SH バグ
 透過プロクシ (transparent proxy) 拡張については記述していない。
 
-.B IP_HDRINCL
-オプションがセットされているとデータグラムはフラグメント化されず、
-インターフェースの MTU の大きさに制限される。
+\fBIP_HDRINCL\fP オプションがセットされているとデータグラムはフラグメント化されず、 インターフェースの MTU の大きさに制限される。
 
-送信用の IP プロトコルの設定を
-.I sin_port
-にしておく機能は Linux 2.2 から使えなくなった。
-ソケットにバインドされているプロトコルか、最初の
-.BR socket (2)
-コールによって指定されたプロトコルが常に用いられる。
-.\" .SH 著者
-.\" この man ページは Andi Kleen が書いた。
+.\" .SH AUTHORS
+.\" This man page was written by Andi Kleen.
+送信用の IP プロトコルの設定を \fIsin_port\fP にしておく機能は Linux 2.2 から使えなくなった。
+ソケットにバインドされているプロトコルか、最初の \fBsocket\fP(2)  コールによって指定されたプロトコルが常に用いられる。
 .SH 関連項目
-.BR recvmsg (2),
-.BR sendmsg (2),
-.BR capabilities (7),
-.BR ip (7),
-.BR socket (7)
+\fBrecvmsg\fP(2), \fBsendmsg\fP(2), \fBcapabilities\fP(7), \fBip\fP(7), \fBsocket\fP(7)
 
-パス MTU 発見に関する情報は
-.B RFC\ 1191
-にある
+パス MTU 発見に関する情報は \fBRFC\ 1191\fP にある
 
-IP プロトコルに関しては
-.B RFC\ 791
-とインクルードファイル
-.I <linux/ip.h>
-を参照。
+IP プロトコルに関しては \fBRFC\ 791\fP とインクルードファイル \fI<linux/ip.h>\fP を参照。