ipv6

Autres langues

Langue: ja

Version: 1999-06-29 (openSuse - 09/10/07)

Section: 7 (Divers)

̾Á°

ipv6, PF_INET6 - Linux ¤Î IPv6 ¥×¥í¥È¥³¥ë¼ÂÁõ

½ñ¼°

#include <sys/socket.h>
#include <netinet/in.h>

tcp6_socket = socket(PF_INET6, SOCK_STREAM, 0);
raw6_socket = socket(PF_INET6, SOCK_RAW, protocol);
udp6_socket = socket(PF_INET6, SOCK_DGRAM, protocol);

ÀâÌÀ

Linux 2.2 ¤Ç¤Ï¡¢Internet Protocol, version 6 ¤ò ¥ª¥×¥·¥ç¥ó¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¡£ ¤³¤Î man ¥Ú¡¼¥¸¤Ç¤Ï¡¢Linux ¥«¡¼¥Í¥ë¤È glibc 2.1 ¤Ç¤Î¼ÂÁõ¤Ë´ð¤Å¤¤¤Æ¡¢ IPv6 ¤Î´ðËÜŪ¤Ê API ¤ò²òÀ⤹¤ë¡£ ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï BSD ¥½¥±¥Ã¥È¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¤â¤È¤Ë¤·¤Æ¤¤¤ë¡£ socket(7) ¤ò»²¾È¡£

IPv6 API ¤Ï¡¢¤Û¤Ü ip(7) v4 API ¤È¸ß´¹¤Ë¤Ê¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤ë¡£ ¤³¤Î man ¥Ú¡¼¥¸¤Ç¤ÏÁê°ãÅÀ¤Î¤ß¤ò²òÀ⤹¤ë¡£

AF_INET6 ¥½¥±¥Ã¥È¤ò²¿¤é¤«¤Î¥×¥í¥»¥¹¤Ë¥Ð¥¤¥ó¥É¤¹¤ë¤Ë¤Ï¡¢ ¥í¡¼¥«¥ë¥¢¥É¥ì¥¹¤ò in6_addr ·¿¤ÎÊÑ¿ô in6addr_any ¤«¤é¥³¥Ô¡¼¤·¤Æ¤¯¤ëɬÍפ¬¤¢¤ë¡£ static ¤Ê½é´üÃÍ IN6ADDR_ANY_INIT ¤âÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¡¢¤³¤ì¤ÏÄê¿ô¼°¤ËŸ³«¤µ¤ì¤ë¡£ ¤³¤ì¤é¤Îξ¼Ô¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç¤¢¤ë¡£

IPv6 ¤Î¥ë¡¼¥×¥Ð¥Ã¥¯¥¢¥É¥ì¥¹ (::1) ¤Ï global ÊÑ¿ô in6addr_loopback ¤«¤é¼èÆÀ¤Ç¤­¤ë¡£½é´ü²½¤Ë¤Ï IN6ADDR_LOOPBACK_INIT ¤òÍѤ¤¤ë¤Ù¤­¤Ç¤¢¤ë¡£

IPv4 Àܳ¤â v6 API ¤Ç°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ì¤Ë¤Ï v4-mapped-on-v6 ¥¢¥É¥ì¥¹·¿¤òÍѤ¤¤ë¡£ ¤³¤¦¤¹¤ì¤Ð¥×¥í¥°¥é¥à¤Ï v6 ¤Î API ¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤À¤±¤Ç¡¢ ξÊý¤Î¥×¥í¥È¥³¥ë¤ò¥µ¥Ý¡¼¥È¤Ç¤­¤ë¡£ ¤³¤ì¤Ï libc ÆâÉô¤Î¥¢¥É¥ì¥¹¤ò°·¤¦´Ø¿ô¤Ë¤è¤Ã¤ÆÆ©²áŪ¤Ë½èÍý¤µ¤ì¤ë¡£

IPv4 ¤È IPv6 ¤Ï¥í¡¼¥«¥ë¥Ý¡¼¥È¶õ´Ö¤ò¶¦Í­¤¹¤ë¡£ IPv4 ¤ÎÀܳ (¤Þ¤¿¤Ï¥Ñ¥±¥Ã¥È) ¤ò IPv6 ¥½¥±¥Ã¥È¤¬¼èÆÀ¤¹¤ë¤È¡¢ ȯ¿®¸µ¥¢¥É¥ì¥¹¤¬ v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¡¢¤½¤ÎÀܳ (¥Ñ¥±¥Ã¥È) ¤â v6 ¤Ë¥Þ¥Ã¥×¤µ¤ì¤ë¡£

¥¢¥É¥ì¥¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È


struct sockaddr_in6 {

    u_int16_t       sin6_family;   /* AF_INET6 */

    u_int16_t       sin6_port;     /* port number */

    u_int32_t       sin6_flowinfo; /* IPv6 flow information */

    struct in6_addr sin6_addr;     /* IPv6 address */

    u_int32_t       sin6_scope_id; /* Scope ID (new in 2.4) */

};



struct in6_addr {

    unsigned char   s6_addr[16];   /* IPv6 address */

};

sin6_family ¤Ï¾ï¤Ë AF_INET6 ¤ËÀßÄꤵ¤ì¤ë¡£ sin6_port ¤Ï¥×¥í¥È¥³¥ë¥Ý¡¼¥È¤Ç¤¢¤ë (ip(7) ¤Î sin_port ¤ò»²¾È)¡£ sin6_flowinfo ¤Ï IPv6 ¤Î¥Õ¥í¡¼»ØÄê»Ò (flow identifier) ¤Ç¤¢¤ë¡£ sin6_addr ¤Ï 128 ¥Ó¥Ã¥È¤Î IPv6 ¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£ sin6_scope_id ¤Ï¥¢¥É¥ì¥¹¤Î¥¹¥³¡¼¥×¤Ë°Í¸¤·¤¿ ID ¤Ç¤¢¤ë (¤³¤ì¤Ï Linux 2.4 ¤ÇƳÆþ¤µ¤ì¤¿)¡£ Linux ¤Î¾ì¹ç¤Ï¡¢¤³¤ì¤Ï¥ê¥ó¥¯¥¹¥³¡¼¥×¥¢¥É¥ì¥¹¤Ç¤·¤«¥µ¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¡£ ¤³¤Î¾ì¹ç sin6_scope_id ¤Ë¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ë (netdevice(7) ¤ò»²¾È)¡£

IPv6 ¤Ï²¿¼ïÎफ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£ ñ°ì¤Î¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î unicast¡¢ ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î multicast¡¢ ¥Û¥¹¥È¤Î¥°¥ë¡¼¥×Ãæ¤ÇºÇ¤â¶á¤¯¤Ë¤¤¤ë¤â¤Î¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î anycast (¤³¤ì¤Ï Linux ¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤)¡¢ IPv4 ¥Û¥¹¥È¤ò¥¢¥É¥ì¥¹¤¹¤ë¤¿¤á¤Î IPv4-on-IPv6¡£ ¾¤Ë¤âͽÌóºÑ¤ß¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬¤¢¤ë¡£

IPv6 ¤Ç¤Î¥¢¥É¥ì¥¹É½µ­¤Ï 2 ·å¤Î 16 ¿Ê¿ô 16 ¸Ä¤«¤é¤Ê¤ê¡¢
 ':' ¤Ï¶èÀÚ¤êʸ»ú¤Ï¤Ç¡¢'::' ¤Ï 0 ¥Ó¥Ã¥È¤Îʸ»úÎó¤òɽ¤¹¡£ Æüì¤Ê¥¢¥É¥ì¥¹¤È¤·¤Æ¡¢¥ë¡¼¥×¥Ð¥Ã¥¯¤òɽ¤¹ ::1¡¢ IPv4-mapped-on-IPv6 ¤òɽ¤¹ ::FFFF::<IPv4 ¥¢¥É¥ì¥¹> ¤¬¤¢¤ë¡£

IPv6 ¤Î¥Ý¡¼¥È¶õ´Ö¤Ï IPv4 ¤È¶¦Í­¤µ¤ì¤Æ¤¤¤ë¡£

¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó

IPv6 ¤Ï¥×¥í¥È¥³¥ë¸ÇÍ­¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤ò¤¤¤¯¤Ä¤«¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£ ¤³¤ì¤é¤Ï setsockopt(2) ¤ÇÀßÄê¤Ç¤­¡¢ getsockopt(2) ¤Ç¼èÆÀ¤Ç¤­¤ë¡£ IPv6 ¤Î¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¥ì¥Ù¥ë¤Ï IPPROTO_IPV6 ¤Ç¤¢¤ë¡£ ¥Ö¡¼¥ëÀ°¿ô¤Î¥Õ¥é¥°¤Ï¡¢0 ¤¬µ¶¤Ç¤¢¤ê¡¢¤½¤ì°Ê³°¤Ï¿¿¤Ç¤¢¤ë¡£
IPV6_ADDRFORM
AF_INET6 ¥½¥±¥Ã¥È¤òÊ̤Υ¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤Î¥½¥±¥Ã¥È¤ËÊѤ¨¤ë¡£ ¸½ºß¤Ï AF_INET ¤Î¤ß¤¬Êѹ¹Àè¤Î¥¢¥É¥ì¥¹¥Õ¥¡¥ß¥ê¡¼¤È¤·¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤ì¤¬µö²Ä¤µ¤ì¤ë¤Î¤Ï¡¢IPv6 ¤¬Àܳ¤µ¤ì¡¢ v4-mapped-on-v6 ¥¢¥É¥ì¥¹¤Ë¥Ð¥¤¥ó¥É¤µ¤ì¤¿¾ì¹ç¤Ë¸Â¤é¤ì¤ë¡£ °ú¤­¿ô¤Ï AF_INET ¤¬Æþ¤Ã¤Æ¤¤¤ëÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ v4-mapped ¥½¥±¥Ã¥È¤ò¡¢IPv6 API ¤ò°·¤¨¤Ê¤¤¥×¥í¥°¥é¥à¤ËÂФ·¤Æ ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤È¤·¤ÆÅϤ¹¾ì¹ç¤ËÊØÍø¡£
IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP
multicast ¥°¥ë¡¼¥×¤Î¥á¥ó¥Ð¡¼¤òÀ©¸æ¤¹¤ë¡£ °ú¤­¿ô¤Ï struct ipv6_mreq ¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡£
IPV6_MTU
¤½¤Î¥½¥±¥Ã¥È¤ËÂФ·¤ÆÍѤ¤¤ë MTU ¤ÎÃͤòÀßÄꤹ¤ë¡£ MTU ¤ÎÂ礭¤µ¤Ï¡¢ ¤½¤Î¥Ç¥Ð¥¤¥¹¤Î MTU ¤Þ¤¿¤Ï (Path MTU Discovery ¤¬²Äǽ¤Ê¤é) ¤½¤Î·ÐÏ©¤Î MTU ¤ÎÂ礭¤µ°Ê²¼¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ °ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¡£
IPV6_MTU_DISCOVER
¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î Path MTU Discovery ¤òÀ©¸æ¤¹¤ë¡£ ¾ÜºÙ¤Ï ip(7) ¤Î IP_MTU_DISCOVER ¤ò»²¾È¡£
IPV6_MULTICAST_HOPS
¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î multicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£ °ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ -1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£
IPV6_MULTICAST_IF
¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î¡¢Á÷¿® multicast ¥Ñ¥±¥Ã¥È¤ËÍѤ¤¤ë¥Ç¥Ð¥¤¥¹¤òÀßÄꤹ¤ë¡£ ¤³¤ì¤Ï SOCK_DGRAM ¤ª¤è¤Ó SOCK_RAW ³Æ¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£ °ú¤­¿ô¤Ï¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÀ°¿ôÃÍ (netdevice(7) ¤ò»²¾È) ¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£
IPV6_MULTICAST_LOOP
¥½¥±¥Ã¥È¤¬¡¢¼«Ê¬¼«¿È¤ÎÁ÷¿®¤·¤¿ multicast ¥Ñ¥±¥Ã¥È¤ò´Æ»ë¤¹¤ë¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£ °ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
IPV6_PKTINFO
¥Ç¡¼¥¿¥°¥é¥à¤ÎÅþÃå»þ¤Ë¤ª¤±¤ë IPV6_PKTINFO À©¸æ¥á¥Ã¥»¡¼¥¸¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¤òÀßÄꤹ¤ë¡£ SOCK_DGRAM ¥½¥±¥Ã¥È¤Þ¤¿¤Ï SOCK_RAW ¥½¥±¥Ã¥È¤ËÂФ·¤Æ¤Î¤ßµö²Ä¤µ¤ì¤ë¡£ °ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤÎÆþ¤Ã¤¿À°¿ô¡£
IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT ¼õ¿®¥Ñ¥±¥Ã¥È¤Î¥Ç¡¼¥¿¥°¥é¥à¤Ë³ÈÄ¥¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤Î¡¢ À©¸æ¥á¥Ã¥»¡¼¥¸¤ÎÇÛÁ÷¤òÀßÄꤹ¤ë¡£ IPV6_RTHDR: routing ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ IPV6_AUTHHDR: authentication ¥Ø¥Ã¥À¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ IPV6_DSTOPTS: destination ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ IPV6_HOPOPTS: hop ¥ª¥×¥·¥ç¥ó¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ IPV6_FLOWINFO: flow ID ¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ IPV6_HOPLIMIT: ¥Ñ¥±¥Ã¥È¤Î hop ¥«¥¦¥ó¥È¤ò´Þ¤àÀ°¿ô¤òÇÛÁ÷¤¹¤ë¤«¤É¤¦¤«¡£ À©¸æ¥á¥Ã¥»¡¼¥¸¤Ï¥½¥±¥Ã¥È¥ª¥×¥·¥ç¥ó¤Î¤â¤Î¤ÈƱ¤¸¥¿¥¤¥×¤ò»ý¤Ä¡£ ¤³¤ì¤é¤Î¤¹¤Ù¤Æ¤Î¥Ø¥Ã¥À¥ª¥×¥·¥ç¥ó¤Ï¡¢ ŬÀÚ¤ÊÀ©¸æ¥á¥Ã¥»¡¼¥¸¤ò sendmsg(2) ¤ÎÀ©¸æ¥Ð¥Ã¥Õ¥¡¡¼¤Ë½ñ¤­¤³¤á¤Ð¡¢ Á÷¿®¥Ñ¥±¥Ã¥È¤Ë¤Ç¤âÀßÄê¤Ç¤­¤ë¡£ SOCK_DGRAM ¥½¥±¥Ã¥È¤Þ¤¿¤Ï SOCK_RAW ¥½¥±¥Ã¥È¤Ç¤Î¤ßµö¤µ¤ì¤ë¡£°ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
IPV6_RECVERR
ÈóƱ´ü¥¨¥é¡¼ (asynchronous error) ¥ª¥×¥·¥ç¥ó¤Î¼õ¿®¤òÀ©¸æ¤¹¤ë¡£ ¾ÜºÙ¤Ï ip(7) ¤Î IP_RECVERR ¤ò»²¾È¡£ °ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
IPV6_ROUTER_ALERT
¤³¤Î¥½¥±¥Ã¥È¤Ç¡¢router alert ¥ª¥×¥·¥ç¥ó¤Î´Þ¤Þ¤ì¤ëžÁ÷¥Ñ¥±¥Ã¥È¤ò ¤¹¤Ù¤ÆÄ̤¹¤«¤É¤¦¤«¤òÀ©¸æ¤¹¤ë¡£ ¥Ç¡¼¥¿¥°¥é¥à¥½¥±¥Ã¥È¤«¤Ä root ¤ËÂФ·¤Æ¤Î¤ßµö²Ä¤µ¤ì¤ë¡£ °ú¤­¿ô¤Ï¥Ö¡¼¥ëÃͤؤΥݥ¤¥ó¥¿¡£
IPV6_UNICAST_HOPS
¤½¤Î¥½¥±¥Ã¥È¤Ç¤Î unicast ¤Î hop ¿ô¤Î¾å¸ÂÃͤòÀßÄꤹ¤ë¡£ °ú¤­¿ô¤ÏÀ°¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ -1 ¤ò»ØÄꤹ¤ë¤È·ÐÏ©¤Î¥Ç¥Õ¥©¥ë¥È¤òÍѤ¤¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ ¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï 0 ¤«¤é 255 ¤ÎÈϰϤò»ØÄꤹ¤ë¡£

¥Ð¡¼¥¸¥ç¥ó

IPv6 API ¤ò libc5 ¥Ù¡¼¥¹¤Ç Linux ¸þ¤±¤Ë¼ÂÁõ¤·¤¿¡¢°ÊÁ°¤Î libinet6 ¤Ë¤Ä¤¤¤Æ¤Ï¤³¤³¤Ç¤Ïµ­½Ò¤·¤Æ¤¤¤Ê¤¤¡£ ¤ª¤½¤é¤¯ºÙ¤«¤¤¤È¤³¤í¤Ë¤ÏÁê°ãÅÀ¤¬¤¢¤ë¤À¤í¤¦¡£

Linux 2.4 ¤Ç¤Ï 64 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤ËÂФ·¤Æ sockaddr_in6 ¤Î¥Ð¥¤¥Ê¥ê¸ß´¹À­¤¬Êݤ¿¤ì¤Æ¤¤¤Ê¤¤¡£ in6_addr ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Êѹ¹¤µ¤ì¡¢¤Þ¤¿ sin6_scope_id ¥Õ¥£¡¼¥ë¥É¤¬¿·¤¿¤ËÄɲ䵤줿¤«¤é¤Ç¤¢¤ë¡£ ¥«¡¼¥Í¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Î¸ß´¹À­¤ÏÊݤ¿¤ì¤Æ¤¤¤ë¤¬¡¢ sockaddr_in6 ¤ä in6_addr ¤ò¾¤Î¹½Â¤ÂΤ˴ޤó¤Ç¤¤¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï Êݤ¿¤ì¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£ ¤³¤ì¤Ï i386 ¤Î¤è¤¦¤Ê 32 ¥Ó¥Ã¥È¤Î¥Û¥¹¥È¤Ç¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¡£

sin6_flowinfo ¥Õ¥£¡¼¥ë¥É¤Ï Linux 2.4 ¤ÇÅо줷¤¿¡£ ¤³¤ì¤¬ÅϤµ¤ì¤¿¥¢¥É¥ì¥¹Ä¹¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢ ¥«¡¼¥Í¥ë¤ËÆ©²áŪ¤ËÅϤµ¤ì¡¢Æɤޤì¤ë¡£ ¤è¤êŤ¤¥¢¥É¥ì¥¹¥Ð¥Ã¥Õ¥¡¤òÅϤ·¡¢ ¤½¤·¤ÆÁ÷¿®¥¢¥É¥ì¥¹¤ÎŤµ¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï ¤¦¤Þ¤¯Æ°¤«¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£

Ãí°Õ

sockaddr_in6 ¹½Â¤ÂΤϥ¸¥§¥Í¥ê¥Ã¥¯¤Ê sockaddr ¤è¤ê¤âÂ礭¤¤¡£ ¤¹¤Ù¤Æ¤Î¥¢¥É¥ì¥¹¥¿¥¤¥×¤¬ struct sockaddr ¤ÎÃæ¤Ë°ÂÁ´¤ËǼ¤á¤é¤ì¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ï¡¢Âå¤ï¤ê¤Ë struct sockaddr_storage ¤òÍѤ¤¤ë¤è¤¦¤ËÊѹ¹¤¹¤ëɬÍפ¬¤¢¤ë¡£

¥Ð¥°

IPv6 ³ÈÄ¥ API ¤Ï¡¢¸½ºß¤Þ¤À RFC 2292 ¤ò´°Á´¤Ë¤Ï¼ÂÁõ¤·¤Æ¤¤¤Ê¤¤¡£ 2.2 ¥«¡¼¥Í¥ë¤Ï¼õ¿®¥ª¥×¥·¥ç¥ó¤ò¤Û¤Ü´°Á´¤Ë¥µ¥Ý¡¼¥È¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤¬¡¢ glibc2.1 ¤Ë¤Ï IPv6 ¥ª¥×¥·¥ç¥ó¤òÀ¸À®¤¹¤ë¥Þ¥¯¥í¤¬Â¸ºß¤·¤Æ¤¤¤Ê¤¤¡£

EH ¤ª¤è¤Ó AH ¥Ø¥Ã¥À ¤Ç¤Î IPSec ¤Î¥µ¥Ý¡¼¥È¤Ï¸ºß¤·¤Ê¤¤¡£

¥Õ¥í¡¼¥é¥Ù¥ë´ÉÍý¤Ï¤Þ¤À´°Á´¤Ç¤Ê¤¯¡¢¤³¤³¤Ë¤âµ­½Ò¤µ¤ì¤Æ¤¤¤Ê¤¤¡£

¤³¤Î man ¥Ú¡¼¥¸¤Ï¤Þ¤À´°À®¤·¤Æ¤¤¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

cmsg(3), ip(7)

RFC 2553: IPv6 BASIC API. Linux ¤Ï¤³¤Î RFC ¤Ë½àµò¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£

RFC 2460: IPv6 specification.