1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328
|
.\" This man page is Copyright (C) 2000 Andi Kleen <ak@muc.de>.
.\" Permission is granted to distribute possibly modified copies
.\" 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 $
.\"
.\" 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
.\"
.\"WORD: flow identifier ե
.\"WORD: control message å
.\"WORD: incoming (ѥåȡǡ)
.\"WORD: outgoing (ѥåȡǡ)
.\"WORD: asynchronous error Ʊ顼
.\"
.TH IPV6 7 2007-10-14 "Linux" "Linux Programmer's Manual"
.SH ̾
ipv6, PF_INET6 \- Linux IPv6 ץȥ
.SH
.B #include <sys/socket.h>
.br
.B #include <netinet/in.h>
.sp
.IB tcp6_socket " = socket(PF_INET6, SOCK_STREAM, 0);"
.br
.IB raw6_socket " = socket(PF_INET6, SOCK_RAW, " protocol ");"
.br
.IB udp6_socket " = socket(PF_INET6, SOCK_DGRAM, " protocol ");"
.SH
Linux 2.2 ǤϡInternet Protocol, version 6
ץȤƼƤ롣
man ڡǤϡLinux ͥ glibc 2.1 Ǥμ˴Ťơ
IPv6 δŪ API ⤹롣
ե BSD åȥեȤˤƤ롣
.BR socket (7)
ȡ
.PP
IPv6 API ϡۤ
.BR ip (7)
v4 API ȸߴˤʤ뤳ȤܻؤƤ롣
man ڡǤΤߤ⤹롣
.PP
.B AF_INET6
åȤ餫Υץ˥Хɤˤϡ
륢ɥ쥹
.I in6_addr
ѿ
.I in6addr_any
饳ԡƤɬפ롣
static ʽ
.B IN6ADDR_ANY_INIT
Ѥ뤳ȤǤŸ롣
ξԤϥͥåȥХȥǤ롣
.PP
IPv6 Υ롼ץХåɥ쥹 (::1) global ѿ
.I in6addr_loopback
Ǥ롣ˤ
.B IN6ADDR_LOOPBACK_INIT
Ѥ٤Ǥ롣
.PP
IPv4 ³ v6 API ǰȤǤ롣ˤ
v4-mapped-on-v6 ɥ쥹Ѥ롣
Хץ v6 API ݡȤǡ
ξΥץȥݡȤǤ롣
libc Υɥ쥹ؿˤäƩŪ˽롣
.PP
IPv4 IPv6 ϥݡȶ֤ͭ롣
IPv4 ³ (ޤϥѥå) IPv6 åȤȡ
ȯɥ쥹 v6 ˥ޥåפ졢³ (ѥå) v6 ˥ޥåפ롣
.\"nakano: Ǹ it ʤˤؤΤ狼
.SS ɥ쥹Υեޥå
.in +4n
.nf
struct sockaddr_in6 {
uint16_t sin6_family; /* AF_INET6 */
uint16_t sin6_port; /* port number */
uint32_t sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
uint32_t sin6_scope_id; /* Scope ID (new in 2.4) */
};
struct in6_addr {
unsigned char s6_addr[16]; /* IPv6 address */
};
.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)
)
.PP
IPv6 ϲफΥɥ쥹פݡȤƤ롣
ñΥۥȤɥ쥹뤿 unicast
ۥȤΥ롼פɥ쥹뤿 multicast
ۥȤΥ롼ǺǤˤΤɥ쥹뤿 anycast
( Linux ǤϼƤʤ)
IPv4 ۥȤɥ쥹뤿 IPv4-on-IPv6
¾ˤͽѤߤΥɥ쥹פ롣
.PP
IPv6 ǤΥɥ쥹ɽ 2 16 ʿ 16 Ĥʤꡢ
':' ϶ڤʸϤǡ'::' 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_V6ONLY ϵҤƤʤҤ٤
.\" 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
.nh
.B IPV6_RTHDR, IPV6_AUTHHDR, IPV6_DSTOPS, IPV6_HOPOPTS, IPV6_FLOWINFO, IPV6_HOPLIMIT
.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 ϰϤꤹ롣
.SH С
IPv6 API libc5 ١ Linux ˼
.I libinet6
ˤĤƤϤǤϵҤƤʤ
餯٤Ȥˤ
.PP
Linux 2.4 Ǥ 64 ӥåȤΥۥȤФ
.I sockaddr_in6
ΥХʥߴݤƤʤ
.I in6_addr
Υ饤Ȥѹ졢ޤ
.I sin6_scope_id
եɤɲä줿Ǥ롣
ͥ륤եθߴݤƤ뤬
.I sockaddr_in6
.I in6_addr
¾ι¤Τ˴ޤǤ褦ʥץǤ
ݤʤ⤷ʤ
i386 Τ褦 32 ӥåȤΥۥȤǤˤʤʤ
.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 ΥݡȤ¸ߤʤ
.PP
ե٥ϤޤǤʤˤҤƤʤ
.PP
man ڡϤޤƤʤ
.SH Ϣ
.BR cmsg (3),
.BR ip (7)
.LP
RFC\ 2553: IPv6 BASIC API.
Linux Ϥ RFC ˽褦ˤƤ롣
.LP
RFC\ 2460: IPv6 specification.
|