OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man7 / ipv6.7
index bb95a3f..5bf750e 100644 (file)
@@ -3,79 +3,47 @@
 .\" 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.
-.\" $Id: ipv6.7,v 1.4 2001/08/15 18:01:06 hanataka Exp $
+.\" $Id: ipv6.7,v 1.3 2000/12/20 18:10:31 ak Exp $
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
-.\" Translated Sun 18 Feb 2001 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated Wed  4 Apr 2001 by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated Sat Dec 17 09:31:21 JST 2005 by Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated 2007-05-28, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.50
-.\" Updated 2008-08-07, Akihiro MOTOKI, LDP v3.05
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD:       flow identifier         ¥Õ¥í¡¼»ØÄê»Ò
-.\"WORD:       control message         À©¸æ¥á¥Ã¥»¡¼¥¸
-.\"WORD:       incoming ¡Á             ¼õ¿® (¥Ñ¥±¥Ã¥È¡¢¥Ç¡¼¥¿¥°¥é¥à)
-.\"WORD:       outgoing ¡Á             Á÷¿® (¥Ñ¥±¥Ã¥È¡¢¥Ç¡¼¥¿¥°¥é¥à)
-.\"WORD:       asynchronous error      ÈóƱ´ü¥¨¥é¡¼
-.\"
-.TH IPV6 7 2011-09-08 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-ipv6, AF_INET6 \- Linux ¤Î IPv6 ¥×¥í¥È¥³¥ë¼ÂÁõ
-.SH ½ñ¼°
-.B #include <sys/socket.h>
+.\"*******************************************************************
+.TH IPV6 7 2011\-09\-08 Linux "Linux Programmer's Manual"
+.SH 名前
+ipv6, AF_INET6 \- Linux の IPv6 プロトコル実装
+.SH 書式
+\fB#include <sys/socket.h>\fP
 .br
-.B #include <netinet/in.h>
+\fB#include <netinet/in.h>\fP
 .sp
-.IB tcp6_socket " = socket(AF_INET6, SOCK_STREAM, 0);"
+\fItcp6_socket\fP\fB = socket(AF_INET6, SOCK_STREAM, 0);\fP
 .br
-.IB raw6_socket " = socket(AF_INET6, SOCK_RAW, " protocol ");"
+\fIraw6_socket\fP\fB = socket(AF_INET6, SOCK_RAW, \fP\fIprotocol\fP\fB);\fP
 .br
-.IB udp6_socket " = socket(AF_INET6, SOCK_DGRAM, " protocol ");"
-.SH ÀâÌÀ
-Linux 2.2 ¤Ç¤Ï¡¢Internet Protocol, version 6 ¤ò
-¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¡£
-¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢Linux ¥«¡¼¥Í¥ë¤È glibc 2.1 ¤Ç¤Î¼ÂÁõ¤Ë´ð¤Å¤¤¤Æ¡¢
-IPv6 ¤Î´ðËÜŪ¤Ê API ¤ò²òÀ⤹¤ë¡£
-¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï BSD ¥½¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤â¤È¤Ë¤·¤Æ¤¤¤ë¡£
-.BR socket (7)
-¤ò»²¾È¡£
+\fIudp6_socket\fP\fB = socket(AF_INET6, SOCK_DGRAM, \fP\fIprotocol\fP\fB);\fP
+.SH 説明
+Linux 2.2 では、Internet Protocol, version 6 を オプションとして実装している。 この man
+ページでは、Linux カーネルと glibc 2.1 での実装に基づいて、 IPv6 の基本的な API を解説する。 インターフェースは BSD
+ソケットインターフェースをもとにしている。 \fBsocket\fP(7)  を参照。
 .PP
-IPv6 API ¤Ï¡¢
-IPv4 API
-.RB ( ip (7)
-»²¾È) ¤È¤Û¤Ü¸ß´¹¤Ë¤Ê¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤ë¡£
-¤³¤Î man ¥Ú¡¼¥¸¤Ç¤ÏÁê°ãÅÀ¤Î¤ß¤ò²òÀ⤹¤ë¡£
+IPv6 API は、 IPv4 API (\fBip\fP(7)  参照) とほぼ互換になることを目指している。 この man
+ページでは相違点のみを解説する。
 .PP
-.B AF_INET6
-¥½¥±¥Ã¥È¤ò²¿¤é¤«¤Î¥×¥í¥»¥¹¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤Ë¤Ï¡¢
-¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤ò
-.I in6_addr
-·¿¤ÎÊÑ¿ô
-.I in6addr_any
-¤«¤é¥³¥Ô¡¼¤·¤Æ¤¯¤ëɬÍפ¬¤¢¤ë¡£
-static ¤Ê½é´üÃÍ
-.B IN6ADDR_ANY_INIT
-¤âÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¡¢¤³¤ì¤ÏÄê¿ô¼°¤ËŸ³«¤µ¤ì¤ë¡£
-¤³¤ì¤é¤Îξ¼Ô¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç¤¢¤ë¡£
+\fBAF_INET6\fP ソケットを何らかのプロセスにバインドするには、 ローカルアドレスを \fIin6_addr\fP 型の変数
+\fIin6addr_any\fP からコピーしてくる必要がある。 static な初期値 \fBIN6ADDR_ANY_INIT\fP
+も用いることができ、これは定数式に展開される。 これらの両者はネットワークバイトオーダーである。
 .PP
-IPv6 ¤Î¥ë¡¼¥×¥Ð¥Ã¥¯¥¢¥É¥ì¥¹ (::1) ¤Ï global ÊÑ¿ô
-.I in6addr_loopback
-¤«¤é¼èÆÀ¤Ç¤­¤ë¡£½é´ü²½¤Ë¤Ï
-.B IN6ADDR_LOOPBACK_INIT
-¤òÍѤ¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£
+IPv6 のループバックアドレス (::1) は global 変数 \fIin6addr_loopback\fP から取得できる。初期化には
+\fBIN6ADDR_LOOPBACK_INIT\fP を用いるべきである。
 .PP
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹·¿¤òÍѤ¤¤ë¤³¤È¤Ç¡¢
-IPv4 Àܳ¤â v6 API ¤Ç°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
-¤³¤¦¤¹¤ì¤Ð¡¢¥×¥í¥°¥é¥à¤Ï v6 ¤Î API ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤À¤±¤Ç¡¢
-ξÊý¤Î¥×¥í¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤Ç¤­¤ë¡£
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹·¿¤Ï C ¥é¥¤¥Ö¥é¥êÆâÉô¤Î¥¢¥É¥ì¥¹¤ò
-°·¤¦´Ø¿ô¤Ë¤è¤Ã¤ÆÆ©²áŪ¤Ë½èÍý¤µ¤ì¤ë¡£
+v4\-mapped\-on\-v6 アドレス型を用いることで、 IPv4 接続も v6 API で扱うことができる。 こうすれば、プログラムは v6 の
+API をサポートするだけで、 両方のプロトコルをサポートできる。 v4\-mapped\-on\-v6 アドレス型は C ライブラリ内部のアドレスを
+扱う関数によって透過的に処理される。
 .PP
-IPv4 ¤È IPv6 ¤Ï¥í¡¼¥«¥ë¥Ý¡¼¥È¶õ´Ö¤ò¶¦Í­¤¹¤ë¡£
-IPv4 ¤ÎÀܳ (¤Þ¤¿¤Ï¥Ñ¥±¥Ã¥È) ¤ò IPv6 ¥½¥±¥Ã¥È¤¬¼èÆÀ¤¹¤ë¤È¡¢
-ȯ¿®¸µ¥¢¥É¥ì¥¹¤¬ v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¡¢¤½¤ÎÀܳ (¥Ñ¥±¥Ã¥È) ¤â v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¤ë¡£
-.\"nakano: ºÇ¸å¤Î it ¤¬¤Ê¤Ë¤ò»Ø¤¹¤Î¤«¤ï¤«¤é¤ó¡£
-.SS ¥¢¥É¥ì¥¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
+IPv4 と IPv6 はローカルポート空間を共有する。 IPv4 の接続 (またはパケット) を IPv6 ソケットが取得すると、 発信元アドレスが
+v6 にマップされ、その接続 (パケット) も v6 にマップされる。
+.SS アドレスのフォーマット
 .in +4n
 .nf
 struct sockaddr_in6 {
@@ -92,256 +60,132 @@ struct in6_addr {
 .fi
 .in
 .sp
-.I sin6_family
-¤Ï¾ï¤Ë
-.B AF_INET6
-¤ËÀßÄꤵ¤ì¤ë¡£
-.I sin6_port
-¤Ï¥×¥í¥È¥³¥ë¥Ý¡¼¥È¤Ç¤¢¤ë
-.RB ( ip (7)
-¤Î
-.I sin_port
-¤ò»²¾È)¡£
-.I sin6_flowinfo
-¤Ï IPv6 ¤Î¥Õ¥í¡¼»ØÄê»Ò (flow identifier) ¤Ç¤¢¤ë¡£
-.I sin6_addr
-¤Ï 128 ¥Ó¥Ã¥È¤Î IPv6 ¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
-.I sin6_scope_id
-¤Ï¥¢¥É¥ì¥¹¤Î¥¹¥³¡¼¥×¤Ë°Í¸¤·¤¿ ID ¤Ç¤¢¤ë
-(¤³¤ì¤Ï Linux 2.4 ¤ÇƳÆþ¤µ¤ì¤¿)¡£
-Linux ¤Î¾ì¹ç¤Ï¡¢¤³¤ì¤Ï¥ê¥ó¥¯¥¹¥³¡¼¥×¥¢¥É¥ì¥¹¤Ç¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¡£
-¤³¤Î¾ì¹ç
-.I sin6_scope_id
-¤Ë¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ë
-.RB ( netdevice (7)
-¤ò»²¾È)¡£
+\fIsin6_family\fP は常に \fBAF_INET6\fP に設定される。 \fIsin6_port\fP はプロトコルポートである (\fBip\fP(7)
+の \fIsin_port\fP を参照)。 \fIsin6_flowinfo\fP は IPv6 のフロー指定子 (flow identifier) である。
+\fIsin6_addr\fP は 128 ビットの IPv6 アドレスである。 \fIsin6_scope_id\fP はアドレスのスコープに依存した ID
+である (これは Linux 2.4 で導入された)。 Linux の場合は、これはリンクスコープアドレスでしかサポートされない。 この場合
+\fIsin6_scope_id\fP にはインターフェースのインデックスが含まれることになる (\fBnetdevice\fP(7)  を参照)。
 .PP
-IPv6 ¤Ï²¿¼ïÎफ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-ñ°ì¤Î¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î unicast¡¢
-¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î multicast¡¢
-¥Û¥¹¥È¤Î¥°¥ë¡¼¥×Ãæ¤ÇºÇ¤â¶á¤¯¤Ë¤¤¤ë¤â¤Î¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î anycast
-(¤³¤ì¤Ï Linux ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤)¡¢
-IPv4 ¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î IPv4-on-IPv6¡£
-¾¤Ë¤âͽÌóºÑ¤ß¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬¤¢¤ë¡£
+IPv6 は何種類かのアドレスタイプをサポートしている。 単一のホストをアドレスするための unicast、 ホストのグループをアドレスするための
+multicast、 ホストのグループ中で最も近くにいるものをアドレスするための anycast (これは Linux では実装されていない)、
+IPv4 ホストをアドレスするための IPv4\-on\-IPv6。 他にも予約済みのアドレスタイプがある。
 .PP
-IPv6 ¤Ç¤Î¥¢¥É¥ì¥¹É½µ­¤Ï 4 ·å¤Î 16 ¿Ê¿ô 8 ¸Ä¤«¤é¤Ê¤ê¡¢
-\(aq:\(aq ¤Ï¶èÀÚ¤êʸ»ú¤Ï¤Ç¡¢"::" ¤Ï 0 ¥Ó¥Ã¥È¤Îʸ»úÎó¤òɽ¤¹¡£
-Æüì¤Ê¥¢¥É¥ì¥¹¤È¤·¤Æ¡¢¥ë¡¼¥×¥Ð¥Ã¥¯¤òɽ¤¹ ::1¡¢
-IPv4-mapped-on-IPv6 ¤òɽ¤¹ ::FFFF::<IPv4 ¥¢¥É¥ì¥¹> ¤¬¤¢¤ë¡£
+IPv6 でのアドレス表記は 4 桁の 16 進数 8 個からなり、 \(aq:\(aq は区切り文字はで、"::" は 0 ビットの文字列を表す。
+特殊なアドレスとして、ループバックを表す ::1、 IPv4\-mapped\-on\-IPv6 を表す ::FFFF::<IPv4
+アドレス> がある。
 .PP
-IPv6 ¤Î¥Ý¡¼¥È¶õ´Ö¤Ï IPv4 ¤È¶¦Í­¤µ¤ì¤Æ¤¤¤ë¡£
-.SS ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó
-IPv6 ¤Ï¥×¥í¥È¥³¥ë¸ÇÍ­¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£
-¤³¤ì¤é¤Ï
-.BR setsockopt (2)
-¤ÇÀßÄê¤Ç¤­¡¢
-.BR getsockopt (2)
-¤Ç¼èÆÀ¤Ç¤­¤ë¡£
-IPv6 ¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¥ì¥Ù¥ë¤Ï
-.B IPPROTO_IPV6
-¤Ç¤¢¤ë¡£
-¥Ö¡¼¥ëÀ°¿ô¤Î¥Õ¥é¥°¤Ï¡¢0 ¤¬µ¶¤Ç¤¢¤ê¡¢¤½¤ì°Ê³°¤Ï¿¿¤Ç¤¢¤ë¡£
-.TP
-.B IPV6_ADDRFORM
-.B AF_INET6
-¥½¥±¥Ã¥È¤òÊ̤Υ¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤Î¥½¥±¥Ã¥È¤ËÊѤ¨¤ë¡£
-¸½ºß¤Ï
-.B AF_INET
-¤Î¤ß¤¬Êѹ¹Àè¤Î¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤È¤·¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
-¤³¤ì¤¬µö²Ä¤µ¤ì¤ë¤Î¤Ï¡¢IPv6 ¤¬Àܳ¤µ¤ì¡¢
-v4-mapped-on-v6 ¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£
-°ú¤­¿ô¤Ï
-.B AF_INET
-¤¬Æþ¤Ã¤Æ¤¤¤ëÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-v4-mapped ¥½¥±¥Ã¥È¤ò¡¢IPv6 API ¤ò°·¤¨¤Ê¤¤¥×¥í¥°¥é¥à¤ËÂФ·¤Æ
-¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤È¤·¤ÆÅϤ¹¾ì¹ç¤ËÊØÍø¡£
-.TP
-.B IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP
-multicast ¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤òÀ©¸æ¤¹¤ë¡£
-°ú¤­¿ô¤Ï
-.I struct ipv6_mreq
-¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡£
-.\" FIXME IPV6_CHECKSUM ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_JOIN_ANYCAST ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_LEAVE_ANYCAST ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_RECVPKTINFO ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME IPV6_2292PKTINFO ¤Ïµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¤¬¡¢µ­½Ò¤¹¤Ù¤­¤À¤í¤¦¡£
-.\" FIXME Â¾¤Ë¤â¿¤¯¤Îµ­½Ò¤¹¤Ù¤­ IPV6_* ¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤À¤í¤¦¡£
-.TP
-.B IPV6_MTU
-¤½¤Î¥½¥±¥Ã¥È¤ËÂФ·¤ÆÍѤ¤¤ë MTU ¤ÎÃͤòÀßÄꤹ¤ë¡£
-MTU ¤ÎÂ礭¤µ¤Ï¡¢
-¤½¤Î¥Ç¥Ð¥¤¥¹¤Î MTU ¤Þ¤¿¤Ï (Path MTU Discovery
-¤¬²Äǽ¤Ê¤é) ¤½¤Î·ÐÏ©¤Î MTU ¤ÎÂ礭¤µ°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-.TP
-.B IPV6_MTU_DISCOVER
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î Path MTU Discovery ¤òÀ©¸æ¤¹¤ë¡£
-¾ÜºÙ¤Ï
-.BR ip (7)
-¤Î
-.B IP_MTU_DISCOVER
-¤ò»²¾È¡£
-.TP
-.B IPV6_MULTICAST_HOPS
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î multicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-\-1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£
-.TP
-.B IPV6_MULTICAST_IF
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î¡¢Á÷¿® multicast ¥Ñ¥±¥Ã¥È¤ËÍѤ¤¤ë¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¡£
-¤³¤ì¤Ï
-.B SOCK_DGRAM
-¤ª¤è¤Ó
-.B SOCK_RAW
-³Æ¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£
-°ú¤­¿ô¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÀ°¿ôÃÍ
-.RB ( netdevice (7)
-¤ò»²¾È) ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-.TP
-.B IPV6_MULTICAST_LOOP
-¥½¥±¥Ã¥È¤¬¡¢¼«Ê¬¼«¿È¤ÎÁ÷¿®¤·¤¿
-multicast ¥Ñ¥±¥Ã¥È¤ò´Æ»ë¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_PKTINFO
-¥Ç¡¼¥¿¥°¥é¥à¤ÎÅþÃå»þ¤Ë¤ª¤±¤ë
-.B IPV6_PKTINFO
-À©¸æ¥á¥Ã¥»¡¼¥¸¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¤òÀßÄꤹ¤ë¡£
-.B SOCK_DGRAM
-¥½¥±¥Ã¥È¤Þ¤¿¤Ï
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤ËÂФ·¤Æ¤Î¤ßµö²Ä¤µ¤ì¤ë¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤÎÆþ¤Ã¤¿À°¿ô¡£
-.TP
+IPv6 のポート空間は IPv4 と共有されている。
+.SS ソケットオプション
+IPv6 はプロトコル固有のソケットオプションをいくつかサポートしている。 これらは \fBsetsockopt\fP(2)  で設定でき、
+\fBgetsockopt\fP(2)  で取得できる。 IPv6 のソケットオプションレベルは \fBIPPROTO_IPV6\fP である。
+ブール整数のフラグは、0 が偽であり、それ以外は真である。
+.TP 
+\fBIPV6_ADDRFORM\fP
+\fBAF_INET6\fP ソケットを別のアドレスファミリーのソケットに変える。 現在は \fBAF_INET\fP
+のみが変更先のアドレスファミリーとしてサポートされている。 これが許可されるのは、IPv6 が接続され、 v4\-mapped\-on\-v6
+アドレスにバインドされた場合に限られる。 引き数は \fBAF_INET\fP が入っている整数へのポインタである。 v4\-mapped ソケットを、IPv6
+API を扱えないプログラムに対して ファイルディスクリプターとして渡す場合に便利。
+.TP 
+\fBIPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP\fP
+.\" FIXME IPV6_CHECKSUM is not documented, and probably should be
+.\" FIXME IPV6_JOIN_ANYCAST is not documented, and probably should be
+.\" FIXME IPV6_LEAVE_ANYCAST is not documented, and probably should be
+.\" FIXME IPV6_RECVPKTINFO is not documented, and probably should be
+.\" FIXME IPV6_2292PKTINFO is not documented, and probably should be
+.\" FIXME there are probably many other IPV6_* socket options that
+.\" should be documented
+multicast グループのメンバーを制御する。 引き数は \fIstruct ipv6_mreq\fP 構造体へのポインタ。
+.TP 
+\fBIPV6_MTU\fP
+そのソケットに対して用いる MTU の値を設定する。 MTU の大きさは、 そのデバイスの MTU または (Path MTU Discovery
+が可能なら) その経路の MTU の大きさ以下でなければならない。 引き数は整数へのポインタ。
+.TP 
+\fBIPV6_MTU_DISCOVER\fP
+そのソケットでの Path MTU Discovery を制御する。 詳細は \fBip\fP(7)  の \fBIP_MTU_DISCOVER\fP を参照。
+.TP 
+\fBIPV6_MULTICAST_HOPS\fP
+そのソケットでの multicast の hop 数の上限値を設定する。 引き数は整数へのポインタである。 \-1
+を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。
+.TP 
+\fBIPV6_MULTICAST_IF\fP
+そのソケットでの、送信 multicast パケットに用いるデバイスを設定する。 これは \fBSOCK_DGRAM\fP および \fBSOCK_RAW\fP
+各ソケットでのみ許される。 引き数はインターフェースのインデックスの整数値 (\fBnetdevice\fP(7)  を参照) へのポインタである。
+.TP 
+\fBIPV6_MULTICAST_LOOP\fP
+ソケットが、自分自身の送信した multicast パケットを監視するかどうかを制御する。 引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_PKTINFO\fP
+データグラムの到着時における \fBIPV6_PKTINFO\fP 制御メッセージを配送するかどうかを設定する。 \fBSOCK_DGRAM\fP ソケットまたは
+\fBSOCK_RAW\fP ソケットに対してのみ許可される。 引き数はブール値の入った整数。
+.TP 
 .nh
-.B IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT
+\fBIPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPTS, IPV6_HOPOPTS, IPV6_FLOWINFO,
+IPV6_HOPLIMIT\fP
 .hy
-¼õ¿®¥Ñ¥±¥Ã¥È¤Î¥Ç¡¼¥¿¥°¥é¥à¤Ë³ÈÄ¥¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¡¢
-À©¸æ¥á¥Ã¥»¡¼¥¸¤ÎÇÛÁ÷¤òÀßÄꤹ¤ë¡£
-.BR IPV6_RTHDR :
-routing ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.BR IPV6_AUTHHDR :
-authentication ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.BR IPV6_DSTOPTS :
-destination ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.BR IPV6_HOPOPTS :
-hop ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.BR IPV6_FLOWINFO :
-flow ID ¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-.BR IPV6_HOPLIMIT :
-¥Ñ¥±¥Ã¥È¤Î hop ¥«¥¦¥ó¥È¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£
-À©¸æ¥á¥Ã¥»¡¼¥¸¤Ï¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤Î¤â¤Î¤ÈƱ¤¸¥¿¥¤¥×¤ò»ý¤Ä¡£
-¤³¤ì¤é¤Î¤¹¤Ù¤Æ¤Î¥Ø¥Ã¥À¥ª¥×¥·¥ç¥ó¤Ï¡¢
-ŬÀÚ¤ÊÀ©¸æ¥á¥Ã¥»¡¼¥¸¤ò
-.BR sendmsg (2)
-¤ÎÀ©¸æ¥Ð¥Ã¥Õ¥¡¡¼¤Ë½ñ¤­¤³¤á¤Ð¡¢
-Á÷¿®¥Ñ¥±¥Ã¥È¤Ë¤Ç¤âÀßÄê¤Ç¤­¤ë¡£
-.B SOCK_DGRAM
-¥½¥±¥Ã¥È¤Þ¤¿¤Ï
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_RECVERR
-ÈóƱ´ü¥¨¥é¡¼ (asynchronous error) ¥ª¥×¥·¥ç¥ó¤Î¼õ¿®¤òÀ©¸æ¤¹¤ë¡£
-¾ÜºÙ¤Ï
-.BR ip (7)
-¤Î
-.B IP_RECVERR
-¤ò»²¾È¡£
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
-.TP
-.B IPV6_ROUTER_ALERT
-¤³¤Î¥½¥±¥Ã¥È¤Ç¡¢router alert hop-by-hop ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿Å¾Á÷¥Ñ¥±¥Ã¥È¤ò
-Ä̤¹¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£
-.B SOCK_RAW
-¥½¥±¥Ã¥È¤Ç¤Î¤ßµö²Ä¤µ¤ì¤ë¡£
-tap ¤µ¤ì¤¿¥Ñ¥±¥Ã¥È¤Ï¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ¤ÏžÁ÷¤µ¤ì¤Ê¤¤¡£¤½¤¦¤·¤¿¥Ñ¥±¥Ã¥È¤ò
-ºÆÅÙÁ÷¿®¤¹¤ë¤Î¤Ï¥æ¡¼¥¶¡¼¤ÎÀÕǤ¤Ç¤¢¤ë¡£
-°ú¤­¿ô¤ÏÀ°¿ô (integer) ¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
-Àµ¤ÎÀ°¿ô¤Ï˵¼õ¤ò¹Ô¤¦ router alert ¥ª¥×¥·¥ç¥óÃͤò¼¨¤¹¡£
-¥ª¥×¥·¥ç¥óÃͤ¬¤³¤ÎÀ°¿ô¤Ç¤¢¤ë router alert ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿¥Ñ¥±¥Ã¥È¤Ï
-¥½¥±¥Ã¥È¤ËÇÛÁ÷¤µ¤ì¤ë¡£Éé¤ÎÀ°¿ô¤ò»ØÄꤹ¤ë¤È¡¢¤³¤Î¥½¥±¥Ã¥È¤Ø¤Î
-router alert ¥ª¥×¥·¥ç¥ó¤ÎÉÕ¤¤¤¿¥Ñ¥±¥Ã¥È¤ÎÇÛÁ÷¤¬¹Ô¤ï¤ì¤Ê¤¤¡£
-.\" FLOWLABEL_MGR, FLOWINFO_SEND
-.TP
-.B IPV6_UNICAST_HOPS
-¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î unicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£
-°ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
-\-1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£
-.TP
-.BR IPV6_V6ONLY " (Linux 2.4.21 °Ê¹ß¤ª¤è¤Ó 2.6 °Ê¹ß)"
+受信パケットのデータグラムに拡張ヘッダが含まれている場合の、 制御メッセージの配送を設定する。 \fBIPV6_RTHDR\fP: routing
+ヘッダを配送するかどうか。 \fBIPV6_AUTHHDR\fP: authentication ヘッダを配送するかどうか。 \fBIPV6_DSTOPTS\fP:
+destination オプションを配送するかどうか。 \fBIPV6_HOPOPTS\fP: hop オプションを配送するかどうか。
+\fBIPV6_FLOWINFO\fP: flow ID を含む整数を配送するかどうか。 \fBIPV6_HOPLIMIT\fP: パケットの hop
+カウントを含む整数を配送するかどうか。 制御メッセージはソケットオプションのものと同じタイプを持つ。 これらのすべてのヘッダオプションは、
+適切な制御メッセージを \fBsendmsg\fP(2)  の制御バッファーに書きこめば、 送信パケットにでも設定できる。 \fBSOCK_DGRAM\fP
+ソケットまたは \fBSOCK_RAW\fP ソケットでのみ許される。引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_RECVERR\fP
+非同期エラー (asynchronous error) オプションの受信を制御する。 詳細は \fBip\fP(7)  の \fBIP_RECVERR\fP
+を参照。 引き数はブール値へのポインタ。
+.TP 
+\fBIPV6_ROUTER_ALERT\fP
+このソケットで、router alert hop\-by\-hop オプションの付いた転送パケットを 通すかどうかを制御する。 \fBSOCK_RAW\fP
+ソケットでのみ許可される。 tap されたパケットはカーネルによっては転送されない。そうしたパケットを 再度送信するのはユーザーの責任である。
+引き数は整数 (integer) へのポインタ。 正の整数は傍受を行う router alert オプション値を示す。 オプション値がこの整数である
+router alert オプションの付いたパケットは ソケットに配送される。負の整数を指定すると、このソケットへの router alert
+オプションの付いたパケットの配送が行われない。
+.TP 
+\fBIPV6_UNICAST_HOPS\fP
+そのソケットでの unicast の hop 数の上限値を設定する。 引き数は整数へのポインタである。 \-1
+を指定すると経路のデフォルトを用いることを意味する。 それ以外の場合は 0 から 255 の範囲を指定する。
+.TP 
+\fBIPV6_V6ONLY\fP (Linux 2.4.21 以降および 2.6 以降)
 .\" See RFC 3493
-¤³¤Î¥Õ¥é¥°¤ò¿¿ (0 °Ê³°) ¤ËÀßÄꤹ¤ë¤È¡¢¤½¤Î¥½¥±¥Ã¥È¤Ï IPv6 ¥Ñ¥±¥Ã¥È¤À¤±¤ò
-Á÷¼õ¿®¤¹¤ë¤è¤¦¤ËÀ©¸Â¤µ¤ì¤ë¡£
-¤³¤Î¾ì¹ç¡¢IPv4 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È IPv6 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ±»þ¤Ë
-°ì¤Ä¤Î¥Ý¡¼¥È¤ò¥Ð¥¤¥ó¥É¤Ç¤­¤ë¡£
+このフラグを真 (0 以外) に設定すると、そのソケットは IPv6 パケットだけを 送受信するように制限される。 この場合、IPv4
+アプリケーションと IPv6 アプリケーションが同時に 一つのポートをバインドできる。
 
-¤³¤Î¥Õ¥é¥°¤òµ¶ (0) ¤ËÀßÄꤹ¤ë¤È¡¢¤½¤Î¥½¥±¥Ã¥È¤Ï¥Ñ¥±¥Ã¥È¤ÎÁ÷¼õ¿®¤Ë
-IPv6 ¥¢¥É¥ì¥¹¤È IPv4-mapped IPv6 ¥¢¥É¥ì¥¹¤ÎξÊý¤ò»ÈÍѤǤ­¤ë¡£
+このフラグを偽 (0) に設定すると、そのソケットはパケットの送受信に IPv6 アドレスと IPv4\-mapped IPv6
+アドレスの両方を使用できる。
 
-°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤÎÆþ¤Ã¤¿À°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
+引き数はブール値の入った整数へのポインタである。
 
-¤³¤Î¥Õ¥é¥°¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϥե¡¥¤¥ë
-.I /proc/sys/net/ipv6/bindv6only
-¤ÎÆâÍƤˤè¤êÄêµÁ¤µ¤ì¤ë¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϠ0 (µ¶) ¤Ç¤¢¤ë¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
-IPv6 API ¤ò libc5 ¥Ù¡¼¥¹¤Ç Linux ¸þ¤±¤Ë¼ÂÁõ¤·¤¿¡¢°ÊÁ°¤Î
-.I libinet6
-¤Ë¤Ä¤¤¤Æ¤Ï¤³¤³¤Ç¤Ïµ­½Ò¤·¤Æ¤¤¤Ê¤¤¡£
-¤ª¤½¤é¤¯ºÙ¤«¤¤¤È¤³¤í¤Ë¤ÏÁê°ãÅÀ¤¬¤¢¤ë¤À¤í¤¦¡£
+.\" FLOWLABEL_MGR, FLOWINFO_SEND
+このフラグのデフォルト値はファイル \fI/proc/sys/net/ipv6/bindv6only\fP の内容により定義される。
+このファイルのデフォルト値は 0 (偽) である。
+.SH バージョン
+IPv6 API を libc5 ベースで Linux 向けに実装した、以前の \fIlibinet6\fP についてはここでは記述していない。
+おそらく細かいところには相違点があるだろう。
+.PP
+Linux 2.4 では 64 ビットのホストに対して \fIsockaddr_in6\fP のバイナリ互換性が保たれていない。 \fIin6_addr\fP
+のアラインメントが変更され、また \fIsin6_scope_id\fP フィールドが新たに追加されたからである。
+カーネルインターフェースの互換性は保たれているが、 \fIsockaddr_in6\fP や \fIin6_addr\fP
+を他の構造体に含んでいるようなプログラムでは 保たれないかもしれない。 これは i386 のような 32 ビットのホストでは問題にならない。
+.PP
+\fIsin6_flowinfo\fP フィールドは Linux 2.4 で登場した。 これが渡されたアドレス長に含まれていると、
+カーネルに透過的に渡され、読まれる。 より長いアドレスバッファを渡し、 そして送信アドレスの長さをチェックするようなプログラムは
+うまく動かないかもしれない。
+.SH 注意
+\fIsockaddr_in6\fP 構造体はジェネリックな \fIsockaddr\fP よりも大きい。 すべてのアドレスタイプが \fIstruct
+sockaddr\fP の中に安全に納められると仮定しているプログラムは、代わりに \fIstruct sockaddr_storage\fP
+を用いるように変更する必要がある。
+.SH バグ
+IPv6 拡張 API は、現在まだ RFC\ 2292 を完全には実装していない。 2.2
+カーネルは受信オプションをほぼ完全にサポートサポートしているが、 glibc2.1 には IPv6 オプションを生成するマクロが存在していない。
 .PP
-Linux 2.4 ¤Ç¤Ï 64 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤ËÂФ·¤Æ
-.I sockaddr_in6
-¤Î¥Ð¥¤¥Ê¥ê¸ß´¹À­¤¬Êݤ¿¤ì¤Æ¤¤¤Ê¤¤¡£
-.I in6_addr
-¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Êѹ¹¤µ¤ì¡¢¤Þ¤¿
-.I sin6_scope_id
-¥Õ¥£¡¼¥ë¥É¤¬¿·¤¿¤ËÄɲ䵤줿¤«¤é¤Ç¤¢¤ë¡£
-¥«¡¼¥Í¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¸ß´¹À­¤ÏÊݤ¿¤ì¤Æ¤¤¤ë¤¬¡¢
-.I sockaddr_in6
-¤ä
-.I in6_addr
-¤ò¾¤Î¹½Â¤ÂΤ˴ޤó¤Ç¤¤¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï
-Êݤ¿¤ì¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-¤³¤ì¤Ï i386 ¤Î¤è¤¦¤Ê 32 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤Ç¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¡£
+EH および AH ヘッダ での IPSec のサポートは存在しない。
 .PP
-.I sin6_flowinfo
-¥Õ¥£¡¼¥ë¥É¤Ï Linux 2.4 ¤ÇÅо줷¤¿¡£
-¤³¤ì¤¬ÅϤµ¤ì¤¿¥¢¥É¥ì¥¹Ä¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢
-¥«¡¼¥Í¥ë¤ËÆ©²áŪ¤ËÅϤµ¤ì¡¢Æɤޤì¤ë¡£
-.\"nakano ¤³¤³¤ï¤«¤é¤Ê¤¤¤Ç¤¹...
-¤è¤êŤ¤¥¢¥É¥ì¥¹¥Ð¥Ã¥Õ¥¡¤òÅϤ·¡¢
-¤½¤·¤ÆÁ÷¿®¥¢¥É¥ì¥¹¤ÎŤµ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï
-¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£
-.SH Ãí°Õ
-.I sockaddr_in6
-¹½Â¤ÂΤϥ¸¥§¥Í¥ê¥Ã¥¯¤Ê
-.I sockaddr
-¤è¤ê¤âÂ礭¤¤¡£
-¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬
-.I struct sockaddr
-¤ÎÃæ¤Ë°ÂÁ´¤ËǼ¤á¤é¤ì¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ï¡¢Âå¤ï¤ê¤Ë
-.I struct sockaddr_storage
-¤òÍѤ¤¤ë¤è¤¦¤ËÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¡£
-.SH ¥Ð¥°
-IPv6 ³ÈÄ¥ API ¤Ï¡¢¸½ºß¤Þ¤À RFC\ 2292 ¤ò´°Á´¤Ë¤Ï¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¡£
-2.2 ¥«¡¼¥Í¥ë¤Ï¼õ¿®¥ª¥×¥·¥ç¥ó¤ò¤Û¤Ü´°Á´¤Ë¥µ¥Ý¡¼¥È¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¬¡¢
-glibc2.1 ¤Ë¤Ï IPv6 ¥ª¥×¥·¥ç¥ó¤òÀ¸À®¤¹¤ë¥Þ¥¯¥í¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¡£
+フローラベル管理はまだ完全でなく、ここにも記述されていない。
 .PP
-EH ¤ª¤è¤Ó AH ¥Ø¥Ã¥À ¤Ç¤Î IPSec ¤Î¥µ¥Ý¡¼¥È¤Ï¸ºß¤·¤Ê¤¤¡£
+この man ページはまだ完成していない。
+.SH 関連項目
+\fBcmsg\fP(3), \fBip\fP(7)
 .PP
-¥Õ¥í¡¼¥é¥Ù¥ë´ÉÍý¤Ï¤Þ¤À´°Á´¤Ç¤Ê¤¯¡¢¤³¤³¤Ë¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
+RFC\ 2553: IPv6 BASIC API.  Linux はこの RFC に準拠するようにしている。
 .PP
-¤³¤Î man ¥Ú¡¼¥¸¤Ï¤Þ¤À´°À®¤·¤Æ¤¤¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR cmsg (3),
-.BR ip (7)
-.LP
-RFC\ 2553: IPv6 BASIC API.
-Linux ¤Ï¤³¤Î RFC ¤Ë½àµò¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£
-.LP
 RFC\ 2460: IPv6 specification.