OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man7 / udp.7
index 6092703..bc5c830 100644 (file)
 .\" of the modification is added to the header.
 .\" $Id: udp.7,v 1.7 2000/01/22 01:55:05 freitag Exp $
 .\"
-.\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved.
-.\" Translated 1999-12-06, NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated 2005-10-09, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2007-01-05, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
-.\" Updated 2008-12-29, Akihiro MOTOKI, LDP v3.14
-.\" Updated 2010-04-10, Akihiro MOTOKI, LDP v3.24
+.\"*******************************************************************
 .\"
-.TH UDP  7 2009-09-30 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH UDP 7 2010\-06\-13 Linux "Linux Programmer's Manual"
 .SH 名前
 udp \- IPv4 の ユーザーデータグラムプロトコル
 .SH 書式
-.B #include <sys/socket.h>
+\fB#include <sys/socket.h>\fP
 .br
-.B #include <netinet/in.h>
+\fB#include <netinet/in.h>\fP
 .sp
-.B udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
+\fBudp_socket = socket(AF_INET, SOCK_DGRAM, 0);\fP
 .SH 説明
-これは RFC\ 768 で記述されている User Datagram Protocol の実装である。
-UDP はコネクションレスの、信頼性の低いデータパケットサービスである。
-パケットは到着前に並び替えられたり複製されたりする。
-UDP は転送エラーを検出するためにチェックサムを生成・チェックする。
+これは RFC\ 768 で記述されている User Datagram Protocol の実装である。 UDP
+はコネクションレスの、信頼性の低いデータパケットサービスである。 パケットは到着前に並び替えられたり複製されたりする。 UDP
+は転送エラーを検出するためにチェックサムを生成・チェックする。
 
-UDP ソケットが生成されるとき、
-ローカルアドレスやリモートアドレスは指定されない。
-正しい行き先アドレスを引数として
-.BR sendto (2)
-や
-.BR sendmsg (2)
-を呼べば、データグラムはただちに送信される。
-ソケットに対して
-.BR connect (2)
-を呼ぶと、デフォルトの行き先アドレスが設定され、
-.BR send (2)
-や
-.BR write (2)
-を使って、行き先アドレスの指定なしにデータグラムを送信できるようになる。
-この場合でも、行き先アドレスを
-.BR sendto (2)
-や
-.BR sendmsg (2)
-に渡せば、デフォルト以外のアドレスに送信可能である。
-パケットを受信するために、まずソケットを
-.BR bind (2)
-を用いてローカルなアドレスにバインドさせることもできる。
-そうでない場合は、ソケット層は自動的に
-.I /proc/sys/net/ipv4/ip_local_port_range
-で定義されている範囲の外で空いているローカルなポートを割り当て、
-ソケットを
-.B INADDR_ANY
-にバインドする。
+UDP ソケットが生成されるとき、 ローカルアドレスやリモートアドレスは指定されない。 正しい行き先アドレスを引数として \fBsendto\fP(2)  や
+\fBsendmsg\fP(2)  を呼べば、データグラムはただちに送信される。 ソケットに対して \fBconnect\fP(2)
+を呼ぶと、デフォルトの行き先アドレスが設定され、 \fBsend\fP(2)  や \fBwrite\fP(2)
+を使って、行き先アドレスの指定なしにデータグラムを送信できるようになる。 この場合でも、行き先アドレスを \fBsendto\fP(2)  や
+\fBsendmsg\fP(2)  に渡せば、デフォルト以外のアドレスに送信可能である。 パケットを受信するために、まずソケットを \fBbind\fP(2)
+を用いてローカルなアドレスにバインドさせることもできる。 そうでない場合は、ソケット層は自動的に
+\fI/proc/sys/net/ipv4/ip_local_port_range\fP で定義されている範囲の外で空いているローカルなポートを割り当て、
+ソケットを \fBINADDR_ANY\fP にバインドする。
 
-受信動作はパケットを一つだけ返す。渡したバッファよりもパケットが
-小さければ、そのパケットの大きさのデータだけが返される。
-逆にバッファよりも大きい場合はパケットは丸められ、
-.B MSG_TRUNC
-フラグがセットされる。
-.B MSG_WAITALL
+受信動作はパケットを一つだけ返す。渡したバッファよりもパケットが 小さければ、そのパケットの大きさのデータだけが返される。
+逆にバッファよりも大きい場合はパケットは丸められ、 \fBMSG_TRUNC\fP フラグがセットされる。 \fBMSG_WAITALL\fP
 はサポートしていない。
 
-IP オプションは、
-.BR ip (7)
-に記述されているソケットオプションを用いて読み書きできる。
-これらは適切な
-.I /proc
-パラメータが有効な場合に限ってカーネルによって処理される
-(しかし無効になっている場合でもユーザーには渡される)。
-.BR ip (7)
-を参照のこと。
+IP オプションは、 \fBip\fP(7)  に記述されているソケットオプションを用いて読み書きできる。 これらは適切な \fI/proc\fP
+パラメータが有効な場合に限ってカーネルによって処理される (しかし無効になっている場合でもユーザーには渡される)。 \fBip\fP(7)  を参照のこと。
 
-.B MSG_DONTROUTE
-フラグが送信時にセットされている場合には、
-行き先アドレスはローカルなインターフェースアドレスから
+\fBMSG_DONTROUTE\fP フラグが送信時にセットされている場合には、 行き先アドレスはローカルなインターフェースアドレスから
 参照できなければならない。パケットはそのインターフェースにしか送られない。
 
-デフォルトでは、Linux の UDP は Path MTU Discovery を行う。
-つまり、カーネルは特定の宛先 IP アドレスの MTU (Maximum Transmission Unit;
-最大転送単位) を記録し、UDP パケットの書き込みが 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 よりも大きいと UDP はそのパケットを
-フラグメント化して送出する。
-しかしながら、性能と信頼性の理由から Path MTU Discovery を
-無効にするのは推奨できない。
+デフォルトでは、Linux の UDP は Path MTU Discovery を行う。 つまり、カーネルは特定の宛先 IP アドレスの MTU
+(Maximum Transmission Unit; 最大転送単位) を記録し、UDP パケットの書き込みが 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 よりも大きいと UDP はそのパケットを フラグメント化して送出する。
+しかしながら、性能と信頼性の理由から Path MTU Discovery を 無効にするのは推奨できない。
 .SS アドレスのフォーマット
-UDP は IPv4 の
-.I sockaddr_in
-アドレスフォーマットを用いる。これは
-.BR ip (7)
-に記述されている。
+UDP は IPv4 の \fIsockaddr_in\fP アドレスフォーマットを用いる。これは \fBip\fP(7)  に記述されている。
 .SS エラー処理
-致命的なエラーは、たとえソケットが接続されていなくても、
-すべてエラー戻り値としてユーザーに渡される。
-これにはネットワークから受け取る非同期エラーも含まれる。
-同じソケットを使って送信した昔のパケットに関するエラーを受け取るかもしれない。
-この振る舞いは他の BSD ソケットの実装の多くとは異なる。
-これらではソケットが接続されていない場合はエラーを全く返さない。
-Linux の振る舞いは
-.B RFC\ 1122
-での指定に従ったものである。
+致命的なエラーは、たとえソケットが接続されていなくても、 すべてエラー戻り値としてユーザーに渡される。
+これにはネットワークから受け取る非同期エラーも含まれる。 同じソケットを使って送信した昔のパケットに関するエラーを受け取るかもしれない。
+この振る舞いは他の BSD ソケットの実装の多くとは異なる。 これらではソケットが接続されていない場合はエラーを全く返さない。 Linux の振る舞いは
+\fBRFC\ 1122\fP での指定に従ったものである。
 
-Linux 2.0 と 2.2 では、古いコードとの互換性のために、
-.B SO_BSDCOMPAT
-.B SOL_SOCKET
-オプションを設定すれば、ソケットが接続されている
-場合に限ってリモートのエラーを受信するようにできた
-.RB ( EPROTO " と " EMSGSIZE
-を除く)。
-ローカルで生成されたエラーは常に渡される。
-このソケットオプションのサポートはそれ以降のバージョンの Linux で
-削除された。詳細は
-.BR socket (7)
-を参照。
+Linux 2.0 と 2.2 では、古いコードとの互換性のために、 \fBSO_BSDCOMPAT\fP \fBSOL_SOCKET\fP
+オプションを設定すれば、ソケットが接続されている 場合に限ってリモートのエラーを受信するようにできた (\fBEPROTO\fP と \fBEMSGSIZE\fP
+を除く)。 ローカルで生成されたエラーは常に渡される。 このソケットオプションのサポートはそれ以降のバージョンの Linux で 削除された。詳細は
+\fBsocket\fP(7)  を参照。
 
-.B IP_RECVERR
-オプションが有効になっていると、
-すべてのエラーはソケットのエラーキューに保存される。
-これは
-.B MSG_ERRQUEUE
-フラグをセットして
-.BR recvmsg (2)
-を呼べば受信できる。
-.SS /proc インタフェース
-システム全体の UDP パラメータ設定には、
-.I /proc/sys/net/ipv4/
-ディレクトリ内のファイルの読み書きでアクセスできる。
-.TP
-.IR udp_mem " (Linux 2.6.25 以降)"
-これは 3 つの整数からなるベクトル値で、
-UDP の全ソケットのキューで利用可能なページ数を制御する。
+\fBIP_RECVERR\fP オプションが有効になっていると、 すべてのエラーはソケットのエラーキューに保存される。 これは
+\fBMSG_ERRQUEUE\fP フラグをセットして \fBrecvmsg\fP(2)  を呼べば受信できる。
+.SS "/proc インタフェース"
+システム全体の UDP パラメータ設定には、 \fI/proc/sys/net/ipv4/\fP ディレクトリ内のファイルの読み書きでアクセスできる。
+.TP 
+\fIudp_mem\fP (Linux 2.6.25 以降)
+これは 3 つの整数からなるベクトル値で、 UDP の全ソケットのキューで利用可能なページ数を制御する。
 .RS
-.TP 10
-.I min
-このページ数より少なければ、UDP はそのメモリ使用に関して
-干渉されない。
-UDP に割り当てられたメモリ総量がこの値を超過すると、
-UDP はメモリ使用量を調整し始める。
-.TP
-.I pressure
-この値は
-.I tcp_mem
-の形式
-.RB ( tcp (7)
-参照) と合わせるために導入された
-.TP
-.I max
+.TP  10
+\fImin\fP
+このページ数より少なければ、UDP はそのメモリ使用に関して 干渉されない。 UDP に割り当てられたメモリ総量がこの値を超過すると、 UDP
+はメモリ使用量を調整し始める。
+.TP 
+\fIpressure\fP
+この値は \fItcp_mem\fP の形式 (\fBtcp\fP(7)  参照) と合わせるために導入された
+.TP 
+\fImax\fP
 UDP の全ソケットのキューで利用可能なページ数。
 .RE
 .IP
-これらの 3 つの値のデフォルト値は、
-ブート時に利用可能なメモリ総量から計算される。
-.TP
-.IR udp_rmem_min " (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)"
-メモリ使用量の調整中に、UDP ソケットが使用できる受信バッファの最小値
-(バイト単位)。
-UDP の全ソケットのページ使用量の合計が
-.I udp_mem
-pressure を超過している場合であっても、
-各 UDP ソケットはデータの受信にこのサイズ分だけは使用することができる。
-.TP
-.IR udp_wmem_min " (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)"
-メモリ使用量の調整中に、UDP ソケットが使用できる送信バッファの最小値
-(バイト単位)。
-UDP の全ソケットのページ使用量の合計が
-.I udp_mem
-pressure を超過している場合であっても、
-各 UDP ソケットはデータの送信にこのサイズ分だけは使用することができる。
+これらの 3 つの値のデフォルト値は、 ブート時に利用可能なメモリ総量から計算される。
+.TP 
+\fIudp_rmem_min\fP (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)
+メモリ使用量の調整中に、UDP ソケットが使用できる受信バッファの最小値 (バイト単位)。 UDP の全ソケットのページ使用量の合計が
+\fIudp_mem\fP pressure を超過している場合であっても、 各 UDP ソケットはデータの受信にこのサイズ分だけは使用することができる。
+.TP 
+\fIudp_wmem_min\fP (integer; デフォルト値: PAGE_SIZE; Linux 2.6.25 以降)
+メモリ使用量の調整中に、UDP ソケットが使用できる送信バッファの最小値 (バイト単位)。 UDP の全ソケットのページ使用量の合計が
+\fIudp_mem\fP pressure を超過している場合であっても、 各 UDP ソケットはデータの送信にこのサイズ分だけは使用することができる。
 .SS ソケットオプション
-UDP ソケットオプションを設定または取得するには、
-取得には
-.BR getsockopt (2)
-を、設定には
-.BR setsockopt (2)
-をオプションレベル引数に
-.B IPPROTO_UDP
-を指定して呼び出す。
-.TP
-.BR UDP_CORK " (Linux 2.5.44 以降)"
-このオプションが指定されると、このソケットの全てのデータ出力は
-一つのデータグラムに蓄積され、このオプションが無効化された時に
-送信される。
-このオプションは移植性を考慮したコードでは用いるべきではない。
+UDP ソケットオプションを設定または取得するには、 取得には \fBgetsockopt\fP(2)  を、設定には \fBsetsockopt\fP(2)
+をオプションレベル引数に \fBIPPROTO_UDP\fP を指定して呼び出す。
+.TP 
+\fBUDP_CORK\fP (Linux 2.5.44 以降)
 .\" FIXME document UDP_ENCAP (new in kernel 2.5.67)
 .\" From include/linux/udp.h:
 .\" /* UDP encapsulation types */
 .\" #define UDP_ENCAP_ESPINUDP_NON_IKE      1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
 .\" #define UDP_ENCAP_ESPINUDP      2 /* draft-ietf-ipsec-udp-encaps-06 */
 .\" #define UDP_ENCAP_L2TPINUDP     3 /* rfc2661 */
+このオプションが指定されると、このソケットの全てのデータ出力は 一つのデータグラムに蓄積され、このオプションが無効化された時に 送信される。
+このオプションは移植性を考慮したコードでは用いるべきではない。
 .SS ioctl
-以下に示す ioctl は
-.BR ioctl (2)
-を使ってアクセスできる。
-正しい文法は以下の通り。
+以下に示す ioctl は \fBioctl\fP(2)  を使ってアクセスできる。 正しい文法は以下の通り。
 .PP
 .RS
 .nf
-.BI int " value";
-.IB error " = ioctl(" udp_socket ", " ioctl_type ", &" value ");"
+\fBint\fP\fI value\fP\fB;\fP
+\fIerror\fP\fB = ioctl(\fP\fIudp_socket\fP\fB, \fP\fIioctl_type\fP\fB, &\fP\fIvalue\fP\fB);\fP
 .fi
 .RE
-.TP
-.BR FIONREAD " (" SIOCINQ )
-integer のポインタを引数として取る。
-次に待機しているデータグラムのサイズをバイト単位の整数で返す。
-待機しているデータグラムがない場合は 0 を返す。
-.TP
-.BR TIOCOUTQ " (" SIOCOUTQ )
-ローカル送信キューにあるデータサイズをバイト単位で返す。
-Linux 2.4 以上でのみ対応している。
+.TP 
+\fBFIONREAD\fP (\fBSIOCINQ\fP)
+.\" See http://www.securiteam.com/unixfocus/5KP0I15IKO.html
+.\" "GNUnet DoS (UDP Socket Unreachable)", 14 May 2006
+整数へのポインタを引き数に取り、そのポインタに、次の処理待ちのデータグラムの
+サイズをバイト単位で返す。処理待ちのデータグラムがない場合は 0 を返す。
+\fB警告\fP: \fBFIONREAD\fP を使った場合、処理待ちのデータグラムがない場合と、
+次の処理待ちデータグラムが 0 バイトのデータの場合を区別することができない。
+この両者を区別したい場合は、\fBselect\fP(2), \fBpoll\fP(2), \fBepoll\fP(7)
+を使う方が安全である。
+.TP 
+\fBTIOCOUTQ\fP (\fBSIOCOUTQ\fP)
+ローカル送信キューにあるデータサイズをバイト単位で返す。 Linux 2.4 以上でのみ対応している。
 .PP
-さらに、
-.BR ip (7)
-と
-.BR socket (7)
-で述べられている全ての ioctl も対応している。
+さらに、 \fBip\fP(7)  と \fBsocket\fP(7)  で述べられている全ての ioctl も対応している。
 .SH エラー
-.BR socket (7)
-や
-.BR ip (7)
-に記述されている全てのエラーが、
-UDP ソケットの送受信で返される可能性がある。
-.TP
-.B ECONNREFUSED
-行き先アドレスに関連づけられている受信者がいない。
-これは以前のパケットがそのパケットを
-上書き送信してしまっているからであることが多い。
+\fBsocket\fP(7)  や \fBip\fP(7)  に記述されている全てのエラーが、 UDP ソケットの送受信で返される可能性がある。
+.TP 
+\fBECONNREFUSED\fP
+行き先アドレスに関連づけられている受信者がいない。 これは以前のパケットがそのパケットを 上書き送信してしまっているからであることが多い。
 .SH バージョン
-.B IP_RECVERR
-は Linux 2.2 の新しい機能である。
-.\" .SH 著者
-.\" この man ページは Andi Kleen が書いた。
+.\" .SH CREDITS
+.\" This man page was written by Andi Kleen.
+\fBIP_RECVERR\fP は Linux 2.2 の新しい機能である。
 .SH 関連項目
-.BR ip (7),
-.BR raw (7),
-.BR socket (7),
-.BR udplite (7)
+\fBip\fP(7), \fBraw\fP(7), \fBsocket\fP(7), \fBudplite\fP(7)
 
 RFC\ 768 : User Datagram Protocol
 .br