ipv6(7) Miscellaneous Information Manual ipv6(7) ipv6 - IPv6 #include #include tcp6_socket = socket(AF_INET6, SOCK_STREAM, 0); raw6_socket = socket(AF_INET6, SOCK_RAW, protocol); udp6_socket = socket(AF_INET6, SOCK_DGRAM, protocol); 2.2 6 . IPv6 glibc 2.1. BSD socket(7). IPv6 IPv4 ( ip(7)). . AF_INET6 in6addr_any in6_addr. IN6ADDR_ANY_INIT . . IPv6 (::1) in6addr_loopback. IN6ADDR_LOOPBACK_INIT. IPv4 v6 v4 v6 . C. IPv4 IPv6 . IPv4 IPv6 v6. struct sockaddr_in6 { sa_family_t sin6_family; /* AF_INET6 */ in_port_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 Linux 2.4) */ }; struct in6_addr { unsigned char s6_addr[16]; /* IPv6 address */ }; sin6_family AF_INET6 sin6_port ( sin_port ip(7)) sin6_flowinfo IPv6 sin6_addr IPv6 128 . sin6_scope_id . 2.4. sin6_scope_id ( netdevice(7)) IPv6 : ( ) IPv4 IPv6 IPv4 . IPv6 8 4 ':'. "::" 0 . ::1 ::FFFF:< IPv4> IPv4 IPv6. IPv6 IPv4. IPPROTO_IPV6(2const). ENODEV bind(2) IPv6 sin6_scope_id sockaddr_in6 . 2.4 sockaddr_in6 64 in6_addr sin6_scope_id . sockaddr_in6 in6_addr . 32 i386. sin6_flowinfo 2.4. / . . sockaddr_in6 sockaddr . struct sockaddr struct sockaddr_storage . SOL_IP SOL_IPV6 SOL_ICMPV6 SOL_* IPPROTO_*. ip(7). IPv6 RFC 2292 2.2 IPv6 glibc 2.1. IPSec EH AH . . . IPPROTO_IPV6(2const), ip(7) RFC 2553: IPv6 . RFC 2460: IPv6. 3 . . : . 6.18 8 2026 ipv6(7)